Makefile revision 4156
4117N/A#
4117N/A# CDDL HEADER START
4117N/A#
4117N/A# The contents of this file are subject to the terms of the
4117N/A# Common Development and Distribution License (the "License").
4117N/A# You may not use this file except in compliance with the License.
4117N/A#
4117N/A# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4117N/A# or http://www.opensolaris.org/os/licensing.
4117N/A# See the License for the specific language governing permissions
4117N/A# and limitations under the License.
4117N/A#
4117N/A# When distributing Covered Code, include this CDDL HEADER in each
4117N/A# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4117N/A# If applicable, add the following below this CDDL HEADER, with the
4117N/A# fields enclosed by brackets "[]" replaced with your own identifying
4117N/A# information: Portions Copyright [yyyy] [name of copyright owner]
4117N/A#
4117N/A# CDDL HEADER END
4117N/A#
4117N/A# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
4117N/A#
4117N/A
4117N/Ainclude ../../make-rules/shared-macros.mk
4117N/A
4117N/ACOMPONENT_NAME= gsl
4117N/ACOMPONENT_VERSION= 1.16
4117N/ACOMPONENT_PROJECT_URL= http://www.gnu.org/software/gsl/
4117N/ACOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
4117N/ACOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
4117N/ACOMPONENT_ARCHIVE_HASH= \
4117N/A sha256:73bc2f51b90d2a780e6d266d43e487b3dbd78945dd0b04b14ca5980fe28d2f53
4117N/ACOMPONENT_ARCHIVE_URL= http://ftp.gnu.org/gnu/$(COMPONENT_NAME)/$(COMPONENT_ARCHIVE)
4117N/ACOMPONENT_BUGDB= library/libgsl
4117N/A
4117N/ATPNO= 21884
4117N/A
4117N/Ainclude $(WS_MAKE_RULES)/prep.mk
4117N/Ainclude $(WS_MAKE_RULES)/configure.mk
4117N/Ainclude $(WS_MAKE_RULES)/ips.mk
4117N/A
4156N/A# By default, tests in each GSL sub-directory are linked statically against
4156N/A# a set of .la files. We don't deliver those in the GSL package, so we
4156N/A# adjust all the tests to link against the dynamic GSL library instead.
4156N/ACOMPONENT_POST_UNPACK_ACTION = \
4156N/A (cd $(COMPONENT_SRC); \
4156N/A for f in `ls */Makefile.am` ; do \
4156N/A $(GSED) -i -e \
4156N/A 's|^test_LDADD.*$$|test_LDFLAGS = -L`pwd`/../.libs/ -R`pwd`/../.libs/\ntest_LDADD = -lgsl|' \
4156N/A $$f ; \
4156N/A done)
4156N/A
4156N/A# Recreate configure and top-level Makefile to pickup libsunperf changes.
4117N/ACOMPONENT_PREP_ACTION = \
4117N/A (cd $(@D) ; ACLOCAL=aclocal-1.11 AUTOMAKE=automake-1.11 autoreconf -f)
4117N/A
4117N/ALDFLAGS += $(CC_BITS)
4117N/ALDFLAGS += $(studio_PIC)
4117N/ALDFLAGS += $(studio_OPT)
4117N/ALDFLAGS += $(LD_Z_TEXT)
4117N/ALDFLAGS += $(LD_Z_DEFS)
4117N/ALDFLAGS += $(LD_DEF_LIBS)
4117N/A
4117N/ASTUDIO_LIBS_PATH.32 = /usr/lib/studio
4117N/ASTUDIO_LIBS_PATH.64 = /usr/lib/studio/64
4117N/A
4117N/ALDFLAGS += -L$(STUDIO_LIBS_PATH.$(BITS)) -R$(STUDIO_LIBS_PATH.$(BITS)) \
4117N/A -lsunperf -lfsu -lmtsk -lpicl -lkstat
4117N/A
4117N/ACONFIGURE_ENV += CFLAGS="$(CFLAGS)"
4117N/ACONFIGURE_ENV += LDFLAGS="$(LDFLAGS)"
4117N/A
4117N/ACOMPONENT_BUILD_ARGS += CFLAGS="$(CFLAGS)"
4117N/ACOMPONENT_BUILD_ARGS += LDFLAGS="$(LDFLAGS)"
4117N/A
4117N/ACC += $(CC_BITS)
4117N/A
4117N/ACOMPONENT_TEST_ARGS = -k -i
4117N/A
4117N/A# Master test results are different not only between 32-bit and 64-bit, but
4117N/A# also between x86 and SPARC (different # of tests run).
4117N/ACOMPONENT_TEST_MASTER = \
4117N/A $(COMPONENT_TEST_RESULTS_DIR)/results-$(MACH)-$(BITS).master
4117N/A
4117N/ACOMPONENT_TEST_TRANSFORMS += \
4117N/A '-e "s|^.*$(CC).*$$|XXX_CC_XXX|g" ' \
4117N/A '-e "s|^.*source=.*libtool=no.*$$|XXX_CC_XXX|g" ' \
4117N/A '-e "s|^.*DEPDIR=.deps.*$$|XXX_CC_XXX|g" ' \
4117N/A '-e "/^XXX_CC_XXX$$/d" '
4117N/A
4117N/A# Needed for "gmake test" to work successfully.
4117N/A# If SHELLOPTS is exported (as it is by the userland makefiles),
4117N/A# then all shell options get exported to child invocations of bash,
4117N/A# which results in test failures due to nounset and xtrace being
4117N/A# set unexpectedly, and errors such as "$1: unbound variable" and
4117N/A# diffs failing due to script tracing in output files.
4117N/Aunexport SHELLOPTS
4117N/A
4117N/AASLR_MODE = $(ASLR_ENABLE)
4117N/A
4117N/Aconfigure: $(CONFIGURE_32_and_64)
4117N/A
4117N/Abuild: $(BUILD_32_and_64)
4117N/A
4117N/Ainstall: $(INSTALL_32_and_64)
4117N/A
4156N/A# There are known problems in libsunperf that are causing GSL test failures
4156N/A# in Solaris 12 with Studio 12.4 just on the x86 platform:
4156N/A# linalg: FAIL: LQ_update m(5,3) [88] (32-bit)
4156N/A# caused by 20914954 cblas_gemm differences between x86 and sparcv7
4156N/A# linalg: FAIL: cholesky_invert hilbert(4) (64-bit)
4156N/A# caused by 20909151 cblas_dsymm differences between amd64 and sparcv9.
4117N/Atest: $(TEST_32_and_64)
4117N/A
4117N/AREQUIRED_PACKAGES += shell/ksh93
4117N/AREQUIRED_PACKAGES += system/library
4117N/AREQUIRED_PACKAGES += system/library/math
4117N/AREQUIRED_PACKAGES += system/library/openmp
4117N/AREQUIRED_PACKAGES += system/library/sunperf