components/gcc4/Makefile
author Norm Jacobs <Norm.Jacobs@Oracle.COM>
Tue, 06 Dec 2016 16:01:32 -0800
changeset 7446 f420f2219a19
parent 7297 fbb1e830e28f
child 7687 1093e2a9adbd
permissions -rw-r--r--
25204357 /usr/bin/dot is crashing on s12-114
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     1
#
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     2
# CDDL HEADER START
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     3
#
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     4
# The contents of this file are subject to the terms of the
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     5
# Common Development and Distribution License (the "License").
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     6
# You may not use this file except in compliance with the License.
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     7
#
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     8
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     9
# or http://www.opensolaris.org/os/licensing.
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    10
# See the License for the specific language governing permissions
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    11
# and limitations under the License.
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    12
#
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    13
# When distributing Covered Code, include this CDDL HEADER in each
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    14
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    15
# If applicable, add the following below this CDDL HEADER, with the
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    16
# fields enclosed by brackets "[]" replaced with your own identifying
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    17
# information: Portions Copyright [yyyy] [name of copyright owner]
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    18
#
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    19
# CDDL HEADER END
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    20
#
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5439
diff changeset
    21
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5439
diff changeset
    22
#
5248
6f0a9396a317 22513774 gcc 4.9.3 libstdc++ causes Firefox to dump core
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5224
diff changeset
    23
# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    24
#
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    25
export PARFAIT_BUILD=no
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5439
diff changeset
    26
BUILD_BITS= 32
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5439
diff changeset
    27
COMPILER= gcc
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    28
include ../../make-rules/shared-macros.mk
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    29
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    30
GCC_ROOT=/usr/gcc/4.9
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    31
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    32
COMPONENT_NAME=		gcc
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    33
COMPONENT_VERSION=	4.9.4
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    34
COMPONENT_PROJECT_URL=	http://gcc.gnu.org/
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    35
COMPONENT_ARCHIVE_HASH= \
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    36
    sha256:1680f92781b92cbdb57d7e4f647c650678c594154cb0d707fd9a994424a9860d
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    37
COMPONENT_ARCHIVE_URL=	http://ftp.gnu.org/gnu/gcc/$(COMPONENT_SRC)/$(COMPONENT_ARCHIVE)
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    38
COMPONENT_BUGDB=        utility/gnu-compiler
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    39
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    40
TPNO=			31051
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    41
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    42
# Use gcc's default flags instead of userland's.
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    43
CFLAGS=
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    44
CPPFLAGS=
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    45
CXXFLAGS=
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    46
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    47
CC += -std=gnu89
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    48
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5439
diff changeset
    49
include $(WS_MAKE_RULES)/common.mk
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    50
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    51
# The GNU compiler wants the GNU utilities.
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5439
diff changeset
    52
PATH=$(GNUBIN):$(USRBINDIR):$(USRDIR)/perl5/bin
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    53
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    54
PARCH =         $(MACH:i386=i386-pc)
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    55
GNU_ARCH =      $(PARCH:sparc=sparc-sun)-solaris$(SOLARIS_VERSION)
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    56
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    57
PKG_MACROS +=   GNU_ARCH="$(GNU_ARCH)"
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    58
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    59
VERSION_NUMBERS = $(subst ., ,$(COMPONENT_VERSION))
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    60
GCC_VERSION=$(word 1,$(VERSION_NUMBERS)).$(word 2,$(VERSION_NUMBERS))
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    61
PKG_MACROS +=	GCC_VERSION=$(GCC_VERSION)
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    62
PKG_MACROS +=	GCC_V=$(word 1,$(VERSION_NUMBERS))$(word 2,$(VERSION_NUMBERS))
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    63
PKG_MACROS +=	GCC_BASEDIR=$(CONFIGURE_PREFIX)
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    64
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    65
# direct binding causes various testsuite failures
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    66
LD_B_DIRECT=
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    67
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    68
# /usr/lib/ld/map.noexdata destroys Intel
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    69
LD_MAP_NOEXDATA.i386=
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    70
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    71
# /usr/lib/ld/map.noexbss destroys SPARC
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    72
LD_MAP_NOEXBSS.sparc=
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    73
7245
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 6923
diff changeset
    74
# Mapfiles map.noexdata and map.noexbss mark the data + bss and bss
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 6923
diff changeset
    75
# segments non executable on x86 and SPARC respectively. The protection
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 6923
diff changeset
    76
# extends to the heap segment, if the heap is brk based, as is the case
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 6923
diff changeset
    77
# with gcc. Since the introduction of NXHEAP, this is controlled
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 6923
diff changeset
    78
# separately by the NXHEAP extension itself. Whether the heap should be
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 6923
diff changeset
    79
# executable or not should be reevaluated. For now, try to avoid
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 6923
diff changeset
    80
# "destruction" as hinted above.
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 6923
diff changeset
    81
NXHEAP_MODE = $(NXHEAP_DISABLE)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 6923
diff changeset
    82
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    83
# for some reason the fixincludes target fails with bash on Solaris.
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    84
CONFIG_SHELL = /bin/sh
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    85
MAKESHELL = /bin/sh
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    86
COMPONENT_BUILD_ENV += SHELL=$(CONFIG_SHELL)
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    87
COMPONENT_BUILD_ENV += MAKESHELL=$(MAKESHELL)
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    88
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    89
CONFIGURE_PREFIX =	/usr/gcc/4.9
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5439
diff changeset
    90
