diff options
author | ryoon <ryoon> | 2014-10-31 14:22:20 +0000 |
---|---|---|
committer | ryoon <ryoon> | 2014-10-31 14:22:20 +0000 |
commit | 94e4993284d287ebe1bcdfcbf1d9561c4d417704 (patch) | |
tree | d3db3555aff435b13571606fad8d8f3a16303d05 /lang/gcc48 | |
parent | cc6e3ac7efb5d061b339bf20e9f511ece41eedd1 (diff) | |
download | pkgsrc-94e4993284d287ebe1bcdfcbf1d9561c4d417704.tar.gz |
Restore monolithic gcc48 and gcc48-libs.
* No objection on tech-pkg@ mailing list.
Diffstat (limited to 'lang/gcc48')
-rw-r--r-- | lang/gcc48/Makefile | 148 | ||||
-rw-r--r-- | lang/gcc48/Makefile.common | 180 | ||||
-rw-r--r-- | lang/gcc48/buildlink3.mk | 36 | ||||
-rw-r--r-- | lang/gcc48/c++.mk | 8 | ||||
-rw-r--r-- | lang/gcc48/distinfo | 8 | ||||
-rw-r--r-- | lang/gcc48/java.mk | 53 | ||||
-rw-r--r-- | lang/gcc48/options.mk | 144 |
7 files changed, 292 insertions, 285 deletions
diff --git a/lang/gcc48/Makefile b/lang/gcc48/Makefile index 21f75bf0988..49c80931315 100644 --- a/lang/gcc48/Makefile +++ b/lang/gcc48/Makefile @@ -1,21 +1,157 @@ -# $NetBSD: Makefile,v 1.16 2014/05/31 13:06:25 ryoon Exp $ +# $NetBSD: Makefile,v 1.17 2014/10/31 14:22:20 ryoon Exp $ GCC_PKGNAME= gcc48 .include "version.mk" +DISTNAME= gcc-${GCC48_DIST_VERSION} PKGNAME= ${GCC_PKGNAME}-${GCC48_DIST_VERSION} +## When bumping the PKGREVISION of this package the PKGREVISION of +## lang/gcc48-libs needs to be bump to be at least 1 more than the +## PKGREVISION of this package! +PKGREVISION= 1 CATEGORIES= lang +MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-${GCC48_DIST_VERSION}/} +EXTRACT_SUFX= .tar.bz2 MAINTAINER= sbd@NetBSD.org HOMEPAGE= http://gcc.gnu.org/ COMMENT= The GNU Compiler Collection (GCC) - 4.8 Release Series LICENSE= gnu-gpl-v2 AND gnu-gpl-v3 AND gnu-lgpl-v2 AND gnu-lgpl-v3 -META_PACKAGE= yes +DISTFILES= ${DEFAULT_DISTFILES} +EXTRACT_ONLY= ${DEFAULT_DISTFILES} -DEPENDS+= gcc48-libs-[0-9]*:../../lang/gcc48-libs -DEPENDS+= gcc48-cc++-[0-9]*:../../lang/gcc48-cc++ -DEPENDS+= gcc48-fortran-[0-9]*:../../lang/gcc48-fortran -DEPENDS+= gcc48-objc-[0-9]*:../../lang/gcc48-objc +NOT_FOR_PLATFORM= Interix-*-* +USE_LANGUAGES= c c++ +USE_TOOLS+= gmake makeinfo sed:run +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 + +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++ + +## 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} +CONFIGURE_ARGS+= --enable-libssp +CONFIGURE_ARGS+= --enable-threads=posix +CONFIGURE_ARGS+= --with-boot-ldflags=${BOOT_LDFLAGS:Q} +.if ${OPSYS} == "NetBSD" +CONFIGURE_ARGS+= --with-gnu-ld --with-ld=/usr/bin/ld +CONFIGURE_ARGS+= --with-gnu-as --with-as=/usr/bin/as +MAKE_ENV+= ac_cv_func_clock_gettime=yes +.endif +.if ${OPSYS} == "DragonFly" +CONFIGURE_ARGS+= --disable-bootstrap +.endif + +.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || !empty(MACHINE_PLATFORM:MLinux-*-i386) +CONFIGURE_ARGS+= --with-arch=i486 --with-tune=i486 +.endif + +.include "options.mk" + +# ${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 + +pre-configure: +.if ${OPSYS} == "OpenBSD" + cd ${WRKSRC}/gcc && \ + patch -p1 < ${FILESDIR}/patch-gcc_targhooks.c-openbsd.diff +.endif + ${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" diff --git a/lang/gcc48/Makefile.common b/lang/gcc48/Makefile.common deleted file mode 100644 index 2d213899b06..00000000000 --- a/lang/gcc48/Makefile.common +++ /dev/null @@ -1,180 +0,0 @@ -# $NetBSD: Makefile.common,v 1.4 2014/10/05 16:41:07 wiz Exp $ -# -# used by lang/gcc48-objc/Makefile -# used by lang/gcc48-libs/Makefile -# used by lang/gcc48-fortran/Makefile -# used by lang/gcc48-cc++/Makefile - -GCC_PKGNAME= gcc48 -.include "../../lang/gcc48/version.mk" - -DISTNAME= gcc-${GCC48_DIST_VERSION} -## When bumping the PKGREVISION of this package the PKGREVISION of -## lang/gcc48-* needs to be bump to be at least 1 more than the -## PKGREVISION of this package! -CATEGORIES= lang -MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-${GCC48_DIST_VERSION}/} -EXTRACT_SUFX= .tar.bz2 - -MAINTAINER= sbd@NetBSD.org -HOMEPAGE= http://gcc.gnu.org/ -LICENSE= gnu-gpl-v2 AND gnu-gpl-v3 AND gnu-lgpl-v2 AND gnu-lgpl-v3 - -DISTFILES+= ${DEFAULT_DISTFILES} -EXTRACT_ONLY+= ${DEFAULT_DISTFILES} - -DISTINFO_FILE= ${.CURDIR}/../../lang/gcc48/distinfo -PATCHDIR= ${.CURDIR}/../../lang/gcc48/patches -FILESDIR= ${.CURDIR}/../../lang/gcc48/files - -NOT_FOR_PLATFORM= Interix-*-* - -USE_LANGUAGES= c c++ -USE_TOOLS+= bison gmake makeinfo perl:build sed:run -USE_LIBTOOL= yes -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 - -PLIST_VARS+= java darwin unix libgcc_s nonetbsd -JAVA_MACHINE_ARCH= ${MACHINE_ARCH:S/x86_64/amd64/} -PLIST_SUBST+= JAVA_MACHINE_ARCH=${JAVA_MACHINE_ARCH} -PLIST_SUBST+= PKGVERSION_NOREV=${PKGVERSION_NOREV} - -# Errors in libgo/runtime/runtime.h -#BUILDLINK_TRANSFORM+= rm:-Werror -# segfault of gcj (Java) related programs -#BUILDLINK_TRANSFORM+= rename:-O2:-O1 - -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" - -.if ${OPSYS} == "Darwin" -PLIST.darwin= yes -.elif ${OPSYS} != "NetBSD" -PLIST.nonetbsd= yes -PLIST.unix= yes -.else # NetBSD -PLIST.libgcc_s= yes -PLIST.unix= yes -.endif - -# 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. -.if ${OPSYS} == "OpenBSD" -BOOT_LDFLAGS= -static ${LDFLAGS_FOR_TARGET} -.else -BOOT_LDFLAGS= -static-libstdc++ -static-libgcc ${LDFLAGS_FOR_TARGET} -.endif -# 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++ - -## For target librarys and libjava programs. -CONFIGURE_ENV+= LDFLAGS_FOR_TARGET=${LDFLAGS_FOR_TARGET:Q} - -CONFIGURE_ARGS+= --enable-languages=${LANGS:S/ /,/g:Q} -CONFIGURE_ARGS+= --enable-shared -CONFIGURE_ARGS+= --enable-long-long -CONFIGURE_ARGS+= --with-local-prefix=${GCC_PREFIX:Q} -CONFIGURE_ARGS+= --enable-libssp -CONFIGURE_ARGS+= --enable-threads=posix -CONFIGURE_ARGS+= --with-boot-ldflags=${BOOT_LDFLAGS:Q} -.if ${OPSYS} == "NetBSD" -#CONFIGURE_ARGS+= --disable-lto -CONFIGURE_ARGS+= --with-gnu-ld --with-ld=/usr/bin/ld -CONFIGURE_ARGS+= --with-gnu-as --with-as=/usr/bin/as -MAKE_ENV+= ac_cv_func_clock_gettime=yes -# for libjava's configure script -MAKE_ENV+= ac_cv_func_gethostbyname_r=no -.endif -.if ${OPSYS} == "DragonFly" -CONFIGURE_ARGS+= --disable-bootstrap -.endif - -.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || !empty(MACHINE_PLATFORM:MLinux-*-i386) -CONFIGURE_ARGS+= --with-arch=i486 --with-tune=i486 -.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 -.elif ${OPSYS} == "OpenBSD" -BUILDLINK_DEPMETHOD.binutils= full -. include "../../devel/binutils/buildlink3.mk" -CONFIGURE_ARGS+= --with-gnu-as --with-as=${PREFIX}/bin/gas -.endif - -# Create in-tree isl and cloog -.if !empty(PKG_OPTIONS:Mgcc-graphite) -post-extract: post-extract-graphite -.endif - -pre-configure: -.if ${OPSYS} == "OpenBSD" - cd ${WRKSRC}/gcc && \ - patch -p1 < ${FILESDIR}/patch-gcc_targhooks.c-openbsd.diff -.endif - ${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" - -.include "../../mk/dlopen.buildlink3.mk" -.include "../../mk/pthread.buildlink3.mk" -.include "../../mk/bsd.pkg.mk" diff --git a/lang/gcc48/buildlink3.mk b/lang/gcc48/buildlink3.mk new file mode 100644 index 00000000000..b4501aae19a --- /dev/null +++ b/lang/gcc48/buildlink3.mk @@ -0,0 +1,36 @@ +# $NetBSD: buildlink3.mk,v 1.5 2014/10/31 14:22:20 ryoon Exp $ + +BUILDLINK_TREE+= gcc48 + +.if !defined(GCC48_BUILDLINK3_MK) +GCC48_BUILDLINK3_MK:= + +BUILDLINK_API_DEPENDS.gcc48+= gcc48>=${_GCC_REQD} +BUILDLINK_ABI_DEPENDS.gcc48+= gcc48>=4.8.0 +BUILDLINK_PKGSRCDIR.gcc48= ../../lang/gcc48 +BUILDLINK_DEPMETHOD.gcc48?= build + +FIND_PREFIX:= BUILDLINK_PREFIX.gcc48=gcc48 +.include "../../mk/find-prefix.mk" +BUILDLINK_PASSTHRU_DIRS+= ${BUILDLINK_PREFIX.gcc48}/gcc48 + +BUILDLINK_FILES.gcc48= #empty +BUILDLINK_AUTO_VARS.gcc48= no + +# Packages that link against shared libraries need a full dependency. +.if defined(_USE_GCC_SHLIB) +DEPENDS+= {gcc,gcc48-libs}>=${_GCC_REQD}:../../lang/gcc48-libs +ABI_DEPENDS+= {gcc,gcc48-libs}>=4.8.0:../../lang/gcc48-libs +.endif + +pkgbase := gcc48 +.include "../../mk/pkg-build-options.mk" +.if !empty(PKG_BUILD_OPTIONS.gcc48:Mgcc-java) +.include "../../devel/zlib/buildlink3.mk" +.endif + +.include "../../mk/dlopen.buildlink3.mk" +.include "../../mk/pthread.buildlink3.mk" +.endif # GCC48_BUILDLINK3_MK + +BUILDLINK_TREE+= -gcc48 diff --git a/lang/gcc48/c++.mk b/lang/gcc48/c++.mk deleted file mode 100644 index d05e15d568f..00000000000 --- a/lang/gcc48/c++.mk +++ /dev/null @@ -1,8 +0,0 @@ -# $NetBSD: c++.mk,v 1.1 2014/04/22 20:46:41 ryoon Exp $ - -# Objective C and Objective C++ enabled gcc should be built. -LANGS+= c c++ objc obj-c++ - -USE_TOOLS+= perl -CONFIGURE_ARGS+= --enable-__cxa_atexit -CONFIGURE_ARGS+= --with-gxx-include-dir=${GCC_PREFIX}/include/c++/ diff --git a/lang/gcc48/distinfo b/lang/gcc48/distinfo index 0fec0ab077a..eaa3139b9d9 100644 --- a/lang/gcc48/distinfo +++ b/lang/gcc48/distinfo @@ -1,14 +1,8 @@ -$NetBSD: distinfo,v 1.17 2014/05/31 13:06:25 ryoon Exp $ +$NetBSD: distinfo,v 1.18 2014/10/31 14:22:20 ryoon Exp $ -SHA1 (cloog-0.18.1.tar.gz) = 2dc70313e8e2c6610b856d627bce9c9c3f848077 -RMD160 (cloog-0.18.1.tar.gz) = 5c4a182efc0d42e7d5c30e6fcca5832776a2e69a -Size (cloog-0.18.1.tar.gz) = 3857324 bytes SHA1 (gcc-4.8.3.tar.bz2) = da0a2b9ec074f2bf624a34f3507f812ebb6e4dce RMD160 (gcc-4.8.3.tar.bz2) = 2c7214ff607cbe822282c04d1d6f9fea765c82c5 Size (gcc-4.8.3.tar.bz2) = 86126808 bytes -SHA1 (isl-0.12.2.tar.bz2) = ca98a91e35fb3ded10d080342065919764d6f928 -RMD160 (isl-0.12.2.tar.bz2) = e8fb6bad4b579865a6a31c160fc21a0c9ad1e7b8 -Size (isl-0.12.2.tar.bz2) = 1319434 bytes SHA1 (patch-boehm-gc_configure) = 4ab0772cede9d4bef0c7eab412359f0700195135 SHA1 (patch-boehm-gc_dyn__load.c) = 48fa440a1b5c05835550c12039739feb35b8927b SHA1 (patch-boehm-gc_include_gc__config.h.in) = cbd88100e8fb371d3d42c531658ce467c823498e diff --git a/lang/gcc48/java.mk b/lang/gcc48/java.mk deleted file mode 100644 index b227c20487c..00000000000 --- a/lang/gcc48/java.mk +++ /dev/null @@ -1,53 +0,0 @@ -# $NetBSD: java.mk,v 1.1 2014/04/22 20:46:41 ryoon Exp $ - -LANGS+= java -USE_TOOLS+= perl - -# Add the Eclipse Java compiler for to parse `.java' source files. -ECJ_JAR= ecj-4.5.jar -SITES.${ECJ_JAR}= ftp://sourceware.org/pub/java/ -DISTFILES+= ${ECJ_JAR} -CONFIGURE_ARGS+= --with-ecj-jar=${DISTDIR:Q}/${ECJ_JAR:Q} - -JAVA_NAME= ${GCC_PKGNAME} -JAVA_HOME= ${PREFIX}/java/${JAVA_NAME} -.if !empty(PKGPATH:Mlang/gcc48-java) -JAVA_WRAPPERS= appletviewer jar jarsigner java javah keytool \ - native2ascii orbd rmic rmid rmiregistry serialver \ - tnameserv -.endif - -JAVA_ARCH= ${MACHINE_ARCH:S/x86_64/amd64/} - -PLIST_SUBST+= JAVA_NAME=${JAVA_NAME:Q} -PLIST_SUBST+= JAVA_ARCH=${JAVA_ARCH:Q} - -# Create a JPackage compatible SDK environment. -CONFIGURE_ARGS+= --enable-java-home -CONFIGURE_ARGS+= --with-os-directory=${LOWER_OPSYS:Q} -CONFIGURE_ARGS+= --with-arch-directory=${JAVA_ARCH:Q} -CONFIGURE_ARGS+= --with-jvm-root-dir=${JAVA_HOME:Q} -CONFIGURE_ARGS+= --with-java-home=${JAVA_HOME:Q} - -REPLACE_PYTHON= libjava/contrib/aot-compile.in - -USE_TOOLS+= unzip zip:run gmake:run -CONFIGURE_ARGS+= --with-system-zlib - -# libjava/contrib/aotcompile.py.in stores the path to a 'make' program so -# we need to make sure we give it the installed 'make' and not the tool -# wrapped one. -CONFIGURE_ENV+= PKGSRC_MAKE=${TOOLS_PATH.gmake} -MAKE_ENV+= PKGSRC_MAKE=${TOOLS_PATH.gmake} - -# fastjar-0.93 from pkgsrc/archivers/fastjar seems to trigger a build -# failure (seen on NetBSD-5.0/i386) when building java. So in case -# the fastjar package is installed, make sure the configure script -# doesn't pick it up. -CONFIGURE_ENV+= JAR=no -MAKE_ENV+= JAR=no -MAKE_ENV+= ac_cv_prog_JAR=no - -.include "../../devel/zlib/buildlink3.mk" -.include "../../lang/python/application.mk" -.include "../../mk/java-env.mk" diff --git a/lang/gcc48/options.mk b/lang/gcc48/options.mk index 262024e4e16..46d08d47dab 100644 --- a/lang/gcc48/options.mk +++ b/lang/gcc48/options.mk @@ -1,22 +1,20 @@ -# $NetBSD: options.mk,v 1.6 2014/05/31 13:06:25 ryoon Exp $ +# $NetBSD: options.mk,v 1.7 2014/10/31 14:22:20 ryoon Exp $ -PKG_OPTIONS_VAR= PKG_OPTIONS.gcc48 -PKG_SUPPORTED_OPTIONS= nls gcc-inplace-math gcc-graphite gcc-java -PKG_SUGGESTED_OPTIONS= gcc-graphite gcc-inplace-math +PKG_OPTIONS_VAR= PKG_OPTIONS.${GCC_PKGNAME} +PKG_SUPPORTED_OPTIONS= nls gcc-inplace-math gcc-c++ gcc-fortran gcc-java \ + gcc-go gcc-objc gcc-objc++ gcc-graphite +PKG_SUGGESTED_OPTIONS= gcc-c++ gcc-fortran gcc-objc gcc-objc++ gcc-graphite -.include "../../mk/bsd.prefs.mk" - -.if ${OPSYS} == "NetBSD" || ${OPSYS} == "Linux" || ${OPSYS} == "DragonFly" +.if ${OPSYS} == "NetBSD" PKG_SUGGESTED_OPTIONS+= nls -#.elif ${OPSYS} == "SunOS" -#PKG_SUGGESTED_OPTIONS+= gcc-inplace-math -.endif - -.include "../../mk/bsd.options.mk" - -.if !empty(PKG_OPTIONS:Mgcc-java) -.include "../../lang/gcc48/java.mk" -PLIST.java= yes +.elif ${OPSYS} == "Linux" +PKG_SUGGESTED_OPTIONS+= nls gcc-java +.elif ${OPSYS} == "DragonFly" +PKG_SUGGESTED_OPTIONS+= nls +.elif ${OPSYS} == "SunOS" +PKG_SUGGESTED_OPTIONS+= gcc-inplace-math +.else +PKG_SUGGESTED_OPTIONS+= gcc-java .endif ### @@ -36,6 +34,8 @@ PKG_SUPPORTED_OPTIONS+= gcc-multilib PKG_SUGGESTED_OPTIONS+= gcc-multilib .endif +.include "../../mk/bsd.options.mk" + ### ### Native Language Support ### @@ -46,9 +46,6 @@ CONFIGURE_ARGS+= --with-libiconv-prefix=${BUILDLINK_PREFIX.iconv} MAKE_ENV+= ICONVPREFIX=${BUILDLINK_PREFIX.iconv} .include "../../converters/libiconv/buildlink3.mk" .include "../../devel/gettext-lib/buildlink3.mk" -. if ${PKGPATH} == "lang/gcc48-cc++" -PLIST_SRC+= ${PLIST_SRC_DFLT} PLIST.nls -. endif .else CONFIGURE_ARGS+= --disable-nls .endif @@ -84,17 +81,102 @@ LIBS.SunOS+= -lgmp ### Graphite Support ### .if !empty(PKG_OPTIONS:Mgcc-graphite) -ISL12= isl-0.12.2 -SITES.${ISL12}.tar.bz2= ${MASTER_SITE_GNU:=gcc/infrastructure/} -CLOOG18= cloog-0.18.1 -SITES.${CLOOG18}.tar.gz= ${MASTER_SITE_GNU:=gcc/infrastructure/} -DISTFILES+= ${ISL12}.tar.bz2 ${CLOOG18}.tar.gz -EXTRACT_ONLY+= ${ISL12}.tar.bz2 ${CLOOG18}.tar.gz -post-extract-graphite: - ${MV} ${WRKDIR}/${ISL12} ${WRKSRC}/isl - ${MV} ${WRKDIR}/${CLOOG18} ${WRKSRC}/cloog -.else -CONFIGURE_ARGS+= --without-cloog --without-isl +CONFIGURE_ARGS+= --with-cloog=${BUILDLINK_PREFIX.cloog} +CONFIGURE_ARGS+= --enable-cloog-backend=isl +.include "../../math/cloog/buildlink3.mk" +.include "../../math/isl/buildlink3.mk" .endif -.include "../../mk/bsd.options.mk" +### +### Optional languages +### Ada could be added although there is a bootstrapping issue. See +### ../gcc34-ada for guidance +### + +.if !empty(PKG_OPTIONS:Mgcc-objc++) +. if empty(PKG_OPTIONS:Mgcc-c++) +PKG_OPTIONS+= gcc-c++ +. endif +. if empty(PKG_OPTIONS:Mgcc-objc) +PKG_OPTIONS+= gcc-objc +. endif +LANGS+= obj-c++ +.endif + +.if !empty(PKG_OPTIONS:Mgcc-objc) +LANGS+= objc +.endif + +.if !empty(PKG_OPTIONS:Mgcc-java) +. if empty(PKG_OPTIONS:Mgcc-c++) +PKG_OPTIONS+= gcc-c++ +. endif + +LANGS+= java + +# Add the Eclipse Java compiler for to parse `.java' source files. +ECJ_JAR= ecj-4.5.jar +SITES.${ECJ_JAR}= ftp://sourceware.org/pub/java/ +DISTFILES+= ${ECJ_JAR} +CONFIGURE_ARGS+= --with-ecj-jar=${DISTDIR:Q}/${ECJ_JAR:Q} + +JAVA_NAME= ${GCC_PKGNAME} +JAVA_HOME= ${PREFIX}/java/${JAVA_NAME} +JAVA_WRAPPERS= appletviewer jar jarsigner java javah keytool \ + native2ascii orbd rmic rmid rmiregistry serialver \ + tnameserv + +JAVA_ARCH= ${MACHINE_ARCH:S/x86_64/amd64/} + +PLIST_SRC+= PLIST.java +PLIST_SUBST+= JAVA_NAME=${JAVA_NAME:Q} +PLIST_SUBST+= JAVA_ARCH=${JAVA_ARCH:Q} + +# Create a JPackage compatible SDK environment. +CONFIGURE_ARGS+= --enable-java-home +CONFIGURE_ARGS+= --with-os-directory=${LOWER_OPSYS:Q} +CONFIGURE_ARGS+= --with-arch-directory=${JAVA_ARCH:Q} +CONFIGURE_ARGS+= --with-jvm-root-dir=${JAVA_HOME:Q} +CONFIGURE_ARGS+= --with-java-home=${JAVA_HOME:Q} + +REPLACE_PYTHON= libjava/contrib/aot-compile.in + +USE_TOOLS+= unzip zip:run gmake:run +CONFIGURE_ARGS+= --with-system-zlib + +# libjava/contrib/aotcompile.py.in stores the path to a 'make' program so +# we need to make sure we give it the installed 'make' and not the tool +# wrapped one. +CONFIGURE_ENV+= PKGSRC_MAKE=${TOOLS_PATH.gmake} +MAKE_ENV+= PKGSRC_MAKE=${TOOLS_PATH.gmake} + +# fastjar-0.93 from pkgsrc/archivers/fastjar seems to trigger a build +# failure (seen on NetBSD-5.0/i386) when building java. So in case +# the fastjar package is installed, make sure the configure script +# doesn't pick it up. +CONFIGURE_ENV+= JAR=no +MAKE_ENV+= JAR=no +MAKE_ENV+= ac_cv_prog_JAR=no + +.include "../../devel/zlib/buildlink3.mk" +.include "../../lang/python/application.mk" +.include "../../mk/java-env.mk" +.endif + +.if !empty(PKG_OPTIONS:Mgcc-go) +LANGS+= go +.endif + +.if !empty(PKG_OPTIONS:Mgcc-fortran) +LANGS+= fortran +.endif + +.if !empty(PKG_OPTIONS:Mgcc-c++) +LANGS+= c++ +USE_TOOLS+= perl +CONFIGURE_ARGS+= --enable-__cxa_atexit +CONFIGURE_ARGS+= --with-gxx-include-dir=${GCC_PREFIX}/include/c++/ +.else +CONFIGURE_ARGS+= --disable-build-with-cxx +CONFIGURE_ARGS+= --disable-build-poststage1-with-cxx +.endif |