Marcel Telka
2024-04-08 5d8bcb58722b250c296fc0324f9d06470fb3d7d0
make-rules/gcc-component.mk
@@ -35,15 +35,15 @@
COMPONENT_FMRI= developer/gcc-$(GCC_COMPONENT_VERSION_MAJOR)
COMPONENT_SUMMARY= GNU Compiler Collection
COMPONENT_CLASSIFICATION= Development/C
COMPONENT_PROJECT_URL = http://gcc.gnu.org/
COMPONENT_PROJECT_URL = https://gcc.gnu.org/
COMPONENT_SRC ?= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
COMPONENT_ARCHIVE ?= $(COMPONENT_SRC).tar.xz
COMPONENT_ARCHIVE_URL ?= \
  http://ftp.gnu.org/gnu/gcc/gcc-$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)
  https://ftp.gnu.org/gnu/gcc/gcc-$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)
PATCH_EACH_ARCHIVE=1
PATCHDIR_PATCHES = $(shell find $(PATCH_DIR) -type f -name '$(PATCH_PATTERN)' \
                                2>/dev/null | sort) $(EXTRA_PATCHES)
                                2>/dev/null | $(SORT))
MPFR_NAME= mpfr
ifeq ($(strip $(MPFR_VERSION)),)
@@ -54,7 +54,7 @@
endif
COMPONENT_SRC_1=    $(MPFR_NAME)-$(MPFR_VERSION)
COMPONENT_ARCHIVE_1=    $(COMPONENT_SRC_1).tar.bz2
COMPONENT_ARCHIVE_URL_1= http://www.mpfr.org/$(COMPONENT_SRC_1)/$(COMPONENT_ARCHIVE_1)
COMPONENT_ARCHIVE_URL_1= https://www.mpfr.org/$(COMPONENT_SRC_1)/$(COMPONENT_ARCHIVE_1)
COMPONENT_ARCHIVE_HASH_1= $(MPFR_ARCHIVE_HASH)
CLEAN_PATHS += $(COMPONENT_SRC_1)
COMPONENT_POST_UNPACK_ACTION_1 += ( $(RM) -r $(COMPONENT_SRC)/$(MPFR_NAME) && $(CP) -rpP $(COMPONENT_SRC_1) $(COMPONENT_SRC)/$(MPFR_NAME) )
@@ -68,7 +68,7 @@
endif
COMPONENT_SRC_2= $(MPC_NAME)-$(MPC_VERSION)
COMPONENT_ARCHIVE_2= $(COMPONENT_SRC_2).tar.gz
COMPONENT_ARCHIVE_URL_2=  http://www.multiprecision.org/mpc/download/$(COMPONENT_ARCHIVE_2)
COMPONENT_ARCHIVE_URL_2=  https://ftp.gnu.org/gnu/mpc/$(COMPONENT_ARCHIVE_2)
COMPONENT_ARCHIVE_HASH_2= $(MPC_ARCHIVE_HASH)
CLEAN_PATHS += $(COMPONENT_SRC_2)
COMPONENT_POST_UNPACK_ACTION_2 += ( $(RM) -r $(COMPONENT_SRC)/$(MPC_NAME) && $(CP) -rpP $(COMPONENT_SRC_2) $(COMPONENT_SRC)/$(MPC_NAME) )
@@ -82,7 +82,7 @@
endif
COMPONENT_SRC_3= $(GMP_NAME)-$(GMP_VERSION)
COMPONENT_ARCHIVE_3= $(COMPONENT_SRC_3).tar.bz2
COMPONENT_ARCHIVE_URL_3=  http://ftp.gnu.org/gnu/gmp/$(COMPONENT_ARCHIVE_3)
COMPONENT_ARCHIVE_URL_3=  https://ftp.gnu.org/gnu/gmp/$(COMPONENT_ARCHIVE_3)
COMPONENT_ARCHIVE_HASH_3= $(GMP_ARCHIVE_HASH)
CLEAN_PATHS += $(COMPONENT_SRC_3)
COMPONENT_POST_UNPACK_ACTION_3 += ( $(RM) -r $(COMPONENT_SRC)/$(GMP_NAME) && $(CP) -rpP $(COMPONENT_SRC_3) $(COMPONENT_SRC)/$(GMP_NAME) )
@@ -101,6 +101,8 @@
COMMON_ENV=  LD_OPTIONS="-zignore -zcombreloc -i"
COMMON_ENV+= LD_FOR_TARGET=/usr/bin/ld
COMMON_ENV+= LD_FOR_HOST=/usr/bin/ld
COMMON_ENV+= STRIP="/usr/bin/strip -x"
COMMON_ENV+= STRIP_FOR_TARGET="/usr/bin/strip -x"
COMMON_ENV+= LD=/usr/bin/ld
CONFIGURE_ENV+= $(COMMON_ENV)
@@ -116,7 +118,6 @@
CONFIGURE_OPTIONS+= --host $(GNU_TRIPLET)
CONFIGURE_OPTIONS+= --build $(GNU_TRIPLET)
CONFIGURE_OPTIONS+= --target $(GNU_TRIPLET)
#CONFIGURE_OPTIONS+= --with-boot-ldflags=-R$(CONFIGURE_PREFIX)/lib
CONFIGURE_OPTIONS+= --with-pkgversion="OpenIndiana $(GCC_COMPONENT_STRING_VERSION)"
CONFIGURE_OPTIONS+= --with-bugurl="https://bugs.openindiana.org"
@@ -125,13 +126,19 @@
CONFIGURE_OPTIONS+= --with-ld=/usr/bin/ld
CONFIGURE_OPTIONS+= --with-build-time-tools=/usr/gnu/$(GNU_TRIPLET)/bin
# On SPARC systems, use Sun Assembler
CONFIGURE_OPTIONS.sparc+= --without-gnu-as --with-as=/usr/bin/as
CONFIGURE_OPTIONS.i386+= --with-gnu-as --with-as=/usr/bin/gas
CONFIGURE_OPTIONS+= $(CONFIGURE_OPTIONS.$(MACH))
# If the compiler used to build matches the compiler being built, there is no
# need for a 3 stage build.
CONFIGURE_OPTIONS += $(if $(strip $(shell $(CC) --version | grep $(COMPONENT_VERSION))),--disable-bootstrap,)
COMPONENT_BUILD_TARGETS = $(if $(strip $(shell $(CC) --version | grep $(COMPONENT_VERSION))),,bootstrap)
# The Sun Assembler is only used on SPARC gates.
CONFIGURE_OPTIONS+= --with-gnu-as --with-as=/usr/bin/gas
# Set path to library install prefix
CONFIGURE_OPTIONS+= LDFLAGS="-R$(CONFIGURE_PREFIX)/lib"
# Strip the resulting binaries
COMPONENT_INSTALL_TARGETS = install-strip
COMPONENT_POST_INSTALL_ACTION = \
  $(RM) -r $(PROTO_DIR)$(CONFIGURE_PREFIX)/lib/gcc/$(GNU_TRIPLET)/$(COMPONENT_VERSION)/include-fixed
