Advertisement
Guest User

lm32-rtems-gcc Portfile

a guest
Sep 18th, 2011
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.05 KB | None | 0 0
  1. # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
  2. # $Id$
  3.  
  4. PortSystem              1.0
  5. PortGroup               crossgcc 1.0
  6.  
  7. set crossgcc-target lm32-rtems
  8. name                lm32-rtems-gcc
  9. version             4.5.2
  10. set newlibversion   1.19.0
  11.  
  12. crossgcc.setup          ${crossgcc-target} ${version}
  13. crossgcc.setup_libc newlib ${newlibversion}
  14.  
  15. # Parameters for this port.
  16. set rtemsversion    4.11
  17. set default-languages   --enable-languages="c"
  18.  
  19. maintainers         gmail.com:yann.sionneau
  20.  
  21. distfiles       gcc-core-${version}.tar.bz2 \
  22.             newlib-${newlibversion}.tar.gz \
  23.             gcc-core-${version}-rtems${rtemsversion}-20110220.diff:rtems \
  24.             newlib-${newlibversion}-rtems${rtemsversion}-20110724.diff:rtems
  25. extract.only        gcc-core-${version}.tar.gz newlib-${newlibversion}.tar.gz
  26. worksrcdir      gcc-${version}
  27. checksums       gcc-core-${version}.tar.bz2 \
  28.                             sha1    130eb3828e7b16118388febdac4e7ff03f83119e \
  29.                             rmd160  51a803c44369d6aeb3be124580d907b406a5bffd \
  30.             newlib-${newlibversion}.tar.gz \
  31.                         sha1    b2269d30ce7b93b7c714b90ef2f40221c2df0fcd \
  32.                             rmd160  a28bd656ec895da0738dac3fb367851a2992d724 \
  33.             gcc-core-${version}-rtems${rtemsversion}-20110220.diff \
  34.                             sha1    3d9d44e6883ea367cedbf42f2276173a46a9762e \
  35.                             rmd160  1d24d4e879da15afdee6659e3ead5fb96acfcc88 \
  36.             newlib-${newlibversion}-rtems${rtemsversion}-20110724.diff \
  37.                             sha1    07130510140d217d2b006a932ae1031daa8ebc61 \
  38.                             rmd160  517396c2cf7357fe5e14dd69329582bedabc68db
  39.  
  40. patchfiles      gcc-ppl-version.patch \
  41.             gcc-lm32-multilib.patch
  42.  
  43. extract.only        gcc-core-${version}.tar.bz2
  44.  
  45. # the generated compiler doesn't accept -arch
  46. if {[info exists build_arch] && ${os.platform} == "darwin"} {
  47.     configure.pre_args-append --build=${build_arch}-apple-darwin${os.major}
  48. }
  49.  
  50. # Since we don't build gcc and binutils at the same time, gcc's Makefile will try to transform
  51. # program names as gcc's name (add -${version} with ${version} being the version of gcc).
  52. # But it won't work because binutils binaries don't have the ${version} suffix, and even if they
  53. # had, they would actually have the binutils' version suffix (and not gcc's version).
  54. # So let's tell gcc's Makefile not to make that mistake.
  55.  
  56. set environment [list AR_FOR_TARGET=${crossgcc-target}${rtemsversion}-ar \
  57.                 AS_FOR_TARGET=${crossgcc-target}${rtemsversion}-as \
  58.                 LD_FOR_TARGET=${crossgcc-target}${rtemsversion}-ld \
  59.                 OBJDUMP_FOR_TARGET=${crossgcc-target}${rtemsversion}-objdump \
  60.                 NM_FOR_TARGET=${crossgcc-target}${rtemsversion}-nm \
  61.                 RANLIB_FOR_TARGET=${crossgcc-target}${rtemsversion}-ranlib]
  62.  
  63. # Build in a different directory, as advised in the README file.
  64. #pre-configure   {
  65. #   file mkdir "${workpath}/build"
  66. #}
  67. configure.dir       ${worksrcpath}
  68. configure.env-append    ${environment}
  69.  
  70. configure.args-delete   --enable-languages="c,objc,c++,obj-c++" \
  71.             --target=${crossgcc.target}
  72.  
  73. configure.args-append   --with-gnu-as \
  74.             --target=${crossgcc-target}${rtemsversion}
  75.  
  76. configure.args      --target=${crossgcc-target}${rtemsversion} \
  77.             --with-newlib \
  78.             --with-gnu-as \
  79.             --enable-threads \
  80.                 --with-system-zlib \
  81.                 --with-gmp=${prefix} \
  82.                 --with-mpfr=${prefix} \
  83.                 --with-mpc=${prefix} \
  84.             ${default-languages} \
  85.                 --libdir=${prefix}/lib/${name} \
  86.                 --includedir=${prefix}/include/${name} \
  87.                 --infodir=${prefix}/share/info \
  88.                 --mandir=${prefix}/share/man \
  89.                 --datarootdir=${prefix}/share/${name} \
  90.                 --with-local-prefix=${prefix}
  91.  
  92. build.args      ${environment}
  93. destroot.args       ${environment}
  94. use_parallel_build  yes
  95.  
  96. pre-patch {
  97.     # Additional patches for rtems.
  98.     system "cd ${workpath}/gcc-${version} && \
  99.         patch -p1 < ${distpath}/gcc-core-${version}-rtems${rtemsversion}-20110220.diff"
  100.     system "cd ${workpath}/newlib-${newlibversion} && \
  101.         patch -p1 < ${distpath}/newlib-${newlibversion}-rtems${rtemsversion}-20110724.diff"
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement