pkgsrc/lang/gcc-aux/options.mk

127 lines
3.5 KiB
Makefile
Raw Normal View History

# $NetBSD: options.mk,v 1.6 2017/07/10 00:21:31 maya Exp $
lang/gcc-aux: various fixes, remove NLS option This update is a by-product of working on new package, gcc5-aux, and applying those concepts here. Several changes were made, including: - Version date was not updated when version changed from 4.9.0 => 4.9.2 (revbump occurred instead). Remove revbump and fix date - Remove DragonFly-i386 from permitted platforms. This platform will be completely unsupported when DragonFly 4.2 is released (very soon) - Remove references to OpenBSD and MirBSD. Support was never activated due to technical issues and likely will not happen. - Reindent (cosmetic) - It is seemingly impossible to work around NetBSD's binary compatibility scheme (e.g. __socket30, __nanosleep50). These weak symbols are simply ignored by Ada's pragma Import and no c-tricks seem to avoid conflicts. (Why can't NetBSD use symbol versioning???) Anyway, having NetBSD- specific copies of source files to handle a couple of symbol differences is simply not sustainable, so move to a new scheme where these are replaced on the fly. By the way, this problem basically means that I cannot fix GNAT upstream, even if I found somebody to sponsor getting the NUMEROUS non-ada patches upstream. GCC devs would laugh at me if I describe why I want to introduce so many new but similar files to support NetBSD. So it's very likely never going to happen. - Disable libitm and libcilkrts by default. They are out of scope and not worth building / fixing. - Apparently NLS support doesn't build on NetBSD 6.1? Nobody reported this to me, but there are linking issues. I'm just removing the option (which was on by default) until further notice. Having NLS support on by default was questionable anyway. - Remove exetim mods, this was wrong (for all BSD platforms) - Android support leaked in, but it's not used here - The diff-ada file dropped about 150k in size, and could have been more had the android osinte file been masked too.
2015-06-14 21:46:51 +02:00
# NLS is failing, might be linking with wrong iconv lib.
# Disable option until further notice
Import lang/gcc-aux based on gcc-4.7.1 The primary difference between this compiler package and lang/gcc47 is that lang/gcc-aux supports the Ada language. Additionally, it is intended that the USE_LANGUAGES makefile variable whill be extended to recognize "ada" as a valid language, and that specifying it will cause lang/gcc-aux to be used to build the package. All current Ada-based packages will be modified to build with USE_LANGUAGES+= ada rather than specifying a dependency on lang/gnat-aux, the other Ada-capable compiler in pkgsrc based on gcc-4.6.3. lang/gcc-aux supports C, C++, Objective-C, Fortran, and Ada by default, but the latter four languages can be disabled via the options framework. The three non-default options are "nls", "testsuite" and "static" which enable Native Language Support, languages tests, and building the compiler statically. The "static" option is unalterably enabled for NetBSD in order to use dl_iterate_phdr error handling on NetBSD 6. On the NetBSD 6 beta builds, exceptions won't unwind properly with the libgcc_s shared library, and the issue seems to be external to gcc-aux. It's hoped the libgcc_s exception handling works on NetBSD 5.x series as dl_iterate_phdr isn't supported by rtld there, but gcc-aux hasn't been tested on 5.x yet. lang/gcc-aux can be built by 5 platforms currently: NetBSD i386/x86_64, DragonFly i386/x86_64, and OpenSolaris i386. New platform support requires new bootstraps. FreeBSD i386/x86_64 could be added easily as bootstrap compilers are available for FreeBSD ports lang/gnat-aux. OpenBSD bootstrap compilers have been built but never used, but further patches are on a couple of gcc's configuration files are needed as well as testing to provide OpenBSD support. All five platforms pass all tests (over 3200) in the Ada testsuite. See http://gcc.gnu.org/gcc-4.7/changes.html for more information about improvements over the GCC 4.6 series.
2012-07-08 21:30:38 +02:00
PKG_OPTIONS_VAR= PKG_OPTIONS.gcc-aux
lang/gcc-aux: various fixes, remove NLS option This update is a by-product of working on new package, gcc5-aux, and applying those concepts here. Several changes were made, including: - Version date was not updated when version changed from 4.9.0 => 4.9.2 (revbump occurred instead). Remove revbump and fix date - Remove DragonFly-i386 from permitted platforms. This platform will be completely unsupported when DragonFly 4.2 is released (very soon) - Remove references to OpenBSD and MirBSD. Support was never activated due to technical issues and likely will not happen. - Reindent (cosmetic) - It is seemingly impossible to work around NetBSD's binary compatibility scheme (e.g. __socket30, __nanosleep50). These weak symbols are simply ignored by Ada's pragma Import and no c-tricks seem to avoid conflicts. (Why can't NetBSD use symbol versioning???) Anyway, having NetBSD- specific copies of source files to handle a couple of symbol differences is simply not sustainable, so move to a new scheme where these are replaced on the fly. By the way, this problem basically means that I cannot fix GNAT upstream, even if I found somebody to sponsor getting the NUMEROUS non-ada patches upstream. GCC devs would laugh at me if I describe why I want to introduce so many new but similar files to support NetBSD. So it's very likely never going to happen. - Disable libitm and libcilkrts by default. They are out of scope and not worth building / fixing. - Apparently NLS support doesn't build on NetBSD 6.1? Nobody reported this to me, but there are linking issues. I'm just removing the option (which was on by default) until further notice. Having NLS support on by default was questionable anyway. - Remove exetim mods, this was wrong (for all BSD platforms) - Android support leaked in, but it's not used here - The diff-ada file dropped about 150k in size, and could have been more had the android osinte file been masked too.
2015-06-14 21:46:51 +02:00
PKG_SUPPORTED_OPTIONS= fortran objc testsuite static bootstrap #nls
PKG_SUGGESTED_OPTIONS= fortran objc #nls
Import lang/gcc-aux based on gcc-4.7.1 The primary difference between this compiler package and lang/gcc47 is that lang/gcc-aux supports the Ada language. Additionally, it is intended that the USE_LANGUAGES makefile variable whill be extended to recognize "ada" as a valid language, and that specifying it will cause lang/gcc-aux to be used to build the package. All current Ada-based packages will be modified to build with USE_LANGUAGES+= ada rather than specifying a dependency on lang/gnat-aux, the other Ada-capable compiler in pkgsrc based on gcc-4.6.3. lang/gcc-aux supports C, C++, Objective-C, Fortran, and Ada by default, but the latter four languages can be disabled via the options framework. The three non-default options are "nls", "testsuite" and "static" which enable Native Language Support, languages tests, and building the compiler statically. The "static" option is unalterably enabled for NetBSD in order to use dl_iterate_phdr error handling on NetBSD 6. On the NetBSD 6 beta builds, exceptions won't unwind properly with the libgcc_s shared library, and the issue seems to be external to gcc-aux. It's hoped the libgcc_s exception handling works on NetBSD 5.x series as dl_iterate_phdr isn't supported by rtld there, but gcc-aux hasn't been tested on 5.x yet. lang/gcc-aux can be built by 5 platforms currently: NetBSD i386/x86_64, DragonFly i386/x86_64, and OpenSolaris i386. New platform support requires new bootstraps. FreeBSD i386/x86_64 could be added easily as bootstrap compilers are available for FreeBSD ports lang/gnat-aux. OpenBSD bootstrap compilers have been built but never used, but further patches are on a couple of gcc's configuration files are needed as well as testing to provide OpenBSD support. All five platforms pass all tests (over 3200) in the Ada testsuite. See http://gcc.gnu.org/gcc-4.7/changes.html for more information about improvements over the GCC 4.6 series.
2012-07-08 21:30:38 +02:00
.include "../../mk/bsd.options.mk"
# Bootstrap is essentially a maintainer option and it will ignore
# all other options because it is intent on building a bootstrap compiler.
Import lang/gcc-aux based on gcc-4.7.1 The primary difference between this compiler package and lang/gcc47 is that lang/gcc-aux supports the Ada language. Additionally, it is intended that the USE_LANGUAGES makefile variable whill be extended to recognize "ada" as a valid language, and that specifying it will cause lang/gcc-aux to be used to build the package. All current Ada-based packages will be modified to build with USE_LANGUAGES+= ada rather than specifying a dependency on lang/gnat-aux, the other Ada-capable compiler in pkgsrc based on gcc-4.6.3. lang/gcc-aux supports C, C++, Objective-C, Fortran, and Ada by default, but the latter four languages can be disabled via the options framework. The three non-default options are "nls", "testsuite" and "static" which enable Native Language Support, languages tests, and building the compiler statically. The "static" option is unalterably enabled for NetBSD in order to use dl_iterate_phdr error handling on NetBSD 6. On the NetBSD 6 beta builds, exceptions won't unwind properly with the libgcc_s shared library, and the issue seems to be external to gcc-aux. It's hoped the libgcc_s exception handling works on NetBSD 5.x series as dl_iterate_phdr isn't supported by rtld there, but gcc-aux hasn't been tested on 5.x yet. lang/gcc-aux can be built by 5 platforms currently: NetBSD i386/x86_64, DragonFly i386/x86_64, and OpenSolaris i386. New platform support requires new bootstraps. FreeBSD i386/x86_64 could be added easily as bootstrap compilers are available for FreeBSD ports lang/gnat-aux. OpenBSD bootstrap compilers have been built but never used, but further patches are on a couple of gcc's configuration files are needed as well as testing to provide OpenBSD support. All five platforms pass all tests (over 3200) in the Ada testsuite. See http://gcc.gnu.org/gcc-4.7/changes.html for more information about improvements over the GCC 4.6 series.
2012-07-08 21:30:38 +02:00
#############################
## ADD LANGUAGE: Fortran ##
#############################
.if empty(PKG_OPTIONS:Mfortran) || !empty(PKG_OPTIONS:Mbootstrap)
Import lang/gcc-aux based on gcc-4.7.1 The primary difference between this compiler package and lang/gcc47 is that lang/gcc-aux supports the Ada language. Additionally, it is intended that the USE_LANGUAGES makefile variable whill be extended to recognize "ada" as a valid language, and that specifying it will cause lang/gcc-aux to be used to build the package. All current Ada-based packages will be modified to build with USE_LANGUAGES+= ada rather than specifying a dependency on lang/gnat-aux, the other Ada-capable compiler in pkgsrc based on gcc-4.6.3. lang/gcc-aux supports C, C++, Objective-C, Fortran, and Ada by default, but the latter four languages can be disabled via the options framework. The three non-default options are "nls", "testsuite" and "static" which enable Native Language Support, languages tests, and building the compiler statically. The "static" option is unalterably enabled for NetBSD in order to use dl_iterate_phdr error handling on NetBSD 6. On the NetBSD 6 beta builds, exceptions won't unwind properly with the libgcc_s shared library, and the issue seems to be external to gcc-aux. It's hoped the libgcc_s exception handling works on NetBSD 5.x series as dl_iterate_phdr isn't supported by rtld there, but gcc-aux hasn't been tested on 5.x yet. lang/gcc-aux can be built by 5 platforms currently: NetBSD i386/x86_64, DragonFly i386/x86_64, and OpenSolaris i386. New platform support requires new bootstraps. FreeBSD i386/x86_64 could be added easily as bootstrap compilers are available for FreeBSD ports lang/gnat-aux. OpenBSD bootstrap compilers have been built but never used, but further patches are on a couple of gcc's configuration files are needed as well as testing to provide OpenBSD support. All five platforms pass all tests (over 3200) in the Ada testsuite. See http://gcc.gnu.org/gcc-4.7/changes.html for more information about improvements over the GCC 4.6 series.
2012-07-08 21:30:38 +02:00
EXTRA_CONFARGS+= --disable-libquadmath
.else
LANGS+= fortran
APPLY_DIFFS+= fortran
lang/gcc-aux: Primarily add Solaris i386 and x86_64 targets I was never able to build gcc-aux with multilib support when it was based on gcc 4.7. It turns out that this is because Ada support for multilib was broken per GCC's bugzilla. It's been fixed since. After some significant effort and many hours, I finally produced a multilib bootstrap for Solaris. It can produce other multilib compilers (x86-64) and it can produce 32-bit only compilers (i386). This was tested on a stock OmniOS x86-64 installation and the Joyent dev area (i386). Solaris has not supported static linking since Solaris 9, so it is not possible to create a static bootstrap like the BSDs have, nor is it possible to build the compiler statically, so that option is disabled. That means it is unlikely that the bootstrap will run on Solaris 10 or Solaris 11, but this theory has not been tested. Much of the changes to the diff-* patchsets are a result of OpenBSD work. An OpenBSD static bootstrap has been created against devel/binutils, and as a result it fails to find system libraries such as libc and libm. That is a side note explaining the OpenBSD additions. There are some DragonFly and NetBSD changes in the diff-* patches though. The bootstrap target was significantly modified, mainly to capture the special needs of creating a Solaris bootstrap. The creation of the bootstrap tarball was put in it's own target. The zlib and math libraries were connected to the bootstrap option. It's not a good idea to use system zlib on Illumos because the zlib header is not guaranteed to be installed. The feature to rebuild the compiler with the installed gcc-aux was fixed; it should use it's own c++ compiler instead of the system c++ compiler. OpenBSD 5.5 does not support "cp -a", so this was changed to "cp -RpP" for portability reasons.
2014-05-09 11:50:47 +02:00
.if ${OPSYS} == NetBSD
Import lang/gcc-aux based on gcc-4.7.1 The primary difference between this compiler package and lang/gcc47 is that lang/gcc-aux supports the Ada language. Additionally, it is intended that the USE_LANGUAGES makefile variable whill be extended to recognize "ada" as a valid language, and that specifying it will cause lang/gcc-aux to be used to build the package. All current Ada-based packages will be modified to build with USE_LANGUAGES+= ada rather than specifying a dependency on lang/gnat-aux, the other Ada-capable compiler in pkgsrc based on gcc-4.6.3. lang/gcc-aux supports C, C++, Objective-C, Fortran, and Ada by default, but the latter four languages can be disabled via the options framework. The three non-default options are "nls", "testsuite" and "static" which enable Native Language Support, languages tests, and building the compiler statically. The "static" option is unalterably enabled for NetBSD in order to use dl_iterate_phdr error handling on NetBSD 6. On the NetBSD 6 beta builds, exceptions won't unwind properly with the libgcc_s shared library, and the issue seems to be external to gcc-aux. It's hoped the libgcc_s exception handling works on NetBSD 5.x series as dl_iterate_phdr isn't supported by rtld there, but gcc-aux hasn't been tested on 5.x yet. lang/gcc-aux can be built by 5 platforms currently: NetBSD i386/x86_64, DragonFly i386/x86_64, and OpenSolaris i386. New platform support requires new bootstraps. FreeBSD i386/x86_64 could be added easily as bootstrap compilers are available for FreeBSD ports lang/gnat-aux. OpenBSD bootstrap compilers have been built but never used, but further patches are on a couple of gcc's configuration files are needed as well as testing to provide OpenBSD support. All five platforms pass all tests (over 3200) in the Ada testsuite. See http://gcc.gnu.org/gcc-4.7/changes.html for more information about improvements over the GCC 4.6 series.
2012-07-08 21:30:38 +02:00
EXTRA_CONFARGS+= --disable-libquadmath
.else
EXTRA_CONFARGS+= --enable-libquadmath
.endif
.endif
#################################
## ADD LANGUAGE: Objective-C ##
#################################
.if !empty(PKG_OPTIONS:Mobjc) && empty(PKG_OPTIONS:Mbootstrap)
Import lang/gcc-aux based on gcc-4.7.1 The primary difference between this compiler package and lang/gcc47 is that lang/gcc-aux supports the Ada language. Additionally, it is intended that the USE_LANGUAGES makefile variable whill be extended to recognize "ada" as a valid language, and that specifying it will cause lang/gcc-aux to be used to build the package. All current Ada-based packages will be modified to build with USE_LANGUAGES+= ada rather than specifying a dependency on lang/gnat-aux, the other Ada-capable compiler in pkgsrc based on gcc-4.6.3. lang/gcc-aux supports C, C++, Objective-C, Fortran, and Ada by default, but the latter four languages can be disabled via the options framework. The three non-default options are "nls", "testsuite" and "static" which enable Native Language Support, languages tests, and building the compiler statically. The "static" option is unalterably enabled for NetBSD in order to use dl_iterate_phdr error handling on NetBSD 6. On the NetBSD 6 beta builds, exceptions won't unwind properly with the libgcc_s shared library, and the issue seems to be external to gcc-aux. It's hoped the libgcc_s exception handling works on NetBSD 5.x series as dl_iterate_phdr isn't supported by rtld there, but gcc-aux hasn't been tested on 5.x yet. lang/gcc-aux can be built by 5 platforms currently: NetBSD i386/x86_64, DragonFly i386/x86_64, and OpenSolaris i386. New platform support requires new bootstraps. FreeBSD i386/x86_64 could be added easily as bootstrap compilers are available for FreeBSD ports lang/gnat-aux. OpenBSD bootstrap compilers have been built but never used, but further patches are on a couple of gcc's configuration files are needed as well as testing to provide OpenBSD support. All five platforms pass all tests (over 3200) in the Ada testsuite. See http://gcc.gnu.org/gcc-4.7/changes.html for more information about improvements over the GCC 4.6 series.
2012-07-08 21:30:38 +02:00
LANGS+= objc
.endif
#########################
## TESTSUITE SUPPORT ##
#########################
.if !empty(PKG_OPTIONS:Mtestsuite) && empty(PKG_OPTIONS:Mbootstrap)
Import lang/gcc-aux based on gcc-4.7.1 The primary difference between this compiler package and lang/gcc47 is that lang/gcc-aux supports the Ada language. Additionally, it is intended that the USE_LANGUAGES makefile variable whill be extended to recognize "ada" as a valid language, and that specifying it will cause lang/gcc-aux to be used to build the package. All current Ada-based packages will be modified to build with USE_LANGUAGES+= ada rather than specifying a dependency on lang/gnat-aux, the other Ada-capable compiler in pkgsrc based on gcc-4.6.3. lang/gcc-aux supports C, C++, Objective-C, Fortran, and Ada by default, but the latter four languages can be disabled via the options framework. The three non-default options are "nls", "testsuite" and "static" which enable Native Language Support, languages tests, and building the compiler statically. The "static" option is unalterably enabled for NetBSD in order to use dl_iterate_phdr error handling on NetBSD 6. On the NetBSD 6 beta builds, exceptions won't unwind properly with the libgcc_s shared library, and the issue seems to be external to gcc-aux. It's hoped the libgcc_s exception handling works on NetBSD 5.x series as dl_iterate_phdr isn't supported by rtld there, but gcc-aux hasn't been tested on 5.x yet. lang/gcc-aux can be built by 5 platforms currently: NetBSD i386/x86_64, DragonFly i386/x86_64, and OpenSolaris i386. New platform support requires new bootstraps. FreeBSD i386/x86_64 could be added easily as bootstrap compilers are available for FreeBSD ports lang/gnat-aux. OpenBSD bootstrap compilers have been built but never used, but further patches are on a couple of gcc's configuration files are needed as well as testing to provide OpenBSD support. All five platforms pass all tests (over 3200) in the Ada testsuite. See http://gcc.gnu.org/gcc-4.7/changes.html for more information about improvements over the GCC 4.6 series.
2012-07-08 21:30:38 +02:00
BUILD_DEPENDS+= dejagnu>=1.4:../../devel/dejagnu
APPLY_DIFFS+= ada-testsuite
APPLY_DIFFS+= cxx-testsuite
APPLY_DIFFS+= gcc-testsuite
APPLY_DIFFS+= fortran-testsuite
.endif
#################################
## NATIONAL LANGUAGE SUPPORT ##
#################################
.if !empty(PKG_OPTIONS:Mnls) && empty(PKG_OPTIONS:Mbootstrap)
USE_BUILTIN.iconv= no
Import lang/gcc-aux based on gcc-4.7.1 The primary difference between this compiler package and lang/gcc47 is that lang/gcc-aux supports the Ada language. Additionally, it is intended that the USE_LANGUAGES makefile variable whill be extended to recognize "ada" as a valid language, and that specifying it will cause lang/gcc-aux to be used to build the package. All current Ada-based packages will be modified to build with USE_LANGUAGES+= ada rather than specifying a dependency on lang/gnat-aux, the other Ada-capable compiler in pkgsrc based on gcc-4.6.3. lang/gcc-aux supports C, C++, Objective-C, Fortran, and Ada by default, but the latter four languages can be disabled via the options framework. The three non-default options are "nls", "testsuite" and "static" which enable Native Language Support, languages tests, and building the compiler statically. The "static" option is unalterably enabled for NetBSD in order to use dl_iterate_phdr error handling on NetBSD 6. On the NetBSD 6 beta builds, exceptions won't unwind properly with the libgcc_s shared library, and the issue seems to be external to gcc-aux. It's hoped the libgcc_s exception handling works on NetBSD 5.x series as dl_iterate_phdr isn't supported by rtld there, but gcc-aux hasn't been tested on 5.x yet. lang/gcc-aux can be built by 5 platforms currently: NetBSD i386/x86_64, DragonFly i386/x86_64, and OpenSolaris i386. New platform support requires new bootstraps. FreeBSD i386/x86_64 could be added easily as bootstrap compilers are available for FreeBSD ports lang/gnat-aux. OpenBSD bootstrap compilers have been built but never used, but further patches are on a couple of gcc's configuration files are needed as well as testing to provide OpenBSD support. All five platforms pass all tests (over 3200) in the Ada testsuite. See http://gcc.gnu.org/gcc-4.7/changes.html for more information about improvements over the GCC 4.6 series.
2012-07-08 21:30:38 +02:00
USE_TOOLS+= msgfmt
EXTRA_CONFARGS+= --enable-nls
EXTRA_CONFARGS+= --with-libiconv-prefix=${BUILDLINK_PREFIX.iconv}
MY_MAKE_ENV+= ICONVPREFIX=${BUILDLINK_PREFIX.iconv}
.include "../../converters/libiconv/buildlink3.mk"
Import lang/gcc-aux based on gcc-4.7.1 The primary difference between this compiler package and lang/gcc47 is that lang/gcc-aux supports the Ada language. Additionally, it is intended that the USE_LANGUAGES makefile variable whill be extended to recognize "ada" as a valid language, and that specifying it will cause lang/gcc-aux to be used to build the package. All current Ada-based packages will be modified to build with USE_LANGUAGES+= ada rather than specifying a dependency on lang/gnat-aux, the other Ada-capable compiler in pkgsrc based on gcc-4.6.3. lang/gcc-aux supports C, C++, Objective-C, Fortran, and Ada by default, but the latter four languages can be disabled via the options framework. The three non-default options are "nls", "testsuite" and "static" which enable Native Language Support, languages tests, and building the compiler statically. The "static" option is unalterably enabled for NetBSD in order to use dl_iterate_phdr error handling on NetBSD 6. On the NetBSD 6 beta builds, exceptions won't unwind properly with the libgcc_s shared library, and the issue seems to be external to gcc-aux. It's hoped the libgcc_s exception handling works on NetBSD 5.x series as dl_iterate_phdr isn't supported by rtld there, but gcc-aux hasn't been tested on 5.x yet. lang/gcc-aux can be built by 5 platforms currently: NetBSD i386/x86_64, DragonFly i386/x86_64, and OpenSolaris i386. New platform support requires new bootstraps. FreeBSD i386/x86_64 could be added easily as bootstrap compilers are available for FreeBSD ports lang/gnat-aux. OpenBSD bootstrap compilers have been built but never used, but further patches are on a couple of gcc's configuration files are needed as well as testing to provide OpenBSD support. All five platforms pass all tests (over 3200) in the Ada testsuite. See http://gcc.gnu.org/gcc-4.7/changes.html for more information about improvements over the GCC 4.6 series.
2012-07-08 21:30:38 +02:00
.include "../../devel/gettext-lib/buildlink3.mk"
.else
EXTRA_CONFARGS+= --disable-nls
.endif
###############################
## STATICALLY BUILT OPTION ##
###############################
.if !empty(PKG_OPTIONS:Mstatic)
STATIC_BUILD = yes
.endif
.if defined(STATIC_BUILD) && empty(PKG_OPTIONS:Mbootstrap)
lang/gcc-aux: Primarily add Solaris i386 and x86_64 targets I was never able to build gcc-aux with multilib support when it was based on gcc 4.7. It turns out that this is because Ada support for multilib was broken per GCC's bugzilla. It's been fixed since. After some significant effort and many hours, I finally produced a multilib bootstrap for Solaris. It can produce other multilib compilers (x86-64) and it can produce 32-bit only compilers (i386). This was tested on a stock OmniOS x86-64 installation and the Joyent dev area (i386). Solaris has not supported static linking since Solaris 9, so it is not possible to create a static bootstrap like the BSDs have, nor is it possible to build the compiler statically, so that option is disabled. That means it is unlikely that the bootstrap will run on Solaris 10 or Solaris 11, but this theory has not been tested. Much of the changes to the diff-* patchsets are a result of OpenBSD work. An OpenBSD static bootstrap has been created against devel/binutils, and as a result it fails to find system libraries such as libc and libm. That is a side note explaining the OpenBSD additions. There are some DragonFly and NetBSD changes in the diff-* patches though. The bootstrap target was significantly modified, mainly to capture the special needs of creating a Solaris bootstrap. The creation of the bootstrap tarball was put in it's own target. The zlib and math libraries were connected to the bootstrap option. It's not a good idea to use system zlib on Illumos because the zlib header is not guaranteed to be installed. The feature to rebuild the compiler with the installed gcc-aux was fixed; it should use it's own c++ compiler instead of the system c++ compiler. OpenBSD 5.5 does not support "cp -a", so this was changed to "cp -RpP" for portability reasons.
2014-05-09 11:50:47 +02:00
. if ${OPSYS} == SunOS
PKG_FAIL_REASON+= SunOS does not support static builds
. else
EXTRA_CONFARGS+= --with-stage1-ldflags=-static
lang/gcc-aux: Primarily add Solaris i386 and x86_64 targets I was never able to build gcc-aux with multilib support when it was based on gcc 4.7. It turns out that this is because Ada support for multilib was broken per GCC's bugzilla. It's been fixed since. After some significant effort and many hours, I finally produced a multilib bootstrap for Solaris. It can produce other multilib compilers (x86-64) and it can produce 32-bit only compilers (i386). This was tested on a stock OmniOS x86-64 installation and the Joyent dev area (i386). Solaris has not supported static linking since Solaris 9, so it is not possible to create a static bootstrap like the BSDs have, nor is it possible to build the compiler statically, so that option is disabled. That means it is unlikely that the bootstrap will run on Solaris 10 or Solaris 11, but this theory has not been tested. Much of the changes to the diff-* patchsets are a result of OpenBSD work. An OpenBSD static bootstrap has been created against devel/binutils, and as a result it fails to find system libraries such as libc and libm. That is a side note explaining the OpenBSD additions. There are some DragonFly and NetBSD changes in the diff-* patches though. The bootstrap target was significantly modified, mainly to capture the special needs of creating a Solaris bootstrap. The creation of the bootstrap tarball was put in it's own target. The zlib and math libraries were connected to the bootstrap option. It's not a good idea to use system zlib on Illumos because the zlib header is not guaranteed to be installed. The feature to rebuild the compiler with the installed gcc-aux was fixed; it should use it's own c++ compiler instead of the system c++ compiler. OpenBSD 5.5 does not support "cp -a", so this was changed to "cp -RpP" for portability reasons.
2014-05-09 11:50:47 +02:00
. endif
.endif
#################################
## BOOTSTRAP COMPILER OPTION ##
#################################
# Solaris does not support static linking system libraries, so bootstraps
# on SunOS require gmp&co to be built with gcc. Also, OpenBSD x86-64
# fails configuration during the linking of -lmpc -lmpfr -lgmp in a contest;
# it complains of missing references in libm. These libraries are built by
# a different compiler (the base) so perhaps that's the problem. Building
# gmp&co in the tree allows the configure step to succeed on OpenBSD.
lang/gcc-aux: Primarily add Solaris i386 and x86_64 targets I was never able to build gcc-aux with multilib support when it was based on gcc 4.7. It turns out that this is because Ada support for multilib was broken per GCC's bugzilla. It's been fixed since. After some significant effort and many hours, I finally produced a multilib bootstrap for Solaris. It can produce other multilib compilers (x86-64) and it can produce 32-bit only compilers (i386). This was tested on a stock OmniOS x86-64 installation and the Joyent dev area (i386). Solaris has not supported static linking since Solaris 9, so it is not possible to create a static bootstrap like the BSDs have, nor is it possible to build the compiler statically, so that option is disabled. That means it is unlikely that the bootstrap will run on Solaris 10 or Solaris 11, but this theory has not been tested. Much of the changes to the diff-* patchsets are a result of OpenBSD work. An OpenBSD static bootstrap has been created against devel/binutils, and as a result it fails to find system libraries such as libc and libm. That is a side note explaining the OpenBSD additions. There are some DragonFly and NetBSD changes in the diff-* patches though. The bootstrap target was significantly modified, mainly to capture the special needs of creating a Solaris bootstrap. The creation of the bootstrap tarball was put in it's own target. The zlib and math libraries were connected to the bootstrap option. It's not a good idea to use system zlib on Illumos because the zlib header is not guaranteed to be installed. The feature to rebuild the compiler with the installed gcc-aux was fixed; it should use it's own c++ compiler instead of the system c++ compiler. OpenBSD 5.5 does not support "cp -a", so this was changed to "cp -RpP" for portability reasons.
2014-05-09 11:50:47 +02:00
.if ${OPSYS} == OpenBSD || ${OPSYS} == MirBSD || \
(${OPSYS} == SunOS && !empty(PKG_OPTIONS:Mbootstrap))
lang/gcc-aux: Primarily add Solaris i386 and x86_64 targets I was never able to build gcc-aux with multilib support when it was based on gcc 4.7. It turns out that this is because Ada support for multilib was broken per GCC's bugzilla. It's been fixed since. After some significant effort and many hours, I finally produced a multilib bootstrap for Solaris. It can produce other multilib compilers (x86-64) and it can produce 32-bit only compilers (i386). This was tested on a stock OmniOS x86-64 installation and the Joyent dev area (i386). Solaris has not supported static linking since Solaris 9, so it is not possible to create a static bootstrap like the BSDs have, nor is it possible to build the compiler statically, so that option is disabled. That means it is unlikely that the bootstrap will run on Solaris 10 or Solaris 11, but this theory has not been tested. Much of the changes to the diff-* patchsets are a result of OpenBSD work. An OpenBSD static bootstrap has been created against devel/binutils, and as a result it fails to find system libraries such as libc and libm. That is a side note explaining the OpenBSD additions. There are some DragonFly and NetBSD changes in the diff-* patches though. The bootstrap target was significantly modified, mainly to capture the special needs of creating a Solaris bootstrap. The creation of the bootstrap tarball was put in it's own target. The zlib and math libraries were connected to the bootstrap option. It's not a good idea to use system zlib on Illumos because the zlib header is not guaranteed to be installed. The feature to rebuild the compiler with the installed gcc-aux was fixed; it should use it's own c++ compiler instead of the system c++ compiler. OpenBSD 5.5 does not support "cp -a", so this was changed to "cp -RpP" for portability reasons.
2014-05-09 11:50:47 +02:00
.include "../../devel/gmp/inplace.mk"
.include "../../math/mpcomplex/inplace.mk"
.include "../../math/mpfr/inplace.mk"
.else
EXTRA_CONFARGS+= --with-gmp=${BUILDLINK_PREFIX.gmp}
EXTRA_CONFARGS+= --with-mpfr=${BUILDLINK_PREFIX.mpfr}
EXTRA_CONFARGS+= --with-mpc=${BUILDLINK_PREFIX.mpcomplex}
.include "../../devel/gmp/buildlink3.mk"
.include "../../math/mpfr/buildlink3.mk"
.include "../../math/mpcomplex/buildlink3.mk"
.endif
.if !empty(PKG_OPTIONS:Mbootstrap)
EXTRA_CONFARGS+= --disable-shared --disable-lto
lang/gcc-aux: Primarily add Solaris i386 and x86_64 targets I was never able to build gcc-aux with multilib support when it was based on gcc 4.7. It turns out that this is because Ada support for multilib was broken per GCC's bugzilla. It's been fixed since. After some significant effort and many hours, I finally produced a multilib bootstrap for Solaris. It can produce other multilib compilers (x86-64) and it can produce 32-bit only compilers (i386). This was tested on a stock OmniOS x86-64 installation and the Joyent dev area (i386). Solaris has not supported static linking since Solaris 9, so it is not possible to create a static bootstrap like the BSDs have, nor is it possible to build the compiler statically, so that option is disabled. That means it is unlikely that the bootstrap will run on Solaris 10 or Solaris 11, but this theory has not been tested. Much of the changes to the diff-* patchsets are a result of OpenBSD work. An OpenBSD static bootstrap has been created against devel/binutils, and as a result it fails to find system libraries such as libc and libm. That is a side note explaining the OpenBSD additions. There are some DragonFly and NetBSD changes in the diff-* patches though. The bootstrap target was significantly modified, mainly to capture the special needs of creating a Solaris bootstrap. The creation of the bootstrap tarball was put in it's own target. The zlib and math libraries were connected to the bootstrap option. It's not a good idea to use system zlib on Illumos because the zlib header is not guaranteed to be installed. The feature to rebuild the compiler with the installed gcc-aux was fixed; it should use it's own c++ compiler instead of the system c++ compiler. OpenBSD 5.5 does not support "cp -a", so this was changed to "cp -RpP" for portability reasons.
2014-05-09 11:50:47 +02:00
. if ${OPSYS} != SunOS
EXTRA_CONFARGS+= --with-stage1-ldflags=-static
EXTRA_CONFARGS+= --with-boot-ldflags=-static
lang/gcc-aux: Primarily add Solaris i386 and x86_64 targets I was never able to build gcc-aux with multilib support when it was based on gcc 4.7. It turns out that this is because Ada support for multilib was broken per GCC's bugzilla. It's been fixed since. After some significant effort and many hours, I finally produced a multilib bootstrap for Solaris. It can produce other multilib compilers (x86-64) and it can produce 32-bit only compilers (i386). This was tested on a stock OmniOS x86-64 installation and the Joyent dev area (i386). Solaris has not supported static linking since Solaris 9, so it is not possible to create a static bootstrap like the BSDs have, nor is it possible to build the compiler statically, so that option is disabled. That means it is unlikely that the bootstrap will run on Solaris 10 or Solaris 11, but this theory has not been tested. Much of the changes to the diff-* patchsets are a result of OpenBSD work. An OpenBSD static bootstrap has been created against devel/binutils, and as a result it fails to find system libraries such as libc and libm. That is a side note explaining the OpenBSD additions. There are some DragonFly and NetBSD changes in the diff-* patches though. The bootstrap target was significantly modified, mainly to capture the special needs of creating a Solaris bootstrap. The creation of the bootstrap tarball was put in it's own target. The zlib and math libraries were connected to the bootstrap option. It's not a good idea to use system zlib on Illumos because the zlib header is not guaranteed to be installed. The feature to rebuild the compiler with the installed gcc-aux was fixed; it should use it's own c++ compiler instead of the system c++ compiler. OpenBSD 5.5 does not support "cp -a", so this was changed to "cp -RpP" for portability reasons.
2014-05-09 11:50:47 +02:00
EXTRA_CONFARGS+= --with-system-zlib
. endif
.else
EXTRA_CONFARGS+= --enable-shared
EXTRA_CONFARGS+= --disable-bootstrap
lang/gcc-aux: Primarily add Solaris i386 and x86_64 targets I was never able to build gcc-aux with multilib support when it was based on gcc 4.7. It turns out that this is because Ada support for multilib was broken per GCC's bugzilla. It's been fixed since. After some significant effort and many hours, I finally produced a multilib bootstrap for Solaris. It can produce other multilib compilers (x86-64) and it can produce 32-bit only compilers (i386). This was tested on a stock OmniOS x86-64 installation and the Joyent dev area (i386). Solaris has not supported static linking since Solaris 9, so it is not possible to create a static bootstrap like the BSDs have, nor is it possible to build the compiler statically, so that option is disabled. That means it is unlikely that the bootstrap will run on Solaris 10 or Solaris 11, but this theory has not been tested. Much of the changes to the diff-* patchsets are a result of OpenBSD work. An OpenBSD static bootstrap has been created against devel/binutils, and as a result it fails to find system libraries such as libc and libm. That is a side note explaining the OpenBSD additions. There are some DragonFly and NetBSD changes in the diff-* patches though. The bootstrap target was significantly modified, mainly to capture the special needs of creating a Solaris bootstrap. The creation of the bootstrap tarball was put in it's own target. The zlib and math libraries were connected to the bootstrap option. It's not a good idea to use system zlib on Illumos because the zlib header is not guaranteed to be installed. The feature to rebuild the compiler with the installed gcc-aux was fixed; it should use it's own c++ compiler instead of the system c++ compiler. OpenBSD 5.5 does not support "cp -a", so this was changed to "cp -RpP" for portability reasons.
2014-05-09 11:50:47 +02:00
.endif