diff options
author | joerg <joerg@pkgsrc.org> | 2010-03-16 17:05:12 +0000 |
---|---|---|
committer | joerg <joerg@pkgsrc.org> | 2010-03-16 17:05:12 +0000 |
commit | 70d6c334a604715acad3569426f76e74c570bc3a (patch) | |
tree | c8ece754a88b51b6f7c497173b523d8e8a998a4d /archivers/libarchive/files/build/autoconf/ltmain.sh | |
parent | 583f2d4a9e50c049aed99e04018c70d315e9725d (diff) | |
download | pkgsrc-70d6c334a604715acad3569426f76e74c570bc3a.tar.gz |
libarchive-2.8.3: Build fix for Linux
Diffstat (limited to 'archivers/libarchive/files/build/autoconf/ltmain.sh')
-rwxr-xr-x | archivers/libarchive/files/build/autoconf/ltmain.sh | 71 |
1 files changed, 61 insertions, 10 deletions
diff --git a/archivers/libarchive/files/build/autoconf/ltmain.sh b/archivers/libarchive/files/build/autoconf/ltmain.sh index 8239238348e..fb6640c90b6 100755 --- a/archivers/libarchive/files/build/autoconf/ltmain.sh +++ b/archivers/libarchive/files/build/autoconf/ltmain.sh @@ -111,9 +111,9 @@ done $lt_unset CDPATH -unset CP -unset MV -unset RM + + + : ${CP="cp -f"} : ${ECHO="echo"} : ${EGREP="/bin/grep -E"} @@ -1010,6 +1010,21 @@ func_source () func_infer_tag () { $opt_debug + + # FreeBSD-specific: where we install compilers with non-standard names + tag_compilers_CC="*cc cc* *gcc gcc*" + tag_compilers_CXX="*c++ c++* *g++ g++*" + base_compiler=`set -- "$@"; echo $1` + + # If $tagname isn't set, then try to infer if the default "CC" tag applies + if test -z "$tagname"; then + for zp in $tag_compilers_CC; do + case $base_compiler in + $zp) tagname="CC"; break;; + esac + done + fi + if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do @@ -1042,7 +1057,22 @@ func_infer_tag () break ;; esac - fi + + # FreeBSD-specific: try compilers based on inferred tag + if test -z "$tagname"; then + eval "tag_compilers=\$tag_compilers_${z}" + if test -n "$tag_compilers"; then + for zp in $tag_compilers; do + case $base_compiler in + $zp) tagname=$z; break;; + esac + done + if test -n "$tagname"; then + break + fi + fi + fi + fi done # If $tagname still isn't set, then no tagged configuration # was found and let the user know that the "--tag" command @@ -2528,6 +2558,9 @@ static const void *lt_preloaded_setup() { ;; esac ;; + *-*-freebsd*) + # FreeBSD doesn't need this... + ;; *) func_fatal_error "unknown suffix for \`$my_dlsyms'" ;; @@ -4584,6 +4617,7 @@ func_mode_link () *" $arg "*) ;; * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;; esac + deplibs="$deplibs $arg" continue ;; @@ -5073,13 +5107,30 @@ func_mode_link () finalize_deplibs="$deplib $finalize_deplibs" else compiler_flags="$compiler_flags $deplib" - if test "$linkmode" = lib ; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; - esac - fi fi + + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + ;; + *) + ;; + esac # linkmode + continue ;; -l*) |