mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 01:39:16 -04:00
Now that GCC 4.8.0 has been released, welcome GCC 4.9 in its very,
very early development stages. Business as usual with the C, C++, Fortran, Java compilers and tools invoked as gcc49, g++49, gfortran49, gcj49 and so forth. Initially this may be relatively stable due to the GCC 4.8.0 stabilization efforts, but be prepared for a rough ride the coming months as this goes through active development.
This commit is contained in:
parent
be00327d52
commit
b4a430c47e
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=315178
7 changed files with 275 additions and 0 deletions
|
@ -91,6 +91,7 @@
|
||||||
SUBDIR += gcc46
|
SUBDIR += gcc46
|
||||||
SUBDIR += gcc47
|
SUBDIR += gcc47
|
||||||
SUBDIR += gcc48
|
SUBDIR += gcc48
|
||||||
|
SUBDIR += gcc49
|
||||||
SUBDIR += gcl
|
SUBDIR += gcl
|
||||||
SUBDIR += gdc
|
SUBDIR += gdc
|
||||||
SUBDIR += gforth
|
SUBDIR += gforth
|
||||||
|
|
175
lang/gcc49/Makefile
Normal file
175
lang/gcc49/Makefile
Normal file
|
@ -0,0 +1,175 @@
|
||||||
|
# Created by: Gerald Pfeifer <gerald@FreeBSD.org>
|
||||||
|
# $FreeBSD$
|
||||||
|
|
||||||
|
PORTNAME= gcc
|
||||||
|
PORTVERSION= 4.9.0.20130319
|
||||||
|
CATEGORIES= lang java
|
||||||
|
MASTER_SITES= ${MASTER_SITE_GCC}
|
||||||
|
MASTER_SITE_SUBDIR= snapshots/${VERSIONSTRING}
|
||||||
|
DISTNAME= gcc-${VERSIONSTRING}
|
||||||
|
|
||||||
|
MAINTAINER= gerald@FreeBSD.org
|
||||||
|
COMMENT= GNU Compiler Collection 4.9
|
||||||
|
|
||||||
|
LIB_DEPENDS= gmp:${PORTSDIR}/math/gmp \
|
||||||
|
mpfr:${PORTSDIR}/math/mpfr \
|
||||||
|
mpc:${PORTSDIR}/math/mpc
|
||||||
|
BUILD_DEPENDS+= ${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils
|
||||||
|
RUN_DEPENDS+= ${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils
|
||||||
|
|
||||||
|
.if defined(MAINTAINER_MODE)
|
||||||
|
BUILD_DEPENDS+= runtest:${PORTSDIR}/misc/dejagnu
|
||||||
|
.endif
|
||||||
|
|
||||||
|
# VERSIONSTRING relates to downloads, GCC_VERSION and SUFFIX to names
|
||||||
|
# of executables and directories once installed.
|
||||||
|
VERSIONSTRING= ${PORTVERSION:C/([0-9]+\.[0-9]+).*\.([0-9]+)/\1-\2/}
|
||||||
|
GCC_VERSION= ${PORTVERSION:C/(.+)\.[0-9]{8}/\1/}
|
||||||
|
SUFFIX= ${PORTVERSION:C/([0-9]+).([0-9]+).*/\1\2/}
|
||||||
|
LATEST_LINK= gcc${SUFFIX}${PKGNAMESUFFIX}
|
||||||
|
ONLY_FOR_ARCHS= amd64 i386 powerpc powerpc64 sparc64
|
||||||
|
USE_BINUTILS= yes
|
||||||
|
USES= bison
|
||||||
|
USE_BZIP2= yes
|
||||||
|
USE_GMAKE= yes
|
||||||
|
USE_ICONV= yes
|
||||||
|
USE_PERL5_BUILD=yes
|
||||||
|
MAKE_JOBS_SAFE= yes
|
||||||
|
|
||||||
|
PATCH_WRKSRC= ${SRCDIR}
|
||||||
|
CONFIGURE_SCRIPT= ../${SRCDIR:S/${WRKDIR}\///}/configure
|
||||||
|
|
||||||
|
OPTIONS_DEFINE_i386= JAVA
|
||||||
|
OPTIONS_DEFINE_amd64= JAVA
|
||||||
|
OPTIONS_DEFAULT_i386= JAVA
|
||||||
|
OPTIONS_DEFAULT_amd64= JAVA
|
||||||
|
|
||||||
|
.include <bsd.port.pre.mk>
|
||||||
|
|
||||||
|
.if ${ARCH} == "amd64"
|
||||||
|
CONFIGURE_TARGET= x86_64-portbld-freebsd${OSREL}
|
||||||
|
.else
|
||||||
|
CONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL}
|
||||||
|
.endif
|
||||||
|
|
||||||
|
.if ${ARCH} == powerpc64
|
||||||
|
CONFIGURE_ENV+= UNAME_m="powerpc64"
|
||||||
|
.endif
|
||||||
|
|
||||||
|
LANGUAGES:= c,c++,objc,fortran
|
||||||
|
SRCDIR= ${WRKDIR}/gcc-${VERSIONSTRING}
|
||||||
|
WRKSRC= ${WRKDIR}/build
|
||||||
|
TARGLIB= ${PREFIX}/lib/gcc${SUFFIX}
|
||||||
|
LIBEXEC= ${PREFIX}/libexec/gcc${SUFFIX}
|
||||||
|
GNU_CONFIGURE= yes
|
||||||
|
CFLAGS+= -I${LOCALBASE}/include
|
||||||
|
CONFIGURE_ARGS+=--disable-nls \
|
||||||
|
--libdir=${TARGLIB} \
|
||||||
|
--libexecdir=${LIBEXEC} \
|
||||||
|
--program-suffix=${SUFFIX} \
|
||||||
|
--with-as=${LOCALBASE}/bin/as \
|
||||||
|
--with-gmp=${LOCALBASE} \
|
||||||
|
--with-gxx-include-dir=${TARGLIB}/include/c++/ \
|
||||||
|
--with-ld=${LOCALBASE}/bin/ld \
|
||||||
|
--with-libiconv-prefix=${LOCALBASE} \
|
||||||
|
--with-pkgversion="FreeBSD Ports Collection" \
|
||||||
|
--with-system-zlib
|
||||||
|
MAKE_ARGS+= MAKEINFOFLAGS="--no-split"
|
||||||
|
ALL_TARGET= bootstrap-lean
|
||||||
|
USE_LDCONFIG= ${TARGLIB}
|
||||||
|
PLIST_SUB= GCC_VERSION=${GCC_VERSION} \
|
||||||
|
GNU_HOST=${CONFIGURE_TARGET} \
|
||||||
|
SUFFIX=${SUFFIX}
|
||||||
|
MAN1= cpp${SUFFIX}.1 \
|
||||||
|
g++${SUFFIX}.1 \
|
||||||
|
gcc${SUFFIX}.1 \
|
||||||
|
gcov${SUFFIX}.1 \
|
||||||
|
gfortran${SUFFIX}.1
|
||||||
|
INFO= gcc${SUFFIX}/cpp \
|
||||||
|
gcc${SUFFIX}/cppinternals \
|
||||||
|
gcc${SUFFIX}/gcc \
|
||||||
|
gcc${SUFFIX}/gccinstall \
|
||||||
|
gcc${SUFFIX}/gccint \
|
||||||
|
gcc${SUFFIX}/gfortran \
|
||||||
|
gcc${SUFFIX}/libgomp
|
||||||
|
.if ${ARCH} == "i386" || ${ARCH} == "amd64" || ${ARCH} == "alpha"
|
||||||
|
INFO+= gcc${SUFFIX}/libquadmath \
|
||||||
|
gcc${SUFFIX}/libitm
|
||||||
|
.endif
|
||||||
|
|
||||||
|
.if ${PORT_OPTIONS:MJAVA}
|
||||||
|
ECJ_JAR= ${LOCALBASE}/share/java/ecj-4.5.jar
|
||||||
|
BUILD_DEPENDS+= ${ECJ_JAR}:${PORTSDIR}/lang/gcc-ecj45 \
|
||||||
|
zip:${PORTSDIR}/archivers/zip
|
||||||
|
RUN_DEPENDS+= ${ECJ_JAR}:${PORTSDIR}/lang/gcc-ecj45
|
||||||
|
EXTRA_PATCHES+= ${FILESDIR}/java-patch-hier
|
||||||
|
CONFIGURE_ARGS+=--with-ecj-jar=${ECJ_JAR}
|
||||||
|
LANGUAGES:= ${LANGUAGES},java
|
||||||
|
MAN1+= aot-compile${SUFFIX}.1 \
|
||||||
|
gappletviewer${SUFFIX}.1 \
|
||||||
|
gc-analyze${SUFFIX}.1 \
|
||||||
|
gcj${SUFFIX}.1 \
|
||||||
|
gcj-dbtool${SUFFIX}.1 \
|
||||||
|
gcjh${SUFFIX}.1 \
|
||||||
|
gij${SUFFIX}.1 \
|
||||||
|
gjar${SUFFIX}.1 \
|
||||||
|
gjarsigner${SUFFIX}.1 \
|
||||||
|
gjavah${SUFFIX}.1 \
|
||||||
|
gjdoc${SUFFIX}.1 \
|
||||||
|
gkeytool${SUFFIX}.1 \
|
||||||
|
gnative2ascii${SUFFIX}.1 \
|
||||||
|
gorbd${SUFFIX}.1 \
|
||||||
|
grmic${SUFFIX}.1 \
|
||||||
|
grmid${SUFFIX}.1 \
|
||||||
|
grmiregistry${SUFFIX}.1 \
|
||||||
|
gserialver${SUFFIX}.1 \
|
||||||
|
gtnameserv${SUFFIX}.1 \
|
||||||
|
jcf-dump${SUFFIX}.1 \
|
||||||
|
jv-convert${SUFFIX}.1 \
|
||||||
|
rebuild-gcj-db${SUFFIX}.1
|
||||||
|
MAN3= ffi${SUFFIX}.3 \
|
||||||
|
ffi_call${SUFFIX}.3 \
|
||||||
|
ffi_prep_cif${SUFFIX}.3 \
|
||||||
|
ffi_prep_cif_var${SUFFIX}.3
|
||||||
|
INFO+= gcc${SUFFIX}/cp-tools \
|
||||||
|
gcc${SUFFIX}/gcj \
|
||||||
|
gcc${SUFFIX}/libffi
|
||||||
|
PLIST_SUB+= JAVA=""
|
||||||
|
.else
|
||||||
|
CONFIGURE_ARGS+=--disable-libgcj
|
||||||
|
PLIST_SUB+= JAVA="@comment "
|
||||||
|
.endif
|
||||||
|
CONFIGURE_ARGS+=--enable-languages=${LANGUAGES}
|
||||||
|
|
||||||
|
pre-everything::
|
||||||
|
@${ECHO_MSG} "Making GCC ${PORTVERSION} for ${CONFIGURE_TARGET} [${LANGUAGES}]"
|
||||||
|
|
||||||
|
pre-configure:
|
||||||
|
cd ${SRCDIR} ; contrib/gcc_update --touch
|
||||||
|
@${RM} -f ${SRCDIR}/gcc/*/*.info*
|
||||||
|
@${MKDIR} ${CONFIGURE_WRKSRC}
|
||||||
|
|
||||||
|
.if defined(MAINTAINER_MODE)
|
||||||
|
full-regression-test: build
|
||||||
|
cd ${WRKSRC}; ${GMAKE} -sk check
|
||||||
|
.endif
|
||||||
|
|
||||||
|
post-install:
|
||||||
|
${RM} -f ${PREFIX}/man/man7/fsf-funding.7 \
|
||||||
|
${PREFIX}/man/man7/gfdl.7 ${PREFIX}/man/man7/gpl.7
|
||||||
|
${RM} -f ${TARGLIB}/*.la
|
||||||
|
# Add target libraries and include files to packaging list.
|
||||||
|
${RM} -f ${WRKDIR}/PLIST.lib
|
||||||
|
.for d in ${TARGLIB:S/^${PREFIX}\///} ${LIBEXEC:S/^${PREFIX}\///} include/gcj include/gnu include/java include/javax
|
||||||
|
cd ${PREFIX} ; if [ -d $d ]; then \
|
||||||
|
${FIND} $d -type f -o -type l >>${WRKDIR}/PLIST.lib ;\
|
||||||
|
${FIND} $d -type d | ${SORT} -r \
|
||||||
|
| ${SED} -e 's/^/@dirrm /g' >>${WRKDIR}/PLIST.lib ;\
|
||||||
|
fi
|
||||||
|
.endfor
|
||||||
|
cd ${WRKDIR} ; ${SED} -i -e "/PLIST.lib/ r PLIST.lib" ${TMPPLIST}
|
||||||
|
@if type ccache-update-links >/dev/null 2>&1; then \
|
||||||
|
ccache-update-links -v; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
.include <bsd.port.post.mk>
|
2
lang/gcc49/distinfo
Normal file
2
lang/gcc49/distinfo
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
SHA256 (gcc-4.9-20130319.tar.bz2) = 8c27127aef5f3cb516f7d091ce258d3cdb9075112dc38ed134669362f1b84158
|
||||||
|
SIZE (gcc-4.9-20130319.tar.bz2) = 82611767
|
13
lang/gcc49/files/java-patch-hier
Normal file
13
lang/gcc49/files/java-patch-hier
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
Index: libjava/Makefile.in
|
||||||
|
===================================================================
|
||||||
|
--- libjava/Makefile.in (revision 117734)
|
||||||
|
+++ libjava/Makefile.in (working copy)
|
||||||
|
@@ -712,7 +712,7 @@
|
||||||
|
$(am__append_2) $(am__append_3)
|
||||||
|
toolexecmainlib_DATA = libgcj.spec
|
||||||
|
dbexec_LTLIBRARIES = libjvm.la
|
||||||
|
-pkgconfigdir = $(libdir)/pkgconfig
|
||||||
|
+pkgconfigdir = $(prefix)/libdata/pkgconfig
|
||||||
|
jardir = $(datadir)/java
|
||||||
|
jar_DATA = libgcj-$(gcc_version).jar libgcj-tools-$(gcc_version).jar
|
||||||
|
@JAVA_HOME_SET_FALSE@JAVA_HOME_DIR = $(prefix)
|
20
lang/gcc49/files/patch-unwind-ia64.h
Normal file
20
lang/gcc49/files/patch-unwind-ia64.h
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
2012-12-17 Gerald Pfeifer <gerald@pfeifer.com>
|
||||||
|
Anton Shterenlikht <mexas@bristol.ac.uk>
|
||||||
|
|
||||||
|
PR target/45650
|
||||||
|
* config/ia64/unwind-ia64.h: Do not mark _Unwind_FindTableEntry
|
||||||
|
hidden on FreeBSD.
|
||||||
|
|
||||||
|
Index: libgcc/config/ia64/unwind-ia64.h
|
||||||
|
===================================================================
|
||||||
|
--- libgcc/config/ia64/unwind-ia64.h
|
||||||
|
+++ libgcc/config/ia64/unwind-ia64.h (working copy)
|
||||||
|
@@ -49,4 +49,7 @@
|
||||||
|
extern struct unw_table_entry *
|
||||||
|
_Unwind_FindTableEntry (void *pc, unw_word *segment_base,
|
||||||
|
unw_word *gp, struct unw_table_entry *ent)
|
||||||
|
- __attribute__ ((__visibility__ ("hidden")));
|
||||||
|
+#ifndef __FreeBSD__
|
||||||
|
+ __attribute__ ((__visibility__ ("hidden")))
|
||||||
|
+#endif
|
||||||
|
+ ;
|
7
lang/gcc49/pkg-descr
Normal file
7
lang/gcc49/pkg-descr
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
GCC, the GNU Compiler Collection, supports a number of languages. This
|
||||||
|
port installs the C, C++, Fortran and Java front ends as gcc49, g++49,
|
||||||
|
gfortran49, and gcj49, respectively.
|
||||||
|
|
||||||
|
WWW: http://gcc.gnu.org/
|
||||||
|
|
||||||
|
Gerald Pfeifer <gerald@FreeBSD.org>
|
57
lang/gcc49/pkg-plist
Normal file
57
lang/gcc49/pkg-plist
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
@comment $FreeBSD$
|
||||||
|
bin/%%GNU_HOST%%-c++%%SUFFIX%%
|
||||||
|
bin/%%GNU_HOST%%-g++%%SUFFIX%%
|
||||||
|
bin/%%GNU_HOST%%-gcc%%SUFFIX%%
|
||||||
|
bin/%%GNU_HOST%%-gcc-%%GCC_VERSION%%
|
||||||
|
bin/%%GNU_HOST%%-gcc-ar%%SUFFIX%%
|
||||||
|
bin/%%GNU_HOST%%-gcc-nm%%SUFFIX%%
|
||||||
|
bin/%%GNU_HOST%%-gcc-ranlib%%SUFFIX%%
|
||||||
|
bin/%%GNU_HOST%%-gfortran%%SUFFIX%%
|
||||||
|
bin/c++%%SUFFIX%%
|
||||||
|
bin/cpp%%SUFFIX%%
|
||||||
|
bin/g++%%SUFFIX%%
|
||||||
|
bin/gcc%%SUFFIX%%
|
||||||
|
bin/gcc-ar%%SUFFIX%%
|
||||||
|
bin/gcc-nm%%SUFFIX%%
|
||||||
|
bin/gcc-ranlib%%SUFFIX%%
|
||||||
|
bin/gcov%%SUFFIX%%
|
||||||
|
bin/gfortran%%SUFFIX%%
|
||||||
|
info/gcc%%SUFFIX%%/dir
|
||||||
|
%%JAVA%%share/gcc-%%GCC_VERSION%%/python/libjava/aotcompile.py
|
||||||
|
%%JAVA%%share/gcc-%%GCC_VERSION%%/python/libjava/classfile.py
|
||||||
|
%%JAVA%%@dirrm share/gcc-%%GCC_VERSION%%/python/libjava
|
||||||
|
share/gcc-%%GCC_VERSION%%/python/libstdcxx/__init__.py
|
||||||
|
share/gcc-%%GCC_VERSION%%/python/libstdcxx/v6/__init__.py
|
||||||
|
share/gcc-%%GCC_VERSION%%/python/libstdcxx/v6/printers.py
|
||||||
|
@dirrm share/gcc-%%GCC_VERSION%%/python/libstdcxx/v6
|
||||||
|
@dirrm share/gcc-%%GCC_VERSION%%/python/libstdcxx
|
||||||
|
@dirrm share/gcc-%%GCC_VERSION%%/python
|
||||||
|
@dirrm share/gcc-%%GCC_VERSION%%
|
||||||
|
%%JAVA%%bin/%%GNU_HOST%%-gcj%%SUFFIX%%
|
||||||
|
%%JAVA%%bin/aot-compile%%SUFFIX%%
|
||||||
|
%%JAVA%%bin/gappletviewer%%SUFFIX%%
|
||||||
|
%%JAVA%%bin/gc-analyze%%SUFFIX%%
|
||||||
|
%%JAVA%%bin/gcj%%SUFFIX%%
|
||||||
|
%%JAVA%%bin/gcj-dbtool%%SUFFIX%%
|
||||||
|
%%JAVA%%bin/gcjh%%SUFFIX%%
|
||||||
|
%%JAVA%%bin/gij%%SUFFIX%%
|
||||||
|
%%JAVA%%bin/gjar%%SUFFIX%%
|
||||||
|
%%JAVA%%bin/gjarsigner%%SUFFIX%%
|
||||||
|
%%JAVA%%bin/gjavah%%SUFFIX%%
|
||||||
|
%%JAVA%%bin/gkeytool%%SUFFIX%%
|
||||||
|
%%JAVA%%bin/gnative2ascii%%SUFFIX%%
|
||||||
|
%%JAVA%%bin/gorbd%%SUFFIX%%
|
||||||
|
%%JAVA%%bin/grmic%%SUFFIX%%
|
||||||
|
%%JAVA%%bin/grmid%%SUFFIX%%
|
||||||
|
%%JAVA%%bin/grmiregistry%%SUFFIX%%
|
||||||
|
%%JAVA%%bin/gserialver%%SUFFIX%%
|
||||||
|
%%JAVA%%bin/gtnameserv%%SUFFIX%%
|
||||||
|
%%JAVA%%bin/jcf-dump%%SUFFIX%%
|
||||||
|
%%JAVA%%bin/jv-convert%%SUFFIX%%
|
||||||
|
%%JAVA%%bin/rebuild-gcj-db%%SUFFIX%%
|
||||||
|
%%JAVA%%libdata/pkgconfig/libgcj-4.9.pc
|
||||||
|
%%JAVA%%share/java/libgcj-%%GCC_VERSION%%.jar
|
||||||
|
%%JAVA%%share/java/libgcj-tools-%%GCC_VERSION%%.jar
|
||||||
|
@exec if type ccache-update-links >/dev/null 2>&1; then ccache-update-links -v; fi
|
||||||
|
@unexec if type ccache-update-links >/dev/null 2>&1; then ccache-update-links -v; fi
|
||||||
|
@comment Insert PLIST.lib here
|
Loading…
Add table
Reference in a new issue