[60290] trunk/dports/lang/g95
takeshi at macports.org
takeshi at macports.org
Sun Nov 8 05:44:42 PST 2009
Revision: 60290
http://trac.macports.org/changeset/60290
Author: takeshi at macports.org
Date: 2009-11-08 05:44:39 -0800 (Sun, 08 Nov 2009)
Log Message:
-----------
g95: Updated for Snow Leopard (links to gcc-4.2.4, defalut_variants gcc42). Variant gcc42 works on Intel Mac but PPC Mac
Modified Paths:
--------------
trunk/dports/lang/g95/Portfile
trunk/dports/lang/g95/files/patch-Makefile.in.diff
Added Paths:
-----------
trunk/dports/lang/g95/files/patch-darwin.h.diff
trunk/dports/lang/g95/files/patch-gcc.c.diff
trunk/dports/lang/g95/files/patch-lang.opt.diff
Modified: trunk/dports/lang/g95/Portfile
===================================================================
--- trunk/dports/lang/g95/Portfile 2009-11-08 10:54:20 UTC (rev 60289)
+++ trunk/dports/lang/g95/Portfile 2009-11-08 13:44:39 UTC (rev 60290)
@@ -5,7 +5,7 @@
name g95
version 0.91
-revision 1
+revision 2
platforms darwin
categories lang
maintainers takeshi
@@ -19,11 +19,21 @@
master_sites ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.0.4/:gcc \
http://ftp.g95.org/v${version}/:g95
-set version_gcc 4.0.4
+if {[variant_isset gcc42] || (${os.platform}=="darwin" && ${os.major}>=10)} {
+ set version_gcc 4.2.4
+ dist_subdir gcc42
+ array set barch {ppc powerpc ppc64 powerpc64 i386 i386 x86_64 x86_64}
+ set triple $barch(${build_arch})-apple-darwin${os.major}
+} else {
+ set version_gcc 4.0.4
+ dist_subdir gcc40
+ set triple ${os.arch}-apple-darwin${os.major}
+}
+set buildhost "--build=${triple} --host=${triple}"
+
set dcore gcc-core-${version_gcc}.tar.bz2
-dist_subdir gcc40
set dg95 ${name}_source.tgz
-set gcclib lib/gcc-lib/${os.arch}-apple-${os.platform}${os.version}/${version_gcc}
+set gcclib lib/${name}/${triple}/${version_gcc}
distfiles ${dcore}:gcc ${dg95}:g95
checksums ${dcore} md5 193e0a7a471cca70e374974bc5a60137 \
@@ -33,6 +43,8 @@
${dg95} sha1 aa58510c04e357439a4bf34c54d380e9079395d5 \
${dg95} rmd160 f0a8325c0e930d69d2def16eaa3c6c21dfd2b5a8
+depends_lib port:libtool port:libiconv
+
patchfiles patch-Makefile.in.diff \
patch-host-darwin.c.diff \
patch-darwin-fallback.c.diff
@@ -46,9 +58,15 @@
}
post-extract {
- system "tar jxvf ${distpath}/${dcore} -C ${workpath}"
+ system "tar jxvf ${distpath}/${dcore} -C ${workpath}; \
+ cd ${worksrcpath}; tar zxvf libf95.a-${version}.tar.gz"
}
+post-patch {
+ reinplace "s|gcc-lib|$name|" ${worksrcpath}/configure
+ reinplace "s|gcc-lib|$name|" ${worksrcpath}/libf95.a-${version}/configure
+}
+
pre-configure {
file mkdir ${workpath}/gcc-${version_gcc}/${name}
reinplace "s|tjmp %%edx|tjmp *%%edx|" ${workpath}/gcc-${version_gcc}/gcc/config/i386/i386.c
@@ -59,41 +77,44 @@
reinplace "s|/usr/bin/libtool|${prefix}/bin/odlibtool|" ${workpath}/gcc-${version_gcc}/gcc/config/darwin.h
set gcc_configargs "--with-as=${prefix}/bin/odas --with-ld=${prefix}/bin/odld --with-nm=${prefix}/bin/odnm"
}
- system "unset CPPFLAGS; unset LDFLAGS; \
- export CPPFLAGS=-I${prefix}/include; \
+ system "export CPPFLAGS=\"${configure.cppflags}\"; \
+ export CFLAGS=\"${configure.cflags}\"; \
+ export LDFLAGS=\"${configure.ldflags}\"; \
cd ${workpath}/gcc-${version_gcc}/${name}; \
- ../configure --prefix=${prefix}/${gcclib} --with-libiconv-prefix=${prefix}/include \
- --enable-languages=c ${gcc_configargs} --with-included-gettext; \
+ ../configure --prefix=${prefix}/${gcclib} \
+ --enable-languages=c \
+ --with-included-gettext \
+ --with-libiconv=${prefix} \
+ --libdir=${prefix}/lib/${name} \
+ ${gcc_configargs} ${buildhost}; \
make"
+ if {[variant_isset gcc42]} {
+ system "cd ${workpath}/gcc-${version_gcc}/${name}/gcc; \
+ ar d libbackend.a options.o; \
+ cd ${workpath}/gcc-${version_gcc}/gcc/; \
+ patch -p0 < ${portpath}/files/patch-gcc.c.diff"
+ }
}
-configure.args --with-gcc-dir=${workpath}/gcc-${version_gcc}
+configure.args --with-gcc-dir=${workpath}/gcc-${version_gcc} ${buildhost}
post-build {
- system "cd ${worksrcpath}; tar zxvf libf95.a-${version}.tar.gz; \
- cd libf95.a-${version}; \
- export CFLAGS='-O2 -fno-common'; \
- ./configure --prefix=${prefix}; \
+ system "cd ${worksrcpath}/libf95.a-${version}; \
+ export CFLAGS=${configure.cflags}; \
+ ./configure --prefix=${prefix} ${buildhost}; \
make"
}
-pre-destroot {
- reinplace "s|${prefix}/${gcclib}|${destroot}${prefix}/${gcclib}|g" ${worksrcpath}/Makefile
- reinplace "s|${prefix}/${gcclib}|${destroot}${prefix}/${gcclib}|g" ${worksrcpath}/libf95.a-${version}/Makefile
-}
-
-destroot {
- system "cd ${worksrcpath}; \
- make install prefix=${destroot}${prefix}; \
- cd libf95.a-${version}; \
- make install prefix=${destroot}${prefix}; \
- ranlib ${destroot}${prefix}/${gcclib}/libf95.a; \
- ranlib ${destroot}${prefix}/${gcclib}/libgcc.a; \
- ranlib ${destroot}${prefix}/${gcclib}/libgcc_eh.a"
- file mkdir ${destroot}${prefix}/share/doc/${name}
- file rename ${destroot}${prefix}/G95Manual.pdf ${destroot}${prefix}/share/doc/${name}
+post-destroot {
+ system "cd ${worksrcpath}/libf95.a-${version}; \
+ make install DESTDIR=${destroot}; \
+ ranlib ${destroot}${prefix}/${gcclib}/libf95.a; \
+ ranlib ${destroot}${prefix}/${gcclib}/libgcc.a; \
+ ranlib ${destroot}${prefix}/${gcclib}/libgcc_eh.a"
+ xinstall -d ${destroot}${prefix}/share/doc/${name}
+ xinstall -m 644 ${worksrcpath}/G95Manual.pdf ${destroot}${prefix}/share/doc/${name}
system "ln -sf ${prefix}/${gcclib}/libf95.a ${destroot}${prefix}/lib/libf95.a"
- file mkdir ${destroot}${prefix}/${gcclib}/lib
+ xinstall -d ${destroot}${prefix}/${gcclib}/lib
system "ln -sf ${prefix}/${gcclib}/libgcc_s.1.0.dylib ${destroot}${prefix}/${gcclib}/lib/libgcc_s.1.0.dylib"
system "ln -sf ${prefix}/${gcclib}/libgcc_s.1.0.dylib ${destroot}${prefix}/${gcclib}/lib/libgcc_s.dylib"
}
@@ -102,3 +123,29 @@
patchfiles-delete patch-host-darwin.c.diff patch-darwin-fallback.c.diff
depends_lib-append port:odcctools
}
+
+platform darwin 10 {}
+if {[variant_isset darwin_10]} {
+ default_variants +gcc42
+}
+
+variant gcc42 description {link against gcc42} {
+ master_sites-delete ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.0.4/:gcc
+ master_sites-append ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.2.4/:gcc
+ checksums-delete ${dcore} md5 193e0a7a471cca70e374974bc5a60137 \
+ ${dcore} sha1 55c664b33a4dc6b2130c47da28a1d6daab732ce9 \
+ ${dcore} rmd160 af67dc8385942450f6b27ad83a6b9e3d22f779a1
+ checksums-append ${dcore} md5 b7a4c167f6a05301591b139b356e36d0 \
+ ${dcore} sha1 540fa6949415ded321a7cbe80bbf8befe85e3566 \
+ ${dcore} rmd160 d54581d0a2ecc22718e6be101c6dc524a4a88463
+ patchfiles-append patch-lang.opt.diff patch-darwin.h.diff
+ patchfiles-delete patch-host-darwin.c.diff patch-darwin-fallback.c.diff
+
+ post-configure {
+ reinplace "s|\(f951_LDADD\)|(f951_LDADD) ${workpath}/gcc-${version_gcc}/g95/libdecnumber/*.o|" ${worksrcpath}/Makefile
+ }
+
+ pre-build {
+ reinplace "s|\(g95_LDADD\)|(g95_LDADD) ${workpath}/gcc-${version_gcc}/g95/gcc/driver-i386.o|" ${worksrcpath}/Makefile
+ }
+}
Modified: trunk/dports/lang/g95/files/patch-Makefile.in.diff
===================================================================
--- trunk/dports/lang/g95/files/patch-Makefile.in.diff 2009-11-08 10:54:20 UTC (rev 60289)
+++ trunk/dports/lang/g95/files/patch-Makefile.in.diff 2009-11-08 13:44:39 UTC (rev 60290)
@@ -1,24 +1,55 @@
---- Makefile.in.orig 2007-03-02 15:15:24.000000000 +0900
-+++ Makefile.in 2007-03-02 15:53:28.000000000 +0900
-@@ -2589,7 +2589,6 @@
+--- Makefile.in.orig 2009-11-05 16:53:58.000000000 +0900
++++ Makefile.in 2009-11-05 16:55:16.000000000 +0900
+@@ -272,7 +272,9 @@
+ @GCC_TRUE at f951_LDADD = @GCC_DIR@/g95/gcc/main.o @GCC_DIR@/g95/gcc/libbackend.a \
+ @GCC_TRUE@ @GCC_DIR@/g95/libcpp/libcpp.a \
+ @GCC_TRUE@ @GCC_DIR@/g95/libiberty/libiberty.a \
+- at GCC_TRUE@ options.o opts.o version.o ggc-page.o @LDADD0@
++ at GCC_TRUE@ options.o opts.o version.o ggc-page.o \
++ at GCC_DIR@/g95/gcc/libbackend.a \
++ at LDADD0@
+ @GCC_FALSE at g95_SOURCES = arith.c array.c bbt.c bigint.c bigreal.c check.c decl.c \
+ @GCC_FALSE at dump.c entry.c error.c expr.c forall.c format.c g95.h imodule.c \
+@@ -1257,7 +1259,6 @@
+
install-exec-am: install-binPROGRAMS
@$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
- install-info: install-info-am
+ install-html: install-html-am
-@@ -2653,13 +2652,9 @@
+@@ -1332,27 +1333,22 @@
+ mv $(bindir)/g95$(EXEEXT) $(bindir)/$(host)-g95$(EXEEXT)
+
install-data-hook:
- -ln -sf f951$(EXEEXT) @DEST_LIBDIR@/cc1
+- -ln -sf f951$(EXEEXT) @DEST_LIBDIR@/cc1
++ -ln -sf f951$(EXEEXT) $(DESTDIR)@DEST_LIBDIR@/cc1
if test "`uname`" = "Darwin" ; then \
- ar x /usr/lib/libgcc.a darwin-fpsave.o ; \
- ar rs @DEST_LIBDIR@/libgcc.a darwin-fpsave.o ; \
- rm ./darwin-fpsave.o ; \
- ranlib @DEST_LIBDIR@/libgcc_eh.a ; \
- ranlib @DEST_LIBDIR@/libgcc.a ; \
+- ranlib @DEST_LIBDIR@/libgcc_eh.a ; \
+- ranlib @DEST_LIBDIR@/libgcc.a ; \
++ ranlib $(DESTDIR)@DEST_LIBDIR@/libgcc_eh.a ; \
++ ranlib $(DESTDIR)@DEST_LIBDIR@/libgcc.a ; \
fi
- cp INSTALL @DEST_LIBDIR@/../../../..
- cp G95Manual.pdf @DEST_LIBDIR@/../../../..
+- cp G95Manual.pdf @DEST_LIBDIR@/../../../..
if test -n "`ls @GCC_DIR@/g95/gcc/libgcc_s.*`" ; then \
(cd @GCC_DIR@/g95/gcc; tar cf - libgcc_s.*) | \
+- (cd @DEST_LIBDIR@; tar xf -) ; \
++ (cd $(DESTDIR)@DEST_LIBDIR@; tar xf -) ; \
+ fi
+ if test -n "`ls @GCC_DIR@/g95/gcc/libunwind.*`" ; then \
+ (cd @GCC_DIR@/g95/gcc; tar cf - libunwind.*) | \
+- (cd @DEST_LIBDIR@; tar xf -) ; \
++ (cd $(DESTDIR)@DEST_LIBDIR@; tar xf -) ; \
+ fi
+ if test -n "`ls @GCC_DIR@/g95/gcc/libgcc_eh.*`" ; then \
+ (cd @GCC_DIR@/g95/gcc; tar cf - libgcc_eh.*) | \
+- (cd @DEST_LIBDIR@; tar xf -) ; \
++ (cd $(DESTDIR)@DEST_LIBDIR@; tar xf -) ; \
+ fi
+
+ ggc-page.o: ggc-page40.c ggc-page41.c
Added: trunk/dports/lang/g95/files/patch-darwin.h.diff
===================================================================
--- trunk/dports/lang/g95/files/patch-darwin.h.diff (rev 0)
+++ trunk/dports/lang/g95/files/patch-darwin.h.diff 2009-11-08 13:44:39 UTC (rev 60290)
@@ -0,0 +1,16 @@
+--- ../gcc-4.2.4/gcc/config/darwin.h.orig 2009-10-27 21:51:57.000000000 +0900
++++ ../gcc-4.2.4/gcc/config/darwin.h 2009-10-27 21:53:42.000000000 +0900
+@@ -237,12 +237,7 @@
+ %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %G %L}} \
+ %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} %{F*} }}}}}}}}"
+
+-#ifdef TARGET_SYSTEM_ROOT
+-#define LINK_SYSROOT_SPEC \
+- "%{isysroot*:-syslibroot %*;:-syslibroot " TARGET_SYSTEM_ROOT "}"
+-#else
+-#define LINK_SYSROOT_SPEC "%{isysroot*:-syslibroot %*}"
+-#endif
++#define LINK_SYSROOT_SPEC ""
+
+ /* Please keep the random linker options in alphabetical order (modulo
+ 'Z' and 'no' prefixes). Options that can only go to one of libtool
Added: trunk/dports/lang/g95/files/patch-gcc.c.diff
===================================================================
--- trunk/dports/lang/g95/files/patch-gcc.c.diff (rev 0)
+++ trunk/dports/lang/g95/files/patch-gcc.c.diff 2009-11-08 13:44:39 UTC (rev 60290)
@@ -0,0 +1,20 @@
+--- gcc.c.orig 2009-10-27 22:53:00.000000000 +0900
++++ gcc.c 2009-10-27 22:59:17.000000000 +0900
+@@ -107,6 +107,8 @@
+ #define TARGET_OBJECT_SUFFIX ".o"
+ #endif
+
++int target_flags;
++
+ static const char dir_separator_str[] = { DIR_SEPARATOR, 0 };
+
+ /* Most every one is fine with LIBRARY_PATH. For some, it conflicts. */
+@@ -6095,8 +6097,6 @@
+
+ expandargv (&argc, &argv);
+
+- prune_options (&argc, &argv);
+-
+ #ifdef GCC_DRIVER_HOST_INITIALIZATION
+ /* Perform host dependent initialization when needed. */
+ GCC_DRIVER_HOST_INITIALIZATION;
Added: trunk/dports/lang/g95/files/patch-lang.opt.diff
===================================================================
--- trunk/dports/lang/g95/files/patch-lang.opt.diff (rev 0)
+++ trunk/dports/lang/g95/files/patch-lang.opt.diff 2009-11-08 13:44:39 UTC (rev 60290)
@@ -0,0 +1,10 @@
+--- /Users/takeshi/g95-0.91-apple/lang.opt 2007-11-13 13:44:39.000000000 +0900
++++ lang.opt 2009-10-25 17:53:11.000000000 +0900
+@@ -319,3 +319,7 @@
+ Wunset-vars
+ F95
+ Warn about unset variable
++
++fopenmp
++F95 Var(flag_openmp)
++Enable OpenMP
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20091108/54bbfdac/attachment.html>
More information about the macports-changes
mailing list