Download and Install i386-elf-binutils version 2.18.50.0.9 on Mac OS X
Wednesday the 3rd of December, 2008

    i386-elf-binutils  most recent diff


    version 2.18.50.0.9

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



      # $Id: Portfile 41444 2008-11-03 12:12:10Z pguyot kallisys.net $

      PortSystem 1.0
      Name: i386-elf-binutils
      Version: 2.18.50.0.9

      # Parameters for this port.
      set crossgcc-target i386-elf

      Description: FSF Binutils for i386-elf cross development
      Long Description: Free Software Foundation development toolchain ("binutils") for i386-elf cross development.
      Platform: darwin
      Category: cross devel
      Maintainers: stepan coresystems.de pguyot kallisys.net openmaintainer
      Homepage: http://www.gnu.org/software/binutils/binutils.html
      master_sites ftp://ftp.kernel.org/pub/linux/devel/binutils/ http://ftp.kernel.org/pub/linux/devel/binutils/
      distname binutils-${version}
      use_bzip2 yes
      checksums md5 68e3510d9c790b134450c0a243c251cd sha1 369b21b07e06ec44005603acaa046b2ea69831bd rmd160 edbb31cfd6e0c1756618532064a46d03779bfadb

      depends_lib port:gettext

      # All cross ports violate the mtree layout.
      destroot.violate_mtree yes

      # Download everything to binutils/
      dist_subdir binutils

      # Build in a different directory, as advised in the README file.
      pre-configure { system "cd ${workpath} && mkdir -p build"}
      configure.dir ${workpath}/build
      configure.cmd ${worksrcpath}/configure
      configure.cc "cc -no-cpp-precomp -I${prefix}/include"
      configure.args --infodir='${prefix}/share/info' --target=${crossgcc-target} --program-prefix=${crossgcc-target}- --mandir='${prefix}/share/man'
      build.dir ${workpath}/build

      # We don't want the etc module.
      post-extract {
      system "rm -rf ${worksrcpath}/etc"
      }

      post-patch {
      namespace eval crossgcc {}

      # Fix the info pages and related stuff.
      #
      # path: path to the doc directory (e.g. gas/doc/)
      # makefile: path to Makefile.in (e.g. gas/doc/Makefile.in)
      # name: name of the info page (e.g. as)
      # suffix: suffix of the souce page (texinfo or texi)
      proc crossgcc::fixinfo { path makefile name suffix } {
      global crossgcc-target worksrcpath

      # Fix the source
      reinplace "s|setfilename ${name}.info|setfilename ${crossgcc-target}-${name}.info|g" ${worksrcpath}/${path}/${name}.${suffix}
      reinplace "s|(${name})|(${crossgcc-target}-${name})|g" ${worksrcpath}/${path}/${name}.${suffix}
      reinplace "s| file{${name}}| file{${crossgcc-target}-${name}}|g" ${worksrcpath}/${path}/${name}.${suffix}

      # Fix the Makefile
      reinplace "s|${name}.info|${crossgcc-target}-${name}.info|g" ${worksrcpath}/${makefile}
      reinplace "s|${name}.${suffix}|${crossgcc-target}-${name}.${suffix}|g" ${worksrcpath}/${makefile}

      # Rename the source
      file rename ${worksrcpath}/${path}/${name}.${suffix} ${worksrcpath}/${path}/${crossgcc-target}-${name}.${suffix}

      # Fix install-info's dir.
      # (note: this may be effectless if there was no info dir to be fixed)
      reinplace "s|--info-dir=\$(DESTDIR)\$(infodir)|--dir-file=\$(DESTDIR)\$(infodir)/${crossgcc-target}-dir|g" "${worksrcpath}/${makefile}"
      }

      # Fix the gettext files and related stuff.
      #
      # module: name of the module (e.g. gas)
      proc crossgcc::fixgettext { module } {
      global crossgcc-target worksrcpath

      if { [ file exists "${worksrcpath}/${module}/Makefile.in" ] } {
      reinplace "s| PACKAGE |${crossgcc-target}- PACKAGE |g" "${worksrcpath}/${module}/Makefile.in"
      }
      if { [ file exists "${worksrcpath}/${module}/doc/Makefile.in" ] } {
      reinplace "s| PACKAGE |${crossgcc-target}- PACKAGE |g" "${worksrcpath}/${module}/doc/Makefile.in"
      }
      if { [ file exists "${worksrcpath}/${module}/po/Make-in" ] } {
      reinplace "s| PACKAGE |${crossgcc-target}- PACKAGE |g" "${worksrcpath}/${module}/po/Make-in"
      }
      }

      # gas/doc/as.texinfo
      crossgcc::fixinfo gas/doc/ gas/doc/Makefile.in as texinfo

      # bfd/doc/bfd.texinfo
      crossgcc::fixinfo bfd/doc/ bfd/doc/Makefile.in bfd texinfo

      # binutils/doc/binutils.texi
      crossgcc::fixinfo binutils/doc/ binutils/doc/Makefile.in binutils texi

      # gprof/gprof.texi
      crossgcc::fixinfo gprof/ gprof/Makefile.in gprof texi

      # ld/ld.texinfo
      crossgcc::fixinfo ld/ ld/Makefile.in ld texinfo

      # gettext stuff.
      crossgcc::fixgettext bfd
      crossgcc::fixgettext binutils
      crossgcc::fixgettext gas
      crossgcc::fixgettext gprof
      crossgcc::fixgettext ld
      crossgcc::fixgettext opcodes
      }

      post-destroot {
      # Installing (host) libiberty was a mistake.
      file delete "${destroot}/${prefix}/lib/libiberty.a"
      }

      livecheck.check freshmeat
      livecheck.name binutils

    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/i386-elf-binutils
      % sudo port install i386-elf-binutils
      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 i386-elf-binutils
      ---> Verifying checksum for i386-elf-binutils
      ---> Extracting i386-elf-binutils
      ---> Configuring i386-elf-binutils
      ---> Building i386-elf-binutils with target all
      ---> Staging i386-elf-binutils into destroot
      ---> Installing i386-elf-binutils
    - 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 i386-elf-binutils with these commands:
      %  man i386-elf-binutils
      % apropos i386-elf-binutils
      % which i386-elf-binutils
      % locate i386-elf-binutils

     Where to find more information:

    Darwin Ports



    Lightbox this page.