Revision: 27157 http://sourceforge.net/p/gar/code/27157 Author: jake_goerzen Date: 2025-02-12 16:00:31 +0000 (Wed, 12 Feb 2025) Log Message: ----------- gcc9: Initial commit
Added Paths: ----------- csw/mgar/pkg/gcc9/ csw/mgar/pkg/gcc9/Makefile csw/mgar/pkg/gcc9/branches/ csw/mgar/pkg/gcc9/tags/ csw/mgar/pkg/gcc9/trunk/ csw/mgar/pkg/gcc9/trunk/Makefile csw/mgar/pkg/gcc9/trunk/checksums csw/mgar/pkg/gcc9/trunk/files/ csw/mgar/pkg/gcc9/trunk/files/customize_specs.sh csw/mgar/pkg/gcc9/trunk/files/scripts.mk Added: csw/mgar/pkg/gcc9/Makefile =================================================================== --- csw/mgar/pkg/gcc9/Makefile (rev 0) +++ csw/mgar/pkg/gcc9/Makefile 2025-02-12 16:00:31 UTC (rev 27157) @@ -0,0 +1,2 @@ +%: + $(MAKE) -C trunk $* Index: csw/mgar/pkg/gcc9/trunk =================================================================== --- csw/mgar/pkg/gcc9/trunk 2025-02-05 14:02:59 UTC (rev 27156) +++ csw/mgar/pkg/gcc9/trunk 2025-02-12 16:00:31 UTC (rev 27157) Property changes on: csw/mgar/pkg/gcc9/trunk ___________________________________________________________________ Added: svn:ignore ## -0,0 +1 ## +work Added: csw/mgar/pkg/gcc9/trunk/Makefile =================================================================== --- csw/mgar/pkg/gcc9/trunk/Makefile (rev 0) +++ csw/mgar/pkg/gcc9/trunk/Makefile 2025-02-12 16:00:31 UTC (rev 27157) @@ -0,0 +1,544 @@ +# $Id$ + +NAME = gcc +VERSION = 9.5.0 +GARTYPE = v2 +BASE_VERSION = $(shell echo $(VERSION) | gsed -e 's/^\([0-9]\+\.[0-9]\+\)\(.*\)/\1/') +PKG_VERSION_TOKEN = gcc9 +PKG_BASENAME = CSW$(PKG_VERSION_TOKEN) + +DESCRIPTION = The GNU Compiler Collection +define BLURB + The GNU Compiler Collection includes front ends for C, C++, + Objective-C, and Ada, as well as libraries + for these languages (libstdc++, libgcj,...). +endef + +MASTER_SITES = $(GNU_MIRROR)/$(NAME)-$(VERSION)/ +# MASTER_SITES += http://ftp.heanet.ie/mirrors/gnu/gcc/$(NAME)-$(VERSION)/ +#MASTER_SITES += ftp://ftp.fu-berlin.de/unix/languages/gcc/releases/gcc-$(VERSION)/ +#MASTER_SITES += ftp://ftp.gnu.org/gnu/gcc/gcc-$(VERSION)/ +MASTER_SITES += http://fr.mirror.babylon.network/gcc/snapshots/$(VERSION)/ +DISTFILES += $(DISTNAME).tar.xz + +LIBOBJC = 4 + +# there is a problem with direct linking on amd64 libs +LINKER_DIRECT = + +# GIT init takes a long time. +NOGITPATCH ?= 1 + +## Source URLs +VENDOR_URL = http://gcc.gnu.org + +## Copyright File +LICENSE = COPYING3 + +BUILD_DEP_PKGS += CSWbinutils +BUILD_DEP_PKGS += CSWcloog-dev +# BUILD_DEP_PKGS += CSWgnulinks +BUILD_DEP_PKGS += CSWlibgmp-dev +BUILD_DEP_PKGS += CSWlibmpc-dev +BUILD_DEP_PKGS += CSWlibmpfr-dev +BUILD_DEP_PKGS += CSWlibppl-dev +BUILD_DEP_PKGS += CSWlibz-dev +BUILD_DEP_PKGS += CSWlibiconv-dev + +# Could be used to break out of the /opt/csw/$(PKG_VERSION_TOKEN) prefix +PROGRAM_SUFFIX = -$(BASE_VERSION) + +## build options +# http://gcc.gnu.org/install/configure.html + +CONFIGURE_ARGS += $(DIRPATHS) +CONFIGURE_ARGS += --enable-cloog-backend=isl +# CONFIGURE_ARGS += --enable-java-awt=xlib +# CONFIGURE_ARGS += --enable-languages=ada,c,c++,fortran,go,java,objc +CONFIGURE_ARGS += --enable-languages=ada,c,c++,objc +CONFIGURE_ARGS += --enable-libada +CONFIGURE_ARGS += --enable-libssp +CONFIGURE_ARGS += --enable-nls +# CONFIGURE_ARGS += --enable-objc-gc # No longer supported on Solaris 10 +CONFIGURE_ARGS += --enable-threads=posix +CONFIGURE_ARGS += --program-suffix=$(PROGRAM_SUFFIX) +CONFIGURE_ARGS += --with-cloog=$(BUILD_PREFIX) +CONFIGURE_ARGS += --with-gmp=$(BUILD_PREFIX) +CONFIGURE_ARGS += --with-included-gettext +CONFIGURE_ARGS += --with-ld=/usr/ccs/bin/ld +CONFIGURE_ARGS += --without-gnu-ld +CONFIGURE_ARGS += --with-libiconv-prefix=$(BUILD_PREFIX) +CONFIGURE_ARGS += --with-mpfr=$(BUILD_PREFIX) +CONFIGURE_ARGS += --with-ppl=$(BUILD_PREFIX) +CONFIGURE_ARGS += --with-system-zlib=$(BUILD_PREFIX) +CONFIGURE_ARGS += --enable-obsolete + +# Using ccs/bin/as on x86 results in this problem: +# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35531 +# Using GNU as on sparc on 5.10 causes another problem which I don't exactly +# remember, but we seem to need to use different as's on different platforms. +CONFIGURE_ARGS_sparc_5.9 += --with-as=/opt/csw/bin/gas +CONFIGURE_ARGS_sparc_5.9 += --with-gnu-as +CONFIGURE_ARGS_sparc_5.10 += --with-as=/usr/ccs/bin/as +CONFIGURE_ARGS_sparc_5.10 += --without-gnu-as +CONFIGURE_ARGS_i386_5.9 += --with-gnu-as +CONFIGURE_ARGS_i386_5.9 += --with-as=/opt/csw/bin/gas +CONFIGURE_ARGS_i386_5.10 += --with-gnu-as +CONFIGURE_ARGS_i386_5.10 += --with-as=/opt/csw/bin/gas +CONFIGURE_ARGS += $(CONFIGURE_ARGS_$(GARCH)_$(GAROSREL)) + +# GCC can't be built in the same directory with the sources. +# It also can't be built in a subdirectory of the sources. +OBJDIR = $(abspath $(WORKDIR)/objdir) + +# bash must be used, otherwise: +# http://fixunix.com/solaris/490396-gcc-build-fails-cannot-compute-suffix-object-files.html +CONFIG_SHELL = /opt/csw/bin/bash +EXTRA_EXPORTS += CONFIG_SHELL + +# Bootstrapping with Sun Studio has issues +# http://gcc.gnu.org/ml/gcc-help/2011-08/msg00191.html +GARCOMPILER = GNU + +# There's a lot of failing checks. Probably a lot of porting work. +SKIPTEST ?= 1 + +# Used multiple times in package definitions +JAVA_LIB_VERSION = 16 +GO_LIB_VERSION = 7 + +ALTERNATIVES_PRIO = 510 + +PACKAGES = $(PKG_BASENAME)core +SPKG_DESC_$(PKG_BASENAME)core = GNU C compiler +RUNTIME_DEP_PKGS_$(PKG_BASENAME)core += CSWlib-gnu-awt-xlib$(JAVA_LIB_VERSION) +RUNTIME_DEP_PKGS_$(PKG_BASENAME)core += CSWlibatomic1 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)core += CSWlibgcc-s1 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)core += CSWlibgcj$(JAVA_LIB_VERSION) +RUNTIME_DEP_PKGS_$(PKG_BASENAME)core += CSWlibgcj-tools$(JAVA_LIB_VERSION) +RUNTIME_DEP_PKGS_$(PKG_BASENAME)core += CSWlibgij$(JAVA_LIB_VERSION) +RUNTIME_DEP_PKGS_$(PKG_BASENAME)core += CSWlibgmp10 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)core += CSWlibgo$(GO_LIB_VERSION) +RUNTIME_DEP_PKGS_$(PKG_BASENAME)core += CSWlibgomp1 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)core += CSWlibitm1 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)core += CSWlibmpc3 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)core += CSWlibmpfr4 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)core += CSWlibssp0 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)core += CSWlibz1 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)core += CSWlibisl10 + +# checkpkg-undetectable dependencies +RUNTIME_DEP_PKGS_$(PKG_BASENAME)core += CSWbinutils +RUNTIME_DEP_PKGS_$(PKG_BASENAME)core += CSWcoreutils +RUNTIME_DEP_PKGS_$(PKG_BASENAME)core += CSWggrep +RUNTIME_DEP_PKGS_$(PKG_BASENAME)core += CSWgsed +RUNTIME_DEP_PKGS_$(PKG_BASENAME)core += CSWlibiconv2 + +ALTERNATIVES_$(PKG_BASENAME)core += $(PKG_VERSION_TOKEN)core +ALTERNATIVE_$(PKG_VERSION_TOKEN)core += $(bindir)/cpp gcc_core $(bindir)/cpp$(PROGRAM_SUFFIX) $(ALTERNATIVES_PRIO) +ALTERNATIVE_$(PKG_VERSION_TOKEN)core += $(bindir)/gcc gcc_core $(bindir)/gcc$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)core += $(bindir)/gcov gcc_core $(bindir)/gcov$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)core += $(bindir)/gccgo gcc_core $(bindir)/gccgo$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)core += $(bindir)/gcc-ar gcc_core $(bindir)/gcc-ar$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)core += $(bindir)/gcc-nm gcc_core $(bindir)/gcc-nm$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)core += $(bindir)/gcc-ranlib gcc_core $(bindir)/gcc-ranlib$(PROGRAM_SUFFIX) + +# Because I can. +CHECKPKG_OVERRIDES_$(PKG_BASENAME)core += file-with-bad-content +CHECKPKG_OVERRIDES_$(PKG_BASENAME)g++ += file-with-bad-content +CHECKPKG_OVERRIDES_$(PKG_BASENAME)java += file-with-bad-content +CHECKPKG_OVERRIDES_CSWlibgcj$(JAVA_LIB_VERSION) += file-with-bad-content +CHECKPKG_OVERRIDES_$(PKG_BASENAME)objc += file-with-bad-content +CHECKPKG_OVERRIDES_$(PKG_BASENAME)gfortran += file-with-bad-content +# Due to complex regular expressions +CHECKPKG_OVERRIDES_$(PKG_BASENAME)java += file-collision|$(includedir)/c++/$(VERSION)/sun/awt/CausedFocusEvent.h|$(PKG_BASENAME)g++|$(PKG_BASENAME)java +CHECKPKG_OVERRIDES_$(PKG_BASENAME)g++ += file-collision|$(includedir)/c++/$(VERSION)/sun/awt/CausedFocusEvent.h|$(PKG_BASENAME)g++|$(PKG_BASENAME)java +CHECKPKG_OVERRIDES_$(PKG_BASENAME)core += surplus-dependency|CSWbinutils +CHECKPKG_OVERRIDES_$(PKG_BASENAME)core += surplus-dependency|CSWcoreutils +CHECKPKG_OVERRIDES_$(PKG_BASENAME)core += surplus-dependency|CSWggrep +CHECKPKG_OVERRIDES_$(PKG_BASENAME)core += surplus-dependency|CSWgsed +# This is basically the devel package +CHECKPKG_OVERRIDES_$(PKG_BASENAME)core += shared-lib-package-contains-so-symlink + +# The .a files are necessary +CHECKPKG_OVERRIDES_$(PKG_BASENAME)core += discouraged-path-in-pkgmap +CHECKPKG_OVERRIDES_$(PKG_BASENAME)objc += discouraged-path-in-pkgmap +CHECKPKG_OVERRIDES_$(PKG_BASENAME)java += discouraged-path-in-pkgmap +CHECKPKG_OVERRIDES_$(PKG_BASENAME)gfortran += discouraged-path-in-pkgmap + +# Some static libraries are required to build binaries with gcc, for example +# libgcc.a and libgcc_eh.a. Otherwise: ld: fatal: library -lgcc: not found +MERGE_EXCLUDE_LIBTOOL = +MERGE_EXCLUDE_STATICLIBS = +EXTRA_MERGE_EXCLUDE_FILES = $(libdir)/libiberty\.a + +# Catch-all package + +PACKAGES += CSWlib-gnu-awt-xlib$(JAVA_LIB_VERSION) +PKGFILES_CSWlib-gnu-awt-xlib$(JAVA_LIB_VERSION) += $(call baseisadirs,$(libdir),lib-gnu-awt-xlib\.so\.$(JAVA_LIB_VERSION)(\.\d+)*) +SPKG_DESC_CSWlib-gnu-awt-xlib$(JAVA_LIB_VERSION) += $(DESCRIPTION), lib-gnu-awt-xlib.so.$(JAVA_LIB_VERSION) +RUNTIME_DEP_PKGS_$(PKG_BASENAME) += CSWlib-gnu-awt-xlib$(JAVA_LIB_VERSION) +RUNTIME_DEP_PKGS_CSWlib-gnu-awt-xlib$(JAVA_LIB_VERSION) += CSWlibgcc-s1 +RUNTIME_DEP_PKGS_CSWlib-gnu-awt-xlib$(JAVA_LIB_VERSION) += CSWlibstdc++6 + +PACKAGES += CSWlibgcc-s1 +PKGFILES_CSWlibgcc-s1 += $(call baseisadirs,$(libdir),libgcc_s\.so\.1(\.\d+)*) +SPKG_DESC_CSWlibgcc-s1 += $(DESCRIPTION), libgcc_s.so.1 +RUNTIME_DEP_PKGS_$(PKG_BASENAME) += CSWlibgcc-s1 + +PACKAGES += CSWlibgcj-tools$(JAVA_LIB_VERSION) +PKGFILES_CSWlibgcj-tools$(JAVA_LIB_VERSION) += $(call baseisadirs,$(libdir),libgcj-tools\.so\.$(JAVA_LIB_VERSION)(\.\d+)*) +SPKG_DESC_CSWlibgcj-tools$(JAVA_LIB_VERSION) += $(DESCRIPTION), libgcj-tools.so.$(JAVA_LIB_VERSION) +RUNTIME_DEP_PKGS_$(PKG_BASENAME) += CSWlibgcj-tools$(JAVA_LIB_VERSION) +RUNTIME_DEP_PKGS_CSWlibgcj-tools$(JAVA_LIB_VERSION) += CSWlibgcc-s1 +RUNTIME_DEP_PKGS_CSWlibgcj-tools$(JAVA_LIB_VERSION) += CSWlibgcj$(JAVA_LIB_VERSION) + +PACKAGES += CSWlibgcj$(JAVA_LIB_VERSION) +PKGFILES_CSWlibgcj$(JAVA_LIB_VERSION) += $(call baseisadirs,$(libdir),libgcj\.so\.$(JAVA_LIB_VERSION)(\.\d+)*) +SPKG_DESC_CSWlibgcj$(JAVA_LIB_VERSION) += $(DESCRIPTION), libgcj.so.$(JAVA_LIB_VERSION) +RUNTIME_DEP_PKGS_CSWlibgcj$(JAVA_LIB_VERSION) += CSWlibgcc-s1 + +PACKAGES += CSWlibgfortran3 +PKGFILES_CSWlibgfortran3 += $(call baseisadirs,$(libdir),libgfortran\.so\.3(\.\d+)*) +SPKG_DESC_CSWlibgfortran3 += $(DESCRIPTION), libgfortran.so.3 +RUNTIME_DEP_PKGS_$(PKG_BASENAME) += CSWlibgfortran3 +RUNTIME_DEP_PKGS_CSWlibgfortran3 += CSWlibgcc-s1 + +PACKAGES += CSWlibgij$(JAVA_LIB_VERSION) +PKGFILES_CSWlibgij$(JAVA_LIB_VERSION) += $(call baseisadirs,$(libdir),libgij\.so\.$(JAVA_LIB_VERSION)(\.\d+)*) +SPKG_DESC_CSWlibgij$(JAVA_LIB_VERSION) += $(DESCRIPTION), libgij.so.$(JAVA_LIB_VERSION) +RUNTIME_DEP_PKGS_CSWlibgij$(JAVA_LIB_VERSION) += CSWlibgcj$(JAVA_LIB_VERSION) + +PACKAGES += CSWlibgomp1 +PKGFILES_CSWlibgomp1 += $(call baseisadirs,$(libdir),libgomp\.so\.1(\.\d+)*) +SPKG_DESC_CSWlibgomp1 += $(DESCRIPTION), libgomp.so.1 +RUNTIME_DEP_PKGS_CSWlibgomp1 += CSWlibgcc-s1 +RUNTIME_DEP_PKGS_CSWgcc7core += CSWlibgomp-plugin-host-nonshm1 + +PACKAGES += CSWlibgomp-plugin-host-nonshm1 +PKGFILES_CSWlibgomp-plugin-host-nonshm1 += $(call pkgfiles_lib,libgomp-plugin-host_nonshm.so.1) +SPKG_DESC_CSWlibgomp-plugin-host-nonshm1 = GNU Offloading and Multi Processing Runtime Library +RUNTIME_DEP_PKGS_CSWlibgomp-plugin-host-nonshm1 += CSWlibgcc-s1 +RUNTIME_DEP_PKGS_CSWlibgomp-plugin-host-nonshm1 += CSWlibgomp1 + +PACKAGES += CSWlibobjc$(LIBOBJC) +PKGFILES_CSWlibobjc$(LIBOBJC) += $(call baseisadirs,$(libdir),libobjc\.so\.$(LIBOBJC)(\.\d+)*) +SPKG_DESC_CSWlibobjc$(LIBOBJC) += $(DESCRIPTION), libobjc.so.$(LIBOBJC) +RUNTIME_DEP_PKGS_CSWlibobjc$(LIBOBJC) += CSWlibgcc-s1 + +PACKAGES += CSWlibobjc-gc$(LIBOBJC) +PKGFILES_CSWlibobjc-gc$(LIBOBJC) += $(call baseisadirs,$(libdir),libobjc_gc\.so\.$(LIBOBJC)(\.\d+)*) +SPKG_DESC_CSWlibobjc-gc$(LIBOBJC) += $(DESCRIPTION), libobjc_gc.so.$(LIBOBJC) +RUNTIME_DEP_PKGS_CSWlibobjc-gc$(LIBOBJC) += CSWlibgcc-s1 + +PACKAGES += CSWlibssp0 +PKGFILES_CSWlibssp0 += $(call baseisadirs,$(libdir),libssp\.so\.0(\.\d+)*) +SPKG_DESC_CSWlibssp0 += $(DESCRIPTION), libssp.so.0 +RUNTIME_DEP_PKGS_CSWlibssp0 += CSWlibgcc-s1 + +PACKAGES += CSWlibgo$(GO_LIB_VERSION) +PKGFILES_CSWlibgo$(GO_LIB_VERSION) += $(call baseisadirs,$(libdir),libgo\.so\.$(GO_LIB_VERSION)(\.\d+)*) +SPKG_DESC_CSWlibgo$(GO_LIB_VERSION) += $(DESCRIPTION), libgo.so.$(GO_LIB_VERSION) +RUNTIME_DEP_PKGS_CSWlibgo$(GO_LIB_VERSION) += CSWlibgcc-s1 +# Hasn't been investigated. I feel lucky. +CHECKPKG_OVERRIDES_CSWlibgo$(GO_LIB_VERSION) += file-with-bad-content + +PACKAGES += CSWlibitm1 +PKGFILES_CSWlibitm1 += $(call baseisadirs,$(libdir),libitm\.so\.1(\.\d+)*) +SPKG_DESC_CSWlibitm1 += $(DESCRIPTION), libitm.so.1 +RUNTIME_DEP_PKGS_CSWlibitm1 += CSWlibgcc-s1 + +LIBSTDCXX_VERSION = 6 + +PACKAGES += CSWlibstdc++$(LIBSTDCXX_VERSION) +PKGFILES_CSWlibstdc++$(LIBSTDCXX_VERSION) += $(call baseisadirs,$(libdir),libstdc\+\+\.so\.$(LIBSTDCXX_VERSION)(\.\d+)*) +SPKG_DESC_CSWlibstdc++$(LIBSTDCXX_VERSION) += $(DESCRIPTION), libstdc++.so.$(LIBSTDCXX_VERSION) +RUNTIME_DEP_PKGS_CSWlibstdc++$(LIBSTDCXX_VERSION) += CSWlibgcc-s1 + +# The libquadmath.so.0 library is only build on Intel +PACKAGES_i386 += CSWlibquadmath0 +PKGFILES_CSWlibquadmath0 += $(call baseisadirs,$(libdir),libquadmath\.so\.0(\.\d+)*) +SPKG_DESC_CSWlibquadmath0 += GNU C compiler, libquadmath.so.0 +RUNTIME_DEP_PKGS_CSWlibquadmath0 += CSWlibgcc-s1 + +# Dependencies only on Intel +RUNTIME_DEP_PKGS_$(PKG_BASENAME)core_i386 += CSWlibcilkrts5 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)core_i386 += CSWlibquadmath0 +RUNTIME_DEP_PKGS_CSWlibgfortran3_i386 += CSWlibquadmath0 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)core += $(RUNTIME_DEP_PKGS_$(PKG_BASENAME)core_$(GARCH)) +RUNTIME_DEP_PKGS_CSWlibgfortran3 += $(RUNTIME_DEP_PKGS_CSWlibgfortran3_$(GARCH)) + +PACKAGES += CSWlibatomic1 +PKGFILES_CSWlibatomic1 += $(call baseisadirs,$(libdir),libatomic\.so\.1(\.\d+)*) +SPKG_DESC_CSWlibatomic1 += $(DESCRIPTION), libatomic.so.1 +RUNTIME_DEP_PKGS_CSWlibatomic1 += CSWlibgcc-s1 + +PACKAGES_i386 += CSWlibcilkrts5 +PKGFILES_CSWlibcilkrts5 += $(call baseisadirs,$(libdir),libcilkrts\.so\.5(\.\d+)*) +SPKG_DESC_CSWlibcilkrts5 += $(DESCRIPTION), libcilkrts.so.5 +RUNTIME_DEP_PKGS_CSWlibcilkrts5 += CSWlibgcc-s1 +RUNTIME_DEP_PKGS_CSWlibcilkrts5 += CSWlibstdc++6 +CHECKPKG_OVERRIDES_CSWlibcilkrts5 += no-direct-binding|/opt/csw/lib/amd64/libcilkrts.so.5.0.0|is|not|directly|bound|to|soname|libstdc++.so.6 +CHECKPKG_OVERRIDES_CSWlibcilkrts5 += no-direct-binding|/opt/csw/lib/libcilkrts.so.5.0.0|is|not|directly|bound|to|soname|libstdc++.so.6 + +PACKAGES += $(PKG_BASENAME)g++ +SPKG_DESC_$(PKG_BASENAME)g++ = GNU C++ Compiler +PKGFILES_$(PKG_BASENAME)g++ = $(foreach F,$(CXX_BINARIES),$(bindir)/$(F)$(PROGRAM_SUFFIX)) +PKGFILES_$(PKG_BASENAME)g++ += $(foreach F,$(CXX_BINARIES),$(prefix)/$(PKG_VERSION_TOKEN)/bin/$(F)) +PKGFILES_$(PKG_BASENAME)g++ += $(bindir)/\w+-\w+-solaris[\d\.]+-[cg]\+\+$(PROGRAM_SUFFIX) +PKGFILES_$(PKG_BASENAME)g++ += $(libexecdir)/.*cc1plus +PKGFILES_$(PKG_BASENAME)g++ += $(libdir)/.*libstdc.*a +PKGFILES_$(PKG_BASENAME)g++ += $(call baseisadirs,$(libdir),libstdc\+\+\.so) +PKGFILES_$(PKG_BASENAME)g++ += $(mandir)/.*g\+\+.1 +# I do not understand this regular expression. +PKGFILES_$(PKG_BASENAME)g++ += $(includedir)/c\+\+/(\d+(?:\.\d+)*)/[a-fA-F,h-iH-I,k-nI-N,p-zP-Z,]+.* +PKGFILES_$(PKG_BASENAME)g++ += $(includedir)/c\+\+/(\d+(?:\.\d+)*)/ostream.* +RUNTIME_DEP_PKGS_$(PKG_BASENAME)g++ += CSWlibgmp10 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)g++ += CSWlibmpc3 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)g++ += CSWlibmpfr4 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)g++ += CSWlibstdc++$(LIBSTDCXX_VERSION) +RUNTIME_DEP_PKGS_$(PKG_BASENAME)g++ += CSWlibz1 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)g++ += CSWlibiconv2 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)g++ += CSWlibisl10 + +# The C++ compiler needs the C compiler. +RUNTIME_DEP_PKGS_$(PKG_BASENAME)g++ += $(PKG_BASENAME)core + +ALTERNATIVES_$(PKG_BASENAME)g++ += $(PKG_VERSION_TOKEN)g++ +ALTERNATIVE_$(PKG_VERSION_TOKEN)g++ += $(bindir)/g++ gcc_gplusplus $(bindir)/g++$(PROGRAM_SUFFIX) $(ALTERNATIVES_PRIO) +ALTERNATIVE_$(PKG_VERSION_TOKEN)g++ += $(bindir)/c++ gcc_gplusplus $(bindir)/c++$(PROGRAM_SUFFIX) + +RUNTIME_DEP_PKGS_CSWlibgij$(JAVA_LIB_VERSION) += CSWlibgcc-s1 + +PACKAGES += $(PKG_BASENAME)gfortran +SPKG_DESC_$(PKG_BASENAME)gfortran = GNU Fortran Compiler +PKGFILES_$(PKG_BASENAME)gfortran += $(foreach F,$(FORTRAN_BINARIES),$(bindir)/$(F)$(PROGRAM_SUFFIX)) +PKGFILES_$(PKG_BASENAME)gfortran += $(foreach F,$(FORTRAN_BINARIES),$(prefix)/$(PKG_VERSION_TOKEN)/bin/$(F)) +PKGFILES_$(PKG_BASENAME)gfortran += $(bindir)/\w+-\w+-solaris[\d\.]+-gfortran$(PROGRAM_SUFFIX) +PKGFILES_$(PKG_BASENAME)gfortran += $(libdir)/.*libgfortran.*a +PKGFILES_$(PKG_BASENAME)gfortran += $(libexecdir)/.*f951 +PKGFILES_$(PKG_BASENAME)gfortran += $(mandir)/.*gfortran.1 +PKGFILES_$(PKG_BASENAME)gfortran += $(infodir)/gfortran.* +PKGFILES_$(PKG_BASENAME)gfortran += $(call baseisadirs,$(libdir),libgfortran\.so) +RUNTIME_DEP_PKGS_$(PKG_BASENAME)gfortran += CSWlibgfortran3 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)gfortran += CSWlibgmp10 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)gfortran += CSWlibmpc3 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)gfortran += CSWlibmpfr4 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)gfortran += CSWlibz1 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)gfortran += CSWlibiconv2 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)gfortran += CSWlibisl10 + +ALTERNATIVES_$(PKG_BASENAME)gfortran += gfortran +ALTERNATIVE_gfortran += $(bindir)/gfortran gcc_gfortran $(bindir)/gfortran$(PROGRAM_SUFFIX) $(ALTERNATIVES_PRIO) + +PACKAGES += $(PKG_BASENAME)java +SPKG_DESC_$(PKG_BASENAME)java = GNU Java Compiler +RUNTIME_DEP_PKGS_$(PKG_BASENAME)java += CSWlibgcc-s1 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)java += CSWlibgcj$(JAVA_LIB_VERSION) +RUNTIME_DEP_PKGS_$(PKG_BASENAME)java += CSWlibgcj-tools$(JAVA_LIB_VERSION) +RUNTIME_DEP_PKGS_$(PKG_BASENAME)java += CSWlibgij$(JAVA_LIB_VERSION) +RUNTIME_DEP_PKGS_$(PKG_BASENAME)java += CSWlibgmp10 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)java += CSWecj +RUNTIME_DEP_PKGS_$(PKG_BASENAME)java += CSWlibmpc3 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)java += CSWlibmpfr4 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)java += CSWlibz1 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)java += CSWlibiconv2 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)java += CSWlibisl10 +CHECKPKG_OVERRIDES_$(PKG_BASENAME)java += surplus-dependency|CSWecj + +PKGFILES_$(PKG_BASENAME)java = $(foreach F,$(JAVA_BINARIES),$(bindir)/$(F)$(PROGRAM_SUFFIX)) +PKGFILES_$(PKG_BASENAME)java += $(foreach F,$(JAVA_BINARIES),$(prefix)/$(PKG_VERSION_TOKEN)/bin/$(F)) +PKGFILES_$(PKG_BASENAME)java += $(bindir)/\w+-\w+-solaris[\d\.]+-gcj$(PROGRAM_SUFFIX) +PKGFILES_$(PKG_BASENAME)java += $(mandir)/.*/gcj.* +PKGFILES_$(PKG_BASENAME)java += $(mandir)/.*/gij.* +PKGFILES_$(PKG_BASENAME)java += $(mandir)/.*/jv.* +PKGFILES_$(PKG_BASENAME)java += $(mandir)/.*/jcf.* +PKGFILES_$(PKG_BASENAME)java += $(mandir)/.*/grmi.* +PKGFILES_$(PKG_BASENAME)java += $(mandir)/.*jar.* +PKGFILES_$(PKG_BASENAME)java += $(mandir)/.*jni.* +PKGFILES_$(PKG_BASENAME)java += $(mandir)/.*java.* +PKGFILES_$(PKG_BASENAME)java += $(mandir)/.*/gorbd.* +PKGFILES_$(PKG_BASENAME)java += $(mandir)/.*/gapplet.* +PKGFILES_$(PKG_BASENAME)java += $(mandir)/.*/gkeytool.* +PKGFILES_$(PKG_BASENAME)java += $(mandir)/.*/gserialver.* +PKGFILES_$(PKG_BASENAME)java += $(mandir)/.*/gtnameserv.* +PKGFILES_$(PKG_BASENAME)java += $(mandir)/.*/gnative2ascii.* +PKGFILES_$(PKG_BASENAME)java += $(mandir)/.*/gc-analyze.* +PKGFILES_$(PKG_BASENAME)java += $(datadir)/java/.* +PKGFILES_$(PKG_BASENAME)java += $(libdir)/.*libgij.*a +PKGFILES_$(PKG_BASENAME)java += $(libdir)/.*lib-gnu-awt.*a +PKGFILES_$(PKG_BASENAME)java += $(libdir)/.*security.* +PKGFILES_$(PKG_BASENAME)java += $(libdir)/.*logging.properties +PKGFILES_$(PKG_BASENAME)java += $(libdir)/.*pkgconfig.* +PKGFILES_$(PKG_BASENAME)java += $(libdir)/.*gcj.*a +PKGFILES_$(PKG_BASENAME)java += $(libdir)/.*libgcj.*a +PKGFILES_$(PKG_BASENAME)java += $(libexecdir)/.*collect.* +PKGFILES_$(PKG_BASENAME)java += $(libexecdir)/.*jvgenmain +PKGFILES_$(PKG_BASENAME)java += $(libexecdir)/.*jc1.* +PKGFILES_$(PKG_BASENAME)java += $(infodir)/gcj.* +PKGFILES_$(PKG_BASENAME)java += $(includedir)/.*gcj/.* +PKGFILES_$(PKG_BASENAME)java += $(includedir)/.*awt/.* +PKGFILES_$(PKG_BASENAME)java += $(includedir)/.*classpath/.* +PKGFILES_$(PKG_BASENAME)java += $(includedir)/.*java.* +PKGFILES_$(PKG_BASENAME)java += $(includedir)/.*ffi.h +PKGFILES_$(PKG_BASENAME)java += $(includedir)/.*org/.* + +# The following list could be probably expanded from $(JAVA_BINARIES) +ALTERNATIVES_$(PKG_BASENAME)java += $(PKG_VERSION_TOKEN)java +ALTERNATIVE_$(PKG_VERSION_TOKEN)java += $(bindir)/aot-compile gcc_gjava $(bindir)/aot-compile$(PROGRAM_SUFFIX) $(ALTERNATIVES_PRIO) +ALTERNATIVE_$(PKG_VERSION_TOKEN)java += $(bindir)/gappletviewer gcc_gjava $(bindir)/gappletviewer$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)java += $(bindir)/gc-analyze gcc_gjava $(bindir)/gc-analyze$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)java += $(bindir)/gcj gcc_gjava $(bindir)/gcj$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)java += $(bindir)/gcj-dbtool gcc_gjava $(bindir)/gcj-dbtool$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)java += $(bindir)/gcjh gcc_gjava $(bindir)/gcjh$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)java += $(bindir)/gij gcc_gjava $(bindir)/gij$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)java += $(bindir)/gjar gcc_gjava $(bindir)/gjar$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)java += $(bindir)/gjarsigner gcc_gjava $(bindir)/gjarsigner$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)java += $(bindir)/gjavah gcc_gjava $(bindir)/gjavah$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)java += $(bindir)/gkeytool gcc_gjava $(bindir)/gkeytool$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)java += $(bindir)/gnative2ascii gcc_gjava $(bindir)/gnative2ascii$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)java += $(bindir)/gorbd gcc_gjava $(bindir)/gorbd$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)java += $(bindir)/grmic gcc_gjava $(bindir)/grmic$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)java += $(bindir)/grmid gcc_gjava $(bindir)/grmid$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)java += $(bindir)/grmiregistry gcc_gjava $(bindir)/grmiregistry$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)java += $(bindir)/gserialver gcc_gjava $(bindir)/gserialver$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)java += $(bindir)/gtnameserv gcc_gjava $(bindir)/gtnameserv$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)java += $(bindir)/jcf-dump gcc_gjava $(bindir)/jcf-dump$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)java += $(bindir)/jv-convert gcc_gjava $(bindir)/jv-convert$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)java += $(bindir)/rebuild-gcj-db gcc_gjava $(bindir)/rebuild-gcj-db$(PROGRAM_SUFFIX) + +PACKAGES += $(PKG_BASENAME)objc +SPKG_DESC_$(PKG_BASENAME)objc = GNU Objective C Compiler +PKGFILES_$(PKG_BASENAME)objc = $(libexecdir)/.*cc1obj +PKGFILES_$(PKG_BASENAME)objc += $(libdir)/.*libobjc.*a +PKGFILES_$(PKG_BASENAME)objc += $(includedir)/.*objc/.* +PKGFILES_$(PKG_BASENAME)objc += $(libdir)/.*/include/objc/.* +PKGFILES_$(PKG_BASENAME)objc += $(call baseisadirs,$(libdir),libobjc.so) +PKGFILES_$(PKG_BASENAME)objc += $(call baseisadirs,$(libdir),libobjc_gc.so) +RUNTIME_DEP_PKGS_$(PKG_BASENAME)objc += CSWlibgmp10 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)objc += CSWlibmpc3 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)objc += CSWlibmpfr4 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)objc += CSWlibobjc$(LIBOBJC) +RUNTIME_DEP_PKGS_$(PKG_BASENAME)objc += CSWlibobjc-gc$(LIBOBJC) +RUNTIME_DEP_PKGS_$(PKG_BASENAME)objc += CSWlibz1 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)objc += CSWlibiconv2 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)objc += CSWlibisl10 + +PACKAGES += $(PKG_BASENAME)ada +SPKG_DESC_$(PKG_BASENAME)ada = GCC Ada compiler (GNAT) +RUNTIME_DEP_PKGS_$(PKG_BASENAME)ada = $(PKG_BASENAME)core +PKGFILES_$(PKG_BASENAME)ada = $(prefix)/libexec/.*gnat1 +PKGFILES_$(PKG_BASENAME)ada += $(prefix)/lib/.*libgnat.*a +PKGFILES_$(PKG_BASENAME)ada += $(prefix)/lib/.*libgnarl.*a +PKGFILES_$(PKG_BASENAME)ada += $(prefix)/.*/adalib/.* +PKGFILES_$(PKG_BASENAME)ada += $(prefix)/.*/adainclude/.* +PKGFILES_$(PKG_BASENAME)ada += $(prefix)/info/.*gnat.* +PKGFILES_$(PKG_BASENAME)ada += $(prefix)/bin/gnat(?!ive).* +# There are static libraries, .a files in the ada package. Let them be. +CHECKPKG_OVERRIDES_$(PKG_BASENAME)ada += discouraged-path-in-pkgmap +# It needs the core compiler. +CHECKPKG_OVERRIDES_$(PKG_BASENAME)ada += file-with-bad-content + +RUNTIME_DEP_PKGS_$(PKG_BASENAME)ada += CSWlibgcc-s1 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)ada += CSWlibgmp10 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)ada += CSWlibmpc3 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)ada += CSWlibmpfr4 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)ada += CSWlibz1 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)ada += CSWlibiconv2 +RUNTIME_DEP_PKGS_$(PKG_BASENAME)ada += CSWlibisl10 + +ALTERNATIVES_$(PKG_BASENAME)ada += $(PKG_VERSION_TOKEN)ada +ALTERNATIVE_$(PKG_VERSION_TOKEN)ada += $(bindir)/gnat gcc_ada $(bindir)/gnat$(PROGRAM_SUFFIX) $(ALTERNATIVES_PRIO) +ALTERNATIVE_$(PKG_VERSION_TOKEN)ada += $(bindir)/gnatbind gcc_ada $(bindir)/gnatbind$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)ada += $(bindir)/gnatchop gcc_ada $(bindir)/gnatchop$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)ada += $(bindir)/gnatclean gcc_ada $(bindir)/gnatclean$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)ada += $(bindir)/gnatfind gcc_ada $(bindir)/gnatfind$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)ada += $(bindir)/gnatkr gcc_ada $(bindir)/gnatkr$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)ada += $(bindir)/gnatlink gcc_ada $(bindir)/gnatlink$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)ada += $(bindir)/gnatls gcc_ada $(bindir)/gnatls$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)ada += $(bindir)/gnatmake gcc_ada $(bindir)/gnatmake$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)ada += $(bindir)/gnatname gcc_ada $(bindir)/gnatname$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)ada += $(bindir)/gnatprep gcc_ada $(bindir)/gnatprep$(PROGRAM_SUFFIX) +ALTERNATIVE_$(PKG_VERSION_TOKEN)ada += $(bindir)/gnatxref gcc_ada $(bindir)/gnatxref$(PROGRAM_SUFFIX) + +PACKAGES += $(PACKAGES_$(GARCH)) +CORE_BINARIES = cpp gcc gcov +CXX_BINARIES = g\+\+ c\+\+ +FORTRAN_BINARIES = gfortran +JAVA_BINARIES = gcj gij aot-compile +JAVA_BINARIES += gappletviewer gc-analyze gcj-dbtool gcjh gjar gjarsigner gjavah +JAVA_BINARIES += gkeytool gnative2ascii gorbd grmic grmid grmiregistry +JAVA_BINARIES += gserialver gtnameserv jcf-dump jv-convert rebuild-gcj-db + +# We're building with the default GAR maps, currently U5. +# LINKER_MAP_RELEASE = solaris10u8 + +# The previous GCC4 is incompatible with GCC5 because of lots of collisions +#INCOMPATIBLE_PKGS_CSWgcc7g++ += CSWgcc4g++ +#INCOMPATIBLE_PKGS_CSWgcc7java += CSWgcc4java +#INCOMPATIBLE_PKGS_CSWgcc7objc += CSWgcc4objc +#INCOMPATIBLE_PKGS_CSWgcc7gfortran += CSWgcc4gfortran +#INCOMPATIBLE_PKGS_CSWgcc7core += CSWgcc4core + +# Checkpkg still shows collisions, even as CSWgcc7* is incompatible to CSWgcc4* +#CHECKPKG_OVERRIDES_CSWgcc7g++ += file-collision +#CHECKPKG_OVERRIDES_CSWgcc7java += file-collision +#CHECKPKG_OVERRIDES_CSWgcc7objc += file-collision +#CHECKPKG_OVERRIDES_CSWgcc7gfortran += file-collision +#CHECKPKG_OVERRIDES_CSWgcc7core += file-collision + +#Direct binding is disabled to to problem with amd64 libs +CHECKPKG_OVERRIDES_$(PKG_BASENAME)ada += no-direct-binding +CHECKPKG_OVERRIDES_$(PKG_BASENAME)core += no-direct-binding +CHECKPKG_OVERRIDES_$(PKG_BASENAME)g++ += no-direct-binding +CHECKPKG_OVERRIDES_$(PKG_BASENAME)gfortran += no-direct-binding +CHECKPKG_OVERRIDES_$(PKG_BASENAME)java += no-direct-binding +CHECKPKG_OVERRIDES_$(PKG_BASENAME)objc += no-direct-binding +CHECKPKG_OVERRIDES_CSWlib-gnu-awt-xlib$(JAVA_LIB_VERSION) += no-direct-binding +CHECKPKG_OVERRIDES_CSWlibatomic1 += no-direct-binding +CHECKPKG_OVERRIDES_CSWlibgcj$(JAVA_LIB_VERSION) += no-direct-binding +CHECKPKG_OVERRIDES_CSWlibgcj-tools$(JAVA_LIB_VERSION) += no-direct-binding +CHECKPKG_OVERRIDES_CSWlibgfortran3 += no-direct-binding +CHECKPKG_OVERRIDES_CSWlibgij$(JAVA_LIB_VERSION) += no-direct-binding +CHECKPKG_OVERRIDES_CSWlibgo$(GO_LIB_VERSION) += no-direct-binding +CHECKPKG_OVERRIDES_CSWlibgomp1 += no-direct-binding +CHECKPKG_OVERRIDES_CSWlibgomp-plugin-host-nonshm1 += no-direct-binding +CHECKPKG_OVERRIDES_CSWlibitm1 += no-direct-binding +CHECKPKG_OVERRIDES_CSWlibobjc-gc4 += no-direct-binding +CHECKPKG_OVERRIDES_CSWlibobjc4 += no-direct-binding +CHECKPKG_OVERRIDES_CSWlibquadmath0 += no-direct-binding +CHECKPKG_OVERRIDES_CSWlibssp0 += no-direct-binding +CHECKPKG_OVERRIDES_CSWlibstdc++6 += no-direct-binding + +include files/scripts.mk +include gar/category.mk + +post-install-modulated: + ginstall -d -m 755 $(DESTDIR)$(prefix)/$(PKG_VERSION_TOKEN)/bin + for b in $(CORE_BINARIES) $(CXX_BINARIES) \ + $(FORTRAN_BINARIES) $(JAVA_BINARIES); do \ + gln -v -s -f ../../bin/$${b}$(PROGRAM_SUFFIX) \ + $(DESTDIR)$(prefix)/$(PKG_VERSION_TOKEN)/bin/$${b}; \ + done + bash $(FILEDIR)/customize_specs.sh $(DESTDIR) $(PROGRAM_SUFFIX) $(VERSION) + @$(MAKECOOKIE) + +# Use CSW or Solaris tools explicitly: +AR = /usr/ccs/bin/ar + +# AS_sparc_5.9 = /opt/csw/bin/gas +AS_sparc_5.10 = /usr/ccs/bin/as +# AS_i386_5.9 = /opt/csw/bin/gas +AS_i386_5.10 = /opt/csw/bin/gas +AS = $(AS_$(GARCH)_$(GAROSREL)) + +NM = /usr/ccs/bin/nm +RANLIB = /usr/ccs/bin/ranlib +STRIP = /usr/css/bin/strip +OBJCOPY = /opt/csw/bin/gobjcopy +OBJDUMP = /opt/csw/bin/gobjdump +READELF = /opt/csw/bin/greadelf + +CONFIGURE_ENV := PATH=$(PATH) CC=$(CC) LDFLAGS="$(LDFLAGS)" LD_OPTIONS="$(LD_OPTIONS)" AR=$(AR) AS=$(AS) NM=$(NM) RANLIB=$(RANLIB) STRIP=$(STRIP) OBJCOPY=$(OBJCOPY) OBJDUMP=$(OBJDUMP) READELF=$(READELF) +BUILD_ENV := PATH=$(PATH) LDFLAGS="$(LDFLAGS)" LD_OPTIONS="$(LD_OPTIONS)" AR=$(AR) AS=$(AS) NM=$(NM) RANLIB=$(RANLIB) STRIP=$(STRIP) OBJCOPY=$(OBJCOPY) OBJDUMP=$(OBJDUMP) READELF=$(READELF) +INSTALL_ENV := PATH=$(PATH) AR=$(AR) AS=$(AS) NM=$(NM) RANLIB=$(RANLIB) STRIP=$(STRIP) OBJCOPY=$(OBJCOPY) OBJDUMP=$(OBJDUMP) READELF=$(READELF) Property changes on: csw/mgar/pkg/gcc9/trunk/Makefile ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Added: csw/mgar/pkg/gcc9/trunk/checksums =================================================================== --- csw/mgar/pkg/gcc9/trunk/checksums (rev 0) +++ csw/mgar/pkg/gcc9/trunk/checksums 2025-02-12 16:00:31 UTC (rev 27157) @@ -0,0 +1 @@ +34cd76facb562835ff5faca81fead17e gcc-9.5.0.tar.xz Added: csw/mgar/pkg/gcc9/trunk/files/customize_specs.sh =================================================================== --- csw/mgar/pkg/gcc9/trunk/files/customize_specs.sh (rev 0) +++ csw/mgar/pkg/gcc9/trunk/files/customize_specs.sh 2025-02-12 16:00:31 UTC (rev 27157) @@ -0,0 +1,29 @@ +#!/opt/csw/bin/bash + +# This script generates and modifies a GCC specs file which after placing on +# the filesystem will automatically add -R/opt/csw/lib to all gcc/g++ +# invocations. + +set -x +set -e + +DESTDIR=$1 +PROGRAM_SUFFIX=$2 +VERSION=$3 + +# Creating a modified specs file +# In the global modulation, the gcc binary is not there. +gcc_bin="${DESTDIR}/opt/csw/bin/gcc${PROGRAM_SUFFIX}" +if [[ -x "${gcc_bin}" ]]; then + "${gcc_bin}" -dumpspecs > specs + gsed -i \ + -e \ + '/\*lib:/,+1 s+%.*+& %{m64:-R /opt/csw/lib/64 } %{!m64:-R /opt/csw/lib}+' \ + specs + # Since the inclusion of the Go language, there are 3 directories named + # $(VERSION). Two of them are related to the language, and can be filtered + # out by matching "/go/". + target="$(gfind ${DESTDIR}/opt/csw/lib -name ${VERSION} -type d -print \ + | ggrep -v /go/)" + gmv -v specs "${target}" +fi Property changes on: csw/mgar/pkg/gcc9/trunk/files/customize_specs.sh ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: csw/mgar/pkg/gcc9/trunk/files/scripts.mk =================================================================== --- csw/mgar/pkg/gcc9/trunk/files/scripts.mk (rev 0) +++ csw/mgar/pkg/gcc9/trunk/files/scripts.mk 2025-02-12 16:00:31 UTC (rev 27157) @@ -0,0 +1,66 @@ +define CSWgcc4core_postinstall +#!/bin/sh + +Error() +{ + echo "=====> postinstall Error: $$1" >&2 + exit 1 +} + +OS_REV="`/usr/bin/uname -r | sed -e 's/[^.]*//'`" +case `/usr/bin/uname -p` in + "sparc") OS_TARGET="sparc-sun-solaris2.8" ;; + "i386") OS_TARGET="i386-pc-solaris2$${OS_REV}" ;; +esac + +TOOLS_DIR="$${PKG_INSTALL_ROOT}/opt/csw/gcc4/libexec/gcc" +TOOLS_DIR="$${TOOLS_DIR}/$${OS_TARGET}/$(VERSION)/install-tools" +MKHEADERS_CMD="$${PKG_INSTALL_ROOT}/opt/csw/gcc4/bin/mkheaders" +INCLUDE_DIR="$${PKG_INSTALL_ROOT}/opt/csw/gcc4/lib/gcc" +INCLUDE_DIR="$${INCLUDE_DIR}/$${OS_TARGET}/$(VERSION)/include" + +cat << _EOF_ +****************************************************************************** +* NOTICE: Fixing the system headers +* +* Do not forget: whenever your system headers change +* Run the $${MKHEADERS_CMD} script! +****************************************************************************** +_EOF_ + +if [ -f $${TOOLS_DIR}/mkheaders ]; then + cp $${TOOLS_DIR}/mkheaders $${MKHEADERS_CMD} + installf $${PKGINST} "$${MKHEADERS_CMD}" +else + Error "$${TOOLS_DIR}/mkheaders Not Found" +fi + +if [ -f $${MKHEADERS_CMD} ];then + chmod 0755 $${MKHEADERS_CMD} 2>/dev/null + chown root:bin $${MKHEADERS_CMD} 2>/dev/null + "$${MKHEADERS_CMD}" || Error "$${MKHEADERS_CMD} Failed." +else + Error "Could not find $${MKHEADERS_CMD}" +fi + +if [ -d $${INCLUDE_DIR} ]; then + chmod 0755 $${INCLUDE_DIR} || Error "Failed to chmod $${INCLUDE_DIR}" + chown -R root:bin $${INCLUDE_DIR} || + Error "Failed to change ownership for $${INCLUDE_DIR}" + find $${INCLUDE_DIR} -print | installf $${PKGINST} - +fi + + +cat << _EOF_ +****************************************************************************** +* NOTICE: Successfully fixed system headers +* +* Do not forget: whenever your system headers change +* Run the $${MKHEADERS_CMD} script! +****************************************************************************** +_EOF_ + +installf -f $${PKGINST} + +exit 0 +endef This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.