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 += gcc47
|
||||
SUBDIR += gcc48
|
||||
SUBDIR += gcc49
|
||||
SUBDIR += gcl
|
||||
SUBDIR += gdc
|
||||
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