@@ -150,17 +157,31 @@
# With the soft stacksize limit set to 16384 we get reasonably good
# test results.
#
ifeq   ($(strip $(MACH)),i386)
COMPONENT_PRE_TEST_ACTION += \
   (cd $(COMPONENT_TEST_DIR) ; \
    ulimit -Ss 16385 ; \
    $(ENV) $(COMPONENT_PRE_TEST_ENV) \
           $(GMAKE) -k -i $(JOBS:%=-j%) check check-target RUNTESTFLAGS="--target_board=unix/-m64\{,-msave-args\}" ; \
           $(GMAKE) -k -i $(JOBS:%=-j%) check RUNTESTFLAGS="--target_board=unix/-m64\{,-msave-args\}" ; \
    $(FIND) . -name  '*.sum' | while read f; do \
           gsed -e '1,/^Running target unix/p' -e  'd' $f > $f.2; \
           gsed -e '/^Running target unix/,/Summary ===$/p' -e  'd' $f | grep  '^.*: ' | sort -k 2 >> $f.2; \
           gsed -e '/^Running target unix/,/Summary ===$/p' -e  'd' $f | grep  '^.*: ' | $(SORT) -k 2 >> $f.2; \
           gsed -e '/Summary ===$/,$p' -e  'd' $f >> $f.2; \
           mv $f.2 $f; done; \
    $(GMAKE) mail-report.log)
else
COMPONENT_PRE_TEST_ACTION += \
   (cd $(COMPONENT_TEST_DIR) ; \
    ulimit -Ss 16385 ; \
    $(ENV) $(COMPONENT_PRE_TEST_ENV) \
           $(GMAKE) -k -i $(JOBS:%=-j%) check RUNTESTFLAGS="--target_board=unix/-m64" ; \
    $(FIND) . -name  '*.sum' | while read f; do \
           gsed -e '1,/^Running target unix/p' -e  'd' $f > $f.2; \
           gsed -e '/^Running target unix/,/Summary ===$/p' -e  'd' $f | grep  '^.*: ' | $(SORT) -k 2 >> $f.2; \
           gsed -e '/Summary ===$/,$p' -e  'd' $f >> $f.2; \
           mv $f.2 $f; done; \
    $(GMAKE) mail-report.log)
endif
COMPONENT_TEST_CMD = $(CAT)
COMPONENT_TEST_TARGETS = mail-report.log
@@ -169,13 +190,8 @@
COMPONENT_TEST_MASTER = \
   $(COMPONENT_TEST_RESULTS_DIR)/results-$(MACH).master
# Common dependencies
REQUIRED_PACKAGES += SUNWcs
REQUIRED_PACKAGES += system/library
REQUIRED_PACKAGES += system/library/math
# Required by the test suite
REQUIRED_PACKAGES += developer/test/dejagnu
REQUIRED_PACKAGES += developer/build/autoconf-archive
REQUIRED_PACKAGES += developer/build/autogen
REQUIRED_PACKAGES += system/extended-system-utilities
TEST_REQUIRED_PACKAGES += developer/test/dejagnu
TEST_REQUIRED_PACKAGES += developer/build/autoconf-archive
TEST_REQUIRED_PACKAGES += developer/build/autogen
TEST_REQUIRED_PACKAGES += system/extended-system-utilities