summaryrefslogtreecommitdiff
path: root/archivers/libarchive/files/build/autoconf/ltmain.sh
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2010-03-16 17:05:12 +0000
committerjoerg <joerg@pkgsrc.org>2010-03-16 17:05:12 +0000
commit70d6c334a604715acad3569426f76e74c570bc3a (patch)
treec8ece754a88b51b6f7c497173b523d8e8a998a4d /archivers/libarchive/files/build/autoconf/ltmain.sh
parent583f2d4a9e50c049aed99e04018c70d315e9725d (diff)
downloadpkgsrc-70d6c334a604715acad3569426f76e74c570bc3a.tar.gz
libarchive-2.8.3: Build fix for Linux
Diffstat (limited to 'archivers/libarchive/files/build/autoconf/ltmain.sh')
-rwxr-xr-xarchivers/libarchive/files/build/autoconf/ltmain.sh71
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*)