Changeset 60290


Ignore:
Timestamp:
Nov 8, 2009, 1:44:39 PM (9 years ago)
Author:
takeshi@…
Message:

g95: Updated for Snow Leopard (links to gcc-4.2.4, defalut_variants gcc42). Variant gcc42 works on Intel Mac but PPC Mac

Location:
trunk/dports/lang/g95
Files:
3 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/dports/lang/g95/Portfile

    r60137 r60290  
    66name            g95
    77version         0.91
    8 revision        1
     8revision        2
    99platforms       darwin
    1010categories      lang
     
    2020                http://ftp.g95.org/v${version}/:g95
    2121
    22 set version_gcc 4.0.4
     22if {[variant_isset gcc42] || (${os.platform}=="darwin" && ${os.major}>=10)} {
     23    set version_gcc 4.2.4
     24    dist_subdir     gcc42
     25    array set barch {ppc powerpc ppc64 powerpc64 i386 i386 x86_64 x86_64}
     26    set triple      $barch(${build_arch})-apple-darwin${os.major}
     27} else {
     28    set version_gcc 4.0.4
     29    dist_subdir     gcc40
     30    set triple      ${os.arch}-apple-darwin${os.major}
     31}
     32set buildhost   "--build=${triple} --host=${triple}"
     33
    2334set dcore       gcc-core-${version_gcc}.tar.bz2
    24 dist_subdir     gcc40
    2535set dg95        ${name}_source.tgz
    26 set gcclib      lib/gcc-lib/${os.arch}-apple-${os.platform}${os.version}/${version_gcc}
     36set gcclib      lib/${name}/${triple}/${version_gcc}
    2737distfiles       ${dcore}:gcc ${dg95}:g95
    2838
     
    3343                ${dg95}  sha1   aa58510c04e357439a4bf34c54d380e9079395d5 \
    3444                ${dg95}  rmd160 f0a8325c0e930d69d2def16eaa3c6c21dfd2b5a8
     45
     46depends_lib     port:libtool port:libiconv
    3547
    3648patchfiles      patch-Makefile.in.diff \
     
    4759
    4860post-extract {
    49     system "tar jxvf ${distpath}/${dcore} -C ${workpath}"
     61    system "tar jxvf ${distpath}/${dcore} -C ${workpath}; \
     62            cd ${worksrcpath}; tar zxvf libf95.a-${version}.tar.gz"
     63}
     64
     65post-patch {
     66    reinplace "s|gcc-lib|$name|" ${worksrcpath}/configure
     67    reinplace "s|gcc-lib|$name|" ${worksrcpath}/libf95.a-${version}/configure
    5068}
    5169
     
    6078        set gcc_configargs "--with-as=${prefix}/bin/odas --with-ld=${prefix}/bin/odld --with-nm=${prefix}/bin/odnm"
    6179    }
    62     system "unset CPPFLAGS; unset LDFLAGS; \
    63             export CPPFLAGS=-I${prefix}/include; \
     80    system "export CPPFLAGS=\"${configure.cppflags}\"; \
     81            export CFLAGS=\"${configure.cflags}\"; \
     82            export LDFLAGS=\"${configure.ldflags}\"; \
    6483            cd ${workpath}/gcc-${version_gcc}/${name}; \
    65             ../configure --prefix=${prefix}/${gcclib} --with-libiconv-prefix=${prefix}/include \
    66             --enable-languages=c ${gcc_configargs} --with-included-gettext; \
     84            ../configure --prefix=${prefix}/${gcclib} \
     85                         --enable-languages=c \
     86                         --with-included-gettext \
     87                         --with-libiconv=${prefix} \
     88                         --libdir=${prefix}/lib/${name} \
     89                         ${gcc_configargs} ${buildhost}; \
    6790            make"
     91    if {[variant_isset gcc42]} {
     92        system "cd ${workpath}/gcc-${version_gcc}/${name}/gcc; \
     93                ar d libbackend.a options.o; \
     94                cd ${workpath}/gcc-${version_gcc}/gcc/; \
     95                patch -p0 < ${portpath}/files/patch-gcc.c.diff"
     96    }
    6897}
    6998
    70 configure.args  --with-gcc-dir=${workpath}/gcc-${version_gcc}
     99configure.args  --with-gcc-dir=${workpath}/gcc-${version_gcc} ${buildhost}
    71100
    72101post-build {
    73     system "cd ${worksrcpath}; tar zxvf libf95.a-${version}.tar.gz; \
    74            cd libf95.a-${version}; \
    75            export CFLAGS='-O2 -fno-common'; \
    76            ./configure --prefix=${prefix}; \
     102    system "cd ${worksrcpath}/libf95.a-${version}; \
     103           export CFLAGS=${configure.cflags}; \
     104           ./configure --prefix=${prefix} ${buildhost}; \
    77105           make"
    78106}
    79107
    80 pre-destroot {
    81     reinplace "s|${prefix}/${gcclib}|${destroot}${prefix}/${gcclib}|g" ${worksrcpath}/Makefile
    82     reinplace "s|${prefix}/${gcclib}|${destroot}${prefix}/${gcclib}|g" ${worksrcpath}/libf95.a-${version}/Makefile
    83 }
    84 
    85 destroot {
    86     system "cd ${worksrcpath}; \
    87            make install prefix=${destroot}${prefix}; \
    88            cd libf95.a-${version}; \
    89            make install prefix=${destroot}${prefix}; \
    90            ranlib ${destroot}${prefix}/${gcclib}/libf95.a; \
    91            ranlib ${destroot}${prefix}/${gcclib}/libgcc.a; \
    92            ranlib ${destroot}${prefix}/${gcclib}/libgcc_eh.a"
    93     file mkdir ${destroot}${prefix}/share/doc/${name}
    94     file rename ${destroot}${prefix}/G95Manual.pdf ${destroot}${prefix}/share/doc/${name}
     108post-destroot {
     109    system "cd ${worksrcpath}/libf95.a-${version}; \
     110            make install DESTDIR=${destroot}; \
     111            ranlib ${destroot}${prefix}/${gcclib}/libf95.a; \
     112            ranlib ${destroot}${prefix}/${gcclib}/libgcc.a; \
     113            ranlib ${destroot}${prefix}/${gcclib}/libgcc_eh.a"
     114    xinstall -d ${destroot}${prefix}/share/doc/${name}
     115    xinstall -m 644 ${worksrcpath}/G95Manual.pdf ${destroot}${prefix}/share/doc/${name}
    95116    system "ln -sf ${prefix}/${gcclib}/libf95.a ${destroot}${prefix}/lib/libf95.a"
    96     file mkdir ${destroot}${prefix}/${gcclib}/lib
     117    xinstall -d ${destroot}${prefix}/${gcclib}/lib
    97118    system "ln -sf ${prefix}/${gcclib}/libgcc_s.1.0.dylib ${destroot}${prefix}/${gcclib}/lib/libgcc_s.1.0.dylib"
    98119    system "ln -sf ${prefix}/${gcclib}/libgcc_s.1.0.dylib ${destroot}${prefix}/${gcclib}/lib/libgcc_s.dylib"
     
    103124    depends_lib-append port:odcctools
    104125}
     126
     127platform darwin 10 {}
     128if {[variant_isset darwin_10]} {
     129    default_variants +gcc42
     130}
     131
     132variant gcc42 description {link against gcc42} {
     133    master_sites-delete ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.0.4/:gcc
     134    master_sites-append ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.2.4/:gcc
     135    checksums-delete    ${dcore} md5    193e0a7a471cca70e374974bc5a60137         \
     136                        ${dcore} sha1   55c664b33a4dc6b2130c47da28a1d6daab732ce9 \
     137                        ${dcore} rmd160 af67dc8385942450f6b27ad83a6b9e3d22f779a1
     138    checksums-append    ${dcore} md5     b7a4c167f6a05301591b139b356e36d0 \
     139                        ${dcore} sha1    540fa6949415ded321a7cbe80bbf8befe85e3566 \
     140                        ${dcore} rmd160  d54581d0a2ecc22718e6be101c6dc524a4a88463
     141    patchfiles-append   patch-lang.opt.diff patch-darwin.h.diff
     142    patchfiles-delete   patch-host-darwin.c.diff patch-darwin-fallback.c.diff
     143
     144    post-configure {
     145        reinplace "s|\(f951_LDADD\)|(f951_LDADD) ${workpath}/gcc-${version_gcc}/g95/libdecnumber/*.o|" ${worksrcpath}/Makefile
     146    }
     147
     148    pre-build {
     149        reinplace "s|\(g95_LDADD\)|(g95_LDADD) ${workpath}/gcc-${version_gcc}/g95/gcc/driver-i386.o|" ${worksrcpath}/Makefile
     150    }
     151}
  • trunk/dports/lang/g95/files/patch-Makefile.in.diff

    r32218 r60290  
    1 --- Makefile.in.orig    2007-03-02 15:15:24.000000000 +0900
    2 +++ Makefile.in 2007-03-02 15:53:28.000000000 +0900
    3 @@ -2589,7 +2589,6 @@
     1--- Makefile.in.orig    2009-11-05 16:53:58.000000000 +0900
     2+++ Makefile.in 2009-11-05 16:55:16.000000000 +0900
     3@@ -272,7 +272,9 @@
     4 @GCC_TRUE@f951_LDADD = @GCC_DIR@/g95/gcc/main.o @GCC_DIR@/g95/gcc/libbackend.a \
     5 @GCC_TRUE@             @GCC_DIR@/g95/libcpp/libcpp.a                           \
     6 @GCC_TRUE@          @GCC_DIR@/g95/libiberty/libiberty.a                        \
     7-@GCC_TRUE@             options.o opts.o version.o ggc-page.o @LDADD0@
     8+@GCC_TRUE@             options.o opts.o version.o ggc-page.o \
     9+@GCC_DIR@/g95/gcc/libbackend.a \
     10+@LDADD0@
     11 
     12 @GCC_FALSE@g95_SOURCES = arith.c array.c bbt.c bigint.c bigreal.c check.c decl.c       \
     13 @GCC_FALSE@dump.c entry.c error.c expr.c forall.c format.c g95.h imodule.c             \
     14@@ -1257,7 +1259,6 @@
    415 
    516 install-exec-am: install-binPROGRAMS
     
    718-       $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
    819 
    9  install-info: install-info-am
     20 install-html: install-html-am
    1021 
    11 @@ -2653,13 +2652,9 @@
     22@@ -1332,27 +1333,22 @@
     23        mv $(bindir)/g95$(EXEEXT) $(bindir)/$(host)-g95$(EXEEXT)
     24 
    1225 install-data-hook:
    13         -ln -sf f951$(EXEEXT) @DEST_LIBDIR@/cc1
     26-       -ln -sf f951$(EXEEXT) @DEST_LIBDIR@/cc1
     27+       -ln -sf f951$(EXEEXT) $(DESTDIR)@DEST_LIBDIR@/cc1
    1428        if test "`uname`" = "Darwin" ; then \
    1529-         ar x /usr/lib/libgcc.a darwin-fpsave.o ; \
    1630-         ar rs @DEST_LIBDIR@/libgcc.a darwin-fpsave.o ; \
    1731-         rm ./darwin-fpsave.o ; \
    18           ranlib @DEST_LIBDIR@/libgcc_eh.a ; \
    19           ranlib @DEST_LIBDIR@/libgcc.a ; \
     32-         ranlib @DEST_LIBDIR@/libgcc_eh.a ; \
     33-         ranlib @DEST_LIBDIR@/libgcc.a ; \
     34+         ranlib $(DESTDIR)@DEST_LIBDIR@/libgcc_eh.a ; \
     35+         ranlib $(DESTDIR)@DEST_LIBDIR@/libgcc.a ; \
    2036        fi
    2137-       cp INSTALL @DEST_LIBDIR@/../../../..
    22         cp G95Manual.pdf @DEST_LIBDIR@/../../../..
     38-       cp G95Manual.pdf @DEST_LIBDIR@/../../../..
    2339        if test -n "`ls @GCC_DIR@/g95/gcc/libgcc_s.*`" ; then \
    2440           (cd @GCC_DIR@/g95/gcc; tar cf - libgcc_s.*) | \
     41-           (cd @DEST_LIBDIR@; tar xf -) ; \
     42+           (cd $(DESTDIR)@DEST_LIBDIR@; tar xf -) ; \
     43        fi
     44        if test -n "`ls @GCC_DIR@/g95/gcc/libunwind.*`" ; then \
     45           (cd @GCC_DIR@/g95/gcc; tar cf - libunwind.*) | \
     46-          (cd @DEST_LIBDIR@; tar xf -) ; \
     47+          (cd $(DESTDIR)@DEST_LIBDIR@; tar xf -) ; \
     48        fi
     49        if test -n "`ls @GCC_DIR@/g95/gcc/libgcc_eh.*`" ; then \
     50           (cd @GCC_DIR@/g95/gcc; tar cf - libgcc_eh.*) | \
     51-          (cd @DEST_LIBDIR@; tar xf -) ; \
     52+          (cd $(DESTDIR)@DEST_LIBDIR@; tar xf -) ; \
     53        fi
     54 
     55 ggc-page.o: ggc-page40.c ggc-page41.c
Note: See TracChangeset for help on using the changeset viewer.