Index: source/libvpx/build/make/configure.sh |
=================================================================== |
--- source/libvpx/build/make/configure.sh (revision 293081) |
+++ source/libvpx/build/make/configure.sh (working copy) |
@@ -14,62 +14,56 @@ |
# Logging / Output Functions |
# |
die_unknown(){ |
- echo "Unknown option \"$1\"." |
- echo "See $0 --help for available options." |
- clean_temp_files |
- exit 1 |
+ echo "Unknown option \"$1\"." |
+ echo "See $0 --help for available options." |
+ clean_temp_files |
+ exit 1 |
} |
- |
die() { |
- echo "$@" |
- echo |
- echo "Configuration failed. This could reflect a misconfiguration of your" |
- echo "toolchains, improper options selected, or another problem. If you" |
- echo "don't see any useful error messages above, the next step is to look" |
- echo "at the configure error log file ($logfile) to determine what" |
- echo "configure was trying to do when it died." |
- clean_temp_files |
- exit 1 |
+ echo "$@" |
+ echo |
+ echo "Configuration failed. This could reflect a misconfiguration of your" |
+ echo "toolchains, improper options selected, or another problem. If you" |
+ echo "don't see any useful error messages above, the next step is to look" |
+ echo "at the configure error log file ($logfile) to determine what" |
+ echo "configure was trying to do when it died." |
+ clean_temp_files |
+ exit 1 |
} |
- |
log(){ |
- echo "$@" >>$logfile |
+ echo "$@" >>$logfile |
} |
- |
log_file(){ |
- log BEGIN $1 |
- cat -n $1 >>$logfile |
- log END $1 |
+ log BEGIN $1 |
+ cat -n $1 >>$logfile |
+ log END $1 |
} |
- |
log_echo() { |
- echo "$@" |
- log "$@" |
+ echo "$@" |
+ log "$@" |
} |
- |
fwrite () { |
- outfile=$1 |
- shift |
- echo "$@" >> ${outfile} |
+ outfile=$1 |
+ shift |
+ echo "$@" >> ${outfile} |
} |
- |
show_help_pre(){ |
- for opt in ${CMDLINE_SELECT}; do |
- opt2=`echo $opt | sed -e 's;_;-;g'` |
- if enabled $opt; then |
- eval "toggle_${opt}=\"--disable-${opt2}\"" |
- else |
- eval "toggle_${opt}=\"--enable-${opt2} \"" |
- fi |
- done |
+ for opt in ${CMDLINE_SELECT}; do |
+ opt2=`echo $opt | sed -e 's;_;-;g'` |
+ if enabled $opt; then |
+ eval "toggle_${opt}=\"--disable-${opt2}\"" |
+ else |
+ eval "toggle_${opt}=\"--enable-${opt2} \"" |
+ fi |
+ done |
- cat <<EOF |
+ cat <<EOF |
Usage: configure [options] |
Options: |
@@ -100,9 +94,8 @@ |
EOF |
} |
- |
show_help_post(){ |
- cat <<EOF |
+ cat <<EOF |
NOTES: |
@@ -119,28 +112,26 @@ |
exit 1 |
} |
- |
show_targets() { |
- while [ -n "$*" ]; do |
- if [ "${1%%-*}" = "${2%%-*}" ]; then |
- if [ "${2%%-*}" = "${3%%-*}" ]; then |
- printf " %-24s %-24s %-24s\n" "$1" "$2" "$3" |
- shift; shift; shift |
- else |
- printf " %-24s %-24s\n" "$1" "$2" |
- shift; shift |
- fi |
- else |
- printf " %-24s\n" "$1" |
- shift |
- fi |
- done |
+ while [ -n "$*" ]; do |
+ if [ "${1%%-*}" = "${2%%-*}" ]; then |
+ if [ "${2%%-*}" = "${3%%-*}" ]; then |
+ printf " %-24s %-24s %-24s\n" "$1" "$2" "$3" |
+ shift; shift; shift |
+ else |
+ printf " %-24s %-24s\n" "$1" "$2" |
+ shift; shift |
+ fi |
+ else |
+ printf " %-24s\n" "$1" |
+ shift |
+ fi |
+ done |
} |
- |
show_help() { |
- show_help_pre |
- show_help_post |
+ show_help_pre |
+ show_help_post |
} |
# |
@@ -147,52 +138,45 @@ |
# List Processing Functions |
# |
set_all(){ |
- value=$1 |
- shift |
- for var in $*; do |
- eval $var=$value |
- done |
+ value=$1 |
+ shift |
+ for var in $*; do |
+ eval $var=$value |
+ done |
} |
- |
is_in(){ |
- value=$1 |
- shift |
- for var in $*; do |
- [ $var = $value ] && return 0 |
- done |
- return 1 |
+ value=$1 |
+ shift |
+ for var in $*; do |
+ [ $var = $value ] && return 0 |
+ done |
+ return 1 |
} |
- |
add_cflags() { |
- CFLAGS="${CFLAGS} $@" |
- CXXFLAGS="${CXXFLAGS} $@" |
+ CFLAGS="${CFLAGS} $@" |
+ CXXFLAGS="${CXXFLAGS} $@" |
} |
- |
add_cflags_only() { |
- CFLAGS="${CFLAGS} $@" |
+ CFLAGS="${CFLAGS} $@" |
} |
- |
add_cxxflags_only() { |
- CXXFLAGS="${CXXFLAGS} $@" |
+ CXXFLAGS="${CXXFLAGS} $@" |
} |
- |
add_ldflags() { |
- LDFLAGS="${LDFLAGS} $@" |
+ LDFLAGS="${LDFLAGS} $@" |
} |
- |
add_asflags() { |
- ASFLAGS="${ASFLAGS} $@" |
+ ASFLAGS="${ASFLAGS} $@" |
} |
- |
add_extralibs() { |
- extralibs="${extralibs} $@" |
+ extralibs="${extralibs} $@" |
} |
# |
@@ -199,54 +183,50 @@ |
# Boolean Manipulation Functions |
# |
enable_feature(){ |
- set_all yes $* |
+ set_all yes $* |
} |
disable_feature(){ |
- set_all no $* |
+ set_all no $* |
} |
enabled(){ |
- eval test "x\$$1" = "xyes" |
+ eval test "x\$$1" = "xyes" |
} |
disabled(){ |
- eval test "x\$$1" = "xno" |
+ eval test "x\$$1" = "xno" |
} |
- |
soft_enable() { |
- for var in $*; do |
- if ! disabled $var; then |
- log_echo " enabling $var" |
- enable_feature $var |
- fi |
- done |
+ for var in $*; do |
+ if ! disabled $var; then |
+ log_echo " enabling $var" |
+ enable_feature $var |
+ fi |
+ done |
} |
soft_disable() { |
- for var in $*; do |
- if ! enabled $var; then |
- log_echo " disabling $var" |
- disable_feature $var |
- fi |
- done |
+ for var in $*; do |
+ if ! enabled $var; then |
+ log_echo " disabling $var" |
+ disable_feature $var |
+ fi |
+ done |
} |
- |
# |
# Text Processing Functions |
# |
toupper(){ |
- echo "$@" | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ |
+ echo "$@" | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ |
} |
- |
tolower(){ |
- echo "$@" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz |
+ echo "$@" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz |
} |
- |
# |
# Temporary File Functions |
# |
@@ -253,16 +233,16 @@ |
source_path=${0%/*} |
enable_feature source_path_used |
if [ -z "$source_path" ] || [ "$source_path" = "." ]; then |
- source_path="`pwd`" |
- disable_feature source_path_used |
+ source_path="`pwd`" |
+ disable_feature source_path_used |
fi |
if test ! -z "$TMPDIR" ; then |
- TMPDIRx="${TMPDIR}" |
+ TMPDIRx="${TMPDIR}" |
elif test ! -z "$TEMPDIR" ; then |
- TMPDIRx="${TEMPDIR}" |
+ TMPDIRx="${TEMPDIR}" |
else |
- TMPDIRx="/tmp" |
+ TMPDIRx="/tmp" |
fi |
RAND=$(awk 'BEGIN { srand(); printf "%d\n",(rand() * 32768)}') |
TMP_H="${TMPDIRx}/vpx-conf-$$-${RAND}.h" |
@@ -273,8 +253,8 @@ |
TMP_ASM="${TMPDIRx}/vpx-conf-$$-${RAND}.asm" |
clean_temp_files() { |
- rm -f ${TMP_C} ${TMP_CC} ${TMP_H} ${TMP_O} ${TMP_X} ${TMP_ASM} |
- enabled gcov && rm -f ${TMP_C%.c}.gcno ${TMP_CC%.cc}.gcno |
+ rm -f ${TMP_C} ${TMP_CC} ${TMP_H} ${TMP_O} ${TMP_X} ${TMP_ASM} |
+ enabled gcov && rm -f ${TMP_C%.c}.gcno ${TMP_CC%.cc}.gcno |
} |
# |
@@ -281,68 +261,69 @@ |
# Toolchain Check Functions |
# |
check_cmd() { |
- enabled external_build && return |
- log "$@" |
- "$@" >>${logfile} 2>&1 |
+ enabled external_build && return |
+ log "$@" |
+ "$@" >>${logfile} 2>&1 |
} |
check_cc() { |
- log check_cc "$@" |
- cat >${TMP_C} |
- log_file ${TMP_C} |
- check_cmd ${CC} ${CFLAGS} "$@" -c -o ${TMP_O} ${TMP_C} |
+ log check_cc "$@" |
+ cat >${TMP_C} |
+ log_file ${TMP_C} |
+ check_cmd ${CC} ${CFLAGS} "$@" -c -o ${TMP_O} ${TMP_C} |
} |
check_cxx() { |
- log check_cxx "$@" |
- cat >${TMP_CC} |
- log_file ${TMP_CC} |
- check_cmd ${CXX} ${CXXFLAGS} "$@" -c -o ${TMP_O} ${TMP_CC} |
+ log check_cxx "$@" |
+ cat >${TMP_CC} |
+ log_file ${TMP_CC} |
+ check_cmd ${CXX} ${CXXFLAGS} "$@" -c -o ${TMP_O} ${TMP_CC} |
} |
check_cpp() { |
- log check_cpp "$@" |
- cat > ${TMP_C} |
- log_file ${TMP_C} |
- check_cmd ${CC} ${CFLAGS} "$@" -E -o ${TMP_O} ${TMP_C} |
+ log check_cpp "$@" |
+ cat > ${TMP_C} |
+ log_file ${TMP_C} |
+ check_cmd ${CC} ${CFLAGS} "$@" -E -o ${TMP_O} ${TMP_C} |
} |
check_ld() { |
- log check_ld "$@" |
- check_cc $@ \ |
- && check_cmd ${LD} ${LDFLAGS} "$@" -o ${TMP_X} ${TMP_O} ${extralibs} |
+ log check_ld "$@" |
+ check_cc $@ \ |
+ && check_cmd ${LD} ${LDFLAGS} "$@" -o ${TMP_X} ${TMP_O} ${extralibs} |
} |
check_header(){ |
- log check_header "$@" |
- header=$1 |
- shift |
- var=`echo $header | sed 's/[^A-Za-z0-9_]/_/g'` |
- disable_feature $var |
- check_cpp "$@" <<EOF && enable_feature $var |
+ log check_header "$@" |
+ header=$1 |
+ shift |
+ var=`echo $header | sed 's/[^A-Za-z0-9_]/_/g'` |
+ disable_feature $var |
+ check_cpp "$@" <<EOF && enable_feature $var |
#include "$header" |
int x; |
EOF |
} |
- |
check_cflags() { |
- log check_cflags "$@" |
- check_cc -Werror "$@" <<EOF |
+ log check_cflags "$@" |
+ check_cc -Werror "$@" <<EOF |
int x; |
EOF |
} |
check_cxxflags() { |
- log check_cxxflags "$@" |
+ log check_cxxflags "$@" |
- # Catch CFLAGS that trigger CXX warnings |
- case "$CXX" in |
- *c++-analyzer|*clang++|*g++*) check_cxx -Werror "$@" <<EOF |
+ # Catch CFLAGS that trigger CXX warnings |
+ case "$CXX" in |
+ *c++-analyzer|*clang++|*g++*) |
+ check_cxx -Werror "$@" <<EOF |
int x; |
EOF |
;; |
- *) check_cxx -Werror "$@" <<EOF |
+ *) |
+ check_cxx -Werror "$@" <<EOF |
int x; |
EOF |
;; |
@@ -350,82 +331,82 @@ |
} |
check_add_cflags() { |
- check_cxxflags "$@" && add_cxxflags_only "$@" |
- check_cflags "$@" && add_cflags_only "$@" |
+ check_cxxflags "$@" && add_cxxflags_only "$@" |
+ check_cflags "$@" && add_cflags_only "$@" |
} |
check_add_asflags() { |
- log add_asflags "$@" |
- add_asflags "$@" |
+ log add_asflags "$@" |
+ add_asflags "$@" |
} |
check_add_ldflags() { |
- log add_ldflags "$@" |
- add_ldflags "$@" |
+ log add_ldflags "$@" |
+ add_ldflags "$@" |
} |
check_asm_align() { |
- log check_asm_align "$@" |
- cat >${TMP_ASM} <<EOF |
+ log check_asm_align "$@" |
+ cat >${TMP_ASM} <<EOF |
section .rodata |
align 16 |
EOF |
- log_file ${TMP_ASM} |
- check_cmd ${AS} ${ASFLAGS} -o ${TMP_O} ${TMP_ASM} |
- readelf -WS ${TMP_O} >${TMP_X} |
- log_file ${TMP_X} |
- if ! grep -q '\.rodata .* 16$' ${TMP_X}; then |
- die "${AS} ${ASFLAGS} does not support section alignment (nasm <=2.08?)" |
- fi |
+ log_file ${TMP_ASM} |
+ check_cmd ${AS} ${ASFLAGS} -o ${TMP_O} ${TMP_ASM} |
+ readelf -WS ${TMP_O} >${TMP_X} |
+ log_file ${TMP_X} |
+ if ! grep -q '\.rodata .* 16$' ${TMP_X}; then |
+ die "${AS} ${ASFLAGS} does not support section alignment (nasm <=2.08?)" |
+ fi |
} |
# tests for -m$1 toggling the feature given in $2. If $2 is empty $1 is used. |
check_gcc_machine_option() { |
- opt="$1" |
- feature="$2" |
- [ -n "$feature" ] || feature="$opt" |
+ opt="$1" |
+ feature="$2" |
+ [ -n "$feature" ] || feature="$opt" |
- if enabled gcc && ! disabled "$feature" && ! check_cflags "-m$opt"; then |
- RTCD_OPTIONS="${RTCD_OPTIONS}--disable-$feature " |
- else |
- soft_enable "$feature" |
- fi |
+ if enabled gcc && ! disabled "$feature" && ! check_cflags "-m$opt"; then |
+ RTCD_OPTIONS="${RTCD_OPTIONS}--disable-$feature " |
+ else |
+ soft_enable "$feature" |
+ fi |
} |
write_common_config_banner() { |
- print_webm_license config.mk "##" "" |
- echo '# This file automatically generated by configure. Do not edit!' >> config.mk |
- echo "TOOLCHAIN := ${toolchain}" >> config.mk |
+ print_webm_license config.mk "##" "" |
+ echo '# This file automatically generated by configure. Do not edit!' >> config.mk |
+ echo "TOOLCHAIN := ${toolchain}" >> config.mk |
- case ${toolchain} in |
- *-linux-rvct) |
- echo "ALT_LIBC := ${alt_libc}" >> config.mk |
- ;; |
- esac |
+ case ${toolchain} in |
+ *-linux-rvct) |
+ echo "ALT_LIBC := ${alt_libc}" >> config.mk |
+ ;; |
+ esac |
} |
write_common_config_targets() { |
- for t in ${all_targets}; do |
- if enabled ${t}; then |
- if enabled universal || enabled child; then |
- fwrite config.mk "ALL_TARGETS += ${t}-${toolchain}" |
- else |
- fwrite config.mk "ALL_TARGETS += ${t}" |
- fi |
- fi |
+ for t in ${all_targets}; do |
+ if enabled ${t}; then |
+ if enabled universal || enabled child; then |
+ fwrite config.mk "ALL_TARGETS += ${t}-${toolchain}" |
+ else |
+ fwrite config.mk "ALL_TARGETS += ${t}" |
+ fi |
+ fi |
true; |
- done |
-true |
+ done |
+ true |
} |
write_common_target_config_mk() { |
- saved_CC="${CC}" |
- saved_CXX="${CXX}" |
- enabled ccache && CC="ccache ${CC}" |
- enabled ccache && CXX="ccache ${CXX}" |
- print_webm_license $1 "##" "" |
+ saved_CC="${CC}" |
+ saved_CXX="${CXX}" |
+ enabled ccache && CC="ccache ${CC}" |
+ enabled ccache && CXX="ccache ${CXX}" |
+ print_webm_license $1 "##" "" |
- cat >> $1 << EOF |
+ cat >> $1 << EOF |
# This file automatically generated by configure. Do not edit! |
SRC_PATH="$source_path" |
SRC_PATH_BARE=$source_path |
@@ -455,29 +436,28 @@ |
RTCD_OPTIONS = ${RTCD_OPTIONS} |
EOF |
- if enabled rvct; then cat >> $1 << EOF |
+ if enabled rvct; then cat >> $1 << EOF |
fmt_deps = sed -e 's;^__image.axf;\${@:.d=.o} \$@;' #hide |
EOF |
- else cat >> $1 << EOF |
+ else cat >> $1 << EOF |
fmt_deps = sed -e 's;^\([a-zA-Z0-9_]*\)\.o;\${@:.d=.o} \$@;' |
EOF |
- fi |
+ fi |
- print_config_mk ARCH "${1}" ${ARCH_LIST} |
- print_config_mk HAVE "${1}" ${HAVE_LIST} |
- print_config_mk CONFIG "${1}" ${CONFIG_LIST} |
- print_config_mk HAVE "${1}" gnu_strip |
+ print_config_mk ARCH "${1}" ${ARCH_LIST} |
+ print_config_mk HAVE "${1}" ${HAVE_LIST} |
+ print_config_mk CONFIG "${1}" ${CONFIG_LIST} |
+ print_config_mk HAVE "${1}" gnu_strip |
- enabled msvs && echo "CONFIG_VS_VERSION=${vs_version}" >> "${1}" |
+ enabled msvs && echo "CONFIG_VS_VERSION=${vs_version}" >> "${1}" |
- CC="${saved_CC}" |
- CXX="${saved_CXX}" |
+ CC="${saved_CC}" |
+ CXX="${saved_CXX}" |
} |
- |
write_common_target_config_h() { |
- print_webm_license ${TMP_H} "/*" " */" |
- cat >> ${TMP_H} << EOF |
+ print_webm_license ${TMP_H} "/*" " */" |
+ cat >> ${TMP_H} << EOF |
/* This file automatically generated by configure. Do not edit! */ |
#ifndef VPX_CONFIG_H |
#define VPX_CONFIG_H |
@@ -484,44 +464,49 @@ |
#define RESTRICT ${RESTRICT} |
#define INLINE ${INLINE} |
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} |
- print_config_vars_h "${TMP_H}" ${VAR_LIST} |
- echo "#endif /* VPX_CONFIG_H */" >> ${TMP_H} |
- mkdir -p `dirname "$1"` |
- cmp "$1" ${TMP_H} >/dev/null 2>&1 || mv ${TMP_H} "$1" |
+ print_config_h ARCH "${TMP_H}" ${ARCH_LIST} |
+ print_config_h HAVE "${TMP_H}" ${HAVE_LIST} |
+ print_config_h CONFIG "${TMP_H}" ${CONFIG_LIST} |
+ print_config_vars_h "${TMP_H}" ${VAR_LIST} |
+ echo "#endif /* VPX_CONFIG_H */" >> ${TMP_H} |
+ mkdir -p `dirname "$1"` |
+ cmp "$1" ${TMP_H} >/dev/null 2>&1 || mv ${TMP_H} "$1" |
} |
process_common_cmdline() { |
- for opt in "$@"; do |
- optval="${opt#*=}" |
- case "$opt" in |
- --child) enable_feature child |
+ for opt in "$@"; do |
+ optval="${opt#*=}" |
+ case "$opt" in |
+ --child) |
+ enable_feature child |
;; |
- --log*) |
+ --log*) |
logging="$optval" |
if ! disabled logging ; then |
- enabled logging || logfile="$logging" |
+ enabled logging || logfile="$logging" |
else |
- logfile=/dev/null |
+ logfile=/dev/null |
fi |
;; |
- --target=*) toolchain="${toolchain:-${optval}}" |
+ --target=*) |
+ toolchain="${toolchain:-${optval}}" |
;; |
- --force-target=*) toolchain="${toolchain:-${optval}}"; enable_feature force_toolchain |
+ --force-target=*) |
+ toolchain="${toolchain:-${optval}}" |
+ enable_feature force_toolchain |
;; |
- --cpu) |
+ --cpu) |
;; |
- --cpu=*) tune_cpu="$optval" |
+ --cpu=*) |
+ tune_cpu="$optval" |
;; |
- --extra-cflags=*) |
+ --extra-cflags=*) |
extra_cflags="${optval}" |
;; |
- --enable-?*|--disable-?*) |
+ --enable-?*|--disable-?*) |
eval `echo "$opt" | sed 's/--/action=/;s/-/ option=/;s/-/_/g'` |
if echo "${ARCH_EXT_LIST}" | grep "^ *$option\$" >/dev/null; then |
- [ $action = "disable" ] && RTCD_OPTIONS="${RTCD_OPTIONS}--disable-${option} " |
+ [ $action = "disable" ] && RTCD_OPTIONS="${RTCD_OPTIONS}--disable-${option} " |
elif [ $action = "disable" ] && ! disabled $option ; then |
echo "${CMDLINE_SELECT}" | grep "^ *$option\$" >/dev/null || |
die_unknown $opt |
@@ -531,7 +516,7 @@ |
fi |
${action}_feature $option |
;; |
- --require-?*) |
+ --require-?*) |
eval `echo "$opt" | sed 's/--/action=/;s/-/ option=/;s/-/_/g'` |
if echo "${ARCH_EXT_LIST}" none | grep "^ *$option\$" >/dev/null; then |
RTCD_OPTIONS="${RTCD_OPTIONS}${opt} " |
@@ -539,22 +524,22 @@ |
die_unknown $opt |
fi |
;; |
- --force-enable-?*|--force-disable-?*) |
+ --force-enable-?*|--force-disable-?*) |
eval `echo "$opt" | sed 's/--force-/action=/;s/-/ option=/;s/-/_/g'` |
${action}_feature $option |
;; |
- --libc=*) |
+ --libc=*) |
[ -d "${optval}" ] || die "Not a directory: ${optval}" |
disable_feature builtin_libc |
alt_libc="${optval}" |
;; |
- --as=*) |
+ --as=*) |
[ "${optval}" = yasm ] || [ "${optval}" = nasm ] \ |
- || [ "${optval}" = auto ] \ |
- || die "Must be yasm, nasm or auto: ${optval}" |
+ || [ "${optval}" = auto ] \ |
+ || die "Must be yasm, nasm or auto: ${optval}" |
alt_as="${optval}" |
;; |
- --size-limit=*) |
+ --size-limit=*) |
w="${optval%%x*}" |
h="${optval##*x}" |
VAR_LIST="DECODE_WIDTH_LIMIT ${w} DECODE_HEIGHT_LIMIT ${h}" |
@@ -563,728 +548,723 @@ |
|| die "Invalid size-limit: too big." |
enable_feature size_limit |
;; |
- --prefix=*) |
+ --prefix=*) |
prefix="${optval}" |
;; |
- --libdir=*) |
+ --libdir=*) |
libdir="${optval}" |
;; |
- --sdk-path=*) |
+ --sdk-path=*) |
[ -d "${optval}" ] || die "Not a directory: ${optval}" |
sdk_path="${optval}" |
;; |
- --libc|--as|--prefix|--libdir|--sdk-path) |
+ --libc|--as|--prefix|--libdir|--sdk-path) |
die "Option ${opt} requires argument" |
;; |
- --help|-h) show_help |
+ --help|-h) |
+ show_help |
;; |
- *) die_unknown $opt |
+ *) |
+ die_unknown $opt |
;; |
- esac |
- done |
+ esac |
+ done |
} |
process_cmdline() { |
- for opt do |
- optval="${opt#*=}" |
- case "$opt" in |
- *) process_common_cmdline $opt |
+ for opt do |
+ optval="${opt#*=}" |
+ case "$opt" in |
+ *) |
+ process_common_cmdline $opt |
;; |
- esac |
- done |
+ esac |
+ done |
} |
- |
post_process_common_cmdline() { |
- prefix="${prefix:-/usr/local}" |
- prefix="${prefix%/}" |
- libdir="${libdir:-${prefix}/lib}" |
- libdir="${libdir%/}" |
- if [ "${libdir#${prefix}}" = "${libdir}" ]; then |
- die "Libdir ${libdir} must be a subdirectory of ${prefix}" |
- fi |
+ prefix="${prefix:-/usr/local}" |
+ prefix="${prefix%/}" |
+ libdir="${libdir:-${prefix}/lib}" |
+ libdir="${libdir%/}" |
+ if [ "${libdir#${prefix}}" = "${libdir}" ]; then |
+ die "Libdir ${libdir} must be a subdirectory of ${prefix}" |
+ fi |
} |
- |
post_process_cmdline() { |
- true; |
+ true; |
} |
setup_gnu_toolchain() { |
- CC=${CC:-${CROSS}gcc} |
- CXX=${CXX:-${CROSS}g++} |
- AR=${AR:-${CROSS}ar} |
- LD=${LD:-${CROSS}${link_with_cc:-ld}} |
- AS=${AS:-${CROSS}as} |
- STRIP=${STRIP:-${CROSS}strip} |
- NM=${NM:-${CROSS}nm} |
- AS_SFX=.s |
- EXE_SFX= |
+ CC=${CC:-${CROSS}gcc} |
+ CXX=${CXX:-${CROSS}g++} |
+ AR=${AR:-${CROSS}ar} |
+ LD=${LD:-${CROSS}${link_with_cc:-ld}} |
+ AS=${AS:-${CROSS}as} |
+ STRIP=${STRIP:-${CROSS}strip} |
+ NM=${NM:-${CROSS}nm} |
+ AS_SFX=.s |
+ EXE_SFX= |
} |
process_common_toolchain() { |
- if [ -z "$toolchain" ]; then |
- gcctarget="${CHOST:-$(gcc -dumpmachine 2> /dev/null)}" |
+ if [ -z "$toolchain" ]; then |
+ gcctarget="${CHOST:-$(gcc -dumpmachine 2> /dev/null)}" |
- # detect tgt_isa |
- case "$gcctarget" in |
- armv6*) |
- tgt_isa=armv6 |
- ;; |
- armv7*-hardfloat*) |
- tgt_isa=armv7 |
- float_abi=hard |
- ;; |
- armv7*) |
- tgt_isa=armv7 |
- float_abi=softfp |
- ;; |
- armv5te*) |
- tgt_isa=armv5te |
- ;; |
- *x86_64*|*amd64*) |
- tgt_isa=x86_64 |
- ;; |
- *i[3456]86*) |
- tgt_isa=x86 |
- ;; |
- *powerpc64*) |
- tgt_isa=ppc64 |
- ;; |
- *powerpc*) |
- tgt_isa=ppc32 |
- ;; |
- *sparc*) |
- tgt_isa=sparc |
- ;; |
- esac |
+ # detect tgt_isa |
+ case "$gcctarget" in |
+ armv6*) |
+ tgt_isa=armv6 |
+ ;; |
+ armv7*-hardfloat*) |
+ tgt_isa=armv7 |
+ float_abi=hard |
+ ;; |
+ armv7*) |
+ tgt_isa=armv7 |
+ float_abi=softfp |
+ ;; |
+ *x86_64*|*amd64*) |
+ tgt_isa=x86_64 |
+ ;; |
+ *i[3456]86*) |
+ tgt_isa=x86 |
+ ;; |
+ *powerpc64*) |
+ tgt_isa=ppc64 |
+ ;; |
+ *powerpc*) |
+ tgt_isa=ppc32 |
+ ;; |
+ *sparc*) |
+ tgt_isa=sparc |
+ ;; |
+ esac |
- # detect tgt_os |
- case "$gcctarget" in |
- *darwin8*) |
- tgt_isa=universal |
- tgt_os=darwin8 |
- ;; |
- *darwin9*) |
- tgt_isa=universal |
- tgt_os=darwin9 |
- ;; |
- *darwin10*) |
- tgt_isa=x86_64 |
- tgt_os=darwin10 |
- ;; |
- *darwin11*) |
- tgt_isa=x86_64 |
- tgt_os=darwin11 |
- ;; |
- *darwin12*) |
- tgt_isa=x86_64 |
- tgt_os=darwin12 |
- ;; |
- *darwin13*) |
- tgt_isa=x86_64 |
- tgt_os=darwin13 |
- ;; |
- x86_64*mingw32*) |
- tgt_os=win64 |
- ;; |
- *mingw32*|*cygwin*) |
- [ -z "$tgt_isa" ] && tgt_isa=x86 |
- tgt_os=win32 |
- ;; |
- *linux*|*bsd*) |
- tgt_os=linux |
- ;; |
- *solaris2.10) |
- tgt_os=solaris |
- ;; |
- *os2*) |
- tgt_os=os2 |
- ;; |
- esac |
+ # detect tgt_os |
+ case "$gcctarget" in |
+ *darwin8*) |
+ tgt_isa=universal |
+ tgt_os=darwin8 |
+ ;; |
+ *darwin9*) |
+ tgt_isa=universal |
+ tgt_os=darwin9 |
+ ;; |
+ *darwin10*) |
+ tgt_isa=x86_64 |
+ tgt_os=darwin10 |
+ ;; |
+ *darwin11*) |
+ tgt_isa=x86_64 |
+ tgt_os=darwin11 |
+ ;; |
+ *darwin12*) |
+ tgt_isa=x86_64 |
+ tgt_os=darwin12 |
+ ;; |
+ *darwin13*) |
+ tgt_isa=x86_64 |
+ tgt_os=darwin13 |
+ ;; |
+ x86_64*mingw32*) |
+ tgt_os=win64 |
+ ;; |
+ *mingw32*|*cygwin*) |
+ [ -z "$tgt_isa" ] && tgt_isa=x86 |
+ tgt_os=win32 |
+ ;; |
+ *linux*|*bsd*) |
+ tgt_os=linux |
+ ;; |
+ *solaris2.10) |
+ tgt_os=solaris |
+ ;; |
+ *os2*) |
+ tgt_os=os2 |
+ ;; |
+ esac |
- if [ -n "$tgt_isa" ] && [ -n "$tgt_os" ]; then |
- toolchain=${tgt_isa}-${tgt_os}-gcc |
- fi |
+ if [ -n "$tgt_isa" ] && [ -n "$tgt_os" ]; then |
+ toolchain=${tgt_isa}-${tgt_os}-gcc |
fi |
+ fi |
- toolchain=${toolchain:-generic-gnu} |
+ toolchain=${toolchain:-generic-gnu} |
- is_in ${toolchain} ${all_platforms} || enabled force_toolchain \ |
- || die "Unrecognized toolchain '${toolchain}'" |
+ is_in ${toolchain} ${all_platforms} || enabled force_toolchain \ |
+ || die "Unrecognized toolchain '${toolchain}'" |
- enabled child || log_echo "Configuring for target '${toolchain}'" |
+ enabled child || log_echo "Configuring for target '${toolchain}'" |
- # |
- # Set up toolchain variables |
- # |
- tgt_isa=$(echo ${toolchain} | awk 'BEGIN{FS="-"}{print $1}') |
- tgt_os=$(echo ${toolchain} | awk 'BEGIN{FS="-"}{print $2}') |
- tgt_cc=$(echo ${toolchain} | awk 'BEGIN{FS="-"}{print $3}') |
+ # |
+ # Set up toolchain variables |
+ # |
+ tgt_isa=$(echo ${toolchain} | awk 'BEGIN{FS="-"}{print $1}') |
+ tgt_os=$(echo ${toolchain} | awk 'BEGIN{FS="-"}{print $2}') |
+ tgt_cc=$(echo ${toolchain} | awk 'BEGIN{FS="-"}{print $3}') |
- # Mark the specific ISA requested as enabled |
- soft_enable ${tgt_isa} |
- enable_feature ${tgt_os} |
- enable_feature ${tgt_cc} |
+ # Mark the specific ISA requested as enabled |
+ soft_enable ${tgt_isa} |
+ enable_feature ${tgt_os} |
+ enable_feature ${tgt_cc} |
- # Enable the architecture family |
- case ${tgt_isa} in |
- arm*) enable_feature arm;; |
- mips*) enable_feature mips;; |
- esac |
+ # Enable the architecture family |
+ case ${tgt_isa} in |
+ arm*) |
+ enable_feature arm |
+ ;; |
+ mips*) |
+ enable_feature mips |
+ ;; |
+ esac |
- # PIC is probably what we want when building shared libs |
- enabled shared && soft_enable pic |
+ # PIC is probably what we want when building shared libs |
+ enabled shared && soft_enable pic |
- # Minimum iOS version for all target platforms (darwin and iphonesimulator). |
- IOS_VERSION_MIN="6.0" |
+ # Minimum iOS version for all target platforms (darwin and iphonesimulator). |
+ IOS_VERSION_MIN="6.0" |
- # Handle darwin variants. Newer SDKs allow targeting older |
- # platforms, so find the newest SDK available. |
- case ${toolchain} in |
- *-darwin*) |
- if [ -z "${DEVELOPER_DIR}" ]; then |
- DEVELOPER_DIR=`xcode-select -print-path 2> /dev/null` |
- [ $? -ne 0 ] && OSX_SKIP_DIR_CHECK=1 |
- fi |
- if [ -z "${OSX_SKIP_DIR_CHECK}" ]; then |
- OSX_SDK_ROOTS="${DEVELOPER_DIR}/SDKs" |
- OSX_SDK_VERSIONS="MacOSX10.4u.sdk MacOSX10.5.sdk MacOSX10.6.sdk" |
- OSX_SDK_VERSIONS="${OSX_SDK_VERSIONS} MacOSX10.7.sdk" |
- for v in ${OSX_SDK_VERSIONS}; do |
- if [ -d "${OSX_SDK_ROOTS}/${v}" ]; then |
- osx_sdk_dir="${OSX_SDK_ROOTS}/${v}" |
- fi |
- done |
- fi |
- ;; |
- esac |
+ # Handle darwin variants. Newer SDKs allow targeting older |
+ # platforms, so find the newest SDK available. |
+ case ${toolchain} in |
+ *-darwin*) |
+ if [ -z "${DEVELOPER_DIR}" ]; then |
+ DEVELOPER_DIR=`xcode-select -print-path 2> /dev/null` |
+ [ $? -ne 0 ] && OSX_SKIP_DIR_CHECK=1 |
+ fi |
+ if [ -z "${OSX_SKIP_DIR_CHECK}" ]; then |
+ OSX_SDK_ROOTS="${DEVELOPER_DIR}/SDKs" |
+ OSX_SDK_VERSIONS="MacOSX10.4u.sdk MacOSX10.5.sdk MacOSX10.6.sdk" |
+ OSX_SDK_VERSIONS="${OSX_SDK_VERSIONS} MacOSX10.7.sdk" |
+ for v in ${OSX_SDK_VERSIONS}; do |
+ if [ -d "${OSX_SDK_ROOTS}/${v}" ]; then |
+ osx_sdk_dir="${OSX_SDK_ROOTS}/${v}" |
+ fi |
+ done |
+ fi |
+ ;; |
+ esac |
- if [ -d "${osx_sdk_dir}" ]; then |
- add_cflags "-isysroot ${osx_sdk_dir}" |
- add_ldflags "-isysroot ${osx_sdk_dir}" |
- fi |
+ if [ -d "${osx_sdk_dir}" ]; then |
+ add_cflags "-isysroot ${osx_sdk_dir}" |
+ add_ldflags "-isysroot ${osx_sdk_dir}" |
+ fi |
- case ${toolchain} in |
- *-darwin8-*) |
- add_cflags "-mmacosx-version-min=10.4" |
- add_ldflags "-mmacosx-version-min=10.4" |
- ;; |
- *-darwin9-*) |
- add_cflags "-mmacosx-version-min=10.5" |
- add_ldflags "-mmacosx-version-min=10.5" |
- ;; |
- *-darwin10-*) |
- add_cflags "-mmacosx-version-min=10.6" |
- add_ldflags "-mmacosx-version-min=10.6" |
- ;; |
- *-darwin11-*) |
- add_cflags "-mmacosx-version-min=10.7" |
- add_ldflags "-mmacosx-version-min=10.7" |
- ;; |
- *-darwin12-*) |
- add_cflags "-mmacosx-version-min=10.8" |
- add_ldflags "-mmacosx-version-min=10.8" |
- ;; |
- *-darwin13-*) |
- add_cflags "-mmacosx-version-min=10.9" |
- add_ldflags "-mmacosx-version-min=10.9" |
- ;; |
- *-iphonesimulator-*) |
- add_cflags "-miphoneos-version-min=${IOS_VERSION_MIN}" |
- add_ldflags "-miphoneos-version-min=${IOS_VERSION_MIN}" |
- osx_sdk_dir="$(xcrun --sdk iphonesimulator --show-sdk-path)" |
- add_cflags "-isysroot ${osx_sdk_dir}" |
- add_ldflags "-isysroot ${osx_sdk_dir}" |
- ;; |
- esac |
+ case ${toolchain} in |
+ *-darwin8-*) |
+ add_cflags "-mmacosx-version-min=10.4" |
+ add_ldflags "-mmacosx-version-min=10.4" |
+ ;; |
+ *-darwin9-*) |
+ add_cflags "-mmacosx-version-min=10.5" |
+ add_ldflags "-mmacosx-version-min=10.5" |
+ ;; |
+ *-darwin10-*) |
+ add_cflags "-mmacosx-version-min=10.6" |
+ add_ldflags "-mmacosx-version-min=10.6" |
+ ;; |
+ *-darwin11-*) |
+ add_cflags "-mmacosx-version-min=10.7" |
+ add_ldflags "-mmacosx-version-min=10.7" |
+ ;; |
+ *-darwin12-*) |
+ add_cflags "-mmacosx-version-min=10.8" |
+ add_ldflags "-mmacosx-version-min=10.8" |
+ ;; |
+ *-darwin13-*) |
+ add_cflags "-mmacosx-version-min=10.9" |
+ add_ldflags "-mmacosx-version-min=10.9" |
+ ;; |
+ *-iphonesimulator-*) |
+ add_cflags "-miphoneos-version-min=${IOS_VERSION_MIN}" |
+ add_ldflags "-miphoneos-version-min=${IOS_VERSION_MIN}" |
+ osx_sdk_dir="$(xcrun --sdk iphonesimulator --show-sdk-path)" |
+ add_cflags "-isysroot ${osx_sdk_dir}" |
+ add_ldflags "-isysroot ${osx_sdk_dir}" |
+ ;; |
+ esac |
- # Handle Solaris variants. Solaris 10 needs -lposix4 |
- case ${toolchain} in |
- sparc-solaris-*) |
- add_extralibs -lposix4 |
- disable_feature fast_unaligned |
- ;; |
- *-solaris-*) |
- add_extralibs -lposix4 |
- ;; |
- esac |
+ # Handle Solaris variants. Solaris 10 needs -lposix4 |
+ case ${toolchain} in |
+ sparc-solaris-*) |
+ add_extralibs -lposix4 |
+ disable_feature fast_unaligned |
+ ;; |
+ *-solaris-*) |
+ add_extralibs -lposix4 |
+ ;; |
+ esac |
- # Process ARM architecture variants |
- case ${toolchain} in |
+ # Process ARM architecture variants |
+ case ${toolchain} in |
arm*) |
- # on arm, isa versions are supersets |
- case ${tgt_isa} in |
+ # on arm, isa versions are supersets |
+ case ${tgt_isa} in |
arm64|armv8) |
- soft_enable neon |
- ;; |
+ soft_enable neon |
+ ;; |
armv7|armv7s) |
- soft_enable neon |
- soft_enable neon_asm |
- soft_enable media |
- soft_enable edsp |
- soft_enable fast_unaligned |
- ;; |
+ soft_enable neon |
+ soft_enable neon_asm |
+ soft_enable media |
+ soft_enable fast_unaligned |
+ ;; |
armv6) |
- soft_enable media |
- soft_enable edsp |
- soft_enable fast_unaligned |
- ;; |
- armv5te) |
- soft_enable edsp |
- disable_feature fast_unaligned |
- ;; |
- esac |
+ soft_enable media |
+ soft_enable fast_unaligned |
+ ;; |
+ esac |
- asm_conversion_cmd="cat" |
+ asm_conversion_cmd="cat" |
- case ${tgt_cc} in |
+ case ${tgt_cc} in |
gcc) |
- CROSS=${CROSS:-arm-none-linux-gnueabi-} |
- link_with_cc=gcc |
- setup_gnu_toolchain |
- arch_int=${tgt_isa##armv} |
- arch_int=${arch_int%%te} |
- check_add_asflags --defsym ARCHITECTURE=${arch_int} |
- tune_cflags="-mtune=" |
- if [ ${tgt_isa} = "armv7" ] || [ ${tgt_isa} = "armv7s" ]; then |
- if [ -z "${float_abi}" ]; then |
- check_cpp <<EOF && float_abi=hard || float_abi=softfp |
+ CROSS=${CROSS:-arm-none-linux-gnueabi-} |
+ link_with_cc=gcc |
+ setup_gnu_toolchain |
+ arch_int=${tgt_isa##armv} |
+ arch_int=${arch_int%%te} |
+ check_add_asflags --defsym ARCHITECTURE=${arch_int} |
+ tune_cflags="-mtune=" |
+ if [ ${tgt_isa} = "armv7" ] || [ ${tgt_isa} = "armv7s" ]; then |
+ if [ -z "${float_abi}" ]; then |
+ check_cpp <<EOF && float_abi=hard || float_abi=softfp |
#ifndef __ARM_PCS_VFP |
#error "not hardfp" |
#endif |
EOF |
- fi |
- check_add_cflags -march=armv7-a -mfloat-abi=${float_abi} |
- check_add_asflags -march=armv7-a -mfloat-abi=${float_abi} |
+ fi |
+ check_add_cflags -march=armv7-a -mfloat-abi=${float_abi} |
+ check_add_asflags -march=armv7-a -mfloat-abi=${float_abi} |
- if enabled neon || enabled neon_asm |
- then |
- check_add_cflags -mfpu=neon #-ftree-vectorize |
- check_add_asflags -mfpu=neon |
- fi |
+ if enabled neon || enabled neon_asm; then |
+ check_add_cflags -mfpu=neon #-ftree-vectorize |
+ check_add_asflags -mfpu=neon |
+ fi |
- if [ -z "${tune_cpu}" ]; then |
- tune_cpu=cortex-a8 |
- fi |
- else |
- check_add_cflags -march=${tgt_isa} |
- check_add_asflags -march=${tgt_isa} |
+ if [ -z "${tune_cpu}" ]; then |
+ tune_cpu=cortex-a8 |
fi |
+ else |
+ check_add_cflags -march=${tgt_isa} |
+ check_add_asflags -march=${tgt_isa} |
+ fi |
- enabled debug && add_asflags -g |
- asm_conversion_cmd="${source_path}/build/make/ads2gas.pl" |
- if enabled thumb; then |
- asm_conversion_cmd="$asm_conversion_cmd -thumb" |
- check_add_cflags -mthumb |
- check_add_asflags -mthumb -mimplicit-it=always |
- fi |
- ;; |
+ enabled debug && add_asflags -g |
+ asm_conversion_cmd="${source_path}/build/make/ads2gas.pl" |
+ if enabled thumb; then |
+ asm_conversion_cmd="$asm_conversion_cmd -thumb" |
+ check_add_cflags -mthumb |
+ check_add_asflags -mthumb -mimplicit-it=always |
+ fi |
+ ;; |
vs*) |
- asm_conversion_cmd="${source_path}/build/make/ads2armasm_ms.pl" |
- AS_SFX=.s |
- msvs_arch_dir=arm-msvs |
- disable_feature multithread |
- disable_feature unit_tests |
- vs_version=${tgt_cc##vs} |
- if [ $vs_version -ge 12 ]; then |
- # MSVC 2013 doesn't allow doing plain .exe projects for ARM, |
- # only "AppContainerApplication" which requires an AppxManifest. |
- # Therefore disable the examples, just build the library. |
- disable_feature examples |
- fi |
- ;; |
+ asm_conversion_cmd="${source_path}/build/make/ads2armasm_ms.pl" |
+ AS_SFX=.s |
+ msvs_arch_dir=arm-msvs |
+ disable_feature multithread |
+ disable_feature unit_tests |
+ vs_version=${tgt_cc##vs} |
+ if [ $vs_version -ge 12 ]; then |
+ # MSVC 2013 doesn't allow doing plain .exe projects for ARM, |
+ # only "AppContainerApplication" which requires an AppxManifest. |
+ # Therefore disable the examples, just build the library. |
+ disable_feature examples |
+ fi |
+ ;; |
rvct) |
- CC=armcc |
- AR=armar |
- AS=armasm |
- LD="${source_path}/build/make/armlink_adapter.sh" |
- STRIP=arm-none-linux-gnueabi-strip |
- NM=arm-none-linux-gnueabi-nm |
- tune_cflags="--cpu=" |
- tune_asflags="--cpu=" |
- if [ -z "${tune_cpu}" ]; then |
- if [ ${tgt_isa} = "armv7" ]; then |
- if enabled neon || enabled neon_asm |
- then |
- check_add_cflags --fpu=softvfp+vfpv3 |
- check_add_asflags --fpu=softvfp+vfpv3 |
- fi |
- check_add_cflags --cpu=Cortex-A8 |
- check_add_asflags --cpu=Cortex-A8 |
- else |
- check_add_cflags --cpu=${tgt_isa##armv} |
- check_add_asflags --cpu=${tgt_isa##armv} |
- fi |
+ CC=armcc |
+ AR=armar |
+ AS=armasm |
+ LD="${source_path}/build/make/armlink_adapter.sh" |
+ STRIP=arm-none-linux-gnueabi-strip |
+ NM=arm-none-linux-gnueabi-nm |
+ tune_cflags="--cpu=" |
+ tune_asflags="--cpu=" |
+ if [ -z "${tune_cpu}" ]; then |
+ if [ ${tgt_isa} = "armv7" ]; then |
+ if enabled neon || enabled neon_asm |
+ then |
+ check_add_cflags --fpu=softvfp+vfpv3 |
+ check_add_asflags --fpu=softvfp+vfpv3 |
+ fi |
+ check_add_cflags --cpu=Cortex-A8 |
+ check_add_asflags --cpu=Cortex-A8 |
+ else |
+ check_add_cflags --cpu=${tgt_isa##armv} |
+ check_add_asflags --cpu=${tgt_isa##armv} |
fi |
- arch_int=${tgt_isa##armv} |
- arch_int=${arch_int%%te} |
- check_add_asflags --pd "\"ARCHITECTURE SETA ${arch_int}\"" |
- enabled debug && add_asflags -g |
- add_cflags --gnu |
- add_cflags --enum_is_int |
- add_cflags --wchar32 |
- ;; |
- esac |
+ fi |
+ arch_int=${tgt_isa##armv} |
+ arch_int=${arch_int%%te} |
+ check_add_asflags --pd "\"ARCHITECTURE SETA ${arch_int}\"" |
+ enabled debug && add_asflags -g |
+ add_cflags --gnu |
+ add_cflags --enum_is_int |
+ add_cflags --wchar32 |
+ ;; |
+ esac |
- case ${tgt_os} in |
+ case ${tgt_os} in |
none*) |
- disable_feature multithread |
- disable_feature os_support |
- ;; |
+ disable_feature multithread |
+ disable_feature os_support |
+ ;; |
android*) |
- SDK_PATH=${sdk_path} |
- COMPILER_LOCATION=`find "${SDK_PATH}" \ |
- -name "arm-linux-androideabi-gcc*" -print -quit` |
- TOOLCHAIN_PATH=${COMPILER_LOCATION%/*}/arm-linux-androideabi- |
- CC=${TOOLCHAIN_PATH}gcc |
- CXX=${TOOLCHAIN_PATH}g++ |
- AR=${TOOLCHAIN_PATH}ar |
- LD=${TOOLCHAIN_PATH}gcc |
- AS=${TOOLCHAIN_PATH}as |
- STRIP=${TOOLCHAIN_PATH}strip |
- NM=${TOOLCHAIN_PATH}nm |
+ SDK_PATH=${sdk_path} |
+ COMPILER_LOCATION=`find "${SDK_PATH}" \ |
+ -name "arm-linux-androideabi-gcc*" -print -quit` |
+ TOOLCHAIN_PATH=${COMPILER_LOCATION%/*}/arm-linux-androideabi- |
+ CC=${TOOLCHAIN_PATH}gcc |
+ CXX=${TOOLCHAIN_PATH}g++ |
+ AR=${TOOLCHAIN_PATH}ar |
+ LD=${TOOLCHAIN_PATH}gcc |
+ AS=${TOOLCHAIN_PATH}as |
+ STRIP=${TOOLCHAIN_PATH}strip |
+ NM=${TOOLCHAIN_PATH}nm |
- if [ -z "${alt_libc}" ]; then |
- alt_libc=`find "${SDK_PATH}" -name arch-arm -print | \ |
- awk '{n = split($0,a,"/"); \ |
- split(a[n-1],b,"-"); \ |
- print $0 " " b[2]}' | \ |
- sort -g -k 2 | \ |
- awk '{ print $1 }' | tail -1` |
- fi |
+ if [ -z "${alt_libc}" ]; then |
+ alt_libc=`find "${SDK_PATH}" -name arch-arm -print | \ |
+ awk '{n = split($0,a,"/"); \ |
+ split(a[n-1],b,"-"); \ |
+ print $0 " " b[2]}' | \ |
+ sort -g -k 2 | \ |
+ awk '{ print $1 }' | tail -1` |
+ fi |
- add_cflags "--sysroot=${alt_libc}" |
- add_ldflags "--sysroot=${alt_libc}" |
+ add_cflags "--sysroot=${alt_libc}" |
+ add_ldflags "--sysroot=${alt_libc}" |
- # linker flag that routes around a CPU bug in some |
- # Cortex-A8 implementations (NDK Dev Guide) |
- add_ldflags "-Wl,--fix-cortex-a8" |
+ # linker flag that routes around a CPU bug in some |
+ # Cortex-A8 implementations (NDK Dev Guide) |
+ add_ldflags "-Wl,--fix-cortex-a8" |
- enable_feature pic |
- soft_enable realtime_only |
- if [ ${tgt_isa} = "armv7" ]; then |
- soft_enable runtime_cpu_detect |
- fi |
- if enabled runtime_cpu_detect; then |
- add_cflags "-I${SDK_PATH}/sources/android/cpufeatures" |
- fi |
+ enable_feature pic |
+ soft_enable realtime_only |
+ if [ ${tgt_isa} = "armv7" ]; then |
+ soft_enable runtime_cpu_detect |
+ fi |
+ if enabled runtime_cpu_detect; then |
+ add_cflags "-I${SDK_PATH}/sources/android/cpufeatures" |
+ fi |
;; |
darwin*) |
- XCRUN_FIND="xcrun --sdk iphoneos -find" |
- CXX="$(${XCRUN_FIND} clang++)" |
- CC="$(${XCRUN_FIND} clang)" |
- AR="$(${XCRUN_FIND} ar)" |
- AS="$(${XCRUN_FIND} as)" |
- STRIP="$(${XCRUN_FIND} strip)" |
- NM="$(${XCRUN_FIND} nm)" |
- RANLIB="$(${XCRUN_FIND} ranlib)" |
- AS_SFX=.s |
+ XCRUN_FIND="xcrun --sdk iphoneos -find" |
+ CXX="$(${XCRUN_FIND} clang++)" |
+ CC="$(${XCRUN_FIND} clang)" |
+ AR="$(${XCRUN_FIND} ar)" |
+ AS="$(${XCRUN_FIND} as)" |
+ STRIP="$(${XCRUN_FIND} strip)" |
+ NM="$(${XCRUN_FIND} nm)" |
+ RANLIB="$(${XCRUN_FIND} ranlib)" |
+ AS_SFX=.s |
- # Special handling of ld for armv6 because libclang_rt.ios.a does |
- # not contain armv6 support in Apple's clang package: |
- # Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn). |
- # TODO(tomfinegan): Remove this. Our minimum iOS version (6.0) |
- # renders support for armv6 unnecessary because the 3GS and up |
- # support neon. |
- if [ "${tgt_isa}" = "armv6" ]; then |
- LD="$(${XCRUN_FIND} ld)" |
- else |
- LD="${CXX:-$(${XCRUN_FIND} ld)}" |
- fi |
+ # Special handling of ld for armv6 because libclang_rt.ios.a does |
+ # not contain armv6 support in Apple's clang package: |
+ # Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn). |
+ # TODO(tomfinegan): Remove this. Our minimum iOS version (6.0) |
+ # renders support for armv6 unnecessary because the 3GS and up |
+ # support neon. |
+ if [ "${tgt_isa}" = "armv6" ]; then |
+ LD="$(${XCRUN_FIND} ld)" |
+ else |
+ LD="${CXX:-$(${XCRUN_FIND} ld)}" |
+ fi |
- # ASFLAGS is written here instead of using check_add_asflags |
- # because we need to overwrite all of ASFLAGS and purge the |
- # options that were put in above |
- ASFLAGS="-arch ${tgt_isa} -g" |
+ # ASFLAGS is written here instead of using check_add_asflags |
+ # because we need to overwrite all of ASFLAGS and purge the |
+ # options that were put in above |
+ ASFLAGS="-arch ${tgt_isa} -g" |
- alt_libc="$(xcrun --sdk iphoneos --show-sdk-path)" |
- add_cflags -arch ${tgt_isa} -isysroot ${alt_libc} |
- add_ldflags -arch ${tgt_isa} |
+ alt_libc="$(xcrun --sdk iphoneos --show-sdk-path)" |
+ add_cflags -arch ${tgt_isa} -isysroot ${alt_libc} |
+ add_ldflags -arch ${tgt_isa} |
- if [ "${LD}" = "${CXX}" ]; then |
- add_ldflags -miphoneos-version-min="${IOS_VERSION_MIN}" |
- else |
- add_ldflags -ios_version_min "${IOS_VERSION_MIN}" |
- fi |
+ if [ "${LD}" = "${CXX}" ]; then |
+ add_ldflags -miphoneos-version-min="${IOS_VERSION_MIN}" |
+ else |
+ add_ldflags -ios_version_min "${IOS_VERSION_MIN}" |
+ fi |
- for d in lib usr/lib usr/lib/system; do |
- try_dir="${alt_libc}/${d}" |
- [ -d "${try_dir}" ] && add_ldflags -L"${try_dir}" |
- done |
+ for d in lib usr/lib usr/lib/system; do |
+ try_dir="${alt_libc}/${d}" |
+ [ -d "${try_dir}" ] && add_ldflags -L"${try_dir}" |
+ done |
- asm_conversion_cmd="${source_path}/build/make/ads2gas_apple.pl" |
- ;; |
+ asm_conversion_cmd="${source_path}/build/make/ads2gas_apple.pl" |
+ ;; |
linux*) |
- enable_feature 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" |
+ enable_feature 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" |
+ # 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 |
+ # 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 |
- fi |
- ;; |
- |
- esac |
- ;; |
+ 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 |
+ fi |
+ ;; |
+ esac |
+ ;; |
mips*) |
- link_with_cc=gcc |
- setup_gnu_toolchain |
- tune_cflags="-mtune=" |
- if enabled dspr2; then |
- check_add_cflags -mips32r2 -mdspr2 |
- disable_feature fast_unaligned |
- fi |
- check_add_cflags -march=${tgt_isa} |
- check_add_asflags -march=${tgt_isa} |
- check_add_asflags -KPIC |
- ;; |
+ link_with_cc=gcc |
+ setup_gnu_toolchain |
+ tune_cflags="-mtune=" |
+ if enabled dspr2; then |
+ check_add_cflags -mips32r2 -mdspr2 |
+ disable_feature fast_unaligned |
+ fi |
+ check_add_cflags -march=${tgt_isa} |
+ check_add_asflags -march=${tgt_isa} |
+ check_add_asflags -KPIC |
+ ;; |
ppc*) |
- enable_feature ppc |
- bits=${tgt_isa##ppc} |
- link_with_cc=gcc |
- setup_gnu_toolchain |
- add_asflags -force_cpusubtype_ALL -I"\$(dir \$<)darwin" |
- soft_enable altivec |
- enabled altivec && add_cflags -maltivec |
+ enable_feature ppc |
+ bits=${tgt_isa##ppc} |
+ link_with_cc=gcc |
+ setup_gnu_toolchain |
+ add_asflags -force_cpusubtype_ALL -I"\$(dir \$<)darwin" |
+ soft_enable altivec |
+ enabled altivec && add_cflags -maltivec |
- case "$tgt_os" in |
+ case "$tgt_os" in |
linux*) |
- add_asflags -maltivec -mregnames -I"\$(dir \$<)linux" |
- ;; |
+ add_asflags -maltivec -mregnames -I"\$(dir \$<)linux" |
+ ;; |
darwin*) |
- darwin_arch="-arch ppc" |
- enabled ppc64 && darwin_arch="${darwin_arch}64" |
- add_cflags ${darwin_arch} -m${bits} -fasm-blocks |
- add_asflags ${darwin_arch} -force_cpusubtype_ALL -I"\$(dir \$<)darwin" |
- add_ldflags ${darwin_arch} -m${bits} |
- enabled altivec && add_cflags -faltivec |
- ;; |
- esac |
- ;; |
+ darwin_arch="-arch ppc" |
+ enabled ppc64 && darwin_arch="${darwin_arch}64" |
+ add_cflags ${darwin_arch} -m${bits} -fasm-blocks |
+ add_asflags ${darwin_arch} -force_cpusubtype_ALL -I"\$(dir \$<)darwin" |
+ add_ldflags ${darwin_arch} -m${bits} |
+ enabled altivec && add_cflags -faltivec |
+ ;; |
+ esac |
+ ;; |
x86*) |
- case ${tgt_os} in |
- win*) |
- enabled gcc && add_cflags -fno-common |
- ;; |
- solaris*) |
- CC=${CC:-${CROSS}gcc} |
- CXX=${CXX:-${CROSS}g++} |
- LD=${LD:-${CROSS}gcc} |
- CROSS=${CROSS:-g} |
- ;; |
- os2) |
- AS=${AS:-nasm} |
- ;; |
- esac |
+ case ${tgt_os} in |
+ win*) |
+ enabled gcc && add_cflags -fno-common |
+ ;; |
+ solaris*) |
+ CC=${CC:-${CROSS}gcc} |
+ CXX=${CXX:-${CROSS}g++} |
+ LD=${LD:-${CROSS}gcc} |
+ CROSS=${CROSS:-g} |
+ ;; |
+ os2) |
+ AS=${AS:-nasm} |
+ ;; |
+ esac |
- AS="${alt_as:-${AS:-auto}}" |
- case ${tgt_cc} in |
- icc*) |
- CC=${CC:-icc} |
- LD=${LD:-icc} |
- setup_gnu_toolchain |
- add_cflags -use-msasm # remove -use-msasm too? |
- # add -no-intel-extensions to suppress warning #10237 |
- # refer to http://software.intel.com/en-us/forums/topic/280199 |
- add_ldflags -i-static -no-intel-extensions |
- enabled x86_64 && add_cflags -ipo -static -O3 -no-prec-div |
- enabled x86_64 && AR=xiar |
- case ${tune_cpu} in |
- atom*) |
- tune_cflags="-x" |
- tune_cpu="SSE3_ATOM" |
- ;; |
- *) |
- tune_cflags="-march=" |
- ;; |
- esac |
- ;; |
- gcc*) |
- link_with_cc=gcc |
- tune_cflags="-march=" |
- setup_gnu_toolchain |
- #for 32 bit x86 builds, -O3 did not turn on this flag |
- enabled optimizations && disabled gprof && check_add_cflags -fomit-frame-pointer |
- ;; |
- vs*) |
- # When building with Microsoft Visual Studio the assembler is |
- # invoked directly. Checking at configure time is unnecessary. |
- # Skip the check by setting AS arbitrarily |
- AS=msvs |
- msvs_arch_dir=x86-msvs |
- vc_version=${tgt_cc##vs} |
- case $vc_version in |
- 7|8|9|10) |
- echo "${tgt_cc} does not support avx/avx2, disabling....." |
- RTCD_OPTIONS="${RTCD_OPTIONS}--disable-avx --disable-avx2 " |
- soft_disable avx |
- soft_disable avx2 |
- ;; |
- esac |
- ;; |
- esac |
+ AS="${alt_as:-${AS:-auto}}" |
+ case ${tgt_cc} in |
+ icc*) |
+ CC=${CC:-icc} |
+ LD=${LD:-icc} |
+ setup_gnu_toolchain |
+ add_cflags -use-msasm # remove -use-msasm too? |
+ # add -no-intel-extensions to suppress warning #10237 |
+ # refer to http://software.intel.com/en-us/forums/topic/280199 |
+ add_ldflags -i-static -no-intel-extensions |
+ enabled x86_64 && add_cflags -ipo -static -O3 -no-prec-div |
+ enabled x86_64 && AR=xiar |
+ case ${tune_cpu} in |
+ atom*) |
+ tune_cflags="-x" |
+ tune_cpu="SSE3_ATOM" |
+ ;; |
+ *) |
+ tune_cflags="-march=" |
+ ;; |
+ esac |
+ ;; |
+ gcc*) |
+ link_with_cc=gcc |
+ tune_cflags="-march=" |
+ setup_gnu_toolchain |
+ #for 32 bit x86 builds, -O3 did not turn on this flag |
+ enabled optimizations && disabled gprof && check_add_cflags -fomit-frame-pointer |
+ ;; |
+ vs*) |
+ # When building with Microsoft Visual Studio the assembler is |
+ # invoked directly. Checking at configure time is unnecessary. |
+ # Skip the check by setting AS arbitrarily |
+ AS=msvs |
+ msvs_arch_dir=x86-msvs |
+ vc_version=${tgt_cc##vs} |
+ case $vc_version in |
+ 7|8|9|10) |
+ echo "${tgt_cc} does not support avx/avx2, disabling....." |
+ RTCD_OPTIONS="${RTCD_OPTIONS}--disable-avx --disable-avx2 " |
+ soft_disable avx |
+ soft_disable avx2 |
+ ;; |
+ esac |
+ ;; |
+ esac |
- bits=32 |
- enabled x86_64 && bits=64 |
- check_cpp <<EOF && bits=x32 |
+ bits=32 |
+ enabled x86_64 && bits=64 |
+ check_cpp <<EOF && bits=x32 |
#ifndef __ILP32__ |
#error "not x32" |
#endif |
EOF |
- case ${tgt_cc} in |
- gcc*) |
- add_cflags -m${bits} |
- add_ldflags -m${bits} |
- ;; |
- esac |
+ case ${tgt_cc} in |
+ gcc*) |
+ add_cflags -m${bits} |
+ add_ldflags -m${bits} |
+ ;; |
+ esac |
- soft_enable runtime_cpu_detect |
- # We can't use 'check_cflags' until the compiler is configured and CC is |
- # populated. |
- check_gcc_machine_option mmx |
- check_gcc_machine_option sse |
- check_gcc_machine_option sse2 |
- check_gcc_machine_option sse3 |
- check_gcc_machine_option ssse3 |
- check_gcc_machine_option sse4 sse4_1 |
- check_gcc_machine_option avx |
- check_gcc_machine_option avx2 |
+ soft_enable runtime_cpu_detect |
+ # We can't use 'check_cflags' until the compiler is configured and CC is |
+ # populated. |
+ check_gcc_machine_option mmx |
+ check_gcc_machine_option sse |
+ check_gcc_machine_option sse2 |
+ check_gcc_machine_option sse3 |
+ check_gcc_machine_option ssse3 |
+ check_gcc_machine_option sse4 sse4_1 |
+ check_gcc_machine_option avx |
+ check_gcc_machine_option avx2 |
- case "${AS}" in |
- auto|"") |
- which nasm >/dev/null 2>&1 && AS=nasm |
- which yasm >/dev/null 2>&1 && AS=yasm |
- [ "${AS}" = auto ] || [ -z "${AS}" ] \ |
- && die "Neither yasm nor nasm have been found" |
- ;; |
- esac |
- log_echo " using $AS" |
- [ "${AS##*/}" = nasm ] && add_asflags -Ox |
- AS_SFX=.asm |
- case ${tgt_os} in |
- win32) |
- add_asflags -f win32 |
- enabled debug && add_asflags -g cv8 |
- EXE_SFX=.exe |
- ;; |
- win64) |
- add_asflags -f x64 |
- enabled debug && add_asflags -g cv8 |
- EXE_SFX=.exe |
- ;; |
- linux*|solaris*|android*) |
- add_asflags -f elf${bits} |
- enabled debug && [ "${AS}" = yasm ] && add_asflags -g dwarf2 |
- enabled debug && [ "${AS}" = nasm ] && add_asflags -g |
- [ "${AS##*/}" = nasm ] && check_asm_align |
- ;; |
- darwin*) |
- add_asflags -f macho${bits} |
- enabled x86 && darwin_arch="-arch i386" || darwin_arch="-arch x86_64" |
- add_cflags ${darwin_arch} |
- add_ldflags ${darwin_arch} |
- # -mdynamic-no-pic is still a bit of voodoo -- it was required at |
- # one time, but does not seem to be now, and it breaks some of the |
- # code that still relies on inline assembly. |
- # enabled icc && ! enabled pic && add_cflags -fno-pic -mdynamic-no-pic |
- enabled icc && ! enabled pic && add_cflags -fno-pic |
- ;; |
- iphonesimulator) |
- add_asflags -f macho${bits} |
- enabled x86 && sim_arch="-arch i386" || sim_arch="-arch x86_64" |
- add_cflags ${sim_arch} |
- add_ldflags ${sim_arch} |
- ;; |
- os2) |
- add_asflags -f aout |
- enabled debug && add_asflags -g |
- EXE_SFX=.exe |
- ;; |
- *) log "Warning: Unknown os $tgt_os while setting up $AS flags" |
- ;; |
- esac |
- ;; |
+ case "${AS}" in |
+ auto|"") |
+ which nasm >/dev/null 2>&1 && AS=nasm |
+ which yasm >/dev/null 2>&1 && AS=yasm |
+ [ "${AS}" = auto ] || [ -z "${AS}" ] \ |
+ && die "Neither yasm nor nasm have been found" |
+ ;; |
+ esac |
+ log_echo " using $AS" |
+ [ "${AS##*/}" = nasm ] && add_asflags -Ox |
+ AS_SFX=.asm |
+ case ${tgt_os} in |
+ win32) |
+ add_asflags -f win32 |
+ enabled debug && add_asflags -g cv8 |
+ EXE_SFX=.exe |
+ ;; |
+ win64) |
+ add_asflags -f x64 |
+ enabled debug && add_asflags -g cv8 |
+ EXE_SFX=.exe |
+ ;; |
+ linux*|solaris*|android*) |
+ add_asflags -f elf${bits} |
+ enabled debug && [ "${AS}" = yasm ] && add_asflags -g dwarf2 |
+ enabled debug && [ "${AS}" = nasm ] && add_asflags -g |
+ [ "${AS##*/}" = nasm ] && check_asm_align |
+ ;; |
+ darwin*) |
+ add_asflags -f macho${bits} |
+ enabled x86 && darwin_arch="-arch i386" || darwin_arch="-arch x86_64" |
+ add_cflags ${darwin_arch} |
+ add_ldflags ${darwin_arch} |
+ # -mdynamic-no-pic is still a bit of voodoo -- it was required at |
+ # one time, but does not seem to be now, and it breaks some of the |
+ # code that still relies on inline assembly. |
+ # enabled icc && ! enabled pic && add_cflags -fno-pic -mdynamic-no-pic |
+ enabled icc && ! enabled pic && add_cflags -fno-pic |
+ ;; |
+ iphonesimulator) |
+ add_asflags -f macho${bits} |
+ enabled x86 && sim_arch="-arch i386" || sim_arch="-arch x86_64" |
+ add_cflags ${sim_arch} |
+ add_ldflags ${sim_arch} |
+ ;; |
+ os2) |
+ add_asflags -f aout |
+ enabled debug && add_asflags -g |
+ EXE_SFX=.exe |
+ ;; |
+ *) |
+ log "Warning: Unknown os $tgt_os while setting up $AS flags" |
+ ;; |
+ esac |
+ ;; |
universal*|*-gcc|generic-gnu) |
- link_with_cc=gcc |
- enable_feature gcc |
- setup_gnu_toolchain |
- ;; |
- esac |
+ link_with_cc=gcc |
+ enable_feature gcc |
+ setup_gnu_toolchain |
+ ;; |
+ esac |
- # Try to enable CPU specific tuning |
- if [ -n "${tune_cpu}" ]; then |
- if [ -n "${tune_cflags}" ]; then |
- check_add_cflags ${tune_cflags}${tune_cpu} || \ |
- die "Requested CPU '${tune_cpu}' not supported by compiler" |
- fi |
+ # Try to enable CPU specific tuning |
+ if [ -n "${tune_cpu}" ]; then |
+ if [ -n "${tune_cflags}" ]; then |
+ check_add_cflags ${tune_cflags}${tune_cpu} || \ |
+ die "Requested CPU '${tune_cpu}' not supported by compiler" |
+ fi |
if [ -n "${tune_asflags}" ]; then |
- check_add_asflags ${tune_asflags}${tune_cpu} || \ |
- die "Requested CPU '${tune_cpu}' not supported by assembler" |
- fi |
+ check_add_asflags ${tune_asflags}${tune_cpu} || \ |
+ die "Requested CPU '${tune_cpu}' not supported by assembler" |
+ fi |
if [ -z "${tune_cflags}${tune_asflags}" ]; then |
- log_echo "Warning: CPU tuning not supported by this toolchain" |
- fi |
+ log_echo "Warning: CPU tuning not supported by this toolchain" |
fi |
+ fi |
- if enabled debug; then |
- check_add_cflags -g && check_add_ldflags -g |
- else |
- check_add_cflags -DNDEBUG |
- fi |
+ if enabled debug; then |
+ check_add_cflags -g && check_add_ldflags -g |
+ else |
+ check_add_cflags -DNDEBUG |
+ fi |
- enabled gprof && check_add_cflags -pg && check_add_ldflags -pg |
- enabled gcov && |
- check_add_cflags -fprofile-arcs -ftest-coverage && |
- check_add_ldflags -fprofile-arcs -ftest-coverage |
+ enabled gprof && check_add_cflags -pg && check_add_ldflags -pg |
+ 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 |
+ 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 |
+ fi |
- tgt_os_no_version=$(echo "${tgt_os}" | tr -d "[0-9]") |
- # Default use_x86inc to yes when we are 64 bit, non-pic, or on any |
- # non-Darwin target. |
- if [ "${tgt_isa}" = "x86_64" ] || [ "${pic}" != "yes" ] || \ |
- [ "${tgt_os_no_version}" != "darwin" ]; then |
- soft_enable use_x86inc |
- fi |
+ tgt_os_no_version=$(echo "${tgt_os}" | tr -d "[0-9]") |
+ # Default use_x86inc to yes when we are 64 bit, non-pic, or on any |
+ # non-Darwin target. |
+ if [ "${tgt_isa}" = "x86_64" ] || [ "${pic}" != "yes" ] || \ |
+ [ "${tgt_os_no_version}" != "darwin" ]; then |
+ soft_enable use_x86inc |
+ fi |
- # Position Independent Code (PIC) support, for building relocatable |
- # shared objects |
- enabled gcc && enabled pic && check_add_cflags -fPIC |
+ # 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 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 |
+ # 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 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 |
- # Check for strip utility variant |
- ${STRIP} -V 2>/dev/null | grep GNU >/dev/null && enable_feature gnu_strip |
+ # Check for strip utility variant |
+ ${STRIP} -V 2>/dev/null | grep GNU >/dev/null && enable_feature gnu_strip |
- # Try to determine target endianness |
- check_cc <<EOF |
- unsigned int e = 'O'<<24 | '2'<<16 | 'B'<<8 | 'E'; |
+ # Try to determine target endianness |
+ check_cc <<EOF |
+unsigned int e = 'O'<<24 | '2'<<16 | 'B'<<8 | 'E'; |
EOF |
[ -f "${TMP_O}" ] && od -A n -t x1 "${TMP_O}" | tr -d '\n' | |
grep '4f *32 *42 *45' >/dev/null 2>&1 && enable_feature big_endian |
@@ -1291,97 +1271,101 @@ |
# Try to find which inline keywords are supported |
check_cc <<EOF && INLINE="inline" |
- static inline function() {} |
+static inline function() {} |
EOF |
check_cc <<EOF && INLINE="__inline__ __attribute__((always_inline))" |
- static __attribute__((always_inline)) function() {} |
+static __attribute__((always_inline)) function() {} |
EOF |
- # Almost every platform uses pthreads. |
- if enabled multithread; then |
- case ${toolchain} in |
- *-win*-vs*);; |
- *-android-gcc);; |
- *) check_header pthread.h && add_extralibs -lpthread |
- esac |
- fi |
- |
- # only for MIPS platforms |
+ # Almost every platform uses pthreads. |
+ if enabled multithread; then |
case ${toolchain} in |
- mips*) |
- if enabled dspr2; then |
- if enabled big_endian; then |
- echo "dspr2 optimizations are available only for little endian platforms" |
- disable_feature dspr2 |
- fi |
- fi |
+ *-win*-vs*) |
;; |
+ *-android-gcc) |
+ ;; |
+ *) |
+ check_header pthread.h && add_extralibs -lpthread |
+ ;; |
esac |
+ fi |
- # glibc needs these |
- if enabled linux; then |
- add_cflags -D_LARGEFILE_SOURCE |
- add_cflags -D_FILE_OFFSET_BITS=64 |
- fi |
+ # only for MIPS platforms |
+ case ${toolchain} in |
+ mips*) |
+ if enabled dspr2; then |
+ if enabled big_endian; then |
+ echo "dspr2 optimizations are available only for little endian platforms" |
+ disable_feature dspr2 |
+ fi |
+ fi |
+ ;; |
+ esac |
- # append any user defined extra cflags |
- if [ -n "${extra_cflags}" ] ; then |
- check_add_cflags ${extra_cflags} || \ |
- die "Requested extra CFLAGS '${extra_cflags}' not supported by compiler" |
- fi |
+ # glibc needs these |
+ if enabled linux; then |
+ add_cflags -D_LARGEFILE_SOURCE |
+ add_cflags -D_FILE_OFFSET_BITS=64 |
+ fi |
+ |
+ # append any user defined extra cflags |
+ if [ -n "${extra_cflags}" ] ; then |
+ check_add_cflags ${extra_cflags} || \ |
+ die "Requested extra CFLAGS '${extra_cflags}' not supported by compiler" |
+ fi |
} |
process_toolchain() { |
- process_common_toolchain |
+ process_common_toolchain |
} |
print_config_mk() { |
- saved_prefix="${prefix}" |
- prefix=$1 |
- makefile=$2 |
- shift 2 |
- for cfg; do |
- if enabled $cfg; then |
- upname="`toupper $cfg`" |
- echo "${prefix}_${upname}=yes" >> $makefile |
- fi |
- done |
- prefix="${saved_prefix}" |
+ saved_prefix="${prefix}" |
+ prefix=$1 |
+ makefile=$2 |
+ shift 2 |
+ for cfg; do |
+ if enabled $cfg; then |
+ upname="`toupper $cfg`" |
+ echo "${prefix}_${upname}=yes" >> $makefile |
+ fi |
+ done |
+ prefix="${saved_prefix}" |
} |
print_config_h() { |
- saved_prefix="${prefix}" |
- prefix=$1 |
- header=$2 |
- shift 2 |
- for cfg; do |
- upname="`toupper $cfg`" |
- if enabled $cfg; then |
- echo "#define ${prefix}_${upname} 1" >> $header |
- else |
- echo "#define ${prefix}_${upname} 0" >> $header |
- fi |
- done |
- prefix="${saved_prefix}" |
+ saved_prefix="${prefix}" |
+ prefix=$1 |
+ header=$2 |
+ shift 2 |
+ for cfg; do |
+ upname="`toupper $cfg`" |
+ if enabled $cfg; then |
+ echo "#define ${prefix}_${upname} 1" >> $header |
+ else |
+ echo "#define ${prefix}_${upname} 0" >> $header |
+ fi |
+ done |
+ prefix="${saved_prefix}" |
} |
print_config_vars_h() { |
- header=$1 |
- shift |
- while [ $# -gt 0 ]; do |
- upname="`toupper $1`" |
- echo "#define ${upname} $2" >> $header |
- shift 2 |
- done |
+ header=$1 |
+ shift |
+ while [ $# -gt 0 ]; do |
+ upname="`toupper $1`" |
+ echo "#define ${upname} $2" >> $header |
+ shift 2 |
+ done |
} |
print_webm_license() { |
- saved_prefix="${prefix}" |
- destination=$1 |
- prefix="$2" |
- suffix="$3" |
- shift 3 |
- cat <<EOF > ${destination} |
+ saved_prefix="${prefix}" |
+ destination=$1 |
+ prefix="$2" |
+ suffix="$3" |
+ shift 3 |
+ cat <<EOF > ${destination} |
${prefix} Copyright (c) 2011 The WebM project authors. All Rights Reserved.${suffix} |
${prefix} ${suffix} |
${prefix} Use of this source code is governed by a BSD-style license${suffix} |
@@ -1390,15 +1374,15 @@ |
${prefix} in the file PATENTS. All contributing project authors may${suffix} |
${prefix} be found in the AUTHORS file in the root of the source tree.${suffix} |
EOF |
- prefix="${saved_prefix}" |
+ prefix="${saved_prefix}" |
} |
process_targets() { |
- true; |
+ true; |
} |
process_detect() { |
- true; |
+ true; |
} |
enable_feature logging |
@@ -1405,28 +1389,28 @@ |
logfile="config.log" |
self=$0 |
process() { |
- cmdline_args="$@" |
- process_cmdline "$@" |
- if enabled child; then |
- echo "# ${self} $@" >> ${logfile} |
- else |
- echo "# ${self} $@" > ${logfile} |
- fi |
- post_process_common_cmdline |
- post_process_cmdline |
- process_toolchain |
- process_detect |
- process_targets |
+ cmdline_args="$@" |
+ process_cmdline "$@" |
+ if enabled child; then |
+ echo "# ${self} $@" >> ${logfile} |
+ else |
+ echo "# ${self} $@" > ${logfile} |
+ fi |
+ post_process_common_cmdline |
+ post_process_cmdline |
+ process_toolchain |
+ process_detect |
+ process_targets |
- OOT_INSTALLS="${OOT_INSTALLS}" |
- if enabled source_path_used; then |
- # Prepare the PWD for building. |
- for f in ${OOT_INSTALLS}; do |
- install -D "${source_path}/$f" "$f" |
- done |
- fi |
- cp "${source_path}/build/make/Makefile" . |
+ OOT_INSTALLS="${OOT_INSTALLS}" |
+ if enabled source_path_used; then |
+ # Prepare the PWD for building. |
+ for f in ${OOT_INSTALLS}; do |
+ install -D "${source_path}/$f" "$f" |
+ done |
+ fi |
+ cp "${source_path}/build/make/Makefile" . |
- clean_temp_files |
- true |
+ clean_temp_files |
+ true |
} |