Makefile revision 6071
015055b6e23f5c08f6a5b34726f90b62597e9e45Tinderbox User#
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater# CDDL HEADER START
18920d790825d96ca3943aa2dcb6eb80dc611c5fTinderbox User#
18920d790825d96ca3943aa2dcb6eb80dc611c5fTinderbox User# The contents of this file are subject to the terms of the
ab496cc3df1648e9ad992a87c35c2c0870fdc69dTinderbox User# Common Development and Distribution License (the "License").
7c1468ed500356839a4a222517364e6ce18cb1a2Tinderbox User# You may not use this file except in compliance with the License.
c57668a2fbbe558c1bd21652813616f2f517c469Tinderbox User#
a7c412f37cc73d0332887a746e81220cbf09dd00Mark Andrews# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1f4c645185bd8fc70048e0a69eee46193a284e5cTinderbox User# or http://www.opensolaris.org/os/licensing.
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# See the License for the specific language governing permissions
8de3f14f1c300c3e1ed99084cc03485b42c92bf1Tinderbox User# and limitations under the License.
950d203b64f512b85fcc093ee1e9e3e531a1aea3Tinderbox User#
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User# When distributing Covered Code, include this CDDL HEADER in each
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
e676a596869d8a80a644c99a848afb53d1c5975eMark Andrews# If applicable, add the following below this CDDL HEADER, with the
e676a596869d8a80a644c99a848afb53d1c5975eMark Andrews# fields enclosed by brackets "[]" replaced with your own identifying
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# information: Portions Copyright [yyyy] [name of copyright owner]
a7c412f37cc73d0332887a746e81220cbf09dd00Mark Andrews#
a7c412f37cc73d0332887a746e81220cbf09dd00Mark Andrews# CDDL HEADER END
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
e676a596869d8a80a644c99a848afb53d1c5975eMark Andrews#
e676a596869d8a80a644c99a848afb53d1c5975eMark Andrews
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsinclude ../../make-rules/shared-macros.mk
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsCOMPONENT_BUGDB= utility/ksh93
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsCOMPONENT_PROJECT_URL= http://www2.research.att.com/sw/download/
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# These are required if retrieving packages from the AT&T website.
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox UserATT_USERNAME= "I accept www.opensource.org/licenses/eclipse"
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark AndrewsATT_PASSWD= "."
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User# This flag controls the prep.mk behaviour to patch each archive individually
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsPATCH_EACH_ARCHIVE = 1
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsCOMPONENT_NAME = ksh93
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox UserCOMPONENT_SRC_NAME = INIT
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsCOMPONENT_VERSION = 2012-08-01
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox UserCOMPONENT_SRC = $(COMPONENT_SRC_NAME).$(COMPONENT_VERSION)
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsCOMPONENT_ARCHIVE = $(COMPONENT_SRC).tgz
015055b6e23f5c08f6a5b34726f90b62597e9e45Tinderbox UserCOMPONENT_ARCHIVE_HASH = \
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews sha256:c40cf57e9b2186271a9c362a560aa4a6e25ba911a8258ab931d2bbdbce44cfe5
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan HuntCOMPONENT_ARCHIVE_URL = http://www2.research.att.com/~astopen/download/tgz/$(COMPONENT_ARCHIVE)
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox UserCOMPONENT_PATCHES =
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox User
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan HuntTPNO= 16530
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
16f6050f29b6b0422cee858e609f65e474e70ef2Tinderbox User# Patch only required if building ksh93 only and not ast-base
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# package-pax-suid.patch
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User# The ksh93 tarballs don't unpack cleanly into their own directories.
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox UserUNPACK_ARGS= -r $(COMPONENT_SRC)
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox UserNUM_EXTRA_ARCHIVES= 1
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterCOMPONENT_NAME_1= ast-base
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterCOMPONENT_VERSION_1= 2012-08-01
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterCOMPONENT_SRC_1= $(COMPONENT_NAME_1).$(COMPONENT_VERSION_1)
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsCOMPONENT_ARCHIVE_1= $(COMPONENT_NAME_1).$(COMPONENT_VERSION_1).tgz
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic UpdaterCOMPONENT_ARCHIVE_HASH_1= \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews sha256:3bd668dbd922790f1d24c78e3522ef4816501e9cf80abf3c480f554c74f4dbac
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsCOMPONENT_ARCHIVE_URL_1= http://www2.research.att.com/~astopen/download/tgz/$(COMPONENT_ARCHIVE_1)
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsCOMPONENT_PATCHES_1= compiler.patch path_utmp.patch\
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews solaris_alias.patch \
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater CR6919590.patch CR7036535.patch \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews CRXXX_Error_Catalog.patch CR7025778.patch \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews CR7065478.patch CR7026179.patch \
16f6050f29b6b0422cee858e609f65e474e70ef2Tinderbox User CR7065900.patch CR7110983.patch \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews multi_lang_arith.patch \
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater CR7057565.patch \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews CR6964621.patch CR7032068.patch \
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews CR7061011.patch CR6934836.patch \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews CR7089799.patch CR6917338.patch \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews CR7019368.patch CR6729252.patch \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews MAP_TYPE_64_Bits.patch \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews CR7168611.patch \
015055b6e23f5c08f6a5b34726f90b62597e9e45Tinderbox User CR7175995.patch CR7186440_ksh93_disable_predictive_editing.patch \
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt Bug15808407.patch Bug17714341.patch \
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt 17432413.patch 17824699.patch \
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt 17435456.patch 17851169.patch \
95637507c3d47481fbf0a8a8c750a57f944f677fMark Andrews Bug15993811.patch 21547336.patch \
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt 17777549.patch 17699248.patch \
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt 17817727.patch 18229654.patch \
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt 19907453.patch
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt# Fixup HOSTTYPE to match uname output and bits
2ae159b376dac23870d8005563c585acf85a4b5aEvan HuntHOSTTYPE32=sol11.$(shell uname -p)
2ae159b376dac23870d8005563c585acf85a4b5aEvan HuntHOSTTYPE64=sol11.$(shell uname -p)-64
7cc0a5d21ef046bfd630c4769943d896a7d7472cTinderbox User
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# Make the unpack of the second archive relocate to a sensible place
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsUNPACK_ARGS_1= -r $(COMPONENT_SRC_1)
950d203b64f512b85fcc093ee1e9e3e531a1aea3Tinderbox User
27739dd25026283c24645c8a1044b95ef9eb5ac6Tinderbox User# We override LD_B_DIRECT because -B direct has unfortunate consequences for the
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# interposition used by the Safe/Fast IO library (i.e. it becomes neither safe
18920d790825d96ca3943aa2dcb6eb80dc611c5fTinderbox User# nor fast, and causes the build to deadly embrace).
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsLD_B_DIRECT=
7a6494cfb6cc7d3f67af07359561e05e6bb8c0edTinderbox User
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox User# Disable nmake's probing of runpaths
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsCC.RUNPATH=
18920d790825d96ca3943aa2dcb6eb80dc611c5fTinderbox UserCC.LD.RUNPATH=
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsCC.LD.ORIGIN=
7a6494cfb6cc7d3f67af07359561e05e6bb8c0edTinderbox UserCC.DLL.ORIGIN=
77932ac533c711eca5cd86de4e7eca8d91102b43Tinderbox User
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Fix up the permissions of the compiler wrapper scripts from the patch
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox UserCOMPONENT_PRE_BUILD_ACTION=($(CHMOD) +x $(@D)/src/cmd/INIT/cc.sol11.*)
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User# Prevent nmake from taking over the entire machine
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsNPROC=1
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# Set the built to build all targets, install all of ast-base, and test ksh93.
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox UserCOMPONENT_BUILD_TARGETS +=
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark AndrewsCOMPONENT_INSTALL_PACKAGES += ast-base
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsCOMPONENT_TEST_TARGETS = ksh93
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# Unpack the ast-base tarball and copy it into the INIT tree,
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User# mark it as un-patched
91216cff91b34c9ff6e846dc23f248219cafe660Andreas GustafssonCOMPONENT_POST_UNPACK_ACTION_1= \
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User $(RM) $(COMPONENT_SRC)/*patched_1; \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews $(CP) -r $(COMPONENT_SRC_1)/* $(COMPONENT_SRC)
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# Add the two tarball paths to the paths to be cleaned
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox UserCLEAN_PATHS+= build $(COMPONENT_NAME_1).$(COMPONENT_VERSION_1) \
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson $(COMPONENT_NAME).$(COMPONENT_VERSION)
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# ksh.kshrc needs to be installed with the ksh package
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox UserCOMPONENT_POST_INSTALL_ACTION= \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews @$(MKDIR) -p $(PROTO_DIR)/etc/; \
28a5dd720187fddb16055a0f64b63a7b66f29f64Mark Andrews $(CP) ksh.kshrc $(PROTO_DIR)/etc/
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews# Packaging information.
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# Note how the AT&T "version letter symbol date" code is translated
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox User# into the IPS version number:
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews#
fd972434c29fc1169d66594e4cc7697d33036c2bTinderbox User# shell/ksh93@93.<letter representation>.<0 or 1>.<yymmdd>
37d8e0a4455876fe1e4cca511076cc2c5ab9eedeTinderbox User#
37d8e0a4455876fe1e4cca511076cc2c5ab9eedeTinderbox User# <letter representation> is the numeric place in the alphabet of the
fd972434c29fc1169d66594e4cc7697d33036c2bTinderbox User# major version letter.
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont#
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# <0 or 1> is the presence or absence of the "+" symbol in the AT&T
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# version code. The "+" represents a point/bugfix release and would appear as
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont# "93<version letter>+" in the human readable form.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# EXAMPLE:
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# AT&T Version string: 93u+ 2011-02-08
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# IPS Version number: 93.21.1.20110208
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews#
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark AndrewsIPS_PKG_NAME= ksh93
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark AndrewsIPS_COMPONENT_VERSION= 93.21.1.20120801
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark AndrewsIPS_HUMAN_VERSION= "93u+ 2012-08-01"
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# common targets
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrewsbuild: $(BUILD_32_and_64)
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsinstall: $(INSTALL_32_and_64)
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User (for binary in msgcvt msgcpp msgget msggen ksh shcomp alias; do \
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews /usr/bin/elfedit -e 'dyn:delete RPATH' -e 'dyn:delete RUNPATH' \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews "$(PROTO_DIR)/$(MACH64)/bin/$$binary" ; \
e20788e1216ed720aefa84f3295f7899d9f28c22Mark Andrews done )
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrewstest: $(TEST_32_and_64)
01a5c5503482fb3ba52088bf0178a7213273bf96Mark Andrews
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User
37d8e0a4455876fe1e4cca511076cc2c5ab9eedeTinderbox UserPKG_PROTO_DIRS += $(COMPONENT_DIR)/files
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updaterinclude $(WS_MAKE_RULES)/prep.mk
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrewsinclude $(WS_MAKE_RULES)/attpackagemake.mk
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox Userinclude $(WS_MAKE_RULES)/ips.mk
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsREQUIRED_PACKAGES += system/core-os
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox UserREQUIRED_PACKAGES += system/library
fe80a4909bf62b602feaf246866e9d29f7654194Automatic UpdaterREQUIRED_PACKAGES += system/library/math
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox UserREQUIRED_PACKAGES += system/library/security/crypto
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews