pkgsrc/lang/gcc6-aux/options.mk
marino fc398a6303 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.
2016-12-13 01:19:19 +00:00

109 lines
3.1 KiB
Makefile

# $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