blob: bcdf30c7861afa865915b270b5aff67fae0fc199 [file] [log] [blame]
Gustavo Zacarias4a28e352014-12-16 11:08:15 -03001Libtool fixes for cross-compilation, many past contributors/authors.
2Update based on libtool-2.4.4, useful for 2.4.3 as well but not 2.4.2.
3
4Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
5
6--- a/ltmain.sh 2014-12-16 09:51:23.068441045 -0300
7+++ b/ltmain.sh 2014-12-16 09:57:10.509430339 -0300
8@@ -2687,8 +2687,8 @@
9 # was found and let the user know that the "--tag" command
10 # line option must be used.
11 if test -z "$tagname"; then
12- func_echo "unable to infer tagged configuration"
13- func_fatal_error "specify a tag with '--tag'"
14+ func_echo "defaulting to \`CC'"
15+ func_echo "if this is not correct, specify a tag with \`--tag'"
16 # else
17 # func_verbose "using $tagname tagged configuration"
18 fi
19@@ -4277,8 +4277,12 @@
20 # At present, this check doesn't affect windows .dll's that
21 # are installed into $libdir/../bin (currently, that works fine)
22 # but it's something to keep an eye on.
23- test "$inst_prefix_dir" = "$destdir" && \
24- func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir"
25+
26+ #
27+ # This breaks install into our staging area. -PB
28+ #
29+ #test "$inst_prefix_dir" = "$destdir" && \
30+ # func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir"
31
32 if test -n "$inst_prefix_dir"; then
33 # Stick the inst_prefix_dir data into the link command.
34@@ -6550,7 +6554,8 @@
35 ;;
36 -all-static | -static | -static-libtool-libs)
37 case $arg in
38- -all-static)
39+ # Make -static behave like -all-static -GZ
40+ -all-static | -static)
41 if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then
42 func_warning "complete static linking is impossible in this configuration"
43 fi
44@@ -6559,12 +6564,6 @@
45 fi
46 prefer_static_libs=yes
47 ;;
48- -static)
49- if test -z "$pic_flag" && test -n "$link_static_flag"; then
50- dlopen_self=$dlopen_self_static
51- fi
52- prefer_static_libs=built
53- ;;
54 -static-libtool-libs)
55 if test -z "$pic_flag" && test -n "$link_static_flag"; then
56 dlopen_self=$dlopen_self_static
57@@ -6858,7 +6857,8 @@
58 prevarg=$arg
59
60 case $arg in
61- -all-static)
62+ # Make -static behave like -all-static -GZ
63+ -all-static | -static)
64 if test -n "$link_static_flag"; then
65 # See comment for -static flag below, for more details.
66 func_append compile_command " $link_static_flag"
67@@ -7149,7 +7149,7 @@
68 continue
69 ;;
70
71- -static | -static-libtool-libs)
72+ -static-libtool-libs)
73 # The effects of -static are defined in a previous loop.
74 # We used to do the same as -all-static on platforms that
75 # didn't have a PIC flag, but the assumption that the effects
76@@ -8112,7 +8112,7 @@
77 *)
78 if test no = "$installed"; then
79 func_append notinst_deplibs " $lib"
80- need_relink=yes
81+ need_relink=no
82 fi
83 ;;
84 esac
85@@ -10710,6 +10710,10 @@
86 # Replace all uninstalled libtool libraries with the installed ones
87 newdependency_libs=
88 for deplib in $dependency_libs; do
89+ # Replacing uninstalled with installed can easily break crosscompilation,
90+ # since the installed path is generally the wrong architecture. -CL
91+ newdependency_libs="$newdependency_libs $deplib"
92+ continue
93 case $deplib in
94 *.la)
95 func_basename "$deplib"