components/tcl/tcl/Makefile
author John Beck <John.Beck@Oracle.COM>
Tue, 12 May 2015 14:32:20 -0700
changeset 4278 c237501634cd
parent 4036 bccb85100817
child 4339 6501cf9c29f9
permissions -rw-r--r--
20815271 libtcl8.5 failed at link stage with new 64-bit compiler
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
175
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
     1
#
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
     2
# CDDL HEADER START
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
     3
#
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
     4
# The contents of this file are subject to the terms of the
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
     5
# Common Development and Distribution License (the "License").
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
     6
# You may not use this file except in compliance with the License.
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
     7
#
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
     8
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
     9
# or http://www.opensolaris.org/os/licensing.
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    10
# See the License for the specific language governing permissions
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    11
# and limitations under the License.
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    12
#
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    13
# When distributing Covered Code, include this CDDL HEADER in each
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    14
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    15
# If applicable, add the following below this CDDL HEADER, with the
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    16
# fields enclosed by brackets "[]" replaced with your own identifying
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    17
# information: Portions Copyright [yyyy] [name of copyright owner]
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    18
#
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    19
# CDDL HEADER END
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    20
#
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    21
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    22
#
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2225
diff changeset
    23
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
175
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    24
#
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    25
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    26
include ../../../make-rules/shared-macros.mk
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    27
225
2f3e03a69313 7040199 Update tcl to 8.5.9
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents: 181
diff changeset
    28
COMPONENT_NAME=         tcl
1017
6a775802d662 7202328 Upgrade TCL to 8.5.12
Srinivasa Sarva <Srinivasa.Sarva@oracle.com>
parents: 800
diff changeset
    29
COMPONENT_VERSION=      8.5.12
609
775168282b2f 7037821 Userland migration of data from Makefile to manifest may have been a little overzealous
Rich Burridge <rich.burridge@oracle.com>
parents: 225
diff changeset
    30
COMPONENT_PROJECT_URL=	http://prdownloads.sourceforge.net/tcl/
225
2f3e03a69313 7040199 Update tcl to 8.5.9
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents: 181
diff changeset
    31
COMPONENT_SRC=          $(COMPONENT_NAME)$(COMPONENT_VERSION)
2f3e03a69313 7040199 Update tcl to 8.5.9
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents: 181
diff changeset
    32
