Makefile revision 5087
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica#
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# CDDL HEADER START
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica#
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# The contents of this file are subject to the terms of the
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# Common Development and Distribution License (the "License").
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# You may not use this file except in compliance with the License.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica#
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# or http://www.opensolaris.org/os/licensing.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# See the License for the specific language governing permissions
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# and limitations under the License.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica#
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# When distributing Covered Code, include this CDDL HEADER in each
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# If applicable, add the following below this CDDL HEADER, with the
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# fields enclosed by brackets "[]" replaced with your own identifying
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# information: Portions Copyright [yyyy] [name of copyright owner]
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica#
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# CDDL HEADER END
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica#
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica#
5ccb772abc560e890444ecf1d8258ab113840ad7Tony Nguyen
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricainclude ../../make-rules/shared-macros.mk
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaCOMPONENT_NAME= gsl
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaCOMPONENT_VERSION= 1.16
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaCOMPONENT_PROJECT_URL= http://www.gnu.org/software/gsl/
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaCOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaCOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaCOMPONENT_ARCHIVE_HASH= \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica sha256:73bc2f51b90d2a780e6d266d43e487b3dbd78945dd0b04b14ca5980fe28d2f53
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaCOMPONENT_ARCHIVE_URL= http://ftp.gnu.org/gnu/$(COMPONENT_NAME)/$(COMPONENT_ARCHIVE)
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaCOMPONENT_BUGDB= library/libgsl
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaTPNO= 21884
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricainclude $(WS_MAKE_RULES)/prep.mk
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricainclude $(WS_MAKE_RULES)/configure.mk
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricainclude $(WS_MAKE_RULES)/ips.mk
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# By default, tests in each GSL sub-directory are linked statically against
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# a set of .la files. We don't deliver those in the GSL package, so we
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# adjust all the tests to link against the dynamic GSL library instead.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaCOMPONENT_POST_UNPACK_ACTION = \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica (cd $(COMPONENT_SRC); \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica for f in `ls */Makefile.am` ; do \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica $(GSED) -i -e \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica 's|^test_LDADD.*$$|test_LDFLAGS = -L`pwd`/../.libs/ -R`pwd`/../.libs/\ntest_LDADD = -lgsl|' \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica $$f ; \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica done)
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# Recreate configure and top-level Makefile to pickup libsunperf changes.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaCOMPONENT_PREP_ACTION = \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica (cd $(@D) ; ACLOCAL=aclocal-1.11 AUTOMAKE=automake-1.11 autoreconf -f)
1f041b1785d05ef9863b007d3807833c3609391dton
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaLDFLAGS += $(CC_BITS)
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaLDFLAGS += $(studio_PIC)
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaLDFLAGS += $(studio_OPT)
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaLDFLAGS += $(LD_Z_TEXT)
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaLDFLAGS += $(LD_Z_DEFS)
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaLDFLAGS += $(LD_DEF_LIBS)
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaSTUDIO_LIBS_PATH.32 = /usr/lib/studio
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaSTUDIO_LIBS_PATH.64 = /usr/lib/studio/64
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaLDFLAGS += -L$(STUDIO_LIBS_PATH.$(BITS)) -R$(STUDIO_LIBS_PATH.$(BITS)) \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica -lsunperf -lfsu -lmtsk -lpicl -lkstat
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaCONFIGURE_ENV += CFLAGS="$(CFLAGS)"
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaCONFIGURE_ENV += LDFLAGS="$(LDFLAGS)"
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaCOMPONENT_BUILD_ARGS += CFLAGS="$(CFLAGS)"
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaCOMPONENT_BUILD_ARGS += LDFLAGS="$(LDFLAGS)"
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaCC += $(CC_BITS)
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaCOMPONENT_TEST_ARGS = -k -i
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaCOMPONENT_SYSTEM_TEST_ARGS = -k -i
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# Master test results are different not only between 32-bit and 64-bit, but
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# also between x86 and SPARC (different # of tests run).
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaCOMPONENT_TEST_MASTER = \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica $(COMPONENT_TEST_RESULTS_DIR)/results-$(MACH)-$(BITS).master
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaCOMPONENT_TEST_TRANSFORMS += \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica '-e "s|^.*$(CC).*$$|XXX_CC_XXX|g" ' \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica '-e "s|^.*source=.*libtool=no.*$$|XXX_CC_XXX|g" ' \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica '-e "s|^.*DEPDIR=.deps.*$$|XXX_CC_XXX|g" ' \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica '-e "s|^make.*: Leaving directory.*$$|XXX_CC_XXX|g" ' \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica '-e "s|^make.*: Entering directory.*$$|XXX_CC_XXX|g" ' \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica '-e "s|^make.*: Nothing to be.*$$|XXX_CC_XXX|g" ' \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica '-e "s|^.*warning:.*$$|XXX_CC_XXX|g" ' \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica '-e "s|^.*s up to date.*$$|XXX_CC_XXX|g" ' \
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica '-e "/^XXX_CC_XXX$$/d" '
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# Get correct libgsl.so from the proto area.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaTEST_LIBPATH.32 = $(PROTOUSRLIBDIR)
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaTEST_LIBPATH.64 = $(PROTOUSRLIBDIR64)
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaCOMPONENT_TEST_ENV += LD_LIBRARY_PATH=$(TEST_LIBPATH.$(BITS))
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# Needed for "gmake test" to work successfully.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# If SHELLOPTS is exported (as it is by the userland makefiles),
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# then all shell options get exported to child invocations of bash,
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# which results in test failures due to nounset and xtrace being
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# set unexpectedly, and errors such as "$1: unbound variable" and
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# diffs failing due to script tracing in output files.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaunexport SHELLOPTS
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaASLR_MODE = $(ASLR_ENABLE)
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricaconfigure: $(CONFIGURE_32_and_64)
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricabuild: $(BUILD_32_and_64)
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricainstall: $(INSTALL_32_and_64)
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# There are known problems in libsunperf that are causing GSL test failures
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# in Solaris 12 with Studio 12.4 just on the x86 platform:
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# linalg: FAIL: LQ_update m(5,3) [88] (32-bit)
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# caused by 20914954 cblas_gemm differences between x86 and sparcv7
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# linalg: FAIL: cholesky_invert hilbert(4) (64-bit)
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica# caused by 20909151 cblas_dsymm differences between amd64 and sparcv9.
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricatest: install $(TEST_32_and_64)
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01ricasystem-test: build $(SYSTEM_TEST_32_and_64)
f875b4ebb1dd9fdbeb043557cab38ab3bf7f6e01rica
1f041b1785d05ef9863b007d3807833c3609391dtonREQUIRED_PACKAGES += shell/ksh93
1f041b1785d05ef9863b007d3807833c3609391dtonREQUIRED_PACKAGES += system/library
1f041b1785d05ef9863b007d3807833c3609391dtonREQUIRED_PACKAGES += system/library/math
1f041b1785d05ef9863b007d3807833c3609391dtonREQUIRED_PACKAGES += system/library/openmp
1f041b1785d05ef9863b007d3807833c3609391dtonREQUIRED_PACKAGES += system/library/sunperf
1f041b1785d05ef9863b007d3807833c3609391dton