20460374 GNUMP should have some master test results to compare against
20460602 LIBIDN should have some master test results to compare against
20460839 LIBMPFR should have some master test results to compare against
20461313 UNIXODBC should have some master test results to compare against
20460431 LCMS should have some master test results to compare against
20460935 LIBOPENUSB should have some master test results to compare against
20555045 openexr needs better master test results
#
# 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.
#
include ../../make-rules/shared-macros.mk
COMPONENT_NAME= bash
COMPONENT_VERSION= 4.2
COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
COMPONENT_PROJECT_URL= http://www.gnu.org/software/bash/
COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
COMPONENT_ARCHIVE_HASH = \
sha256:a27a1179ec9c0830c65c6aa5d7dab60f7ce1a2a608618570f96bfa72e95ab3d8
COMPONENT_ARCHIVE_URL= http://ftp.gnu.org/gnu/bash/$(COMPONENT_ARCHIVE)
COMPONENT_BUGDB= utility/bash
TPNO= 7265
include $(WS_MAKE_RULES)/prep.mk
include $(WS_MAKE_RULES)/configure.mk
include $(WS_MAKE_RULES)/ips.mk
BASH_PATCHLEVEL=$(shell grep -h "define PATCHLEVEL" $(COMPONENT_DIR)/patches/bash* | nawk '{print $$NF}' | sort -n | tail -1)
IPS_COMPONENT_VERSION = $(COMPONENT_VERSION).$(BASH_PATCHLEVEL)
PATCH_LEVEL = 0
PKG_PROTO_DIRS += $(COMPONENT_DIR)/Solaris
# Enable C99 mode + -Xc for it's additional warnings.
studio_C99MODE = -Xc $(studio_C99_ENABLE)
# Use the maximum number of registers on sparc since we have no libraries
studio_XREGS.sparc = -xregs=appl
# 8 byte memory alignment + interpretation of non-alignment instead of SIGBUS
studio_ALIGN.sparc.32 = -xmemalign=8i
studio_ALIGN.sparc.64 = -xmemalign=16i
# -xinline=%auto -- we like inlining where appropriate
CFLAGS += -xinline=%auto
# -xbuiltin=%none -- builtins have been known to be buggy
CFLAGS += -xbuiltin=%none
CFLAGS += $(XPG6MODE)
CFLAGS += $(CPP_POSIX)
CFLAGS += $(CPP_C99_EXTENDED_MATH)
# configure checks for some functions, but doesn't seem to want to link in
# the required libraries for them. We avoid linking with libthread.so.1
# just because we pass -mt, by explicitly passing -lc.
LIBS = -lc -lsocket -lgen
# -z redlocsym -- let's shrink the SHT_SYMTAB as much as we can
LDFLAGS = $(LD_Z_REDLOCSYM)
# Do not change the order of these regexp transforms.
COMPONENT_TEST_TRANSFORMS += \
'-e "/^</d"' \
'-e "/^>/d"' \
'-e "/^---/d"' \
'-e "s/^[0-9]\{1,\}[a-z]\{1,\}[0-9]\{1,\}//g"' \
'-e "s/^[0-9]\{1,\},[0-9]\{1,\}[a-z]\{1,\}[0-9]\{1,\},[0-9]\{1,\}//g"' \
'-e "/^$$/d"' \
'-e "s/i386-pc-//g"' \
'-e "s/i386//g"' \
'-e "s/sparc-sun-//g"' \
'-e "s/sparc//g"'
# The bash test harness needs the GNU userland utilities
TEST_PATH = "PATH=$(BUILD_DIR_64):$(GNUBIN):$(USRBINDIR)"
TEST_RESULTS_FILE = $(COMPONENT_TEST_RESULTS_DIR)/test-$(BITS)-results
CONFIGURE_ENV += CFLAGS="$(CFLAGS)"
CONFIGURE_ENV += LDFLAGS="$(LDFLAGS)"
CONFIGURE_ENV += LIBS="$(LIBS)"
CONFIGURE_OPTIONS += --localstatedir=/var
CONFIGURE_OPTIONS += --enable-alias
CONFIGURE_OPTIONS += --enable-arith-for-command
CONFIGURE_OPTIONS += --enable-array-variables
CONFIGURE_OPTIONS += --enable-bang-history
CONFIGURE_OPTIONS += --enable-brace-expansion
CONFIGURE_OPTIONS += --enable-casemod-attributes
CONFIGURE_OPTIONS += --enable-casemod-expansions
CONFIGURE_OPTIONS += --enable-command-timing
CONFIGURE_OPTIONS += --enable-cond-command
CONFIGURE_OPTIONS += --enable-cond-regexp
CONFIGURE_OPTIONS += --enable-coprocesses
CONFIGURE_OPTIONS += --enable-debugger
CONFIGURE_OPTIONS += --enable-directory-stack
CONFIGURE_OPTIONS += --enable-disabled-builtins
CONFIGURE_OPTIONS += --enable-dparen-arithmetic
CONFIGURE_OPTIONS += --enable-extended-glob
CONFIGURE_OPTIONS += --enable-help-builtin
CONFIGURE_OPTIONS += --enable-history
CONFIGURE_OPTIONS += --enable-job-control
CONFIGURE_OPTIONS += --enable-multibyte
CONFIGURE_OPTIONS += --enable-net-redirections
CONFIGURE_OPTIONS += --enable-process-substitution
CONFIGURE_OPTIONS += --enable-progcomp
CONFIGURE_OPTIONS += --enable-prompt-string-decoding
CONFIGURE_OPTIONS += --enable-readline
CONFIGURE_OPTIONS += --enable-restricted
CONFIGURE_OPTIONS += --enable-select
CONFIGURE_OPTIONS += --enable-separate-helpfiles
CONFIGURE_OPTIONS += --enable-single-help-strings
CONFIGURE_OPTIONS += --disable-strict-posix-default
CONFIGURE_OPTIONS += --enable-usg-echo-default=yes
CONFIGURE_OPTIONS += --enable-xpg-echo-default=yes
CONFIGURE_OPTIONS += --enable-mem-scramble
CONFIGURE_OPTIONS += --disable-profiling
CONFIGURE_OPTIONS += --enable-static-link
CONFIGURE_OPTIONS += --enable-largefile
CONFIGURE_OPTIONS += --enable-nls
CONFIGURE_OPTIONS += --with-bash-malloc=yes
CONFIGURE_OPTIONS += --with-curses
CONFIGURE_OPTIONS += --with-installed-readline=no
CONFIGURE_OPTIONS += --infodir=$(CONFIGURE_INFODIR)
COMPONENT_TEST_DIR = $(BUILD_DIR_64)
COMPONENT_TEST_ENV = - $(TEST_PATH)
COMPONENT_TEST_TARGETS = check > $(TEST_RESULTS_FILE) 2>&1
ASLR_MODE=$(ASLR_ENABLE)
configure: $(CONFIGURE_64)
build: $(BUILD_64)
install: $(INSTALL_64)
( cd $(PROTOUSRSHAREDIR)/locale ; \
cp -Rp "en@boldquot" en ; \
cp -Rp "en@boldquot" en_CA ; \
cp -Rp "en@boldquot" en_GB )
test: $(TEST_64)
REQUIRED_PACKAGES += shell/ksh93
REQUIRED_PACKAGES += system/library