COMPONENT_ARCHIVE=      $(COMPONENT_SRC)-src.tar.gz
800
2ad056ed89ec 7163771 sha1 should not be used in userland-fetch and userland component/*/Makefile
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 609
diff changeset
    33
COMPONENT_ARCHIVE_HASH= \
1017
6a775802d662 7202328 Upgrade TCL to 8.5.12
Srinivasa Sarva <Srinivasa.Sarva@oracle.com>
parents: 800
diff changeset
    34
    sha256:20ba7a10a30571983afd3599f19b441adb5222b21f1d2b27d0fba3ed8d4707c2
609
775168282b2f 7037821 Userland migration of data from Makefile to manifest may have been a little overzealous
Rich Burridge <rich.burridge@oracle.com>
parents: 225
diff changeset
    35
COMPONENT_ARCHIVE_URL=  $(COMPONENT_PROJECT_URL)$(COMPONENT_ARCHIVE)
1058
34d7aaa03423 15886624 Auto-generation of Userland gate list - Phase 3
Rich Burridge <rich.burridge@oracle.com>
parents: 1017
diff changeset
    36
COMPONENT_BUGDB=	library/libtcl
175
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    37
1948
2d1537e7942d 18978320 Userland components should specify TPNOs in Makefiles instead of pkg manifests
John Beck <John.Beck@Oracle.COM>
parents: 1460
diff changeset
    38
TPNO=			9083
2d1537e7942d 18978320 Userland components should specify TPNOs in Makefiles instead of pkg manifests
John Beck <John.Beck@Oracle.COM>
parents: 1460
diff changeset
    39
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2225
diff changeset
    40
include $(WS_MAKE_RULES)/prep.mk
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2225
diff changeset
    41
include $(WS_MAKE_RULES)/configure.mk
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2225
diff changeset
    42
include $(WS_MAKE_RULES)/ips.mk
175
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    43
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    44
COMPONENT_PREP_ACTION = \
225
2f3e03a69313 7040199 Update tcl to 8.5.9
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents: 181
diff changeset
    45
	(cd $(SOURCE_DIR)/unix ; autoreconf -f; \
2f3e03a69313 7040199 Update tcl to 8.5.9
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents: 181
diff changeset
    46
	 cd ../doc; \
175
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    47
            for i in *.n ; do manbase="$$(basename "$$i" .n)"; mv "$$i" "$${manbase}.1t"; done ; \
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    48
            for i in *.3 ; do manbase="$$(basename "$$i" .3)"; mv "$$i" "$${manbase}.3tcl"; done) 
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    49
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    50
COMPONENT_PRE_CONFIGURE_ACTION = \
225
2f3e03a69313 7040199 Update tcl to 8.5.9
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents: 181
diff changeset
    51
        ($(CLONEY) $(SOURCE_DIR) $(@D))
175
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    52
4036
bccb85100817 20788240 tcl master test results need work
John Beck <John.Beck@Oracle.COM>
parents: 3842
diff changeset
    53
# Look for the configure file at the pointed location.
175
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    54
CONFIGURE_SCRIPT = $(SOURCE_DIR)/unix/configure
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    55
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    56
CFLAGS += $(studio_XREGS) -xstrconst $(XPG6MODE) $(studio_C99_ENABLE)
4278
c237501634cd 20815271 libtcl8.5 failed at link stage with new 64-bit compiler
John Beck <John.Beck@Oracle.COM>
parents: 4036
diff changeset
    57
LDFLAGS += $(CC_BITS)
175
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    58
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    59
CONFIGURE_OPTIONS 	+= CFLAGS="$(CFLAGS)"
4278
c237501634cd 20815271 libtcl8.5 failed at link stage with new 64-bit compiler
John Beck <John.Beck@Oracle.COM>
parents: 4036
diff changeset
    60
CONFIGURE_OPTIONS 	+= LDFLAGS="$(LDFLAGS)"
175
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    61
CONFIGURE_OPTIONS	+= --enable-shared
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    62
CONFIGURE_OPTIONS	+= --enable-man-symlinks
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    63
CONFIGURE_OPTIONS	+= --enable-threads
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    64
CONFIGURE_OPTIONS.64	+= --enable-64bit
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    65
4036
bccb85100817 20788240 tcl master test results need work
John Beck <John.Beck@Oracle.COM>
parents: 3842
diff changeset
    66
COMPONENT_TEST_ENV	+= "TZ=GMT"
bccb85100817 20788240 tcl master test results need work
John Beck <John.Beck@Oracle.COM>
parents: 3842
diff changeset
    67
COMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-all.master
181
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 175
diff changeset
    68
COMPONENT_TEST_TARGETS = test
4036
bccb85100817 20788240 tcl master test results need work
John Beck <John.Beck@Oracle.COM>
parents: 3842
diff changeset
    69
# We skip until the beginning (append.test), read until a flaky text
bccb85100817 20788240 tcl master test results need work
John Beck <John.Beck@Oracle.COM>
parents: 3842
diff changeset
    70
# (httpold.test), resume with the next (if-old.test), then stop at end time.
bccb85100817 20788240 tcl master test results need work
John Beck <John.Beck@Oracle.COM>
parents: 3842
diff changeset
    71
COMPONENT_TEST_TRANSFORMER =    $(NAWK)
bccb85100817 20788240 tcl master test results need work
John Beck <John.Beck@Oracle.COM>
parents: 3842
diff changeset
    72
COMPONENT_TEST_TRANSFORMS =     "'/append.test/ {results = 1}; /httpold.test/ {results = 0}; /if-old.test/ {results = 1}; /Tests ended at/ {results = 0}; {if (results) print $0 } '"
181
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 175
diff changeset
    73
1460
21deed5f135f 17402610 tcl, tk and export should be ASLR enabled
Rich Burridge <rich.burridge@oracle.com>
parents: 1058
diff changeset
    74
ASLR_MODE = $(ASLR_ENABLE)
21deed5f135f 17402610 tcl, tk and export should be ASLR enabled
Rich Burridge <rich.burridge@oracle.com>
parents: 1058
diff changeset
    75
2225
f064d3d3190d 20078677 Userland Makefiles should support a configure: target
John Beck <John.Beck@Oracle.COM>
parents: 1948
diff changeset
    76
configure:	$(CONFIGURE_32_and_64)
f064d3d3190d 20078677 Userland Makefiles should support a configure: target
John Beck <John.Beck@Oracle.COM>
parents: 1948
diff changeset
    77
175
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    78
build:		$(BUILD_32_and_64)
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    79
225
2f3e03a69313 7040199 Update tcl to 8.5.9
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents: 181
diff changeset
    80
install:	$(INSTALL_32_and_64) $(PROTOUSRLIBDIR)/tclConfig.sh 
2f3e03a69313 7040199 Update tcl to 8.5.9
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents: 181
diff changeset
    81
2f3e03a69313 7040199 Update tcl to 8.5.9
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents: 181
diff changeset
    82
$(PROTOUSRLIBDIR)/tclConfig.sh:		$(INSTALL_32)	
2f3e03a69313 7040199 Update tcl to 8.5.9
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents: 181
diff changeset
    83
					sed -f $(COMPONENT_DIR)/files/tclsed $(PROTOUSRLIBDIR)/tclConfig.sh > \
2f3e03a69313 7040199 Update tcl to 8.5.9
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents: 181
diff changeset
    84
						$(PROTOUSRLIBDIR)/tclConfig.sh.new
2f3e03a69313 7040199 Update tcl to 8.5.9
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents: 181
diff changeset
    85
					$(MV) $(PROTOUSRLIBDIR)/tclConfig.sh.new $(PROTOUSRLIBDIR)/tclConfig.sh
2f3e03a69313 7040199 Update tcl to 8.5.9
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents: 181
diff changeset
    86
					$(CHMOD) 555 $(PROTOUSRLIBDIR)/tclConfig.sh
175
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    87
181
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 175
diff changeset
    88
test: 		$(TEST_32_and_64)
175
5195b4ea17ad 7033092 Move Tcl to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents:
diff changeset
    89
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2225
diff changeset
    90
REQUIRED_PACKAGES += system/library
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2225
diff changeset
    91
REQUIRED_PACKAGES += system/library/math
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2225
diff changeset
    92
REQUIRED_PACKAGES += system/linker