Makefile revision 7311
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# CDDL HEADER START
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#
3e14f97f673e8a630f076077de35afdd43dc1587Roger A. Faulkner# The contents of this file are subject to the terms of the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# Common Development and Distribution License (the "License").
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# You may not use this file except in compliance with the License.
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin#
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# or http://www.opensolaris.org/os/licensing.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# See the License for the specific language governing permissions
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# and limitations under the License.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# When distributing Covered Code, include this CDDL HEADER in each
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# If applicable, add the following below this CDDL HEADER, with the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# fields enclosed by brackets "[]" replaced with your own identifying
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# information: Portions Copyright [yyyy] [name of copyright owner]
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# CDDL HEADER END
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinBUILD_BITS= 64_and_32
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chininclude ../../make-rules/shared-macros.mk
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinCOMPONENT_NAME= readline
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinCOMPONENT_VERSION= 6.3
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinCOMPONENT_PROJECT_URL= http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinCOMPONENT_ARCHIVE_HASH= \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sha256:56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinCOMPONENT_BUGDB= library/readline
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinTPNO_V6= 22356
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinTPNO_V5= 9042
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# For now, we want to continue to provide the libreadline and libhistory so's
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# (and their links) from readline 5.2.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinCOMPONENT_VERSION_1 = 5.2
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinCOMPONENT_SRC_1 = $(COMPONENT_NAME)-$(COMPONENT_VERSION_1)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinCOMPONENT_ARCHIVE_1 = $(COMPONENT_SRC_1).tar.gz
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinCOMPONENT_ARCHIVE_HASH_1 = \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sha256:12e88d96aee2cd1192500356f0535540db499282ca7f76339fb4228c31249f45
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinCOMPONENT_ARCHIVE_URL_1 = http://ftp.gnu.org/gnu/readline/$(COMPONENT_ARCHIVE_1)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinSOURCE_DIR_1 = $(COMPONENT_DIR)/$(COMPONENT_SRC_1)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinBUILD_TARGET=
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinINSTALL_TARGET=
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinTEST_TARGET= install $(TEST_32_and_64)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinSYSTEM_TEST_TARGET= configure $(SYSTEM_TEST_32_and_64)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chininclude $(WS_MAKE_RULES)/gnu-component.mk
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinLINT_FLAGS += -I$(PROTOUSRINCDIR)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# readline likes to use ld directly and this is the easiest
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# way to get it to add -lc
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinLDFLAGS += -lc
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinCONFIGURE_OPTIONS += --infodir=$(CONFIGURE_INFODIR)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinCONFIGURE_OPTIONS += --enable-shared
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
# Build the readline examples as well.
COMPONENT_BUILD_TARGETS = everything
COMPONENT_TEST_DIR = $(@D)/examples
COMPONENT_TEST_CMD = $(CAT) $(SOURCE_DIR)/examples/Inputrc | ./rlcat
COMPONENT_TEST_TARGETS =
# Master test results are the same for 32-bit and 64-bit, so override
# here, rather than create multiple identical master files.
COMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-all.master
# Needed to build the test program.
COMPONENT_PRE_SYSTEM_TEST_ACTION += \
(cd $(@D) ; $(GMAKE) libreadline.a ) ;
# Build the test program.
COMPONENT_PRE_SYSTEM_TEST_ACTION += \
(cd $(@D)/examples ; $(GMAKE) rlcat ) ;
# Get correct libreadline.so.6 from the proto area.
TEST_LIBPATH.32 = $(PROTOUSRLIBDIR)
TEST_LIBPATH.64 = $(PROTOUSRLIBDIR64)
COMPONENT_TEST_ENV += LD_LIBRARY_PATH=$(TEST_LIBPATH.$(BITS))
COMPONENT_SYSTEM_TEST_DIR = $(@D)/examples
COMPONENT_SYSTEM_TEST_CMD = $(CAT) $(SOURCE_DIR)/examples/Inputrc | ./rlcat
COMPONENT_SYSTEM_TEST_TARGETS =
# Macros to configure, build, and install the old version for the time being.
BUILD_OLD_DIR_32 = $(COMPONENT_DIR)/build/$(COMPONENT_VERSION_1)-$(MACH32)
BUILD_OLD_DIR_64 = $(COMPONENT_DIR)/build/$(COMPONENT_VERSION_1)-$(MACH64)
$(BUILD_OLD_DIR_32)/.configured: CONFIGURE_SCRIPT = $(SOURCE_DIR_1)/configure
$(BUILD_OLD_DIR_64)/.configured: CONFIGURE_SCRIPT = $(SOURCE_DIR_1)/configure
$(BUILD_OLD_DIR_32)/.configured: BITS=32
$(BUILD_OLD_DIR_64)/.configured: BITS=64
BUILD_32 += $(BUILD_OLD_DIR_32)/.built
BUILD_64 += $(BUILD_OLD_DIR_64)/.built
INSTALL_32 += $(BUILD_OLD_DIR_32)/.installed
INSTALL_64 += $(BUILD_OLD_DIR_64)/.installed
# install the old version first
$(BUILD_DIR_32)/.installed: $(BUILD_OLD_DIR_32)/.installed
$(BUILD_DIR_64)/.installed: $(BUILD_OLD_DIR_64)/.installed
PKG_MACROS += COMPONENT_VERSION_1=$(COMPONENT_VERSION_1)
build: $(BUILD_32_and_64)
install: $(INSTALL_32_and_64)