Cross Reference: /solaris-userland/components/bash/Makefile
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
110N/A#
110N/A# CDDL HEADER START
110N/A#
110N/A# The contents of this file are subject to the terms of the
110N/A# Common Development and Distribution License (the "License").
110N/A# You may not use this file except in compliance with the License.
110N/A#
110N/A# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
110N/A# or http://www.opensolaris.org/os/licensing.
110N/A# See the License for the specific language governing permissions
110N/A# and limitations under the License.
110N/A#
110N/A# When distributing Covered Code, include this CDDL HEADER in each
110N/A# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
110N/A# If applicable, add the following below this CDDL HEADER, with the
110N/A# fields enclosed by brackets "[]" replaced with your own identifying
110N/A# information: Portions Copyright [yyyy] [name of copyright owner]
110N/A#
110N/A# CDDL HEADER END
110N/A#
5680N/A
5680N/A#
5516N/A# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
110N/A#
5680N/ABUILD_BITS= 64
110N/Ainclude ../../make-rules/shared-macros.mk
110N/A
110N/ACOMPONENT_NAME= bash
5516N/ACOMPONENT_VERSION= 4.3
1303N/ACOMPONENT_ARCHIVE_HASH = \
5516N/A sha256:afc687a28e0e24dc21b988fa159ff9dbcf6b7caa92ade8645cc6d5605cd024d4
110N/A
5516N/ATPNO= 21712
2899N/A
5680N/Ainclude $(WS_MAKE_RULES)/gnu-component.mk
110N/A
5680N/A# Avoid running configure again during the build due to patches to
5680N/A# configure-related files by running autoconf before we run configure.
5680N/ACOMPONENT_PREP_ACTION += (cd $(@D); autoconf)
5680N/A
5680N/ABASH_PATCHLEVEL=$(shell grep -h "define PATCHLEVEL" $(COMPONENT_DIR)/patches/bash* | $(NAWK) '{print $$NF}' | sort -n | tail -1)
2851N/AIPS_COMPONENT_VERSION = $(COMPONENT_VERSION).$(BASH_PATCHLEVEL)
110N/APATCH_LEVEL = 0
110N/A
181N/APKG_PROTO_DIRS += $(COMPONENT_DIR)/Solaris
110N/A
5680N/A# Enable C99 mode + -Xc for its additional warnings.
110N/Astudio_C99MODE = -Xc $(studio_C99_ENABLE)
110N/A
110N/A# Use the maximum number of registers on sparc since we have no libraries
110N/Astudio_XREGS.sparc = -xregs=appl
110N/A
110N/A# 8 byte memory alignment + interpretation of non-alignment instead of SIGBUS
110N/Astudio_ALIGN.sparc.32 = -xmemalign=8i
1625N/Astudio_ALIGN.sparc.64 = -xmemalign=16i
110N/A
110N/A# -xinline=%auto -- we like inlining where appropriate
110N/ACFLAGS += -xinline=%auto
110N/A
110N/A# -xbuiltin=%none -- builtins have been known to be buggy
110N/ACFLAGS += -xbuiltin=%none
110N/A
110N/ACFLAGS += $(XPG6MODE)
110N/ACFLAGS += $(CPP_C99_EXTENDED_MATH)
5680N/ACFLAGS += -I$(USRINCDIR)/ncurses
110N/A
110N/A# configure checks for some functions, but doesn't seem to want to link in
110N/A# the required libraries for them. We avoid linking with libthread.so.1
110N/A# just because we pass -mt, by explicitly passing -lc.
5680N/ALIBS = -lc -lgen
5680N/Aifeq ($(OS_VERSION),5.11)
5680N/ALIBS += -lsocket
5680N/Aendif
110N/A
110N/A# -z redlocsym -- let's shrink the SHT_SYMTAB as much as we can
110N/ALDFLAGS = $(LD_Z_REDLOCSYM)
110N/A
5516N/A# Results output is slightly different on Intel vs. SPARC.
5516N/ACOMPONENT_TEST_MASTER = \
5516N/A $(COMPONENT_TEST_RESULTS_DIR)/results-$(MACH).master
5516N/A
3823N/A# Do not change the order of these regexp transforms.
3823N/ACOMPONENT_TEST_TRANSFORMS += \
3823N/A '-e "/^</d"' \
3823N/A '-e "/^>/d"' \
3823N/A '-e "/^---/d"' \
5516N/A '-e "/^Testing/d"' \
5516N/A '-e "/m64/d"' \
5516N/A '-e "/DPROGRAM/d"' \
5516N/A '-e "/^rm -f/d"' \
5516N/A '-e "/^ls -l/d"' \
5516N/A '-e "/text/d"' \
5516N/A '-e "/size/d"' \
5516N/A '-e "/bash$$/d"' \
5516N/A '-e "/warning/d"' \
3823N/A '-e "s/^[0-9]\{1,\}[a-z]\{1,\}[0-9]\{1,\}//g"' \
3823N/A '-e "s/^[0-9]\{1,\},[0-9]\{1,\}[a-z]\{1,\}[0-9]\{1,\},[0-9]\{1,\}//g"' \
5516N/A '-e "/^$$/d"'
3823N/A
110N/A# The bash test harness needs the GNU userland utilities
1625N/ATEST_PATH = "PATH=$(BUILD_DIR_64):$(GNUBIN):$(USRBINDIR)"
110N/A
5680N/A# This avoids the need to patch configure or other files for these dependencies.
5680N/Aifeq ($(OS_VERSION), 5.11)
5680N/ACONFIGURE_ENV += LD_OPTIONS="-lc -lm -lgen -lsocket -lnsl -lresolv $(LD_Z_IGNORE)"
5680N/Aelse
5680N/ACONFIGURE_ENV += LD_OPTIONS="-lc -lm -lgen -lresolv $(LD_Z_IGNORE)"
5680N/Aendif
5680N/A
110N/ACONFIGURE_ENV += LIBS="$(LIBS)"
110N/A
5680N/A# Ignore tgetent() checks in configure and use libncurses on Solaris.
5680N/ACONFIGURE_ENV += ac_cv_func_tgetent=yes
5680N/ACONFIGURE_ENV += ac_cv_lib_termcap_tgetent=no
5680N/ACONFIGURE_ENV += ac_cv_lib_curses_tgetent=no
5680N/ACONFIGURE_ENV += ac_cv_lib_ncurses_tgetent=yes
5680N/ACONFIGURE_ENV += bash_cv_termcap_lib=libncurses
5680N/A
5680N/A# bash will trigger an autoconf during the build; so apply above again
5680N/A# XXX just apply configure_env?
5680N/A# COMPONENT_BUILD_ENV += $(CONFIGURE_ENV)
110N/A
5680N/ACONFIGURE_OPTIONS += --disable-profiling
5680N/ACONFIGURE_OPTIONS += --disable-strict-posix-default
5680N/ACONFIGURE_OPTIONS += --enable-alias
5680N/ACONFIGURE_OPTIONS += --enable-arith-for-command
5680N/ACONFIGURE_OPTIONS += --enable-array-variables
5680N/ACONFIGURE_OPTIONS += --enable-bang-history
5680N/ACONFIGURE_OPTIONS += --enable-brace-expansion
5680N/ACONFIGURE_OPTIONS += --enable-casemod-attributes
5680N/ACONFIGURE_OPTIONS += --enable-casemod-expansions
5680N/ACONFIGURE_OPTIONS += --enable-command-timing
5680N/ACONFIGURE_OPTIONS += --enable-cond-command
5680N/ACONFIGURE_OPTIONS += --enable-cond-regexp
5680N/ACONFIGURE_OPTIONS += --enable-coprocesses
5680N/ACONFIGURE_OPTIONS += --enable-debugger
5680N/ACONFIGURE_OPTIONS += --enable-directory-stack
5680N/ACONFIGURE_OPTIONS += --enable-disabled-builtins
5680N/ACONFIGURE_OPTIONS += --enable-dparen-arithmetic
5680N/ACONFIGURE_OPTIONS += --enable-extended-glob
5680N/ACONFIGURE_OPTIONS += --enable-help-builtin
5680N/ACONFIGURE_OPTIONS += --enable-history
5680N/ACONFIGURE_OPTIONS += --enable-job-control
5680N/ACONFIGURE_OPTIONS += --enable-largefile
5680N/ACONFIGURE_OPTIONS += --enable-mem-scramble
5680N/ACONFIGURE_OPTIONS += --enable-multibyte
5680N/ACONFIGURE_OPTIONS += --enable-net-redirections
5680N/ACONFIGURE_OPTIONS += --enable-nls
5680N/ACONFIGURE_OPTIONS += --enable-process-substitution
5680N/ACONFIGURE_OPTIONS += --enable-progcomp
5680N/ACONFIGURE_OPTIONS += --enable-prompt-string-decoding
5680N/ACONFIGURE_OPTIONS += --enable-readline
5680N/ACONFIGURE_OPTIONS += --enable-restricted
5680N/ACONFIGURE_OPTIONS += --enable-select
5680N/ACONFIGURE_OPTIONS += --enable-separate-helpfiles
5680N/ACONFIGURE_OPTIONS += --enable-single-help-strings
5680N/ACONFIGURE_OPTIONS += --enable-static-link
5680N/ACONFIGURE_OPTIONS += --enable-usg-echo-default=yes
5680N/ACONFIGURE_OPTIONS += --enable-xpg-echo-default=yes
5680N/ACONFIGURE_OPTIONS += --infodir=$(CONFIGURE_INFODIR)
5680N/ACONFIGURE_OPTIONS += --localstatedir=$(VARDIR)
5680N/ACONFIGURE_OPTIONS += --with-bash-malloc=yes
5680N/ACONFIGURE_OPTIONS += --with-curses
5680N/ACONFIGURE_OPTIONS += --with-installed-readline=no
3353N/ACOMPONENT_TEST_DIR = $(BUILD_DIR_64)
3353N/ACOMPONENT_TEST_ENV = - $(TEST_PATH)
4708N/A
4708N/A# The tests use /tmp/xx, and there can only be one user running
5516N/A# the them at a time. Need to remove /tmp/xx after testing to
4708N/A# avoid permission issues for other users running these tests
4708N/ACOMPONENT_POST_TEST_ACTION = rm -f /tmp/xx
181N/A
5680N/ACOMPONENT_POST_INSTALL_ACTION += \
110N/A ( cd $(PROTOUSRSHAREDIR)/locale ; \
110N/A cp -Rp "en@boldquot" en ; \
110N/A cp -Rp "en@boldquot" en_CA ; \
110N/A cp -Rp "en@boldquot" en_GB )
110N/A
5516N/AREQUIRED_PACKAGES += library/ncurses
3817N/AREQUIRED_PACKAGES += shell/ksh93
5516N/A