diff --git a/darwin/macports/ports/cross/arm-none-eabi-gcc-linaro/Portfile b/darwin/macports/ports/cross/arm-none-eabi-gcc-linaro/Portfile index 4f95411..6f77209 100644 --- a/darwin/macports/ports/cross/arm-none-eabi-gcc-linaro/Portfile +++ b/darwin/macports/ports/cross/arm-none-eabi-gcc-linaro/Portfile @@ -47,9 +47,9 @@ post-extract { system "ln -s ${workpath}/newlib-${newlibversion}/newlib ${workpath}/gcc-linaro-${version}/" } -#patch.dir ${workpath}/gcc-linaro-${version} -#patchfiles \ -# patch-gcc-config-arm-t-arm-elf.diff +patch.dir ${workpath}/gcc-linaro-${version} +patchfiles \ + patch-gcc-config-arm-t-arm-elf.diff # Since we don't build gcc and binutils at the same time, gcc's Makefile will try to transform # program names as gcc's name (add -${version} with ${version} being the version of gcc). @@ -82,11 +82,7 @@ configure.args --target=${targetarch} \ --enable-multilib \ --enable-languages="c" \ --with-newlib \ - --with-cpu=cortex-m3 \ - --with-tune=cortex-m3 \ - --with-mode=thumb \ - --with-float=soft \ - --with-gnu-as \ + --with-gnu-as \ --with-gnu-ld \ --disable-nls \ --disable-shared \ @@ -103,6 +99,12 @@ configure.args --target=${targetarch} \ --with-mpc=${prefix} \ --with-libiconv-prefix=${prefix} \ --disable-newlib-supplied-syscalls + +if {${os.platform} == "darwin" && ($build_arch == "x86_64" || $build_arch == "ppc64")} { + configure.args-append --build=${build_arch}-apple-darwin${os.version} \ + --host=${build_arch}-apple-darwin${os.version} +} + configure.cc_archflags configure.cxx_archflags configure.objc_archflags diff --git a/darwin/macports/ports/cross/arm-none-eabi-gcc-linaro/files/patch-gcc-config-arm-t-arm-elf.diff b/darwin/macports/ports/cross/arm-none-eabi-gcc-linaro/files/patch-gcc-config-arm-t-arm-elf.diff index 7e843cb..6186518 100644 --- a/darwin/macports/ports/cross/arm-none-eabi-gcc-linaro/files/patch-gcc-config-arm-t-arm-elf.diff +++ b/darwin/macports/ports/cross/arm-none-eabi-gcc-linaro/files/patch-gcc-config-arm-t-arm-elf.diff @@ -11,16 +11,16 @@ +# ./ (default) +# thumb/ -mthumb +# thumb2/ -mthumb -march=armv7 -+# armv6-m/ -mthumb -march=armv6-m ++# armv4t/ -mthumb -march=armv4t + +MULTILIB_OPTIONS = mthumb +MULTILIB_DIRNAMES = thumb +MULTILIB_EXCEPTIONS = MULTILIB_MATCHES = -+MULTILIB_ALIASES = ++MULTILIB_EXTRA_OPTS += msoft-float + -+MULTILIB_OPTIONS += march=armv7/march=armv6-m -+MULTILIB_DIRNAMES += v7 v6-m ++MULTILIB_OPTIONS += march=armv7/march=armv4t ++MULTILIB_DIRNAMES += v7 v4t +MULTILIB_EXCEPTIONS += march=armv7* +MULTILIB_MATCHES += march?armv7=march?armv7-a +MULTILIB_MATCHES += march?armv7=march?armv7-r @@ -34,9 +34,9 @@ +MULTILIB_MATCHES += march?armv7=mcpu?cortex-m4 +MULTILIB_MATCHES += march?armv7=mcpu?cortex-m3 + -+MULTILIB_EXCEPTIONS += march=armv6-m -+MULTILIB_MATCHES += march?armv6-m=mcpu?cortex-m1 -+MULTILIB_MATCHES += march?armv6-m=mcpu?cortex-m0 ++MULTILIB_EXCEPTIONS += march=armv4t ++MULTILIB_MATCHES += march?armv4t=mcpu?arm7tdmi-s ++#MULTILIB_MATCHES += + +# FIXME: We need a sane way of doing this. +# This isn't really a multilib, it's a hack to add an extra option @@ -46,7 +46,7 @@ + +MULTILIB_EXCEPTIONS += mfix-cortex-m3-ldrd +MULTILIB_EXCEPTIONS += mthumb/mfix-cortex-m3-ldrd -+MULTILIB_EXCEPTIONS += *march=armv6-m*mfix-cortex-m3-ldrd ++MULTILIB_EXCEPTIONS += *march=armv4t*mfix-cortex-m3-ldrd + +MULTILIB_ALIASES += mthumb/march?armv7/mfix-cortex-m3-ldrd=mthumb/march?armv7 + @@ -54,7 +54,7 @@ +# omitted from MULTILIB_OSDIRNAMES +MULTILIB_OSDIRNAMES = mthumb=!thumb +MULTILIB_OSDIRNAMES += mthumb/march.armv7/mfix-cortex-m3-ldrd=!thumb2 -+MULTILIB_OSDIRNAMES += mthumb/march.armv6-m=!armv6-m ++MULTILIB_OSDIRNAMES += mthumb/march.armv4t=!armv4t + #MULTILIB_OPTIONS += march=armv7