summaryrefslogtreecommitdiff
path: root/lang/gcc48
diff options
context:
space:
mode:
authorryoon <ryoon@pkgsrc.org>2014-10-31 14:22:20 +0000
committerryoon <ryoon@pkgsrc.org>2014-10-31 14:22:20 +0000
commitc2e1971e1444f675d8531a47eb69ebae1dd34493 (patch)
treed3db3555aff435b13571606fad8d8f3a16303d05 /lang/gcc48
parent25fb20c92b1c4e4046b0b75e46a5e9dbe4e20039 (diff)
downloadpkgsrc-c2e1971e1444f675d8531a47eb69ebae1dd34493.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/Makefile148
-rw-r--r--lang/gcc48/Makefile.common180
-rw-r--r--lang/gcc48/buildlink3.mk36
-rw-r--r--lang/gcc48/c++.mk8
-rw-r--r--lang/gcc48/distinfo8
-rw-r--r--lang/gcc48/java.mk53
-rw-r--r--lang/gcc48/options.mk144
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