components/libgsl/Makefile
author Rich Burridge <rich.burridge@oracle.com>
Tue, 14 Apr 2015 16:03:18 -0700
changeset 4119 bdf7d6775e82
child 4158 120144d5f6f3
permissions -rw-r--r--
PSARC 2015/122 GSL - GNU Scientific Library 18734452 Integrate GNU Scientific Library with -lsunperf support
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4119
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     1
#
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     2
# CDDL HEADER START
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     3
#
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     4
# The contents of this file are subject to the terms of the
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     5
# Common Development and Distribution License (the "License").
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     6
# You may not use this file except in compliance with the License.
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     7
#
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     8
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     9
# or http://www.opensolaris.org/os/licensing.
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    10
# See the License for the specific language governing permissions
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    11
# and limitations under the License.
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    12
#
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    13
# When distributing Covered Code, include this CDDL HEADER in each
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    14
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    15
# If applicable, add the following below this CDDL HEADER, with the
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    16
# fields enclosed by brackets "[]" replaced with your own identifying
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    17
# information: Portions Copyright [yyyy] [name of copyright owner]
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    18
#
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    19
# CDDL HEADER END
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    20
#
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    21
# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    22
#
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    23
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    24
include ../../make-rules/shared-macros.mk
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    25
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    26
COMPONENT_NAME=		gsl
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    27
COMPONENT_VERSION=	1.16
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    28
COMPONENT_PROJECT_URL=	http://www.gnu.org/software/gsl/
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    29
COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    30
COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    31
COMPONENT_ARCHIVE_HASH=	\
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    32
    sha256:73bc2f51b90d2a780e6d266d43e487b3dbd78945dd0b04b14ca5980fe28d2f53
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    33
COMPONENT_ARCHIVE_URL=	http://ftp.gnu.org/gnu/$(COMPONENT_NAME)/$(COMPONENT_ARCHIVE)
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    34
COMPONENT_BUGDB=	library/libgsl
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    35
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    36
TPNO=			21884
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    37
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    38
include $(WS_MAKE_RULES)/prep.mk
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    39
include $(WS_MAKE_RULES)/configure.mk
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    40
include $(WS_MAKE_RULES)/ips.mk
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    41
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    42
# Recreate configure and various Makefiles to pickup libsunperf changes.
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    43
COMPONENT_PREP_ACTION = \
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    44
	(cd $(@D) ; ACLOCAL=aclocal-1.11 AUTOMAKE=automake-1.11 autoreconf -f)
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    45
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    46
# Get rid of compiler path set in RUNPATH.
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    47
LDFLAGS += $(studio_NORUNPATH)
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    48
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    49
LDFLAGS += $(CC_BITS)
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    50
LDFLAGS += $(studio_PIC)
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    51
LDFLAGS += $(studio_OPT)
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    52
LDFLAGS += $(LD_Z_TEXT)
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    53
LDFLAGS += $(LD_Z_DEFS)
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    54
LDFLAGS += $(LD_DEF_LIBS)
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    55
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    56
STUDIO_LIBS_PATH.32 =	/usr/lib/studio
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    57
STUDIO_LIBS_PATH.64 =	/usr/lib/studio/64
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    58
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    59
LDFLAGS += -L$(STUDIO_LIBS_PATH.$(BITS)) -R$(STUDIO_LIBS_PATH.$(BITS)) \
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    60
		-lsunperf -lfsu -lmtsk -lpicl -lkstat
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    61
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    62
CONFIGURE_ENV += CFLAGS="$(CFLAGS)"
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    63
CONFIGURE_ENV += LDFLAGS="$(LDFLAGS)"
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    64
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    65
COMPONENT_BUILD_ARGS += CFLAGS="$(CFLAGS)"
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    66
COMPONENT_BUILD_ARGS += LDFLAGS="$(LDFLAGS)"
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    67
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    68
CC += $(CC_BITS)
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    69
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    70
# Needed to pass -norunpath to the shared library link.
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    71
CC += $(studio_NORUNPATH)
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    72
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    73
COMPONENT_TEST_ARGS =	-k -i
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    74
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    75
# Master test results are different not only between 32-bit and 64-bit, but
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    76
# also between x86 and SPARC (different # of tests run).
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    77
COMPONENT_TEST_MASTER = \
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    78
	$(COMPONENT_TEST_RESULTS_DIR)/results-$(MACH)-$(BITS).master
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    79
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    80
COMPONENT_TEST_TRANSFORMS += \
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    81
	'-e "s|^.*$(CC).*$$|XXX_CC_XXX|g" ' \
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    82
	'-e "s|^.*source=.*libtool=no.*$$|XXX_CC_XXX|g" ' \
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    83
	'-e "s|^.*DEPDIR=.deps.*$$|XXX_CC_XXX|g" ' \
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    84
	'-e "/^XXX_CC_XXX$$/d" '
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    85
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    86
# Needed for "gmake test" to work successfully.
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    87
# If SHELLOPTS is exported (as it is by the userland makefiles),
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    88
# then all shell options get exported to child invocations of bash,
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    89
# which results in test failures due to nounset and xtrace being
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    90
# set unexpectedly, and errors such as "$1: unbound variable" and
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    91
# diffs failing due to script tracing in output files.
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    92
unexport SHELLOPTS
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    93
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    94
ASLR_MODE = $(ASLR_ENABLE)
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    95
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    96
configure:	$(CONFIGURE_32_and_64)
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    97
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    98
build:		$(BUILD_32_and_64)
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    99
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   100
install:	$(INSTALL_32_and_64)
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   101
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   102
test:		$(TEST_32_and_64)
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   103
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   104
REQUIRED_PACKAGES += shell/ksh93
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   105
REQUIRED_PACKAGES += system/library
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   106
REQUIRED_PACKAGES += system/library/math
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   107
REQUIRED_PACKAGES += system/library/openmp
bdf7d6775e82 PSARC 2015/122 GSL - GNU Scientific Library
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
   108
REQUIRED_PACKAGES += system/library/sunperf