Till Wegmüller
2024-04-07 6ca8c2ef2bffdfec8cc95c049ac3f2230dc6ca82
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
 
#
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
#
 
BUILD_BITS= 64_and_32
include ../../../make-rules/shared-macros.mk
 
COMPONENT_NAME=        readline
COMPONENT_VERSION=    8.2
COMPONENT_SUMMARY=    GNU readline provides interactive line-editing and history
COMPONENT_DESCRIPTION= The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are typed in
COMPONENT_PROJECT_URL= https://tiswww.cwru.edu/php/chet/readline/rltop.html
COMPONENT_SRC=        $(COMPONENT_NAME)-$(COMPONENT_VERSION)
COMPONENT_ARCHIVE=    $(COMPONENT_SRC).tar.gz
COMPONENT_ARCHIVE_HASH= sha256:08835e57b5eb84f07f8fa50c7530e4b13b08265ffef340e4a4cce4ad6fb575fe
COMPONENT_ARCHIVE_URL= https://ftp.gnu.org/gnu/readline/$(COMPONENT_ARCHIVE)
COMPONENT_FMRI=        library/readline
COMPONENT_CLASSIFICATION=    System/Libraries
COMPONENT_LICENSE=    GPLv2, GPLv3, FDLv1.3
COMPONENT_LICENSE_FILE= COPYING
 
# For now, we want to continue to provide the libreadline and libhistory so's
# (and their links) from readline 5.2.
#
COMPONENT_VERSION_1=   6.3
COMPONENT_SRC_1=       $(COMPONENT_NAME)-$(COMPONENT_VERSION_1)
COMPONENT_ARCHIVE_1=   $(COMPONENT_SRC_1).tar.gz
COMPONENT_ARCHIVE_HASH_1= sha256:56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43
COMPONENT_ARCHIVE_URL_1= https://ftp.gnu.org/gnu/readline/$(COMPONENT_ARCHIVE_1)
SOURCE_DIR_1=          $(COMPONENT_DIR)/$(COMPONENT_SRC_1)
 
include $(WS_MAKE_RULES)/common.mk
 
CC += $(CC_BITS)
 
# readline likes to use ld directly and this is the easiest
# way to get it to add -lc
LDFLAGS += -lc
CONFIGURE_OPTIONS += --infodir=$(CONFIGURE_INFODIR)
CONFIGURE_OPTIONS += --enable-shared
CONFIGURE_OPTIONS += --enable-static=no
 
# 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=
 
# Needed to build the test program.
COMPONENT_PRE_TEST_ACTION += \
    (cd $(@D) ; $(GMAKE) libreadline.a ) ;
 
# Build the test program.
COMPONENT_PRE_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))
 
# 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
 
ASLR_MODE= $(ASLR_NOT_APPLICABLE)
 
test:        install $(TEST_64_and_32)
 
# Auto-generated dependencies
REQUIRED_PACKAGES += system/library