CONFIGURE_INFODIR =	$(CONFIGURE_PREFIX)/share/info
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    91
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5439
diff changeset
    92
CONFIGURE_OPTIONS +=	--infodir=$(CONFIGURE_INFODIR)
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    93
CONFIGURE_OPTIONS +=	--libexecdir=$(CONFIGURE_PREFIX)/lib
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    94
CONFIGURE_OPTIONS +=	--enable-languages="c,c++,fortran,objc"
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    95
CONFIGURE_OPTIONS +=	--enable-shared
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    96
CONFIGURE_OPTIONS +=	--enable-initfini-array
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    97
CONFIGURE_OPTIONS +=	--disable-rpath
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    98
CONFIGURE_OPTIONS +=	--with-system-zlib
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    99
CONFIGURE_OPTIONS +=	--with-build-config=no
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5439
diff changeset
   100
CONFIGURE_OPTIONS +=	--with-gmp-include=$(USRINCDIR)/gmp
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5439
diff changeset
   101
CONFIGURE_OPTIONS +=	--with-mpfr-include=$(USRINCDIR)/mpfr
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   102
CONFIGURE_OPTIONS +=	--without-gnu-ld --with-ld=$(USRBINDIR)/ld
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5439
diff changeset
   103
CONFIGURE_OPTIONS +=	--with-gnu-as --with-as=$(GNUBIN)/as
7446
f420f2219a19 25204357 /usr/bin/dot is crashing on s12-114
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7297
diff changeset
   104
CONFIGURE_OPTIONS +=	--enable-tls
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   105
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   106
# If the compiler used to build matches the compiler being built, there is no
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   107
# need for a 3 stage build.
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   108
ifneq ($(shell $(CC) --version | grep $(COMPONENT_VERSION)),)
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   109
CONFIGURE_OPTIONS +=    --disable-bootstrap
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   110
else
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   111
COMPONENT_BUILD_TARGETS=bootstrap
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   112
endif
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   113
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   114
CONFIGURE_OPTIONS +=	BOOT_CFLAGS='-g -O2'
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   115
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   116
# This is the target and it must be last
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   117
CONFIGURE_OPTIONS +=    $(GNU_ARCH)
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   118
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   119
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   120
CONFIGURE_ENV     += PYTHON="$(PYTHON)"
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   121
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   122
# compile python modules
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   123
COMPONENT_POST_INSTALL_ACTION = \
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   124
	( gfind $(PROTO_DIR)$(CONFIGURE_PREFIX) -name '*.py' | \
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   125
	  xargs -n 1 dirname | sort -u | \
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   126
	  xargs $(PYTHON) -m compileall )
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   127
7297
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   128
COMPONENT_BUILD_ARGS += $(JOBS:%=-j%)
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   129
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   130
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   131
COMPONENT_PRE_TEST_ENV += TCL_LIBRARY="$(USRLIBDIR)/tcl8.5"
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   132
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   133
# We don't have DejaGNU in S11.
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   134
ifeq ($(OS_VERSION), 5.12)
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   135
  COMPONENT_PRE_TEST_ENV += DEJAGNULIBS="$(USRSHAREDIR)/dejagnu"
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   136
endif
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   137
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   138
#
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   139
# Run the tests and generate a summary report, then output the summary
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   140
# report into the results file.
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   141
#
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   142
# To ensure that all tests that are expected to pass actually
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   143
# pass, we have to increase the stacksize limit to at least
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   144
# 16MB. Otherwise we'll get spurious failures in the test
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   145
# harness (gcc.c-torture/compile/limits-exprparen.c and others).
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   146
# With the soft stacksize limit set to 16384 we get reasonably good
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   147
# test results.
7297
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   148
#
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   149
COMPONENT_PRE_TEST_ACTION += \
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   150
	(cd $(COMPONENT_TEST_DIR) ; \
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   151
	 ulimit -Ss 16384 ; \
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   152
	 $(ENV) $(COMPONENT_PRE_TEST_ENV) \
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   153
	        $(GMAKE) -k -i $(JOBS:%=-j%) check check-target ; \
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   154
	 $(GMAKE) mail-report.log)
5210
f83eefca4ec2 22386263 GCC 4.9.3 in Solaris 11 needs more XPG
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5205
diff changeset
   155
7297
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   156
COMPONENT_TEST_CMD = $(CAT)
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   157
COMPONENT_TEST_TARGETS = mail-report.log
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   158
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   159
# Master test results are different between x86 and SPARC.
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   160
COMPONENT_TEST_MASTER = \
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   161
	$(COMPONENT_TEST_RESULTS_DIR)/results-$(MACH).master
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   162
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   163
REQUIRED_PACKAGES += developer/gcc-49
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   164
REQUIRED_PACKAGES += developer/test/dejagnu
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   165
REQUIRED_PACKAGES += library/cloog
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   166
REQUIRED_PACKAGES += library/gmp
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   167
REQUIRED_PACKAGES += library/isl
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   168
REQUIRED_PACKAGES += library/mpc
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   169
REQUIRED_PACKAGES += library/mpfr
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   170
REQUIRED_PACKAGES += library/zlib
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   171
REQUIRED_PACKAGES += runtime/tcl-8
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   172
REQUIRED_PACKAGES += shell/bash
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   173
REQUIRED_PACKAGES += shell/ksh93
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   174
REQUIRED_PACKAGES += system/library/gcc/gcc-c-runtime
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   175
REQUIRED_PACKAGES += system/library/math