Index: libvpx/source/libvpx/build/make/configure.sh |
diff --git a/libvpx/source/libvpx/build/make/configure.sh b/libvpx/source/libvpx/build/make/configure.sh |
index ab087f1720c7df787761bdf565fd393a08eedcc6..a48fd9faf4bfd4cf8abb8aad6841744df8d6a1fb 100755 |
--- a/libvpx/source/libvpx/build/make/configure.sh |
+++ b/libvpx/source/libvpx/build/make/configure.sh |
@@ -412,14 +412,11 @@ EOF |
write_common_target_config_h() { |
cat > ${TMP_H} << EOF |
/* This file automatically generated by configure. Do not edit! */ |
-#ifndef VPX_CONFIG_H |
-#define VPX_CONFIG_H |
#define RESTRICT ${RESTRICT} |
EOF |
print_config_h ARCH "${TMP_H}" ${ARCH_LIST} |
print_config_h HAVE "${TMP_H}" ${HAVE_LIST} |
print_config_h CONFIG "${TMP_H}" ${CONFIG_LIST} |
- echo "#endif /* VPX_CONFIG_H */" >> ${TMP_H} |
mkdir -p `dirname "$1"` |
cmp "$1" ${TMP_H} >/dev/null 2>&1 || mv ${TMP_H} "$1" |
} |
@@ -629,7 +626,7 @@ process_common_toolchain() { |
case ${toolchain} in |
sparc-solaris-*) |
add_extralibs -lposix4 |
- disable fast_unaligned |
+ add_cflags "-DMUST_BE_ALIGNED" |
;; |
*-solaris-*) |
add_extralibs -lposix4 |
@@ -642,8 +639,8 @@ process_common_toolchain() { |
# on arm, isa versions are supersets |
enabled armv7a && soft_enable armv7 ### DEBUG |
enabled armv7 && soft_enable armv6 |
- enabled armv7 || enabled armv6 && soft_enable armv5te |
- enabled armv7 || enabled armv6 && soft_enable fast_unaligned |
+ enabled armv6 && soft_enable armv5te |
+ enabled armv6 && soft_enable fast_unaligned |
enabled iwmmxt2 && soft_enable iwmmxt |
enabled iwmmxt && soft_enable armv5te |
@@ -692,7 +689,7 @@ process_common_toolchain() { |
if enabled armv7 |
then |
check_add_cflags --cpu=Cortex-A8 --fpu=softvfp+vfpv3 |
- check_add_asflags --cpu=Cortex-A8 --fpu=softvfp+vfpv3 |
+ check_add_asflags --cpu=Cortex-A8 --fpu=none |
else |
check_add_cflags --cpu=${tgt_isa##armv} |
check_add_asflags --cpu=${tgt_isa##armv} |
@@ -732,18 +729,19 @@ process_common_toolchain() { |
add_cflags -arch ${tgt_isa} |
add_ldflags -arch_only ${tgt_isa} |
- add_cflags "-isysroot ${SDK_PATH}/SDKs/iPhoneOS4.3.sdk" |
+ add_cflags "-isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk" |
# This should be overridable |
- alt_libc=${SDK_PATH}/SDKs/iPhoneOS4.3.sdk |
+ alt_libc=${SDK_PATH}/SDKs/iPhoneOS4.2.sdk |
# Add the paths for the alternate libc |
- for d in usr/include usr/include/gcc/darwin/4.2/ usr/lib/gcc/arm-apple-darwin10/4.2.1/include/; do |
+# for d in usr/include usr/include/gcc/darwin/4.0/; do |
+ for d in usr/include usr/include/gcc/darwin/4.0/ usr/lib/gcc/arm-apple-darwin10/4.2.1/include/; do |
try_dir="${alt_libc}/${d}" |
[ -d "${try_dir}" ] && add_cflags -I"${try_dir}" |
done |
- for d in lib usr/lib usr/lib/system; do |
+ for d in lib usr/lib; do |
try_dir="${alt_libc}/${d}" |
[ -d "${try_dir}" ] && add_ldflags -L"${try_dir}" |
done |
@@ -754,24 +752,41 @@ process_common_toolchain() { |
linux*) |
enable linux |
if enabled rvct; then |
- # Check if we have CodeSourcery GCC in PATH. Needed for |
- # libraries |
- hash arm-none-linux-gnueabi-gcc 2>&- || \ |
- die "Couldn't find CodeSourcery GCC from PATH" |
- |
- # Use armcc as a linker to enable translation of |
- # some gcc specific options such as -lm and -lpthread. |
- LD="armcc --translate_gcc" |
- |
- # create configuration file (uses path to CodeSourcery GCC) |
- armcc --arm_linux_configure --arm_linux_config_file=arm_linux.cfg |
- |
- add_cflags --arm_linux_paths --arm_linux_config_file=arm_linux.cfg |
- add_asflags --no_hide_all --apcs=/interwork |
- add_ldflags --arm_linux_paths --arm_linux_config_file=arm_linux.cfg |
- enabled pic && add_cflags --apcs=/fpic |
- enabled pic && add_asflags --apcs=/fpic |
- enabled shared && add_cflags --shared |
+ # Compiling with RVCT requires an alternate libc (glibc) when |
+ # targetting linux. |
+ disabled builtin_libc \ |
+ || die "Must supply --libc when targetting *-linux-rvct" |
+ |
+ # Set up compiler |
+ add_cflags --library_interface=aeabi_glibc |
+ add_cflags --no_hide_all |
+ add_cflags --dwarf2 |
+ |
+ # Set up linker |
+ add_ldflags --sysv --no_startup --no_ref_cpp_init |
+ add_ldflags --entry=_start |
+ add_ldflags --keep '"*(.init)"' --keep '"*(.fini)"' |
+ add_ldflags --keep '"*(.init_array)"' --keep '"*(.fini_array)"' |
+ add_ldflags --dynamiclinker=/lib/ld-linux.so.3 |
+ add_extralibs libc.so.6 -lc_nonshared crt1.o crti.o crtn.o |
+ |
+ # Add the paths for the alternate libc |
+ for d in usr/include; do |
+ try_dir="${alt_libc}/${d}" |
+ [ -d "${try_dir}" ] && add_cflags -J"${try_dir}" |
+ done |
+ add_cflags -J"${RVCT31INC}" |
+ for d in lib usr/lib; do |
+ try_dir="${alt_libc}/${d}" |
+ [ -d "${try_dir}" ] && add_ldflags -L"${try_dir}" |
+ done |
+ |
+ |
+ # glibc has some struct members named __align, which is a |
+ # storage modifier in RVCT. If we need to use this modifier, |
+ # we'll have to #undef it in our code. Note that this must |
+ # happen AFTER all libc inclues. |
+ add_cflags -D__align=x_align_x |
fi |
;; |
@@ -870,8 +885,6 @@ process_common_toolchain() { |
link_with_cc=gcc |
tune_cflags="-march=" |
setup_gnu_toolchain |
- #for 32 bit x86 builds, -O3 did not turn on this flag |
- enabled optimizations && check_add_cflags -fomit-frame-pointer |
;; |
esac |
@@ -939,23 +952,15 @@ process_common_toolchain() { |
enabled gcov && |
check_add_cflags -fprofile-arcs -ftest-coverage && |
check_add_ldflags -fprofile-arcs -ftest-coverage |
- |
if enabled optimizations; then |
- if enabled rvct; then |
- enabled small && check_add_cflags -Ospace || check_add_cflags -Otime |
- else |
- enabled small && check_add_cflags -O2 || check_add_cflags -O3 |
- fi |
+ enabled rvct && check_add_cflags -Otime |
+ enabled small && check_add_cflags -O2 || check_add_cflags -O3 |
fi |
# Position Independent Code (PIC) support, for building relocatable |
# shared objects |
enabled gcc && enabled pic && check_add_cflags -fPIC |
- # Work around longjmp interception on glibc >= 2.11, to improve binary |
- # compatibility. See http://code.google.com/p/webm/issues/detail?id=166 |
- enabled linux && check_add_cflags -D_FORTIFY_SOURCE=0 |
- |
# Check for strip utility variant |
${STRIP} -V 2>/dev/null | grep GNU >/dev/null && enable gnu_strip |
@@ -974,9 +979,6 @@ EOF |
esac |
fi |
- # for sysconf(3) and friends. |
- check_header unistd.h |
- |
# glibc needs these |
if enabled linux; then |
add_cflags -D_LARGEFILE_SOURCE |