From 3f5b7864df62674298e5c8cd2a5061f2af75ac03 Mon Sep 17 00:00:00 2001 From: Jason Parker Date: Wed, 30 Jan 2013 15:03:11 -0600 Subject: Remove workarounds for cross-compiling. Search for ar and ranlib. Use the methods that autoconf gives us to find ar/ranlib, rather than trying to guess based on the compiler used. --- aconfigure | 201 +++++++++++++++++++++++++++++++++++++++++++++++++-- aconfigure.ac | 14 +--- build/cc-auto.mak.in | 1 + build/rules.mak | 3 +- 4 files changed, 202 insertions(+), 17 deletions(-) diff --git a/aconfigure b/aconfigure index 33ed0be..dc7441c 100755 --- a/aconfigure +++ b/aconfigure @@ -686,10 +686,12 @@ CC_INC CC_OUT LIBEXT2 LIBEXT -RANLIB LDOUT LD +AR_FLAGS +ac_ct_AR AR +RANLIB ac_ct_CXX CXXFLAGS CXX @@ -3525,18 +3527,205 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -z "$CROSS_COMPILE"; then - CROSS_COMPILE=`echo ${CC} | sed 's/gcc//'` +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -if test "$AR" = ""; then AR="${CROSS_COMPILE}ar rv"; fi + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + for ac_prog in ar gar + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_AR+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AR" && break + done +fi +if test -z "$AR"; then + ac_ct_AR=$AR + for ac_prog in ar gar +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_AR" && break +done + + if test "x$ac_ct_AR" = x; then + AR=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +fi + + +if test "$AR_FLAGS" = ""; then AR_FLAGS="rv"; fi if test "$LD" = ""; then LD="$CC"; fi if test "$LDOUT" = ""; then LDOUT="-o "; fi -if test "$RANLIB" = ""; then RANLIB="${CROSS_COMPILE}ranlib"; fi - if test "$OBJEXT" = ""; then OBJEXT='o'; fi if test "$LIBEXT" = ""; then LIBEXT='a'; fi diff --git a/aconfigure.ac b/aconfigure.ac index 9afce8d..e2122a8 100644 --- a/aconfigure.ac +++ b/aconfigure.ac @@ -41,21 +41,15 @@ AC_PROG_CC AC_PROG_CXX AC_LANG_C -dnl # -dnl # Setup CROSS_COMPILE variable -dnl # -if test -z "$CROSS_COMPILE"; then - CROSS_COMPILE=`echo ${CC} | sed 's/gcc//'` -fi +AC_PROG_RANLIB +AC_CHECK_TOOLS([AR], [ar gar], :) -if test "$AR" = ""; then AR="${CROSS_COMPILE}ar rv"; fi -AC_SUBST(AR) +if test "$AR_FLAGS" = ""; then AR_FLAGS="rv"; fi +AC_SUBST(AR_FLAGS) if test "$LD" = ""; then LD="$CC"; fi AC_SUBST(LD) if test "$LDOUT" = ""; then LDOUT="-o "; fi AC_SUBST(LDOUT) -if test "$RANLIB" = ""; then RANLIB="${CROSS_COMPILE}ranlib"; fi -AC_SUBST(RANLIB) if test "$OBJEXT" = ""; then OBJEXT='o'; fi AC_SUBST(OBJEXT) if test "$LIBEXT" = ""; then LIBEXT='a'; fi diff --git a/build/cc-auto.mak.in b/build/cc-auto.mak.in index bc56567..2530e21 100644 --- a/build/cc-auto.mak.in +++ b/build/cc-auto.mak.in @@ -1,6 +1,7 @@ export CC = @CC@ -c export CXX = @CXX@ -c export AR = @AR@ +export AR_FLAGS = @AR_FLAGS@ export LD = @LD@ export LDOUT = -o export RANLIB = @RANLIB@ diff --git a/build/rules.mak b/build/rules.mak index 0d35c56..15ae667 100644 --- a/build/rules.mak +++ b/build/rules.mak @@ -72,6 +72,7 @@ print_common: @echo DEPFLAGS=$(DEPFLAGS) @echo CC=$(CC) @echo AR=$(AR) + @echo AR_FLAGS=$(AR_FLAGS) @echo RANLIB=$(RANLIB) print_bin: print_common @@ -84,7 +85,7 @@ print_lib: print_common $(LIB): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP) if test ! -d $(LIBDIR); then $(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)),$(HOST_MKDIR)); fi - $(AR) $(LIB) $(OBJS) + $(AR) $(AR_FLAGS) $(LIB) $(OBJS) $(RANLIB) $(LIB) $(SHLIB): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP) -- cgit v1.2.3