summaryrefslogtreecommitdiff
path: root/lang/gcc6-aux/options.mk
diff options
context:
space:
mode:
authormarino <marino@pkgsrc.org>2016-12-13 01:19:19 +0000
committermarino <marino@pkgsrc.org>2016-12-13 01:19:19 +0000
commitac87edcd85c0a05e5c6f017d40ed0b63910cccb5 (patch)
tree4486048cd30529fa15a21c252d49da5e525e1807 /lang/gcc6-aux/options.mk
parent8768d4d3ee37eb322082e7ad9ad211666e341266 (diff)
downloadpkgsrc-ac87edcd85c0a05e5c6f017d40ed0b63910cccb5.tar.gz
Add lang/gcc6-aux to pkgsrc
I had intended to migrate the ada framework to use gcc6-aux instead of lang/gcc5-aux, but unfortunately there's been a regression on NetBSD. It builds and tests perfectly on DragonFly and FreeBSD, but it only builds on NetBSD. All the ACAT tests that involve tasking fail, but the cause is unclear. All the modifications used on gcc5-aux for NetBSD are present in gcc6-aux but pthread destruction results in a segfault. Since then gcc5-aux support has been improved, so I'm putting this away for a while. NetBSD has been removed from the platform support list for now, but I'll review any patches I get to fix NetBSD tasking. This compiler is based on gcc 6.2 and is primarily used for the Ada frontend.
Diffstat (limited to 'lang/gcc6-aux/options.mk')
-rw-r--r--lang/gcc6-aux/options.mk109
1 files changed, 109 insertions, 0 deletions
diff --git a/lang/gcc6-aux/options.mk b/lang/gcc6-aux/options.mk
new file mode 100644
index 00000000000..640acb386df
--- /dev/null
+++ b/lang/gcc6-aux/options.mk
@@ -0,0 +1,109 @@
+# $NetBSD: options.mk,v 1.1 2016/12/13 01:19:20 marino Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.gcc6-aux
+PKG_SUPPORTED_OPTIONS= fortran objc testsuite static bootstrap allstages
+PKG_SUGGESTED_OPTIONS= # fortran
+
+# fortran fails to build transfer.c, disable
+
+.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.
+
+
+#############################
+## ADD LANGUAGE: Fortran ##
+#############################
+
+.if empty(PKG_OPTIONS:Mfortran) || !empty(PKG_OPTIONS:Mbootstrap)
+EXTRA_CONFARGS+= --disable-libquadmath
+.else
+LANGS+= fortran
+APPLY_DIFFS+= fortran
+.if ${OPSYS} == NetBSD
+EXTRA_CONFARGS+= --disable-libquadmath
+.else
+EXTRA_CONFARGS+= --enable-libquadmath
+.endif
+.endif
+
+
+#################################
+## ADD LANGUAGE: Objective-C ##
+#################################
+
+.if !empty(PKG_OPTIONS:Mobjc) && empty(PKG_OPTIONS:Mbootstrap)
+LANGS+= objc
+.endif
+
+
+#########################
+## TESTSUITE SUPPORT ##
+#########################
+
+.if !empty(PKG_OPTIONS:Mtestsuite) && empty(PKG_OPTIONS:Mbootstrap)
+BUILD_DEPENDS+= dejagnu>=1.4:../../devel/dejagnu
+APPLY_DIFFS+= ada-testsuite
+APPLY_DIFFS+= gcc-testsuite
+.endif
+
+
+###############################
+## STATICALLY BUILT OPTION ##
+###############################
+
+.if !empty(PKG_OPTIONS:Mstatic)
+STATIC_BUILD = yes
+.endif
+
+.if defined(STATIC_BUILD) && empty(PKG_OPTIONS:Mbootstrap)
+. if ${OPSYS} == SunOS
+PKG_FAIL_REASON+= SunOS does not support static builds
+. else
+EXTRA_CONFARGS+= --with-stage1-ldflags=-static
+. 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.
+
+.if ${OPSYS} == OpenBSD || ${OPSYS} == MirBSD || \
+ (${OPSYS} == SunOS && !empty(PKG_OPTIONS:Mbootstrap))
+.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
+EXTRA_CONFARGS+= --disable-libstdcxx-pch
+. if ${OPSYS} != SunOS
+EXTRA_CONFARGS+= --with-stage1-ldflags=-static
+EXTRA_CONFARGS+= --with-boot-ldflags=-static
+EXTRA_CONFARGS+= --with-system-zlib
+. endif
+.else
+. if empty(PKG_OPTIONS:Mallstages)
+EXTRA_CONFARGS+= --disable-bootstrap
+EXTRA_CONFARGS+= --disable-libcc1
+. endif
+EXTRA_CONFARGS+= --enable-shared
+.endif