Index: Makefile =================================================================== --- Makefile (revision 451694) +++ Makefile (working copy) @@ -68,7 +68,10 @@ PLIST_SUB+= DOC="@comment " .endif -.if ${ARCH} == armv6 +.if ${ARCH} == armv6 || ${ARCH} == armv7 +BUILD_DEPENDS+= ${LOCALBASE}/bin/as:devel/binutils +RUN_DEPENDS+= ${LOCALBASE}/bin/as:devel/binutils +AS= ${LOCALBASE}/bin/as CONFIGURE_ARGS+= -as "${AS} ${ASFLAGS} -meabi=5" .else CONFIGURE_ARGS+= -as "${AS} ${ASFLAGS}" @@ -98,7 +101,7 @@ .include .include "${FILESDIR}/manfiles" -OCAML_ARCH= ${ARCH:S/x86_64/amd64/:S/powerpc/power/:S/armv6/arm/} +OCAML_ARCH= ${ARCH:S/x86_64/amd64/:S/powerpc/power/:C/armv.*/arm/} .if defined(NO_PROFILE) || ${OCAML_ARCH:Mpower} || ${OCAML_ARCH:Mamd64} Index: files/patch-configure =================================================================== --- files/patch-configure (revision 451694) +++ files/patch-configure (working copy) @@ -17,7 +17,7 @@ + *-*-linux-gnu|*-*-linux|*-*-dragonfly*|*-*-freebsd[3-9]*|*-*-freebsd[1-9][0-9]*|*-*-openbsd*|*-*-netbsd*|*-*-gnu*|*-*-haiku*) sharedcccompopts="-fPIC" - mksharedlib="$bytecc -shared" -+ mksharedlib="$bytecc $bytecclinkopts $bytecclinkopts $bytecclinkopts -shared" ++ mksharedlib="$bytecc $bytecclinkopts $bytecclinkopts $bytecclinkopts $bytecclinkopts -shared" bytecclinkopts="$bytecclinkopts -Wl,-E" byteccrpath="-Wl,-rpath," mksharedlibrpath="-Wl,-rpath," @@ -26,7 +26,7 @@ *gcc*) sharedcccompopts="-fPIC" - mksharedlib="$bytecc -shared" -+ mksharedlib="$bytecc $bytecclinkopts $bytecclinkopts $bytecclinkopts -shared" ++ mksharedlib="$bytecc $bytecclinkopts $bytecclinkopts $bytecclinkopts $bytecclinkopts -shared" byteccrpath="-Wl,-rpath," mksharedlibrpath="-Wl,-rpath," shared_libraries_supported=true;; @@ -35,12 +35,12 @@ sharedcccompopts="-fPIC" if sh ./solaris-ld; then - mksharedlib="$bytecc -shared" -+ mksharedlib="$bytecc $bytecclinkopts $bytecclinkopts $bytecclinkopts -shared" ++ mksharedlib="$bytecc $bytecclinkopts $bytecclinkopts $bytecclinkopts $bytecclinkopts -shared" byteccrpath="-R" mksharedlibrpath="-R" else - mksharedlib="$bytecc -shared" -+ mksharedlib="$bytecc $bytecclinkopts $bytecclinkopts $bytecclinkopts -shared" ++ mksharedlib="$bytecc $bytecclinkopts $bytecclinkopts $bytecclinkopts $bytecclinkopts -shared" bytecclinkopts="$bytecclinkopts -Wl,-E" natdynlinkopts="-Wl,-E" byteccrpath="-Wl,-rpath," @@ -49,13 +49,13 @@ shared_libraries_supported=true;; i[3456]86-*-darwin[89].*) - mksharedlib="$bytecc -bundle -flat_namespace -undefined suppress -read_only_relocs suppress" -+ mksharedlib="$bytecc $bytecclinkopts $bytecclinkopts $bytecclinkopts -bundle -flat_namespace -undefined suppress -read_only_relocs suppress" ++ mksharedlib="$bytecc $bytecclinkopts $bytecclinkopts $bytecclinkopts $bytecclinkopts -bundle -flat_namespace -undefined suppress -read_only_relocs suppress" bytecccompopts="$dl_defs $bytecccompopts" dl_needs_underscore=false shared_libraries_supported=true;; *-apple-darwin*) - mksharedlib="$bytecc -bundle -flat_namespace -undefined suppress -Wl,-no_compact_unwind" -+ mksharedlib="$bytecc $bytecclinkopts $bytecclinkopts $bytecclinkopts -bundle -flat_namespace -undefined suppress -Wl,-no_compact_unwind" ++ mksharedlib="$bytecc $bytecclinkopts $bytecclinkopts $bytecclinkopts $bytecclinkopts -bundle -flat_namespace -undefined suppress -Wl,-no_compact_unwind" bytecccompopts="$dl_defs $bytecccompopts" dl_needs_underscore=false shared_libraries_supported=true;; @@ -64,7 +64,7 @@ *-*-openbsd*) sharedcccompopts="-fPIC" - mksharedlib="$bytecc -shared" -+ mksharedlib="$bytecc $bytecclinkopts $bytecclinkopts $bytecclinkopts -shared" ++ mksharedlib="$bytecc $bytecclinkopts $bytecclinkopts $bytecclinkopts $bytecclinkopts -shared" bytecclinkopts="$bytecclinkopts -Wl,-E" natdynlinkopts="-Wl,-E" byteccrpath="-Wl,-rpath," @@ -88,7 +88,15 @@ powerpc-*-netbsd*) arch=power; model=ppc; system=elf;; powerpc-*-openbsd*) arch=power; model=ppc; system=bsd_elf;; powerpc-*-rhapsody*) arch=power; model=ppc; system=rhapsody;; -@@ -862,6 +865,7 @@ case "$target" in +@@ -854,6 +857,7 @@ case "$target" in + armv7*-*-linux-gnueabi) arch=arm; model=armv7; system=linux_eabi;; + armv6t2*-*-linux-gnueabi) arch=arm; model=armv6t2; system=linux_eabi;; + armv6*-*-linux-gnueabi) arch=arm; model=armv6; system=linux_eabi;; ++ armv7*-*-freebsd*) arch=arm; model=armv7; system=freebsd;; + armv6*-*-freebsd*) arch=arm; model=armv6; system=freebsd;; + armv5te*-*-linux-gnueabi) arch=arm; model=armv5te; system=linux_eabi;; + armv5*-*-linux-gnueabi) arch=arm; model=armv5; system=linux_eabi;; +@@ -862,6 +866,7 @@ case "$target" in zaurus*-*-openbsd*) arch=arm; system=bsd;; x86_64-*-linux*) arch=amd64; system=linux;; x86_64-*-gnu*) arch=amd64; system=gnu;; @@ -96,7 +104,7 @@ x86_64-*-freebsd*) arch=amd64; system=freebsd;; x86_64-*-netbsd*) arch=amd64; system=netbsd;; x86_64-*-openbsd*) arch=amd64; system=openbsd;; -@@ -889,7 +893,7 @@ else +@@ -889,7 +894,7 @@ else fi nativecccompopts='' @@ -105,7 +113,7 @@ # FIXME the naming of nativecclinkopts is broken: these are options for # ld (for shared libs), not for cc nativeccrpath="$byteccrpath" -@@ -932,6 +936,8 @@ case "$arch,$system" in +@@ -932,6 +937,8 @@ case "$arch,$system" in esac;; arm,freebsd) as="${TOOLPREF}cc -c" aspp="${TOOLPREF}cc -c";; @@ -114,7 +122,7 @@ *,freebsd) as="${TOOLPREF}as" aspp="${TOOLPREF}cc -c";; amd64,*|arm,*|arm64,*|i386,*|power,bsd*|sparc,*) -@@ -955,9 +961,11 @@ case "$arch,$system" in +@@ -955,9 +962,11 @@ case "$arch,$system" in case "$nativecc" in gcc*) ;; *) cc_profile='-xpg';; esac;; amd64,linux) profiling='prof';; amd64,openbsd) profiling='prof';; @@ -126,7 +134,7 @@ arm,linux*) profiling='prof';; power,elf) profiling='prof';; power,bsd*) profiling='prof';; -@@ -1415,6 +1423,8 @@ if test "$pthread_wanted" = "yes"; then +@@ -1415,6 +1424,8 @@ if test "$pthread_wanted" = "yes"; then case "$target" in *-*-solaris*) pthread_link="-lpthread -lposix4" pthread_caml_link="-cclib -lpthread -cclib -lposix4";; @@ -135,7 +143,7 @@ *-*-freebsd*) pthread_link="-pthread" pthread_caml_link="-cclib -pthread";; *-*-openbsd*) pthread_link="-pthread" -@@ -1431,7 +1441,7 @@ if test "$pthread_wanted" = "yes"; then +@@ -1431,7 +1442,7 @@ if test "$pthread_wanted" = "yes"; then bytecccompopts="$bytecccompopts -D_REENTRANT" nativecccompopts="$nativecccompopts -D_REENTRANT" case "$target" in @@ -144,7 +152,7 @@ bytecccompopts="$bytecccompopts -D_THREAD_SAFE" nativecccompopts="$nativecccompopts -D_THREAD_SAFE";; *-*-openbsd*) -@@ -1601,6 +1611,7 @@ if test "$x11_include" = "not found"; th +@@ -1601,6 +1612,7 @@ if test "$x11_include" = "not found"; then else x11_libs="-L$dir" case "$target" in @@ -152,7 +160,7 @@ *-kfreebsd*-gnu) x11_link="-L$dir -lX11";; *-*-*bsd*) x11_link="-R$dir -L$dir -lX11";; *) x11_link="-L$dir -lX11";; -@@ -1644,10 +1655,10 @@ echo "X11_LINK=$x11_link" >> Makefile +@@ -1644,10 +1656,10 @@ echo "X11_LINK=$x11_link" >> Makefile # Look for BFD library if sh ./hasgot -DPACKAGE=ocaml -i bfd.h && \ @@ -165,16 +173,16 @@ else wrn "BFD library not found, 'objinfo' will be unable to display info on .cmxs files." echo "LIBBFD_LINK=" >> Makefile -@@ -1686,12 +1697,6 @@ if $no_naked_pointers; then +@@ -1685,12 +1697,6 @@ fi + if $no_naked_pointers; then echo "#define NO_NAKED_POINTERS" >> m.h fi - +- -# Add Unix-style optimization flag -bytecccompopts="-O $bytecccompopts" -dllcccompopts="-O $dllcccompopts" -nativecccompopts="-O $nativecccompopts" -sharedcccompopts="-O $sharedcccompopts" -- + # Final twiddling of compiler options to work around known bugs - nativeccprofopts="$nativecccompopts"