Gcc45 version 4.5-20091001 - How to Download and Install on Mac OS X
Sunday the 22nd of November, 2009

    version 4.5-20091001

      View the most recent changes for the gcc45 port at: gcc45.darwinports.com/diff
      Scroll down toward the bottom of the page to get installation instructions for gcc45.
      The raw portfile for gcc45 4.5-20091001 is located here:
      http://gcc45.darwinports.com/dports/lang/gcc45/Portfile
      Find related portfiles with the unique DarwinPorts.com search feature.
      Check for any related Fink projects here: pdb.finkproject.org/pdb/package.php/gcc45


      The gcc45 Portfile 58658 2009-10-02 14:48:21Z mww macports.org $

      PortSystem 1.0

      Name: gcc45
      Version: 4.5-20091001
      Platform: darwin
      Category: lang
      Maintainers: mww
      license GPLv3
      Description: The GNU compiler collection, prerelease BETA
      Long Description: The GNU compiler collection, including front ends for C, C++, Objective-C and Objective-C++. This is a prerelease BETA version and does not have all available language front ends enabled.

      Homepage: http://gcc.gnu.org/
      Master Sites: ftp://ftp.gwdg.de/pub/linux/gcc/snapshots/${version}/ ftp://ftp.funet.fi/pub/mirrors/sources.redhat.com/pub/gcc/snapshots/${version}/ ftp://gcc.gnu.org/pub/gcc/snapshots/${version}/

      set dcore gcc-core-${version}.tar.bz2
      set dfort gcc-fortran-${version}.tar.bz2
      set dcxx gcc-g++-${version}.tar.bz2
      set djava gcc-java-${version}.tar.bz2
      set dobjc gcc-objc-${version}.tar.bz2
      distfiles ${dcore} ${dfort} ${dcxx} ${djava} ${dobjc}

      Checksums: ${dcore} sha1 7b46bb6dcb54fe5478c7155804be208c842f3236 ${dfort} sha1 a7e591f0cf5e2962b3e58fc59416ba35b143378a ${dcxx} sha1 3e418d9a535d5440d7e7386f1a2d1b1007de9fe1 ${djava} sha1 48a25943b3b18eacd4f4ab2e633d7c822e8b194f ${dobjc} sha1 51f3a6a55674489b611b942e1e964b9b3f2e9f80

      use_bzip2 yes

      # gmp and mpfr are not universal
      universal_variant no

      depends_lib port:gmp port:mpfr port:libiconv

      set major 4.5

      worksrcdir build

      # the generated compiler doesn't accept -arch
      if {[info exists build_arch] && ${os.platform} == "darwin"} {
      configure.cc_archflags
      configure.cxx_archflags
      configure.objc_archflags
      configure.pre_args-append --build=${build_arch}-apple-darwin${os.major}
      }

      pre-configure {
      file mkdir ${worksrcpath}
      }

      configure.cmd ../gcc-${version}/configure
      configure.args --enable-languages=c,c++,objc,obj-c++ --libdir=${prefix}/lib/${name} --includedir=${prefix}/include/${name} --infodir=${prefix}/share/info --mandir=${prefix}/share/man --with-local-prefix=${prefix} --with-system-zlib --disable-nls --program-suffix=-mp-${major} --with-gxx-include-dir=${prefix}/include/${name}/c++/ --with-gmp=${prefix} --with-mpfr=${prefix}
      # do NOT use MacPorts binutils -- they do not work
      configure.env-append AR_FOR_TARGET=/usr/bin/ar AS_FOR_TARGET=/usr/bin/as LD_FOR_TARGET=/usr/bin/ld NM_FOR_TARGET=/usr/bin/nm OBJDUMP_FOR_TARGET=/usr/bin/objdump RANLIB_FOR_TARGET=/usr/bin/ranlib STRIP_FOR_TARGET=/usr/bin/strip

      build.target bootstrap
      use_parallel_build yes

      destroot.target install install-info-host

      post-destroot {
      file delete -force ${destroot}${prefix}/share/man/man7 ${destroot}${prefix}/share/info
      # install/copy ffitarget.h only if we have it
      if {![catch {set ffitarget.h [glob ${destroot}${prefix}/lib/${name}/gcc/*/${version}/include/ffitarget.h]} result]} {
      file copy ${ffitarget.h} ${destroot}${prefix}/include/${name}/
      }
      # install select file for gcc_select
      xinstall -m 755 -d ${destroot}${prefix}/etc/select/gcc
      xinstall -m 444 ${filespath}/mp-gcc45 ${destroot}${prefix}/etc/select/gcc/
      }

      #platform darwin 7 {
      # configure.cflags-append -force_cpusubtype_ALL
      # confgiure.env BOOT_CFLAGS="-g -O2 -force_cpusubtype_ALL"
      # build.args-append XCFLAGS=-force_cpusubtype_ALL
      #}

      platform powerpc {
      configure.args-append --disable-multilib
      }

      # due to popular request - untested for the BETA; will be removed as soon as other languages than C compile successfuly
      Variant: gfortran conflicts java description "Enables Fortran/gfortran; this language will be enabled in the final version - this variant is completely untested!" {
      configure.args-delete --enable-languages=c,c++,objc,obj-c++
      configure.args-append --enable-languages=c,c++,objc,obj-c++,fortran
      }

      # due to popular request - untested for the BETA; will be removed as soon as other languages than C compile successfuly
      Variant: java conflicts gfortran description "Enables Java/gcj; this language will be enabled in the final version - this variant is completely untested!" {
      configure.args-delete --enable-languages=c,c++,objc,obj-c++
      configure.args-append --enable-languages=c,c++,objc,obj-c++,java
      }

      livecheck.type regex
      livecheck.url ftp://gcc.gnu.org/pub/gcc/snapshots/
      livecheck.regex LATEST-4.5 -> (4.5-\[0-9\]+)


    If you haven't already installed Darwin Ports, you can find easy instructions for doing so at the main Darwin Ports page.

    Once Darwin Ports has been installed, in a terminal window and while online, type the following and hit return:


      %  cd /opt/local/bin/portslocation/dports/gcc45
      % sudo port install gcc45
      Password:
    You will then be prompted for your root password, which you should enter. You may have to wait for a few minutes while the software is retrieved from the network and installed for you. Y ou should see something that looks similar to:

      ---> Fetching gcc45
      ---> Verifying checksum for gcc45
      ---> Extracting gcc45
      ---> Configuring gcc45
      ---> Building gcc45 with target all
      ---> Staging gcc45 into destroot
      ---> Installing gcc45
    - Make sure that you do not close the terminal window while Darwin Ports is working. Once the software has been installed, you can find further information about using gcc45 with these commands:
      %  man gcc45
      % apropos gcc45
      % which gcc45
      % locate gcc45

     Where to find more information:

    Darwin Ports



    Lightbox this page.