pkgsrc/lang/gcc5/Makefile

193 lines
6.1 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.20 2017/07/07 14:52:30 jperkin Exp $
GCC_PKGNAME= gcc5
PKGREVISION= 3
.include "version.mk"
DISTNAME= gcc-${GCC5_DIST_VERSION}
PKGNAME= ${GCC_PKGNAME}-${GCC5_DIST_VERSION}
## When bumping the PKGREVISION of this package the PKGREVISION of
## lang/gcc5-libs needs to be bump to be at least 1 more than the
## PKGREVISION of this package!
CATEGORIES= lang
Update to 5.2.0 Changelog: GCC 5.2 This is the [42]list of problem reports (PRs) from GCC's bug tracking system that are known to be fixed in the 5.2 release. This list might not be complete (that is, it is possible that some PRs that have been fixed are not listed here). Target Specific Changes IA-32/x86-64 * Support for new AMD instructions monitorx and mwaitx has been added. This includes new intrinsic and built-in support. It is enabled through option -mmwaitx. The instructions monitorx and mwaitx implement the same functionality as the old monitor and mwait instructions. In addition mwaitx adds a configurable timer. The timer value is received as third argument and stored in register %ebx. For questions related to the use of GCC, please consult these web pages and the [43]GCC manuals. If that fails, the [44]gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer list at [45]gcc@gcc.gnu.org. All of [46]our lists have public archives. Copyright (C) [47]Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. These pages are [48]maintained by the GCC team. Last modified 2015-07-16[49]. References 42. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=5.2.0 43. https://gcc.gnu.org/onlinedocs/ 44. mailto:gcc-help@gcc.gnu.org 45. mailto:gcc@gcc.gnu.org 46. https://gcc.gnu.org/lists.html 47. http://www.fsf.org/ 48. https://gcc.gnu.org/about.html 49. http://validator.w3.org/check/referer
2015-07-25 05:46:02 +02:00
MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-${GCC5_DIST_VERSION}/}
EXTRACT_SUFX= .tar.bz2
MAINTAINER= maya@NetBSD.org
HOMEPAGE= http://gcc.gnu.org/
COMMENT= The GNU Compiler Collection (GCC) - 5 Release Series
LICENSE= gnu-gpl-v2 AND gnu-gpl-v3 AND gnu-lgpl-v2 AND gnu-lgpl-v3
DISTFILES= ${DEFAULT_DISTFILES}
EXTRACT_ONLY= ${DEFAULT_DISTFILES}
NOT_FOR_PLATFORM= Interix-*-*
USE_LANGUAGES= c c++
USE_TOOLS+= gmake makeinfo sed:run tar:build
USE_TOOLS.NetBSD+= gsed
GNU_CONFIGURE= yes
## Build outside ${WRKSRC}
OBJDIR= ../build
CONFIGURE_DIRS= ${OBJDIR}
CONFIGURE_SCRIPT= ../${DISTNAME}/configure
GCC_SUBPREFIX= ${GCC_PKGNAME}
GCC_PREFIX= ${PREFIX}/${GCC_SUBPREFIX}
GNU_CONFIGURE_PREFIX= ${GCC_PREFIX}
INFO_FILES= yes
CONFIGURE_ARGS+= --disable-libstdcxx-pch
UNLIMIT_RESOURCES+= datasize
UNLIMIT_RESOURCES+= stacksize
SUBST_CLASSES+= vars
SUBST_MESSAGE.vars= Setting target machine name path in ${SUBST_FILES.vars}
SUBST_STAGE.vars= pre-configure
SUBST_FILES.vars= gcc/Makefile.in
SUBST_VARS.vars= GCC_TARGET_MACHINE
.include "../../mk/bsd.prefs.mk"
LANGS= c
# In some cases LINKER_RPATH_FLAG needs a trailing space.
LINKER_RPATH_FLAG:= ${LINKER_RPATH_FLAG:S/-rpath/& /}
## The Library rpath to use in end programs.
LDFLAGS_FOR_TARGET= ${LDFLAGS:M${COMPILER_RPATH_FLAG}*:N*/usr/lib*}
# The "-static-libstdc++ -static-libgcc" flags are normally added to the
# boot-ldflags by configure but because we are supply the boot-ldflags
# we mash supply them.
BOOT_LDFLAGS= -static-libstdc++ -static-libgcc ${LDFLAGS_FOR_TARGET}
# Needed on Darwin when LDFLAGS point to a SDK
BOOT_LDFLAGS+= ${LDFLAGS:M-Wl,-syslibroot*}
# GCC does not understand this option; remove it, or stage build will fail
BUILDLINK_TRANSFORM+= rm:-stdlib=libc++
.include "options.mk"
## For graphite support.
.if !empty(PKG_OPTIONS:Mgcc-graphite)
post-extract:
${TAR} -jxf ${DISTDIR}/${ISL14}.tar.bz2 -C ${WRKSRC}
${MV} ${WRKSRC}/${ISL14} ${WRKSRC}/isl
.endif
## For target librarys and libjava programs.
CONFIGURE_ENV+= LDFLAGS_FOR_TARGET=${LDFLAGS_FOR_TARGET:Q}
CONFIGURE_ARGS+= --enable-languages=${LANGS:Q}
CONFIGURE_ARGS+= --enable-shared
CONFIGURE_ARGS+= --enable-long-long
CONFIGURE_ARGS+= --with-local-prefix=${GCC_PREFIX:Q}
.if !empty(MACHINE_PLATFORM:MNetBSD-*-*)
# on NetBSD, use the native SSP code in libc
CONFIGURE_ARGS+= --disable-libssp
.else
CONFIGURE_ARGS+= --enable-libssp
.endif
CONFIGURE_ARGS+= --enable-threads=posix
CONFIGURE_ARGS+= --with-boot-ldflags=${BOOT_LDFLAGS:Q}
# multilib on Darwin requires fat-binaries
CONFIGURE_ARGS.Darwin+= --disable-multilib
.if !empty(OSX_SDK_PATH)
CONFIGURE_ARGS.Darwin+= --with-sysroot=${OSX_SDK_PATH}
.endif
2016-02-25 15:42:55 +01:00
CONFIGURE_ARGS.NetBSD+= --with-gnu-ld --with-ld=/usr/bin/ld
CONFIGURE_ARGS.NetBSD+= --with-gnu-as --with-as=/usr/bin/as
MAKE_ENV.NetBSD+= ac_cv_func_clock_gettime=yes
MAKE_ENV.NetBSD+= ac_cv_func_gethostbyname_r=no
MAKE_ENV.NetBSD+= ac_cv_func_freelocale=no
MAKE_ENV.NetBSD+= ac_cv_func_newlocale=no
MAKE_ENV.NetBSD+= ac_cv_func_uselocale=no
MAKE_ENV.SunOS+= ac_cv_func_mkostemp=no
2016-02-25 15:42:55 +01:00
CONFIGURE_ARGS.DragonFly+= --disable-bootstrap
.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || !empty(MACHINE_PLATFORM:MLinux-*-i386)
CONFIGURE_ARGS+= --with-arch=i486 --with-tune=i486
.endif
.if !empty(MACHINE_PLATFORM:MNetBSD-*-x86_64) || !empty(MACHINE_PLATFORM:MLinux-*-x86_64)
CONFIGURE_ARGS+= --with-arch=nocona --with-tune=nocona --with-fpmath=sse
.endif
.if !empty(MACHINE_PLATFORM:MDarwin-[0-8].*-*)
CONFIGURE_ARGS+= --with-dwarf2
.endif
# ${WRKSRC}/fixincludes/ looks for sed and compiles the path to sed into
# a binary so we need to make sure we give it the installed sed and not
# the tool wrapped one.
MAKE_ENV+= ac_cv_path_SED=${TOOLS_SED}
MAKE_ENV+= lt_cv_path_SED=${TOOLS_SED}
# Determine whether to use binutils
.if ${OPSYS} == "SunOS"
. if exists(/usr/sfw/bin/gobjdump)
CONFIGURE_ENV+= OBJDUMP=/usr/sfw/bin/gobjdump
. endif
. if exists(/usr/bin/ld)
CONFIGURE_ARGS+= --without-gnu-ld --with-ld=/usr/bin/ld
. else
CONFIGURE_ARGS+= --without-gnu-ld --with-ld=/usr/ccs/bin/ld
. endif
. if exists(/usr/sfw/bin/gas)
CONFIGURE_ARGS+= --with-gnu-as --with-as=/usr/sfw/bin/gas
. elif exists(/usr/ccs/bin/as)
CONFIGURE_ARGS+= --without-gnu-as --with-as=/usr/ccs/bin/as
. else
BUILDLINK_DEPMETHOD.binutils= full
. include "../../devel/binutils/buildlink3.mk"
CONFIGURE_ARGS+= --with-gnu-as --with-as=${PREFIX}/bin/gas
. endif
.endif
2016-09-08 11:55:32 +02:00
.if ${OS_VARIANT} == "SmartOS"
SUBST_CLASSES+= ccs
SUBST_STAGE.ccs= pre-configure
SUBST_FILES.ccs= contrib/make_sunver.pl
SUBST_SED.ccs= -e 's,/usr/ccs/bin,/usr/bin,g'
.endif
pre-configure:
${RUN} cd ${WRKSRC} && ${MKDIR} ${OBJDIR}
TEST_TARGET= -k check || ${TRUE}
pre-test:
${RUN} \
if runtest --version >/dev/null 2>/dev/null ; then \
: ; \
else \
${ECHO} "ERROR: Please install devel/dejagnu in order to run the test suite." ; \
exit 1 ; \
fi
post-test:
${RUN} cd ${WRKSRC} && cd ${OBJDIR} && \
${SHELL} ${WRKSRC}/contrib/test_summary >${WRKDIR}/test_summary.log
${INFO_MSG} "Test summary are available in ${WRKDIR}/test_summary.log"
post-install:
${TEST} -f ${DESTDIR}${GCC_PREFIX}/bin/cc || \
( cd ${DESTDIR}${GCC_PREFIX}/bin ; ${LN} -f gcc cc )
.if !empty(PKG_OPTIONS:Mgcc-java)
${RM} -f ${DESTDIR}${JAVA_HOME}/bin/javadoc
${RM} -f ${DESTDIR}${JAVA_HOME}/jre/lib/${JAVA_ARCH}/libjawt.so
.endif
.if !empty(MACHINE_PLATFORM:MSunOS-*-*86*) && ${OS_VERSION} != "5.11"
${SH} files/values.c ${DESTDIR}${GCC_PREFIX}/bin/gcc -m32 || ${TRUE}
${SH} files/values.c ${DESTDIR}${GCC_PREFIX}/bin/gcc -m64 || ${TRUE}
.endif
GENERATE_PLIST+= \
cd ${DESTDIR}${PREFIX} && \
${FIND} ${GCC_SUBPREFIX} \( -type f -o -type l \) -print | ${SORT} ;
.include "../../mk/dlopen.buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"