components/gcc4/Makefile
author Rich Burridge <rich.burridge@oracle.com>
Thu, 23 Feb 2017 13:46:52 -0800
changeset 7687 1093e2a9adbd
parent 7446 f420f2219a19
child 7812 ffe9ca8c9421
permissions -rw-r--r--
25590368 Userland components should include "upstream" release tracking information
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
#
7687
1093e2a9adbd 25590368 Userland components should include "upstream" release tracking information
Rich Burridge <rich.burridge@oracle.com>
parents: 7446
diff changeset
    23
# Copyright (c) 2014, 2017, 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
7687
1093e2a9adbd 25590368 Userland components should include "upstream" release tracking information
Rich Burridge <rich.burridge@oracle.com>
parents: 7446
diff changeset
    39
COMPONENT_ANITYA_ID=	6502
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    40
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    41
TPNO=			31051
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    42
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    43
# 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
    44
CFLAGS=
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    45
CPPFLAGS=
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    46
CXXFLAGS=
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    47
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    48
CC += -std=gnu89
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    49
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5439
diff changeset
    50
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
    51
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    52
# 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
    53
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
    54
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    55
PARCH =         $(MACH:i386=i386-pc)
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    56
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
    57
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    58
PKG_MACROS +=   GNU_ARCH="$(GNU_ARCH)"
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    59
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    60
VERSION_NUMBERS = $(subst ., ,$(COMPONENT_VERSION))
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    61
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
    62
PKG_MACROS +=	GCC_VERSION=$(GCC_VERSION)
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    63
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
    64
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
    65
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    66
# direct binding causes various testsuite failures
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    67
LD_B_DIRECT=
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    68
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    69
# /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
    70
LD_MAP_NOEXDATA.i386=
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    71
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    72
# /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
    73
LD_MAP_NOEXBSS.sparc=
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    74
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
    75
# 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
    76
# 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
    77
# 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
    78
# 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
    79
# 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
    80
# 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
    81
# "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
    82
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
    83
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    84
# 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
    85
CONFIG_SHELL = /bin/sh
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    86
MAKESHELL = /bin/sh
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    87
COMPONENT_BUILD_ENV += SHELL=$(CONFIG_SHELL)
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    88
COMPONENT_BUILD_ENV += MAKESHELL=$(MAKESHELL)
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    89
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
    90
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
    91
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
    92
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5439
diff changeset
    93
CONFIGURE_OPTIONS +=	--infodir=$(CONFIGURE_INFODIR)
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    94
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
    95
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
    96
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
    97
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
    98
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
    99
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
   100
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
   101
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
   102
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
   103
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
   104
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
   105
CONFIGURE_OPTIONS +=	--enable-tls
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   106
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   107
# 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
   108
# 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
   109
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
   110
CONFIGURE_OPTIONS +=    --disable-bootstrap
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   111
else
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   112
COMPONENT_BUILD_TARGETS=bootstrap
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   113
endif
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   114
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   115
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
   116
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   117
# 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
   118
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
   119
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   120
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   121
CONFIGURE_ENV     += PYTHON="$(PYTHON)"
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   122
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   123
# compile python modules
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   124
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
   125
	( 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
   126
	  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
   127
	  xargs $(PYTHON) -m compileall )
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   128
7297
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   129
COMPONENT_BUILD_ARGS += $(JOBS:%=-j%)
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
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   132
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
   133
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   134
# 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
   135
ifeq ($(OS_VERSION), 5.12)
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   136
  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
   137
endif
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
#
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   140
# 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
   141
# report into the results file.
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   142
#
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   143
# 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
   144
# 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
   145
# 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
   146
# 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
   147
# 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
   148
# test results.
7297
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   149
#
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   150
COMPONENT_PRE_TEST_ACTION += \
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   151
	(cd $(COMPONENT_TEST_DIR) ; \
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   152
	 ulimit -Ss 16384 ; \
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   153
	 $(ENV) $(COMPONENT_PRE_TEST_ENV) \
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   154
	        $(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
   155
	 $(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
   156
7297
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   157
COMPONENT_TEST_CMD = $(CAT)
fbb1e830e28f 24971443 gcc4 and gcc5 have broken test patch
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7245
diff changeset
   158
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
   159
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5784
diff changeset
   160
# 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
   161
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
   162
	$(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
   163
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/gcc-49
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 += 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
   166
REQUIRED_PACKAGES += library/cloog
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   167
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
   168
REQUIRED_PACKAGES += library/isl
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   169
REQUIRED_PACKAGES += library/mpc
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   170
REQUIRED_PACKAGES += library/mpfr
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   171
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
   172
REQUIRED_PACKAGES += runtime/tcl-8
5205
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   173
REQUIRED_PACKAGES += shell/bash
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   174
REQUIRED_PACKAGES += shell/ksh93
eaff9ab86216 21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   175
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
   176
REQUIRED_PACKAGES += system/library/math