Mercurial > sdl-ios-xcode
annotate ltmain.sh @ 894:1d1a823904d8
Don't crash if the stretch routines are used on hardware surfaces
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 16 May 2004 21:08:55 +0000 |
parents | 05c551e5bc64 |
children | 3bb035750537 |
rev | line source |
---|---|
0 | 1 # ltmain.sh - Provide generalized library-building support services. |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2 # NOTE: Changing this file will not affect anything until you rerun configure. |
0 | 3 # |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5 # Free Software Foundation, Inc. |
0 | 6 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 |
7 # | |
8 # This program is free software; you can redistribute it and/or modify | |
9 # it under the terms of the GNU General Public License as published by | |
10 # the Free Software Foundation; either version 2 of the License, or | |
11 # (at your option) any later version. | |
12 # | |
13 # This program is distributed in the hope that it will be useful, but | |
14 # WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
16 # General Public License for more details. | |
17 # | |
18 # You should have received a copy of the GNU General Public License | |
19 # along with this program; if not, write to the Free Software | |
20 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
21 # | |
22 # As a special exception to the GNU General Public License, if you | |
23 # distribute this file as part of a program that contains a | |
24 # configuration script generated by Autoconf, you may include it under | |
25 # the same distribution terms that you use for the rest of that program. | |
26 | |
27 # Check that we have a working $echo. | |
28 if test "X$1" = X--no-reexec; then | |
29 # Discard the --no-reexec flag, and continue. | |
30 shift | |
31 elif test "X$1" = X--fallback-echo; then | |
32 # Avoid inline document here, it may be left over | |
33 : | |
34 elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then | |
35 # Yippee, $echo works! | |
36 : | |
37 else | |
38 # Restart under the correct shell, and then maybe $echo will work. | |
39 exec $SHELL "$0" --no-reexec ${1+"$@"} | |
40 fi | |
41 | |
42 if test "X$1" = X--fallback-echo; then | |
43 # used as fallback echo | |
44 shift | |
45 cat <<EOF | |
46 $* | |
47 EOF | |
48 exit 0 | |
49 fi | |
50 | |
51 # The name of this program. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
52 progname=`$echo "$0" | ${SED} 's%^.*/%%'` |
0 | 53 modename="$progname" |
54 | |
55 # Constants. | |
56 PROGRAM=ltmain.sh | |
57 PACKAGE=libtool | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
58 VERSION=1.5 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
59 TIMESTAMP=" (1.1220.2.1 2003/04/14 22:48:00)" |
0 | 60 |
61 default_mode= | |
62 help="Try \`$progname --help' for more information." | |
63 magic="%%%MAGIC variable%%%" | |
64 mkdir="mkdir" | |
65 mv="mv -f" | |
66 rm="rm -f" | |
67 | |
68 # Sed substitution that helps us do robust quoting. It backslashifies | |
69 # metacharacters that are still active within double-quoted strings. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
70 Xsed="${SED}"' -e 1s/^X//' |
0 | 71 sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
72 # test EBCDIC or ASCII |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
73 case `echo A|od -x` in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
74 *[Cc]1*) # EBCDIC based system |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
75 SP2NL="tr '\100' '\n'" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
76 NL2SP="tr '\r\n' '\100\100'" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
77 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
78 *) # Assume ASCII based system |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
79 SP2NL="tr '\040' '\012'" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
80 NL2SP="tr '\015\012' '\040\040'" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
81 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
82 esac |
0 | 83 |
84 # NLS nuisances. | |
85 # Only set LANG and LC_ALL to C if already set. | |
86 # These must not be set unconditionally because not all systems understand | |
87 # e.g. LANG=C (notably SCO). | |
88 # We save the old values to restore during execute mode. | |
89 if test "${LC_ALL+set}" = set; then | |
90 save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL | |
91 fi | |
92 if test "${LANG+set}" = set; then | |
93 save_LANG="$LANG"; LANG=C; export LANG | |
94 fi | |
95 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
96 # Make sure IFS has a sensible default |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
97 : ${IFS=" "} |
0 | 98 |
99 if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
100 $echo "$modename: not configured to build any kind of library" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
101 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 |
0 | 102 exit 1 |
103 fi | |
104 | |
105 # Global variables. | |
106 mode=$default_mode | |
107 nonopt= | |
108 prev= | |
109 prevopt= | |
110 run= | |
111 show="$echo" | |
112 show_help= | |
113 execute_dlfiles= | |
114 lo2o="s/\\.lo\$/.${objext}/" | |
115 o2lo="s/\\.${objext}\$/.lo/" | |
116 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
117 ##################################### |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
118 # Shell function definitions: |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
119 # This seems to be the best place for them |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
120 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
121 # Need a lot of goo to handle *both* DLLs and import libs |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
122 # Has to be a shell function in order to 'eat' the argument |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
123 # that is supplied when $file_magic_command is called. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
124 win32_libid () { |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
125 win32_libid_type="unknown" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
126 win32_fileres=`file -L $1 2>/dev/null` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
127 case $win32_fileres in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
128 *ar\ archive\ import\ library*) # definitely import |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
129 win32_libid_type="x86 archive import" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
130 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
131 *ar\ archive*) # could be an import, or static |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
132 if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
133 grep -E 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
134 win32_nmres=`eval $NM -f posix -A $1 | \ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
135 sed -n -e '1,100{/ I /{x;/import/!{s/^/import/;h;p;};x;};}'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
136 if test "X$win32_nmres" = "Ximport" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
137 win32_libid_type="x86 archive import" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
138 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
139 win32_libid_type="x86 archive static" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
140 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
141 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
142 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
143 *DLL*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
144 win32_libid_type="x86 DLL" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
145 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
146 *executable*) # but shell scripts are "executable" too... |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
147 case $win32_fileres in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
148 *MS\ Windows\ PE\ Intel*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
149 win32_libid_type="x86 DLL" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
150 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
151 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
152 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
153 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
154 $echo $win32_libid_type |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
155 } |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
156 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
157 # End of Shell function definitions |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
158 ##################################### |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
159 |
0 | 160 # Parse our command line options once, thoroughly. |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
161 while test "$#" -gt 0 |
0 | 162 do |
163 arg="$1" | |
164 shift | |
165 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
166 case $arg in |
0 | 167 -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; |
168 *) optarg= ;; | |
169 esac | |
170 | |
171 # If the previous option needs an argument, assign it. | |
172 if test -n "$prev"; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
173 case $prev in |
0 | 174 execute_dlfiles) |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
175 execute_dlfiles="$execute_dlfiles $arg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
176 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
177 tag) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
178 tagname="$arg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
179 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
180 # Check whether tagname contains only valid characters |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
181 case $tagname in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
182 *[!-_A-Za-z0-9,/]*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
183 $echo "$progname: invalid tag name: $tagname" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
184 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
185 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
186 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
187 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
188 case $tagname in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
189 CC) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
190 # Don't test for the "default" C tag, as we know, it's there, but |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
191 # not specially marked. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
192 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
193 *) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
194 if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$0" > /dev/null; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
195 taglist="$taglist $tagname" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
196 # Evaluate the configuration. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
197 eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $0`" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
198 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
199 $echo "$progname: ignoring unknown tag $tagname" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
200 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
201 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
202 esac |
0 | 203 ;; |
204 *) | |
205 eval "$prev=\$arg" | |
206 ;; | |
207 esac | |
208 | |
209 prev= | |
210 prevopt= | |
211 continue | |
212 fi | |
213 | |
214 # Have we seen a non-optional argument yet? | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
215 case $arg in |
0 | 216 --help) |
217 show_help=yes | |
218 ;; | |
219 | |
220 --version) | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
221 $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
222 $echo |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
223 $echo "Copyright (C) 2003 Free Software Foundation, Inc." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
224 $echo "This is free software; see the source for copying conditions. There is NO" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
225 $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." |
0 | 226 exit 0 |
227 ;; | |
228 | |
229 --config) | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
230 ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
231 # Now print the configurations for the tags. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
232 for tagname in $taglist; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
233 ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$0" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
234 done |
0 | 235 exit 0 |
236 ;; | |
237 | |
238 --debug) | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
239 $echo "$progname: enabling shell trace mode" |
0 | 240 set -x |
241 ;; | |
242 | |
243 --dry-run | -n) | |
244 run=: | |
245 ;; | |
246 | |
247 --features) | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
248 $echo "host: $host" |
0 | 249 if test "$build_libtool_libs" = yes; then |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
250 $echo "enable shared libraries" |
0 | 251 else |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
252 $echo "disable shared libraries" |
0 | 253 fi |
254 if test "$build_old_libs" = yes; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
255 $echo "enable static libraries" |
0 | 256 else |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
257 $echo "disable static libraries" |
0 | 258 fi |
259 exit 0 | |
260 ;; | |
261 | |
262 --finish) mode="finish" ;; | |
263 | |
264 --mode) prevopt="--mode" prev=mode ;; | |
265 --mode=*) mode="$optarg" ;; | |
266 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
267 --preserve-dup-deps) duplicate_deps="yes" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
268 |
0 | 269 --quiet | --silent) |
270 show=: | |
271 ;; | |
272 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
273 --tag) prevopt="--tag" prev=tag ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
274 --tag=*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
275 set tag "$optarg" ${1+"$@"} |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
276 shift |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
277 prev=tag |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
278 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
279 |
0 | 280 -dlopen) |
281 prevopt="-dlopen" | |
282 prev=execute_dlfiles | |
283 ;; | |
284 | |
285 -*) | |
286 $echo "$modename: unrecognized option \`$arg'" 1>&2 | |
287 $echo "$help" 1>&2 | |
288 exit 1 | |
289 ;; | |
290 | |
291 *) | |
292 nonopt="$arg" | |
293 break | |
294 ;; | |
295 esac | |
296 done | |
297 | |
298 if test -n "$prevopt"; then | |
299 $echo "$modename: option \`$prevopt' requires an argument" 1>&2 | |
300 $echo "$help" 1>&2 | |
301 exit 1 | |
302 fi | |
303 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
304 # If this variable is set in any of the actions, the command in it |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
305 # will be execed at the end. This prevents here-documents from being |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
306 # left over by shells. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
307 exec_cmd= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
308 |
0 | 309 if test -z "$show_help"; then |
310 | |
311 # Infer the operation mode. | |
312 if test -z "$mode"; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
313 $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
314 $echo "*** Future versions of Libtool will require -mode=MODE be specified." 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
315 case $nonopt in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
316 *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) |
0 | 317 mode=link |
318 for arg | |
319 do | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
320 case $arg in |
0 | 321 -c) |
322 mode=compile | |
323 break | |
324 ;; | |
325 esac | |
326 done | |
327 ;; | |
328 *db | *dbx | *strace | *truss) | |
329 mode=execute | |
330 ;; | |
331 *install*|cp|mv) | |
332 mode=install | |
333 ;; | |
334 *rm) | |
335 mode=uninstall | |
336 ;; | |
337 *) | |
338 # If we have no mode, but dlfiles were specified, then do execute mode. | |
339 test -n "$execute_dlfiles" && mode=execute | |
340 | |
341 # Just use the default operation mode. | |
342 if test -z "$mode"; then | |
343 if test -n "$nonopt"; then | |
344 $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 | |
345 else | |
346 $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 | |
347 fi | |
348 fi | |
349 ;; | |
350 esac | |
351 fi | |
352 | |
353 # Only execute mode is allowed to have -dlopen flags. | |
354 if test -n "$execute_dlfiles" && test "$mode" != execute; then | |
355 $echo "$modename: unrecognized option \`-dlopen'" 1>&2 | |
356 $echo "$help" 1>&2 | |
357 exit 1 | |
358 fi | |
359 | |
360 # Change the help message to a mode-specific one. | |
361 generic_help="$help" | |
362 help="Try \`$modename --help --mode=$mode' for more information." | |
363 | |
364 # These modes are in order of execution frequency so that they run quickly. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
365 case $mode in |
0 | 366 # libtool compile mode |
367 compile) | |
368 modename="$modename: compile" | |
369 # Get the compilation command and the source file. | |
370 base_compile= | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
371 srcfile="$nonopt" # always keep a non-empty value in "srcfile" |
0 | 372 suppress_output= |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
373 arg_mode=normal |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
374 libobj= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
375 |
0 | 376 for arg |
377 do | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
378 case "$arg_mode" in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
379 arg ) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
380 # do not "continue". Instead, add this to base_compile |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
381 lastarg="$arg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
382 arg_mode=normal |
0 | 383 ;; |
384 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
385 target ) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
386 libobj="$arg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
387 arg_mode=normal |
0 | 388 continue |
389 ;; | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
390 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
391 normal ) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
392 # Accept any command-line options. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
393 case $arg in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
394 -o) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
395 if test -n "$libobj" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
396 $echo "$modename: you cannot specify \`-o' more than once" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
397 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
398 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
399 arg_mode=target |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
400 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
401 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
402 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
403 -static) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
404 build_old_libs=yes |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
405 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
406 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
407 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
408 -prefer-pic) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
409 pic_mode=yes |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
410 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
411 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
412 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
413 -prefer-non-pic) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
414 pic_mode=no |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
415 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
416 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
417 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
418 -Xcompiler) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
419 arg_mode=arg # the next one goes into the "base_compile" arg list |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
420 continue # The current "srcfile" will either be retained or |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
421 ;; # replaced later. I would guess that would be a bug. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
422 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
423 -Wc,*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
424 args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
425 lastarg= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
426 save_ifs="$IFS"; IFS=',' |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
427 for arg in $args; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
428 IFS="$save_ifs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
429 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
430 # Double-quote args containing other shell metacharacters. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
431 # Many Bourne shells cannot handle close brackets correctly |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
432 # in scan sets, so we specify it separately. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
433 case $arg in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
434 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
435 arg="\"$arg\"" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
436 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
437 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
438 lastarg="$lastarg $arg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
439 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
440 IFS="$save_ifs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
441 lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
442 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
443 # Add the arguments to base_compile. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
444 base_compile="$base_compile $lastarg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
445 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
446 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
447 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
448 * ) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
449 # Accept the current argument as the source file. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
450 # The previous "srcfile" becomes the current argument. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
451 # |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
452 lastarg="$srcfile" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
453 srcfile="$arg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
454 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
455 esac # case $arg |
0 | 456 ;; |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
457 esac # case $arg_mode |
0 | 458 |
459 # Aesthetically quote the previous argument. | |
460 lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` | |
461 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
462 case $lastarg in |
0 | 463 # Double-quote args containing other shell metacharacters. |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
464 # Many Bourne shells cannot handle close brackets correctly |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
465 # in scan sets, so we specify it separately. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
466 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") |
0 | 467 lastarg="\"$lastarg\"" |
468 ;; | |
469 esac | |
470 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
471 base_compile="$base_compile $lastarg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
472 done # for arg |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
473 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
474 case $arg_mode in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
475 arg) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
476 $echo "$modename: you must specify an argument for -Xcompile" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
477 exit 1 |
0 | 478 ;; |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
479 target) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
480 $echo "$modename: you must specify a target with \`-o'" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
481 exit 1 |
0 | 482 ;; |
483 *) | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
484 # Get the name of the library object. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
485 [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` |
0 | 486 ;; |
487 esac | |
488 | |
489 # Recognize several different file suffixes. | |
490 # If the user specifies -o file.o, it is replaced with file.lo | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
491 xform='[cCFSifmso]' |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
492 case $libobj in |
0 | 493 *.ada) xform=ada ;; |
494 *.adb) xform=adb ;; | |
495 *.ads) xform=ads ;; | |
496 *.asm) xform=asm ;; | |
497 *.c++) xform=c++ ;; | |
498 *.cc) xform=cc ;; | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
499 *.ii) xform=ii ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
500 *.class) xform=class ;; |
0 | 501 *.cpp) xform=cpp ;; |
502 *.cxx) xform=cxx ;; | |
503 *.f90) xform=f90 ;; | |
504 *.for) xform=for ;; | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
505 *.java) xform=java ;; |
0 | 506 esac |
507 | |
508 libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` | |
509 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
510 case $libobj in |
0 | 511 *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; |
512 *) | |
513 $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 | |
514 exit 1 | |
515 ;; | |
516 esac | |
517 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
518 # Infer tagged configuration to use if any are available and |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
519 # if one wasn't chosen via the "--tag" command line option. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
520 # Only attempt this if the compiler in the base compile |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
521 # command doesn't match the default compiler. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
522 if test -n "$available_tags" && test -z "$tagname"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
523 case $base_compile in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
524 # Blanks in the command may have been stripped by the calling shell, |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
525 # but not from the CC environment variable when configure was run. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
526 " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
527 # Blanks at the start of $base_compile will cause this to fail |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
528 # if we don't check for them as well. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
529 *) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
530 for z in $available_tags; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
531 if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
532 # Evaluate the configuration. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
533 eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
534 case "$base_compile " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
535 "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
536 # The compiler in the base compile command matches |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
537 # the one in the tagged configuration. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
538 # Assume this is the tagged configuration we want. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
539 tagname=$z |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
540 break |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
541 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
542 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
543 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
544 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
545 # If $tagname still isn't set, then no tagged configuration |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
546 # was found and let the user know that the "--tag" command |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
547 # line option must be used. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
548 if test -z "$tagname"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
549 $echo "$modename: unable to infer tagged configuration" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
550 $echo "$modename: specify a tag with \`--tag'" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
551 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
552 # else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
553 # $echo "$modename: using $tagname tagged configuration" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
554 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
555 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
556 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
557 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
558 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
559 objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
560 xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
561 if test "X$xdir" = "X$obj"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
562 xdir= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
563 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
564 xdir=$xdir/ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
565 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
566 lobj=${xdir}$objdir/$objname |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
567 |
0 | 568 if test -z "$base_compile"; then |
569 $echo "$modename: you must specify a compilation command" 1>&2 | |
570 $echo "$help" 1>&2 | |
571 exit 1 | |
572 fi | |
573 | |
574 # Delete any leftover library objects. | |
575 if test "$build_old_libs" = yes; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
576 removelist="$obj $lobj $libobj ${libobj}T" |
0 | 577 else |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
578 removelist="$lobj $libobj ${libobj}T" |
0 | 579 fi |
580 | |
581 $run $rm $removelist | |
582 trap "$run $rm $removelist; exit 1" 1 2 15 | |
583 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
584 # On Cygwin there's no "real" PIC flag so we must build both object types |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
585 case $host_os in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
586 cygwin* | mingw* | pw32* | os2*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
587 pic_mode=default |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
588 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
589 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
590 if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
591 # non-PIC code in shared libraries is not supported |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
592 pic_mode=default |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
593 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
594 |
0 | 595 # Calculate the filename of the output object if compiler does |
596 # not support -o with -c | |
597 if test "$compiler_c_o" = no; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
598 output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} |
0 | 599 lockfile="$output_obj.lock" |
600 removelist="$removelist $output_obj $lockfile" | |
601 trap "$run $rm $removelist; exit 1" 1 2 15 | |
602 else | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
603 output_obj= |
0 | 604 need_locks=no |
605 lockfile= | |
606 fi | |
607 | |
608 # Lock this critical section if it is needed | |
609 # We use this script file to make the link, it avoids creating a new file | |
610 if test "$need_locks" = yes; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
611 until $run ln "$0" "$lockfile" 2>/dev/null; do |
0 | 612 $show "Waiting for $lockfile to be removed" |
613 sleep 2 | |
614 done | |
615 elif test "$need_locks" = warn; then | |
616 if test -f "$lockfile"; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
617 $echo "\ |
0 | 618 *** ERROR, $lockfile exists and contains: |
619 `cat $lockfile 2>/dev/null` | |
620 | |
621 This indicates that another process is trying to use the same | |
622 temporary object file, and libtool could not work around it because | |
623 your compiler does not support \`-c' and \`-o' together. If you | |
624 repeat this compilation, it may succeed, by chance, but you had better | |
625 avoid parallel builds (make -j) in this platform, or get a better | |
626 compiler." | |
627 | |
628 $run $rm $removelist | |
629 exit 1 | |
630 fi | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
631 $echo $srcfile > "$lockfile" |
0 | 632 fi |
633 | |
634 if test -n "$fix_srcfile_path"; then | |
635 eval srcfile=\"$fix_srcfile_path\" | |
636 fi | |
637 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
638 $run $rm "$libobj" "${libobj}T" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
639 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
640 # Create a libtool object file (analogous to a ".la" file), |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
641 # but don't create it if we're doing a dry run. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
642 test -z "$run" && cat > ${libobj}T <<EOF |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
643 # $libobj - a libtool object file |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
644 # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
645 # |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
646 # Please DO NOT delete this file! |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
647 # It is necessary for linking the library. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
648 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
649 # Name of the PIC object. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
650 EOF |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
651 |
0 | 652 # Only build a PIC object if we are building libtool libraries. |
653 if test "$build_libtool_libs" = yes; then | |
654 # Without this assignment, base_compile gets emptied. | |
655 fbsd_hideous_sh_bug=$base_compile | |
656 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
657 if test "$pic_mode" != no; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
658 command="$base_compile $srcfile $pic_flag" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
659 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
660 # Don't build PIC code |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
661 command="$base_compile $srcfile" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
662 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
663 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
664 if test ! -d "${xdir}$objdir"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
665 $show "$mkdir ${xdir}$objdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
666 $run $mkdir ${xdir}$objdir |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
667 status=$? |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
668 if test "$status" -ne 0 && test ! -d "${xdir}$objdir"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
669 exit $status |
0 | 670 fi |
671 fi | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
672 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
673 if test -z "$output_obj"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
674 # Place PIC objects in $objdir |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
675 command="$command -o $lobj" |
0 | 676 fi |
677 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
678 $run $rm "$lobj" "$output_obj" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
679 |
0 | 680 $show "$command" |
681 if $run eval "$command"; then : | |
682 else | |
683 test -n "$output_obj" && $run $rm $removelist | |
684 exit 1 | |
685 fi | |
686 | |
687 if test "$need_locks" = warn && | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
688 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
689 $echo "\ |
0 | 690 *** ERROR, $lockfile contains: |
691 `cat $lockfile 2>/dev/null` | |
692 | |
693 but it should contain: | |
694 $srcfile | |
695 | |
696 This indicates that another process is trying to use the same | |
697 temporary object file, and libtool could not work around it because | |
698 your compiler does not support \`-c' and \`-o' together. If you | |
699 repeat this compilation, it may succeed, by chance, but you had better | |
700 avoid parallel builds (make -j) in this platform, or get a better | |
701 compiler." | |
702 | |
703 $run $rm $removelist | |
704 exit 1 | |
705 fi | |
706 | |
707 # Just move the object if needed, then go on to compile the next one | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
708 if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
709 $show "$mv $output_obj $lobj" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
710 if $run $mv $output_obj $lobj; then : |
0 | 711 else |
712 error=$? | |
713 $run $rm $removelist | |
714 exit $error | |
715 fi | |
716 fi | |
717 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
718 # Append the name of the PIC object to the libtool object file. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
719 test -z "$run" && cat >> ${libobj}T <<EOF |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
720 pic_object='$objdir/$objname' |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
721 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
722 EOF |
0 | 723 |
724 # Allow error messages only from the first compilation. | |
725 suppress_output=' >/dev/null 2>&1' | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
726 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
727 # No PIC object so indicate it doesn't exist in the libtool |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
728 # object file. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
729 test -z "$run" && cat >> ${libobj}T <<EOF |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
730 pic_object=none |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
731 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
732 EOF |
0 | 733 fi |
734 | |
735 # Only build a position-dependent object if we build old libraries. | |
736 if test "$build_old_libs" = yes; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
737 if test "$pic_mode" != yes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
738 # Don't build PIC code |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
739 command="$base_compile $srcfile" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
740 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
741 command="$base_compile $srcfile $pic_flag" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
742 fi |
0 | 743 if test "$compiler_c_o" = yes; then |
744 command="$command -o $obj" | |
745 fi | |
746 | |
747 # Suppress compiler output if we already did a PIC compilation. | |
748 command="$command$suppress_output" | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
749 $run $rm "$obj" "$output_obj" |
0 | 750 $show "$command" |
751 if $run eval "$command"; then : | |
752 else | |
753 $run $rm $removelist | |
754 exit 1 | |
755 fi | |
756 | |
757 if test "$need_locks" = warn && | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
758 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
759 $echo "\ |
0 | 760 *** ERROR, $lockfile contains: |
761 `cat $lockfile 2>/dev/null` | |
762 | |
763 but it should contain: | |
764 $srcfile | |
765 | |
766 This indicates that another process is trying to use the same | |
767 temporary object file, and libtool could not work around it because | |
768 your compiler does not support \`-c' and \`-o' together. If you | |
769 repeat this compilation, it may succeed, by chance, but you had better | |
770 avoid parallel builds (make -j) in this platform, or get a better | |
771 compiler." | |
772 | |
773 $run $rm $removelist | |
774 exit 1 | |
775 fi | |
776 | |
777 # Just move the object if needed | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
778 if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then |
0 | 779 $show "$mv $output_obj $obj" |
780 if $run $mv $output_obj $obj; then : | |
781 else | |
782 error=$? | |
783 $run $rm $removelist | |
784 exit $error | |
785 fi | |
786 fi | |
787 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
788 # Append the name of the non-PIC object the libtool object file. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
789 # Only append if the libtool object file exists. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
790 test -z "$run" && cat >> ${libobj}T <<EOF |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
791 # Name of the non-PIC object. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
792 non_pic_object='$objname' |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
793 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
794 EOF |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
795 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
796 # Append the name of the non-PIC object the libtool object file. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
797 # Only append if the libtool object file exists. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
798 test -z "$run" && cat >> ${libobj}T <<EOF |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
799 # Name of the non-PIC object. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
800 non_pic_object=none |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
801 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
802 EOF |
0 | 803 fi |
804 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
805 $run $mv "${libobj}T" "${libobj}" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
806 |
0 | 807 # Unlock the critical section if it was locked |
808 if test "$need_locks" != no; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
809 $run $rm "$lockfile" |
0 | 810 fi |
811 | |
812 exit 0 | |
813 ;; | |
814 | |
815 # libtool link mode | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
816 link | relink) |
0 | 817 modename="$modename: link" |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
818 case $host in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
819 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) |
0 | 820 # It is impossible to link a dll without this setting, and |
821 # we shouldn't force the makefile maintainer to figure out | |
822 # which system we are compiling for in order to pass an extra | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
823 # flag for every libtool invocation. |
0 | 824 # allow_undefined=no |
825 | |
826 # FIXME: Unfortunately, there are problems with the above when trying | |
827 # to make a dll which has undefined symbols, in which case not | |
828 # even a static library is built. For now, we need to specify | |
829 # -no-undefined on the libtool link line when we can be certain | |
830 # that all symbols are satisfied, otherwise we get a static library. | |
831 allow_undefined=yes | |
832 ;; | |
833 *) | |
834 allow_undefined=yes | |
835 ;; | |
836 esac | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
837 libtool_args="$nonopt" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
838 base_compile="$nonopt" |
0 | 839 compile_command="$nonopt" |
840 finalize_command="$nonopt" | |
841 | |
842 compile_rpath= | |
843 finalize_rpath= | |
844 compile_shlibpath= | |
845 finalize_shlibpath= | |
846 convenience= | |
847 old_convenience= | |
848 deplibs= | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
849 old_deplibs= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
850 compiler_flags= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
851 linker_flags= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
852 dllsearchpath= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
853 lib_search_path=`pwd` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
854 inst_prefix_dir= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
855 |
0 | 856 avoid_version=no |
857 dlfiles= | |
858 dlprefiles= | |
859 dlself=no | |
860 export_dynamic=no | |
861 export_symbols= | |
862 export_symbols_regex= | |
863 generated= | |
864 libobjs= | |
865 ltlibs= | |
866 module=no | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
867 no_install=no |
0 | 868 objs= |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
869 non_pic_objects= |
0 | 870 prefer_static_libs=no |
871 preload=no | |
872 prev= | |
873 prevarg= | |
874 release= | |
875 rpath= | |
876 xrpath= | |
877 perm_rpath= | |
878 temp_rpath= | |
879 thread_safe=no | |
880 vinfo= | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
881 vinfo_number=no |
0 | 882 |
883 # We need to know -static, to get the right output filenames. | |
884 for arg | |
885 do | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
886 case $arg in |
0 | 887 -all-static | -static) |
888 if test "X$arg" = "X-all-static"; then | |
889 if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then | |
890 $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2 | |
891 fi | |
892 if test -n "$link_static_flag"; then | |
893 dlopen_self=$dlopen_self_static | |
894 fi | |
895 else | |
896 if test -z "$pic_flag" && test -n "$link_static_flag"; then | |
897 dlopen_self=$dlopen_self_static | |
898 fi | |
899 fi | |
900 build_libtool_libs=no | |
901 build_old_libs=yes | |
902 prefer_static_libs=yes | |
903 break | |
904 ;; | |
905 esac | |
906 done | |
907 | |
908 # See if our shared archives depend on static archives. | |
909 test -n "$old_archive_from_new_cmds" && build_old_libs=yes | |
910 | |
911 # Go through the arguments, transforming them on the way. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
912 while test "$#" -gt 0; do |
0 | 913 arg="$1" |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
914 base_compile="$base_compile $arg" |
0 | 915 shift |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
916 case $arg in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
917 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
918 qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
919 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
920 *) qarg=$arg ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
921 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
922 libtool_args="$libtool_args $qarg" |
0 | 923 |
924 # If the previous option needs an argument, assign it. | |
925 if test -n "$prev"; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
926 case $prev in |
0 | 927 output) |
928 compile_command="$compile_command @OUTPUT@" | |
929 finalize_command="$finalize_command @OUTPUT@" | |
930 ;; | |
931 esac | |
932 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
933 case $prev in |
0 | 934 dlfiles|dlprefiles) |
935 if test "$preload" = no; then | |
936 # Add the symbol object into the linking commands. | |
937 compile_command="$compile_command @SYMFILE@" | |
938 finalize_command="$finalize_command @SYMFILE@" | |
939 preload=yes | |
940 fi | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
941 case $arg in |
0 | 942 *.la | *.lo) ;; # We handle these cases below. |
943 force) | |
944 if test "$dlself" = no; then | |
945 dlself=needless | |
946 export_dynamic=yes | |
947 fi | |
948 prev= | |
949 continue | |
950 ;; | |
951 self) | |
952 if test "$prev" = dlprefiles; then | |
953 dlself=yes | |
954 elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then | |
955 dlself=yes | |
956 else | |
957 dlself=needless | |
958 export_dynamic=yes | |
959 fi | |
960 prev= | |
961 continue | |
962 ;; | |
963 *) | |
964 if test "$prev" = dlfiles; then | |
965 dlfiles="$dlfiles $arg" | |
966 else | |
967 dlprefiles="$dlprefiles $arg" | |
968 fi | |
969 prev= | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
970 continue |
0 | 971 ;; |
972 esac | |
973 ;; | |
974 expsyms) | |
975 export_symbols="$arg" | |
976 if test ! -f "$arg"; then | |
977 $echo "$modename: symbol file \`$arg' does not exist" | |
978 exit 1 | |
979 fi | |
980 prev= | |
981 continue | |
982 ;; | |
983 expsyms_regex) | |
984 export_symbols_regex="$arg" | |
985 prev= | |
986 continue | |
987 ;; | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
988 inst_prefix) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
989 inst_prefix_dir="$arg" |
387
469d5c0da01d
Fixed shared library building on MacOS X (thanks Max!)
Sam Lantinga <slouken@libsdl.org>
parents:
1
diff
changeset
|
990 prev= |
469d5c0da01d
Fixed shared library building on MacOS X (thanks Max!)
Sam Lantinga <slouken@libsdl.org>
parents:
1
diff
changeset
|
991 continue |
469d5c0da01d
Fixed shared library building on MacOS X (thanks Max!)
Sam Lantinga <slouken@libsdl.org>
parents:
1
diff
changeset
|
992 ;; |
0 | 993 release) |
994 release="-$arg" | |
995 prev= | |
996 continue | |
997 ;; | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
998 objectlist) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
999 if test -f "$arg"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1000 save_arg=$arg |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1001 moreargs= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1002 for fil in `cat $save_arg` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1003 do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1004 # moreargs="$moreargs $fil" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1005 arg=$fil |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1006 # A libtool-controlled object. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1007 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1008 # Check to see that this really is a libtool object. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1009 if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1010 pic_object= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1011 non_pic_object= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1012 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1013 # Read the .lo file |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1014 # If there is no directory component, then add one. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1015 case $arg in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1016 */* | *\\*) . $arg ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1017 *) . ./$arg ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1018 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1019 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1020 if test -z "$pic_object" || \ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1021 test -z "$non_pic_object" || |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1022 test "$pic_object" = none && \ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1023 test "$non_pic_object" = none; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1024 $echo "$modename: cannot find name of object for \`$arg'" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1025 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1026 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1027 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1028 # Extract subdirectory from the argument. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1029 xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1030 if test "X$xdir" = "X$arg"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1031 xdir= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1032 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1033 xdir="$xdir/" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1034 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1035 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1036 if test "$pic_object" != none; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1037 # Prepend the subdirectory the object is found in. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1038 pic_object="$xdir$pic_object" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1039 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1040 if test "$prev" = dlfiles; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1041 if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1042 dlfiles="$dlfiles $pic_object" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1043 prev= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1044 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1045 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1046 # If libtool objects are unsupported, then we need to preload. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1047 prev=dlprefiles |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1048 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1049 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1050 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1051 # CHECK ME: I think I busted this. -Ossama |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1052 if test "$prev" = dlprefiles; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1053 # Preload the old-style object. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1054 dlprefiles="$dlprefiles $pic_object" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1055 prev= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1056 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1057 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1058 # A PIC object. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1059 libobjs="$libobjs $pic_object" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1060 arg="$pic_object" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1061 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1062 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1063 # Non-PIC object. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1064 if test "$non_pic_object" != none; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1065 # Prepend the subdirectory the object is found in. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1066 non_pic_object="$xdir$non_pic_object" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1067 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1068 # A standard non-PIC object |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1069 non_pic_objects="$non_pic_objects $non_pic_object" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1070 if test -z "$pic_object" || test "$pic_object" = none ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1071 arg="$non_pic_object" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1072 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1073 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1074 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1075 # Only an error if not doing a dry-run. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1076 if test -z "$run"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1077 $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1078 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1079 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1080 # Dry-run case. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1081 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1082 # Extract subdirectory from the argument. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1083 xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1084 if test "X$xdir" = "X$arg"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1085 xdir= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1086 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1087 xdir="$xdir/" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1088 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1089 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1090 pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1091 non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1092 libobjs="$libobjs $pic_object" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1093 non_pic_objects="$non_pic_objects $non_pic_object" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1094 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1095 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1096 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1097 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1098 $echo "$modename: link input file \`$save_arg' does not exist" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1099 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1100 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1101 arg=$save_arg |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1102 prev= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1103 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1104 ;; |
0 | 1105 rpath | xrpath) |
1106 # We need an absolute path. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1107 case $arg in |
0 | 1108 [\\/]* | [A-Za-z]:[\\/]*) ;; |
1109 *) | |
1110 $echo "$modename: only absolute run-paths are allowed" 1>&2 | |
1111 exit 1 | |
1112 ;; | |
1113 esac | |
1114 if test "$prev" = rpath; then | |
1115 case "$rpath " in | |
1116 *" $arg "*) ;; | |
1117 *) rpath="$rpath $arg" ;; | |
1118 esac | |
1119 else | |
1120 case "$xrpath " in | |
1121 *" $arg "*) ;; | |
1122 *) xrpath="$xrpath $arg" ;; | |
1123 esac | |
1124 fi | |
1125 prev= | |
1126 continue | |
1127 ;; | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1128 xcompiler) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1129 compiler_flags="$compiler_flags $qarg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1130 prev= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1131 compile_command="$compile_command $qarg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1132 finalize_command="$finalize_command $qarg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1133 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1134 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1135 xlinker) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1136 linker_flags="$linker_flags $qarg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1137 compiler_flags="$compiler_flags $wl$qarg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1138 prev= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1139 compile_command="$compile_command $wl$qarg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1140 finalize_command="$finalize_command $wl$qarg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1141 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1142 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1143 xcclinker) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1144 linker_flags="$linker_flags $qarg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1145 compiler_flags="$compiler_flags $qarg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1146 prev= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1147 compile_command="$compile_command $qarg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1148 finalize_command="$finalize_command $qarg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1149 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1150 ;; |
741
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1151 framework) |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1152 case $host in |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1153 *-*-darwin*) |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1154 case "$deplibs " in |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1155 *" $qarg.framework "*) ;; |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1156 *) deplibs="$deplibs $qarg.framework" # this is fixed later |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1157 ;; |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1158 esac |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1159 ;; |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1160 esac |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1161 prev= |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1162 continue |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1163 ;; |
0 | 1164 *) |
1165 eval "$prev=\"\$arg\"" | |
1166 prev= | |
1167 continue | |
1168 ;; | |
1169 esac | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1170 fi # test -n "$prev" |
0 | 1171 |
1172 prevarg="$arg" | |
1173 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1174 case $arg in |
0 | 1175 -all-static) |
1176 if test -n "$link_static_flag"; then | |
1177 compile_command="$compile_command $link_static_flag" | |
1178 finalize_command="$finalize_command $link_static_flag" | |
1179 fi | |
1180 continue | |
1181 ;; | |
1182 | |
1183 -allow-undefined) | |
1184 # FIXME: remove this flag sometime in the future. | |
1185 $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 | |
1186 continue | |
1187 ;; | |
1188 | |
1189 -avoid-version) | |
1190 avoid_version=yes | |
1191 continue | |
1192 ;; | |
1193 | |
1194 -dlopen) | |
1195 prev=dlfiles | |
1196 continue | |
1197 ;; | |
1198 | |
1199 -dlpreopen) | |
1200 prev=dlprefiles | |
1201 continue | |
1202 ;; | |
1203 | |
1204 -export-dynamic) | |
1205 export_dynamic=yes | |
1206 continue | |
1207 ;; | |
1208 | |
1209 -export-symbols | -export-symbols-regex) | |
1210 if test -n "$export_symbols" || test -n "$export_symbols_regex"; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1211 $echo "$modename: more than one -exported-symbols argument is not allowed" |
0 | 1212 exit 1 |
1213 fi | |
1214 if test "X$arg" = "X-export-symbols"; then | |
1215 prev=expsyms | |
1216 else | |
1217 prev=expsyms_regex | |
1218 fi | |
1219 continue | |
1220 ;; | |
1221 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1222 -inst-prefix-dir) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1223 prev=inst_prefix |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1224 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1225 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1226 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1227 # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1228 # so, if we see these flags be careful not to treat them like -L |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1229 -L[A-Z][A-Z]*:*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1230 case $with_gcc/$host in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1231 no/*-*-irix* | /*-*-irix*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1232 compile_command="$compile_command $arg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1233 finalize_command="$finalize_command $arg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1234 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1235 esac |
387
469d5c0da01d
Fixed shared library building on MacOS X (thanks Max!)
Sam Lantinga <slouken@libsdl.org>
parents:
1
diff
changeset
|
1236 continue |
469d5c0da01d
Fixed shared library building on MacOS X (thanks Max!)
Sam Lantinga <slouken@libsdl.org>
parents:
1
diff
changeset
|
1237 ;; |
469d5c0da01d
Fixed shared library building on MacOS X (thanks Max!)
Sam Lantinga <slouken@libsdl.org>
parents:
1
diff
changeset
|
1238 |
0 | 1239 -L*) |
1240 dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` | |
1241 # We need an absolute path. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1242 case $dir in |
0 | 1243 [\\/]* | [A-Za-z]:[\\/]*) ;; |
1244 *) | |
1245 absdir=`cd "$dir" && pwd` | |
1246 if test -z "$absdir"; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1247 $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1248 exit 1 |
0 | 1249 fi |
1250 dir="$absdir" | |
1251 ;; | |
1252 esac | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1253 case "$deplibs " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1254 *" -L$dir "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1255 *) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1256 deplibs="$deplibs -L$dir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1257 lib_search_path="$lib_search_path $dir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1258 ;; |
0 | 1259 esac |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1260 case $host in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1261 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1262 case :$dllsearchpath: in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1263 *":$dir:"*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1264 *) dllsearchpath="$dllsearchpath:$dir";; |
0 | 1265 esac |
1266 ;; | |
1267 esac | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1268 continue |
0 | 1269 ;; |
1270 | |
1271 -l*) | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1272 if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1273 case $host in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1274 *-*-cygwin* | *-*-pw32* | *-*-beos*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1275 # These systems don't actually have a C or math library (as such) |
0 | 1276 continue |
1277 ;; | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1278 *-*-mingw* | *-*-os2*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1279 # These systems don't actually have a C library (as such) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1280 test "X$arg" = "X-lc" && continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1281 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1282 *-*-openbsd* | *-*-freebsd*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1283 # Do not include libc due to us having libc/libc_r. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1284 test "X$arg" = "X-lc" && continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1285 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1286 *-*-rhapsody* | *-*-darwin1.[012]) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1287 # Rhapsody C and math libraries are in the System framework |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1288 deplibs="$deplibs -framework System" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1289 continue |
0 | 1290 esac |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1291 elif test "X$arg" = "X-lc_r"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1292 case $host in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1293 *-*-openbsd* | *-*-freebsd*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1294 # Do not include libc_r directly, use -pthread flag. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1295 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1296 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1297 esac |
0 | 1298 fi |
1299 deplibs="$deplibs $arg" | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1300 continue |
0 | 1301 ;; |
1302 | |
1303 -module) | |
1304 module=yes | |
1305 continue | |
1306 ;; | |
1307 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1308 # gcc -m* arguments should be passed to the linker via $compiler_flags |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1309 # in order to pass architecture information to the linker |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1310 # (e.g. 32 vs 64-bit). This may also be accomplished via -Wl,-mfoo |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1311 # but this is not reliable with gcc because gcc may use -mfoo to |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1312 # select a different linker, different libraries, etc, while |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1313 # -Wl,-mfoo simply passes -mfoo to the linker. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1314 -m*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1315 # Unknown arguments in both finalize_command and compile_command need |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1316 # to be aesthetically quoted because they are evaled later. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1317 arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1318 case $arg in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1319 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1320 arg="\"$arg\"" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1321 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1322 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1323 compile_command="$compile_command $arg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1324 finalize_command="$finalize_command $arg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1325 if test "$with_gcc" = "yes" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1326 compiler_flags="$compiler_flags $arg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1327 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1328 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1329 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1330 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1331 -shrext) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1332 prev=shrext |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1333 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1334 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1335 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1336 -no-fast-install) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1337 fast_install=no |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1338 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1339 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1340 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1341 -no-install) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1342 case $host in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1343 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1344 # The PATH hackery in wrapper scripts is required on Windows |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1345 # in order for the loader to find any dlls it needs. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1346 $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1347 $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1348 fast_install=no |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1349 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1350 *) no_install=yes ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1351 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1352 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1353 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1354 |
0 | 1355 -no-undefined) |
1356 allow_undefined=no | |
1357 continue | |
1358 ;; | |
1359 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1360 -objectlist) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1361 prev=objectlist |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1362 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1363 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1364 |
0 | 1365 -o) prev=output ;; |
1366 | |
1367 -release) | |
1368 prev=release | |
1369 continue | |
1370 ;; | |
1371 | |
1372 -rpath) | |
1373 prev=rpath | |
1374 continue | |
1375 ;; | |
1376 | |
1377 -R) | |
1378 prev=xrpath | |
1379 continue | |
1380 ;; | |
1381 | |
1382 -R*) | |
1383 dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` | |
1384 # We need an absolute path. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1385 case $dir in |
0 | 1386 [\\/]* | [A-Za-z]:[\\/]*) ;; |
1387 *) | |
1388 $echo "$modename: only absolute run-paths are allowed" 1>&2 | |
1389 exit 1 | |
1390 ;; | |
1391 esac | |
1392 case "$xrpath " in | |
1393 *" $dir "*) ;; | |
1394 *) xrpath="$xrpath $dir" ;; | |
1395 esac | |
1396 continue | |
1397 ;; | |
1398 | |
1399 -static) | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1400 # The effects of -static are defined in a previous loop. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1401 # We used to do the same as -all-static on platforms that |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1402 # didn't have a PIC flag, but the assumption that the effects |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1403 # would be equivalent was wrong. It would break on at least |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1404 # Digital Unix and AIX. |
0 | 1405 continue |
1406 ;; | |
1407 | |
1408 -thread-safe) | |
1409 thread_safe=yes | |
1410 continue | |
1411 ;; | |
1412 | |
1413 -version-info) | |
1414 prev=vinfo | |
1415 continue | |
1416 ;; | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1417 -version-number) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1418 prev=vinfo |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1419 vinfo_number=yes |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1420 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1421 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1422 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1423 -Wc,*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1424 args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1425 arg= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1426 save_ifs="$IFS"; IFS=',' |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1427 for flag in $args; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1428 IFS="$save_ifs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1429 case $flag in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1430 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1431 flag="\"$flag\"" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1432 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1433 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1434 arg="$arg $wl$flag" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1435 compiler_flags="$compiler_flags $flag" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1436 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1437 IFS="$save_ifs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1438 arg=`$echo "X$arg" | $Xsed -e "s/^ //"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1439 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1440 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1441 -Wl,*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1442 args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1443 arg= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1444 save_ifs="$IFS"; IFS=',' |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1445 for flag in $args; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1446 IFS="$save_ifs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1447 case $flag in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1448 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1449 flag="\"$flag\"" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1450 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1451 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1452 arg="$arg $wl$flag" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1453 compiler_flags="$compiler_flags $wl$flag" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1454 linker_flags="$linker_flags $flag" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1455 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1456 IFS="$save_ifs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1457 arg=`$echo "X$arg" | $Xsed -e "s/^ //"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1458 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1459 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1460 -Xcompiler) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1461 prev=xcompiler |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1462 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1463 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1464 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1465 -Xlinker) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1466 prev=xlinker |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1467 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1468 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1469 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1470 -XCClinker) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1471 prev=xcclinker |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1472 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1473 ;; |
0 | 1474 |
741
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1475 -framework) |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1476 prev=framework |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1477 continue |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1478 ;; |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1479 |
0 | 1480 # Some other compiler flag. |
1481 -* | +*) | |
1482 # Unknown arguments in both finalize_command and compile_command need | |
1483 # to be aesthetically quoted because they are evaled later. | |
1484 arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1485 case $arg in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1486 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") |
0 | 1487 arg="\"$arg\"" |
1488 ;; | |
1489 esac | |
1490 ;; | |
1491 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1492 *.$objext) |
0 | 1493 # A standard object. |
1494 objs="$objs $arg" | |
1495 ;; | |
1496 | |
1497 *.lo) | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1498 # A libtool-controlled object. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1499 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1500 # Check to see that this really is a libtool object. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1501 if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1502 pic_object= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1503 non_pic_object= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1504 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1505 # Read the .lo file |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1506 # If there is no directory component, then add one. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1507 case $arg in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1508 */* | *\\*) . $arg ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1509 *) . ./$arg ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1510 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1511 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1512 if test -z "$pic_object" || \ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1513 test -z "$non_pic_object" || |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1514 test "$pic_object" = none && \ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1515 test "$non_pic_object" = none; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1516 $echo "$modename: cannot find name of object for \`$arg'" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1517 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1518 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1519 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1520 # Extract subdirectory from the argument. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1521 xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1522 if test "X$xdir" = "X$arg"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1523 xdir= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1524 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1525 xdir="$xdir/" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1526 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1527 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1528 if test "$pic_object" != none; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1529 # Prepend the subdirectory the object is found in. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1530 pic_object="$xdir$pic_object" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1531 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1532 if test "$prev" = dlfiles; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1533 if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1534 dlfiles="$dlfiles $pic_object" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1535 prev= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1536 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1537 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1538 # If libtool objects are unsupported, then we need to preload. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1539 prev=dlprefiles |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1540 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1541 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1542 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1543 # CHECK ME: I think I busted this. -Ossama |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1544 if test "$prev" = dlprefiles; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1545 # Preload the old-style object. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1546 dlprefiles="$dlprefiles $pic_object" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1547 prev= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1548 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1549 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1550 # A PIC object. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1551 libobjs="$libobjs $pic_object" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1552 arg="$pic_object" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1553 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1554 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1555 # Non-PIC object. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1556 if test "$non_pic_object" != none; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1557 # Prepend the subdirectory the object is found in. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1558 non_pic_object="$xdir$non_pic_object" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1559 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1560 # A standard non-PIC object |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1561 non_pic_objects="$non_pic_objects $non_pic_object" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1562 if test -z "$pic_object" || test "$pic_object" = none ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1563 arg="$non_pic_object" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1564 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1565 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1566 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1567 # Only an error if not doing a dry-run. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1568 if test -z "$run"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1569 $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1570 exit 1 |
0 | 1571 else |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1572 # Dry-run case. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1573 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1574 # Extract subdirectory from the argument. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1575 xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1576 if test "X$xdir" = "X$arg"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1577 xdir= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1578 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1579 xdir="$xdir/" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1580 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1581 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1582 pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1583 non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1584 libobjs="$libobjs $pic_object" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1585 non_pic_objects="$non_pic_objects $non_pic_object" |
0 | 1586 fi |
1587 fi | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1588 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1589 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1590 *.$libext) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1591 # An archive. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1592 deplibs="$deplibs $arg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1593 old_deplibs="$old_deplibs $arg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1594 continue |
0 | 1595 ;; |
1596 | |
1597 *.la) | |
1598 # A libtool-controlled library. | |
1599 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1600 if test "$prev" = dlfiles; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1601 # This library was specified with -dlopen. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1602 dlfiles="$dlfiles $arg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1603 prev= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1604 elif test "$prev" = dlprefiles; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1605 # The library was specified with -dlpreopen. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1606 dlprefiles="$dlprefiles $arg" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1607 prev= |
0 | 1608 else |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1609 deplibs="$deplibs $arg" |
0 | 1610 fi |
1611 continue | |
1612 ;; | |
1613 | |
1614 # Some other compiler argument. | |
1615 *) | |
1616 # Unknown arguments in both finalize_command and compile_command need | |
1617 # to be aesthetically quoted because they are evaled later. | |
1618 arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1619 case $arg in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1620 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") |
0 | 1621 arg="\"$arg\"" |
1622 ;; | |
1623 esac | |
1624 ;; | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1625 esac # arg |
0 | 1626 |
1627 # Now actually substitute the argument into the commands. | |
1628 if test -n "$arg"; then | |
1629 compile_command="$compile_command $arg" | |
1630 finalize_command="$finalize_command $arg" | |
1631 fi | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1632 done # argument parsing loop |
0 | 1633 |
1634 if test -n "$prev"; then | |
1635 $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 | |
1636 $echo "$help" 1>&2 | |
1637 exit 1 | |
1638 fi | |
1639 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1640 # Infer tagged configuration to use if any are available and |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1641 # if one wasn't chosen via the "--tag" command line option. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1642 # Only attempt this if the compiler in the base link |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1643 # command doesn't match the default compiler. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1644 if test -n "$available_tags" && test -z "$tagname"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1645 case $base_compile in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1646 # Blanks in the command may have been stripped by the calling shell, |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1647 # but not from the CC environment variable when configure was run. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1648 "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1649 # Blanks at the start of $base_compile will cause this to fail |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1650 # if we don't check for them as well. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1651 *) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1652 for z in $available_tags; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1653 if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1654 # Evaluate the configuration. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1655 eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1656 case $base_compile in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1657 "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1658 # The compiler in $compile_command matches |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1659 # the one in the tagged configuration. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1660 # Assume this is the tagged configuration we want. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1661 tagname=$z |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1662 break |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1663 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1664 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1665 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1666 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1667 # If $tagname still isn't set, then no tagged configuration |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1668 # was found and let the user know that the "--tag" command |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1669 # line option must be used. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1670 if test -z "$tagname"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1671 $echo "$modename: unable to infer tagged configuration" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1672 $echo "$modename: specify a tag with \`--tag'" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1673 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1674 # else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1675 # $echo "$modename: using $tagname tagged configuration" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1676 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1677 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1678 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1679 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1680 |
0 | 1681 if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then |
1682 eval arg=\"$export_dynamic_flag_spec\" | |
1683 compile_command="$compile_command $arg" | |
1684 finalize_command="$finalize_command $arg" | |
1685 fi | |
1686 | |
1687 oldlibs= | |
1688 # calculate the name of the file, without its directory | |
1689 outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` | |
1690 libobjs_save="$libobjs" | |
1691 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1692 if test -n "$shlibpath_var"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1693 # get the directories listed in $shlibpath_var |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1694 eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1695 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1696 shlib_search_path= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1697 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1698 eval sys_lib_search_path=\"$sys_lib_search_path_spec\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1699 eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1700 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1701 output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1702 if test "X$output_objdir" = "X$output"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1703 output_objdir="$objdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1704 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1705 output_objdir="$output_objdir/$objdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1706 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1707 # Create the object directory. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1708 if test ! -d "$output_objdir"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1709 $show "$mkdir $output_objdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1710 $run $mkdir $output_objdir |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1711 status=$? |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1712 if test "$status" -ne 0 && test ! -d "$output_objdir"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1713 exit $status |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1714 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1715 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1716 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1717 # Determine the type of output |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1718 case $output in |
0 | 1719 "") |
1720 $echo "$modename: you must specify an output file" 1>&2 | |
1721 $echo "$help" 1>&2 | |
1722 exit 1 | |
1723 ;; | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1724 *.$libext) linkmode=oldlib ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1725 *.lo | *.$objext) linkmode=obj ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1726 *.la) linkmode=lib ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1727 *) linkmode=prog ;; # Anything else should be a program. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1728 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1729 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1730 case $host in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1731 *cygwin* | *mingw* | *pw32*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1732 # don't eliminate duplcations in $postdeps and $predeps |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1733 duplicate_compiler_generated_deps=yes |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1734 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1735 *) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1736 duplicate_compiler_generated_deps=$duplicate_deps |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1737 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1738 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1739 specialdeplibs= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1740 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1741 libs= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1742 # Find all interdependent deplibs by searching for libraries |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1743 # that are linked more than once (e.g. -la -lb -la) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1744 for deplib in $deplibs; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1745 if test "X$duplicate_deps" = "Xyes" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1746 case "$libs " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1747 *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1748 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1749 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1750 libs="$libs $deplib" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1751 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1752 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1753 if test "$linkmode" = lib; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1754 libs="$predeps $libs $compiler_lib_search_path $postdeps" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1755 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1756 # Compute libraries that are listed more than once in $predeps |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1757 # $postdeps and mark them as special (i.e., whose duplicates are |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1758 # not to be eliminated). |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1759 pre_post_deps= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1760 if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1761 for pre_post_dep in $predeps $postdeps; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1762 case "$pre_post_deps " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1763 *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1764 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1765 pre_post_deps="$pre_post_deps $pre_post_dep" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1766 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1767 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1768 pre_post_deps= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1769 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1770 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1771 deplibs= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1772 newdependency_libs= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1773 newlib_search_path= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1774 need_relink=no # whether we're linking any uninstalled libtool libraries |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1775 notinst_deplibs= # not-installed libtool libraries |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1776 notinst_path= # paths that contain not-installed libtool libraries |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1777 case $linkmode in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1778 lib) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1779 passes="conv link" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1780 for file in $dlfiles $dlprefiles; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1781 case $file in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1782 *.la) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1783 *) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1784 $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1785 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1786 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1787 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1788 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1789 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1790 prog) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1791 compile_deplibs= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1792 finalize_deplibs= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1793 alldeplibs=no |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1794 newdlfiles= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1795 newdlprefiles= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1796 passes="conv scan dlopen dlpreopen link" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1797 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1798 *) passes="conv" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1799 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1800 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1801 for pass in $passes; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1802 if test "$linkmode,$pass" = "lib,link" || |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1803 test "$linkmode,$pass" = "prog,scan"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1804 libs="$deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1805 deplibs= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1806 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1807 if test "$linkmode" = prog; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1808 case $pass in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1809 dlopen) libs="$dlfiles" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1810 dlpreopen) libs="$dlprefiles" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1811 link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1812 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1813 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1814 if test "$pass" = dlopen; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1815 # Collect dlpreopened libraries |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1816 save_deplibs="$deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1817 deplibs= |
0 | 1818 fi |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1819 for deplib in $libs; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1820 lib= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1821 found=no |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1822 case $deplib in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1823 -l*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1824 if test "$linkmode" != lib && test "$linkmode" != prog; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1825 $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1826 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1827 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1828 if test "$pass" = conv; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1829 deplibs="$deplib $deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1830 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1831 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1832 name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1833 for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1834 # Search the libtool library |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1835 lib="$searchdir/lib${name}.la" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1836 if test -f "$lib"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1837 found=yes |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1838 break |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1839 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1840 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1841 if test "$found" != yes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1842 # deplib doesn't seem to be a libtool library |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1843 if test "$linkmode,$pass" = "prog,link"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1844 compile_deplibs="$deplib $compile_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1845 finalize_deplibs="$deplib $finalize_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1846 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1847 deplibs="$deplib $deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1848 test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1849 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1850 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1851 else # deplib is a libtool library |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1852 # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1853 # We need to do some special things here, and not later. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1854 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1855 case " $predeps $postdeps " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1856 *" $deplib "*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1857 if (${SED} -e '2q' $lib | |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1858 grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1859 library_names= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1860 old_library= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1861 case $lib in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1862 */* | *\\*) . $lib ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1863 *) . ./$lib ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1864 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1865 for l in $old_library $library_names; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1866 ll="$l" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1867 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1868 if test "X$ll" = "X$old_library" ; then # only static version available |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1869 found=no |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1870 ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1871 test "X$ladir" = "X$lib" && ladir="." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1872 lib=$ladir/$old_library |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1873 if test "$linkmode,$pass" = "prog,link"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1874 compile_deplibs="$deplib $compile_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1875 finalize_deplibs="$deplib $finalize_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1876 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1877 deplibs="$deplib $deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1878 test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1879 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1880 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1881 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1882 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1883 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1884 *) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1885 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1886 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1887 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1888 ;; # -l |
741
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1889 *.framework) |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1890 if test "$linkmode,$pass" = "prog,link"; then |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1891 compile_deplibs="$deplib $compile_deplibs" |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1892 finalize_deplibs="$deplib $finalize_deplibs" |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1893 else |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1894 deplibs="$deplib $deplibs" |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1895 if test "$linkmode" = lib ; then |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1896 newdependency_libs="$deplib $newdependency_libs" |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1897 fi |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1898 fi |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1899 continue |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
1900 ;; |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1901 -L*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1902 case $linkmode in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1903 lib) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1904 deplibs="$deplib $deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1905 test "$pass" = conv && continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1906 newdependency_libs="$deplib $newdependency_libs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1907 newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1908 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1909 prog) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1910 if test "$pass" = conv; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1911 deplibs="$deplib $deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1912 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1913 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1914 if test "$pass" = scan; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1915 deplibs="$deplib $deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1916 newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1917 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1918 compile_deplibs="$deplib $compile_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1919 finalize_deplibs="$deplib $finalize_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1920 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1921 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1922 *) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1923 $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1924 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1925 esac # linkmode |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1926 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1927 ;; # -L |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1928 -R*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1929 if test "$pass" = link; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1930 dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1931 # Make sure the xrpath contains only unique directories. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1932 case "$xrpath " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1933 *" $dir "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1934 *) xrpath="$xrpath $dir" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1935 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1936 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1937 deplibs="$deplib $deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1938 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1939 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1940 *.la) lib="$deplib" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1941 *.$libext) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1942 if test "$pass" = conv; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1943 deplibs="$deplib $deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1944 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1945 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1946 case $linkmode in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1947 lib) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1948 if test "$deplibs_check_method" != pass_all; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1949 $echo |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1950 $echo "*** Warning: Trying to link with static lib archive $deplib." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1951 $echo "*** I have the capability to make that library automatically link in when" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1952 $echo "*** you link to this library. But I can only do this if you have a" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1953 $echo "*** shared version of the library, which you do not appear to have" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1954 $echo "*** because the file extensions .$libext of this argument makes me believe" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1955 $echo "*** that it is just a static archive that I should not used here." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1956 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1957 $echo |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1958 $echo "*** Warning: Linking the shared library $output against the" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1959 $echo "*** static library $deplib is not portable!" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1960 deplibs="$deplib $deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1961 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1962 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1963 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1964 prog) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1965 if test "$pass" != link; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1966 deplibs="$deplib $deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1967 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1968 compile_deplibs="$deplib $compile_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1969 finalize_deplibs="$deplib $finalize_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1970 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1971 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1972 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1973 esac # linkmode |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1974 ;; # *.$libext |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1975 *.lo | *.$objext) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1976 if test "$pass" = conv; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1977 deplibs="$deplib $deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1978 elif test "$linkmode" = prog; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1979 if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1980 # If there is no dlopen support or we're linking statically, |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1981 # we need to preload. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1982 newdlprefiles="$newdlprefiles $deplib" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1983 compile_deplibs="$deplib $compile_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1984 finalize_deplibs="$deplib $finalize_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1985 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1986 newdlfiles="$newdlfiles $deplib" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1987 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1988 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1989 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1990 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1991 %DEPLIBS%) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1992 alldeplibs=yes |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1993 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1994 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1995 esac # case $deplib |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1996 if test "$found" = yes || test -f "$lib"; then : |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1997 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1998 $echo "$modename: cannot find the library \`$lib'" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
1999 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2000 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2001 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2002 # Check to see that this really is a libtool archive. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2003 if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2004 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2005 $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2006 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2007 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2008 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2009 ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2010 test "X$ladir" = "X$lib" && ladir="." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2011 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2012 dlname= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2013 dlopen= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2014 dlpreopen= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2015 libdir= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2016 library_names= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2017 old_library= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2018 # If the library was installed with an old release of libtool, |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2019 # it will not redefine variables installed, or shouldnotlink |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2020 installed=yes |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2021 shouldnotlink=no |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2022 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2023 # Read the .la file |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2024 case $lib in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2025 */* | *\\*) . $lib ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2026 *) . ./$lib ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2027 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2028 |
741
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
2029 case $host in |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
2030 *-*-darwin*) |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
2031 # Convert "-framework foo" to "foo.framework" in dependency_libs |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
2032 test -n "$dependency_libs" && dependency_libs=`$echo "X$dependency_libs" | $Xsed -e 's/-framework \([^ $]*\)/\1.framework/g'` |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
2033 ;; |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
2034 esac |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
2035 |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2036 if test "$linkmode,$pass" = "lib,link" || |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2037 test "$linkmode,$pass" = "prog,scan" || |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2038 { test "$linkmode" != prog && test "$linkmode" != lib; }; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2039 test -n "$dlopen" && dlfiles="$dlfiles $dlopen" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2040 test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2041 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2042 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2043 if test "$pass" = conv; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2044 # Only check for convenience libraries |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2045 deplibs="$lib $deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2046 if test -z "$libdir"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2047 if test -z "$old_library"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2048 $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2049 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2050 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2051 # It is a libtool convenience library, so add in its objects. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2052 convenience="$convenience $ladir/$objdir/$old_library" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2053 old_convenience="$old_convenience $ladir/$objdir/$old_library" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2054 tmp_libs= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2055 for deplib in $dependency_libs; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2056 deplibs="$deplib $deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2057 if test "X$duplicate_deps" = "Xyes" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2058 case "$tmp_libs " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2059 *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2060 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2061 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2062 tmp_libs="$tmp_libs $deplib" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2063 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2064 elif test "$linkmode" != prog && test "$linkmode" != lib; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2065 $echo "$modename: \`$lib' is not a convenience library" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2066 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2067 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2068 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2069 fi # $pass = conv |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2070 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2071 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2072 # Get the name of the library we link against. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2073 linklib= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2074 for l in $old_library $library_names; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2075 linklib="$l" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2076 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2077 if test -z "$linklib"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2078 $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2079 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2080 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2081 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2082 # This library was specified with -dlopen. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2083 if test "$pass" = dlopen; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2084 if test -z "$libdir"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2085 $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2086 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2087 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2088 if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2089 # If there is no dlname, no dlopen support or we're linking |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2090 # statically, we need to preload. We also need to preload any |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2091 # dependent libraries so libltdl's deplib preloader doesn't |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2092 # bomb out in the load deplibs phase. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2093 dlprefiles="$dlprefiles $lib $dependency_libs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2094 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2095 newdlfiles="$newdlfiles $lib" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2096 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2097 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2098 fi # $pass = dlopen |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2099 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2100 # We need an absolute path. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2101 case $ladir in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2102 [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2103 *) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2104 abs_ladir=`cd "$ladir" && pwd` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2105 if test -z "$abs_ladir"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2106 $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2107 $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2108 abs_ladir="$ladir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2109 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2110 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2111 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2112 laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2113 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2114 # Find the relevant object directory and library name. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2115 if test "X$installed" = Xyes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2116 if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2117 $echo "$modename: warning: library \`$lib' was moved." 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2118 dir="$ladir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2119 absdir="$abs_ladir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2120 libdir="$abs_ladir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2121 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2122 dir="$libdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2123 absdir="$libdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2124 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2125 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2126 dir="$ladir/$objdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2127 absdir="$abs_ladir/$objdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2128 # Remove this search path later |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2129 notinst_path="$notinst_path $abs_ladir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2130 fi # $installed = yes |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2131 name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2132 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2133 # This library was specified with -dlpreopen. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2134 if test "$pass" = dlpreopen; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2135 if test -z "$libdir"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2136 $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2137 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2138 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2139 # Prefer using a static library (so that no silly _DYNAMIC symbols |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2140 # are required to link). |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2141 if test -n "$old_library"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2142 newdlprefiles="$newdlprefiles $dir/$old_library" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2143 # Otherwise, use the dlname, so that lt_dlopen finds it. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2144 elif test -n "$dlname"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2145 newdlprefiles="$newdlprefiles $dir/$dlname" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2146 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2147 newdlprefiles="$newdlprefiles $dir/$linklib" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2148 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2149 fi # $pass = dlpreopen |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2150 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2151 if test -z "$libdir"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2152 # Link the convenience library |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2153 if test "$linkmode" = lib; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2154 deplibs="$dir/$old_library $deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2155 elif test "$linkmode,$pass" = "prog,link"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2156 compile_deplibs="$dir/$old_library $compile_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2157 finalize_deplibs="$dir/$old_library $finalize_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2158 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2159 deplibs="$lib $deplibs" # used for prog,scan pass |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2160 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2161 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2162 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2163 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2164 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2165 if test "$linkmode" = prog && test "$pass" != link; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2166 newlib_search_path="$newlib_search_path $ladir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2167 deplibs="$lib $deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2168 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2169 linkalldeplibs=no |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2170 if test "$link_all_deplibs" != no || test -z "$library_names" || |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2171 test "$build_libtool_libs" = no; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2172 linkalldeplibs=yes |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2173 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2174 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2175 tmp_libs= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2176 for deplib in $dependency_libs; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2177 case $deplib in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2178 -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2179 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2180 # Need to link against all dependency_libs? |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2181 if test "$linkalldeplibs" = yes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2182 deplibs="$deplib $deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2183 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2184 # Need to hardcode shared library paths |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2185 # or/and link against static libraries |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2186 newdependency_libs="$deplib $newdependency_libs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2187 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2188 if test "X$duplicate_deps" = "Xyes" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2189 case "$tmp_libs " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2190 *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2191 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2192 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2193 tmp_libs="$tmp_libs $deplib" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2194 done # for deplib |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2195 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2196 fi # $linkmode = prog... |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2197 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2198 if test "$linkmode,$pass" = "prog,link"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2199 if test -n "$library_names" && |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2200 { test "$prefer_static_libs" = no || test -z "$old_library"; }; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2201 # We need to hardcode the library path |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2202 if test -n "$shlibpath_var"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2203 # Make sure the rpath contains only unique directories. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2204 case "$temp_rpath " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2205 *" $dir "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2206 *" $absdir "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2207 *) temp_rpath="$temp_rpath $dir" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2208 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2209 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2210 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2211 # Hardcode the library path. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2212 # Skip directories that are in the system default run-time |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2213 # search path. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2214 case " $sys_lib_dlsearch_path " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2215 *" $absdir "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2216 *) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2217 case "$compile_rpath " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2218 *" $absdir "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2219 *) compile_rpath="$compile_rpath $absdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2220 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2221 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2222 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2223 case " $sys_lib_dlsearch_path " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2224 *" $libdir "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2225 *) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2226 case "$finalize_rpath " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2227 *" $libdir "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2228 *) finalize_rpath="$finalize_rpath $libdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2229 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2230 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2231 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2232 fi # $linkmode,$pass = prog,link... |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2233 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2234 if test "$alldeplibs" = yes && |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2235 { test "$deplibs_check_method" = pass_all || |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2236 { test "$build_libtool_libs" = yes && |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2237 test -n "$library_names"; }; }; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2238 # We only need to search for static libraries |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2239 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2240 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2241 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2242 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2243 link_static=no # Whether the deplib will be linked statically |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2244 if test -n "$library_names" && |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2245 { test "$prefer_static_libs" = no || test -z "$old_library"; }; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2246 if test "$installed" = no; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2247 notinst_deplibs="$notinst_deplibs $lib" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2248 need_relink=yes |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2249 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2250 # This is a shared library |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2251 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2252 # Warn about portability, can't link against -module's on some systems (darwin) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2253 if test "$shouldnotlink" = yes && test "$pass" = link ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2254 $echo |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2255 if test "$linkmode" = prog; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2256 $echo "*** Warning: Linking the executable $output against the loadable module" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2257 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2258 $echo "*** Warning: Linking the shared library $output against the loadable module" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2259 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2260 $echo "*** $linklib is not portable!" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2261 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2262 if test "$linkmode" = lib && |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2263 test "$hardcode_into_libs" = yes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2264 # Hardcode the library path. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2265 # Skip directories that are in the system default run-time |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2266 # search path. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2267 case " $sys_lib_dlsearch_path " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2268 *" $absdir "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2269 *) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2270 case "$compile_rpath " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2271 *" $absdir "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2272 *) compile_rpath="$compile_rpath $absdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2273 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2274 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2275 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2276 case " $sys_lib_dlsearch_path " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2277 *" $libdir "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2278 *) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2279 case "$finalize_rpath " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2280 *" $libdir "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2281 *) finalize_rpath="$finalize_rpath $libdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2282 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2283 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2284 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2285 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2286 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2287 if test -n "$old_archive_from_expsyms_cmds"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2288 # figure out the soname |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2289 set dummy $library_names |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2290 realname="$2" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2291 shift; shift |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2292 libname=`eval \\$echo \"$libname_spec\"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2293 # use dlname if we got it. it's perfectly good, no? |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2294 if test -n "$dlname"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2295 soname="$dlname" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2296 elif test -n "$soname_spec"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2297 # bleh windows |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2298 case $host in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2299 *cygwin* | mingw*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2300 major=`expr $current - $age` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2301 versuffix="-$major" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2302 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2303 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2304 eval soname=\"$soname_spec\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2305 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2306 soname="$realname" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2307 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2308 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2309 # Make a new name for the extract_expsyms_cmds to use |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2310 soroot="$soname" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2311 soname=`$echo $soroot | ${SED} -e 's/^.*\///'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2312 newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2313 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2314 # If the library has no export list, then create one now |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2315 if test -f "$output_objdir/$soname-def"; then : |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2316 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2317 $show "extracting exported symbol list from \`$soname'" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2318 save_ifs="$IFS"; IFS='~' |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2319 eval cmds=\"$extract_expsyms_cmds\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2320 for cmd in $cmds; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2321 IFS="$save_ifs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2322 $show "$cmd" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2323 $run eval "$cmd" || exit $? |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2324 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2325 IFS="$save_ifs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2326 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2327 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2328 # Create $newlib |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2329 if test -f "$output_objdir/$newlib"; then :; else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2330 $show "generating import library for \`$soname'" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2331 save_ifs="$IFS"; IFS='~' |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2332 eval cmds=\"$old_archive_from_expsyms_cmds\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2333 for cmd in $cmds; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2334 IFS="$save_ifs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2335 $show "$cmd" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2336 $run eval "$cmd" || exit $? |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2337 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2338 IFS="$save_ifs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2339 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2340 # make sure the library variables are pointing to the new library |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2341 dir=$output_objdir |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2342 linklib=$newlib |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2343 fi # test -n "$old_archive_from_expsyms_cmds" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2344 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2345 if test "$linkmode" = prog || test "$mode" != relink; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2346 add_shlibpath= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2347 add_dir= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2348 add= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2349 lib_linked=yes |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2350 case $hardcode_action in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2351 immediate | unsupported) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2352 if test "$hardcode_direct" = no; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2353 add="$dir/$linklib" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2354 case $host in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2355 *-*-sco3.2v5* ) add_dir="-L$dir" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2356 *-*-darwin* ) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2357 # if the lib is a module then we can not link against it, someone |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2358 # is ignoring the new warnings I added |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2359 if /usr/bin/file -L $add 2> /dev/null | grep "bundle" >/dev/null ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2360 $echo "** Warning, lib $linklib is a module, not a shared library" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2361 if test -z "$old_library" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2362 $echo |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2363 $echo "** And there doesn't seem to be a static archive available" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2364 $echo "** The link will probably fail, sorry" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2365 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2366 add="$dir/$old_library" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2367 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2368 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2369 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2370 elif test "$hardcode_minus_L" = no; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2371 case $host in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2372 *-*-sunos*) add_shlibpath="$dir" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2373 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2374 add_dir="-L$dir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2375 add="-l$name" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2376 elif test "$hardcode_shlibpath_var" = no; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2377 add_shlibpath="$dir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2378 add="-l$name" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2379 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2380 lib_linked=no |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2381 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2382 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2383 relink) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2384 if test "$hardcode_direct" = yes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2385 add="$dir/$linklib" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2386 elif test "$hardcode_minus_L" = yes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2387 add_dir="-L$dir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2388 # Try looking first in the location we're being installed to. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2389 if test -n "$inst_prefix_dir"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2390 case "$libdir" in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2391 [\\/]*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2392 add_dir="-L$inst_prefix_dir$libdir $add_dir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2393 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2394 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2395 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2396 add="-l$name" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2397 elif test "$hardcode_shlibpath_var" = yes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2398 add_shlibpath="$dir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2399 add="-l$name" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2400 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2401 lib_linked=no |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2402 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2403 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2404 *) lib_linked=no ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2405 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2406 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2407 if test "$lib_linked" != yes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2408 $echo "$modename: configuration error: unsupported hardcode properties" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2409 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2410 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2411 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2412 if test -n "$add_shlibpath"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2413 case :$compile_shlibpath: in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2414 *":$add_shlibpath:"*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2415 *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2416 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2417 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2418 if test "$linkmode" = prog; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2419 test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2420 test -n "$add" && compile_deplibs="$add $compile_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2421 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2422 test -n "$add_dir" && deplibs="$add_dir $deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2423 test -n "$add" && deplibs="$add $deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2424 if test "$hardcode_direct" != yes && \ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2425 test "$hardcode_minus_L" != yes && \ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2426 test "$hardcode_shlibpath_var" = yes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2427 case :$finalize_shlibpath: in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2428 *":$libdir:"*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2429 *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2430 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2431 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2432 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2433 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2434 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2435 if test "$linkmode" = prog || test "$mode" = relink; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2436 add_shlibpath= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2437 add_dir= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2438 add= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2439 # Finalize command for both is simple: just hardcode it. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2440 if test "$hardcode_direct" = yes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2441 add="$libdir/$linklib" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2442 elif test "$hardcode_minus_L" = yes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2443 add_dir="-L$libdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2444 add="-l$name" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2445 elif test "$hardcode_shlibpath_var" = yes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2446 case :$finalize_shlibpath: in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2447 *":$libdir:"*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2448 *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2449 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2450 add="-l$name" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2451 elif test "$hardcode_automatic" = yes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2452 if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2453 add="$inst_prefix_dir$libdir/$linklib" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2454 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2455 add="$libdir/$linklib" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2456 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2457 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2458 # We cannot seem to hardcode it, guess we'll fake it. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2459 add_dir="-L$libdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2460 # Try looking first in the location we're being installed to. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2461 if test -n "$inst_prefix_dir"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2462 case "$libdir" in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2463 [\\/]*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2464 add_dir="-L$inst_prefix_dir$libdir $add_dir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2465 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2466 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2467 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2468 add="-l$name" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2469 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2470 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2471 if test "$linkmode" = prog; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2472 test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2473 test -n "$add" && finalize_deplibs="$add $finalize_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2474 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2475 test -n "$add_dir" && deplibs="$add_dir $deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2476 test -n "$add" && deplibs="$add $deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2477 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2478 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2479 elif test "$linkmode" = prog; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2480 # Here we assume that one of hardcode_direct or hardcode_minus_L |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2481 # is not unsupported. This is valid on all known static and |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2482 # shared platforms. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2483 if test "$hardcode_direct" != unsupported; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2484 test -n "$old_library" && linklib="$old_library" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2485 compile_deplibs="$dir/$linklib $compile_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2486 finalize_deplibs="$dir/$linklib $finalize_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2487 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2488 compile_deplibs="-l$name -L$dir $compile_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2489 finalize_deplibs="-l$name -L$dir $finalize_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2490 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2491 elif test "$build_libtool_libs" = yes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2492 # Not a shared library |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2493 if test "$deplibs_check_method" != pass_all; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2494 # We're trying link a shared library against a static one |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2495 # but the system doesn't support it. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2496 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2497 # Just print a warning and add the library to dependency_libs so |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2498 # that the program can be linked against the static library. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2499 $echo |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2500 $echo "*** Warning: This system can not link to static lib archive $lib." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2501 $echo "*** I have the capability to make that library automatically link in when" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2502 $echo "*** you link to this library. But I can only do this if you have a" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2503 $echo "*** shared version of the library, which you do not appear to have." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2504 if test "$module" = yes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2505 $echo "*** But as you try to build a module library, libtool will still create " |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2506 $echo "*** a static module, that should work as long as the dlopening application" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2507 $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2508 if test -z "$global_symbol_pipe"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2509 $echo |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2510 $echo "*** However, this would only work if libtool was able to extract symbol" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2511 $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2512 $echo "*** not find such a program. So, this module is probably useless." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2513 $echo "*** \`nm' from GNU binutils and a full rebuild may help." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2514 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2515 if test "$build_old_libs" = no; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2516 build_libtool_libs=module |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2517 build_old_libs=yes |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2518 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2519 build_libtool_libs=no |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2520 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2521 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2522 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2523 convenience="$convenience $dir/$old_library" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2524 old_convenience="$old_convenience $dir/$old_library" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2525 deplibs="$dir/$old_library $deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2526 link_static=yes |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2527 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2528 fi # link shared/static library? |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2529 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2530 if test "$linkmode" = lib; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2531 if test -n "$dependency_libs" && |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2532 { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2533 test "$link_static" = yes; }; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2534 # Extract -R from dependency_libs |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2535 temp_deplibs= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2536 for libdir in $dependency_libs; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2537 case $libdir in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2538 -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2539 case " $xrpath " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2540 *" $temp_xrpath "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2541 *) xrpath="$xrpath $temp_xrpath";; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2542 esac;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2543 *) temp_deplibs="$temp_deplibs $libdir";; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2544 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2545 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2546 dependency_libs="$temp_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2547 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2548 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2549 newlib_search_path="$newlib_search_path $absdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2550 # Link against this library |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2551 test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2552 # ... and its dependency_libs |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2553 tmp_libs= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2554 for deplib in $dependency_libs; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2555 newdependency_libs="$deplib $newdependency_libs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2556 if test "X$duplicate_deps" = "Xyes" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2557 case "$tmp_libs " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2558 *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2559 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2560 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2561 tmp_libs="$tmp_libs $deplib" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2562 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2563 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2564 if test "$link_all_deplibs" != no; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2565 # Add the search paths of all dependency libraries |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2566 for deplib in $dependency_libs; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2567 case $deplib in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2568 -L*) path="$deplib" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2569 *.la) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2570 dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2571 test "X$dir" = "X$deplib" && dir="." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2572 # We need an absolute path. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2573 case $dir in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2574 [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2575 *) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2576 absdir=`cd "$dir" && pwd` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2577 if test -z "$absdir"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2578 $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2579 absdir="$dir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2580 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2581 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2582 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2583 if grep "^installed=no" $deplib > /dev/null; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2584 path="$absdir/$objdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2585 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2586 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2587 if test -z "$libdir"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2588 $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2589 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2590 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2591 if test "$absdir" != "$libdir"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2592 $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2593 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2594 path="$absdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2595 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2596 depdepl= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2597 case $host in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2598 *-*-darwin*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2599 # we do not want to link against static libs, but need to link against shared |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2600 eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2601 if test -n "$deplibrary_names" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2602 for tmp in $deplibrary_names ; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2603 depdepl=$tmp |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2604 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2605 if test -f "$path/$depdepl" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2606 depdepl="$path/$depdepl" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2607 fi |
741
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
2608 # do not add paths which are already there |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
2609 case " $newlib_search_path " in |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
2610 *" $path "*) ;; |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
2611 *) newlib_search_path="$newlib_search_path $path";; |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
2612 esac |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2613 fi |
741
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
2614 path="" |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2615 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2616 *) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2617 path="-L$path" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2618 ;; |
741
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
2619 esac |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2620 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2621 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2622 -l*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2623 case $host in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2624 *-*-darwin*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2625 # Again, we only want to link against shared libraries |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2626 eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2627 for tmp in $newlib_search_path ; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2628 if test -f "$tmp/lib$tmp_libs.dylib" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2629 eval depdepl="$tmp/lib$tmp_libs.dylib" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2630 break |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2631 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2632 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2633 path="" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2634 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2635 *) continue ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2636 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2637 ;; |
741
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
2638 |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
2639 *.framework) |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
2640 case $host in |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
2641 *-*-darwin*) |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
2642 depdepl="$deplib" |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
2643 ;; |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
2644 esac |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
2645 ;; |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
2646 |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2647 *) continue ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2648 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2649 case " $deplibs " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2650 *" $depdepl "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2651 *) deplibs="$deplibs $depdepl" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2652 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2653 case " $deplibs " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2654 *" $path "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2655 *) deplibs="$deplibs $path" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2656 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2657 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2658 fi # link_all_deplibs != no |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2659 fi # linkmode = lib |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2660 done # for deplib in $libs |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2661 dependency_libs="$newdependency_libs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2662 if test "$pass" = dlpreopen; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2663 # Link the dlpreopened libraries before other libraries |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2664 for deplib in $save_deplibs; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2665 deplibs="$deplib $deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2666 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2667 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2668 if test "$pass" != dlopen; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2669 if test "$pass" != conv; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2670 # Make sure lib_search_path contains only unique directories. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2671 lib_search_path= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2672 for dir in $newlib_search_path; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2673 case "$lib_search_path " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2674 *" $dir "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2675 *) lib_search_path="$lib_search_path $dir" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2676 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2677 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2678 newlib_search_path= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2679 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2680 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2681 if test "$linkmode,$pass" != "prog,link"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2682 vars="deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2683 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2684 vars="compile_deplibs finalize_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2685 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2686 for var in $vars dependency_libs; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2687 # Add libraries to $var in reverse order |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2688 eval tmp_libs=\"\$$var\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2689 new_libs= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2690 for deplib in $tmp_libs; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2691 # FIXME: Pedantically, this is the right thing to do, so |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2692 # that some nasty dependency loop isn't accidentally |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2693 # broken: |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2694 #new_libs="$deplib $new_libs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2695 # Pragmatically, this seems to cause very few problems in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2696 # practice: |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2697 case $deplib in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2698 -L*) new_libs="$deplib $new_libs" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2699 -R*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2700 *) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2701 # And here is the reason: when a library appears more |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2702 # than once as an explicit dependence of a library, or |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2703 # is implicitly linked in more than once by the |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2704 # compiler, it is considered special, and multiple |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2705 # occurrences thereof are not removed. Compare this |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2706 # with having the same library being listed as a |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2707 # dependency of multiple other libraries: in this case, |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2708 # we know (pedantically, we assume) the library does not |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2709 # need to be listed more than once, so we keep only the |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2710 # last copy. This is not always right, but it is rare |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2711 # enough that we require users that really mean to play |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2712 # such unportable linking tricks to link the library |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2713 # using -Wl,-lname, so that libtool does not consider it |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2714 # for duplicate removal. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2715 case " $specialdeplibs " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2716 *" $deplib "*) new_libs="$deplib $new_libs" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2717 *) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2718 case " $new_libs " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2719 *" $deplib "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2720 *) new_libs="$deplib $new_libs" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2721 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2722 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2723 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2724 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2725 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2726 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2727 tmp_libs= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2728 for deplib in $new_libs; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2729 case $deplib in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2730 -L*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2731 case " $tmp_libs " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2732 *" $deplib "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2733 *) tmp_libs="$tmp_libs $deplib" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2734 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2735 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2736 *) tmp_libs="$tmp_libs $deplib" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2737 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2738 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2739 eval $var=\"$tmp_libs\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2740 done # for var |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2741 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2742 # Last step: remove runtime libs from dependency_libs (they stay in deplibs) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2743 tmp_libs= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2744 for i in $dependency_libs ; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2745 case " $predeps $postdeps $compiler_lib_search_path " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2746 *" $i "*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2747 i="" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2748 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2749 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2750 if test -n "$i" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2751 tmp_libs="$tmp_libs $i" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2752 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2753 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2754 dependency_libs=$tmp_libs |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2755 done # for pass |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2756 if test "$linkmode" = prog; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2757 dlfiles="$newdlfiles" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2758 dlprefiles="$newdlprefiles" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2759 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2760 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2761 case $linkmode in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2762 oldlib) |
0 | 2763 if test -n "$deplibs"; then |
2764 $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 | |
2765 fi | |
2766 | |
2767 if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then | |
2768 $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 | |
2769 fi | |
2770 | |
2771 if test -n "$rpath"; then | |
2772 $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 | |
2773 fi | |
2774 | |
2775 if test -n "$xrpath"; then | |
2776 $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 | |
2777 fi | |
2778 | |
2779 if test -n "$vinfo"; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2780 $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 |
0 | 2781 fi |
2782 | |
2783 if test -n "$release"; then | |
2784 $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 | |
2785 fi | |
2786 | |
2787 if test -n "$export_symbols" || test -n "$export_symbols_regex"; then | |
2788 $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 | |
2789 fi | |
2790 | |
2791 # Now set the variables for building old libraries. | |
2792 build_libtool_libs=no | |
2793 oldlibs="$output" | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2794 objs="$objs$old_deplibs" |
0 | 2795 ;; |
2796 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2797 lib) |
0 | 2798 # Make sure we only generate libraries of the form `libNAME.la'. |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2799 case $outputname in |
0 | 2800 lib*) |
2801 name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2802 eval shared_ext=\"$shrext\" |
0 | 2803 eval libname=\"$libname_spec\" |
2804 ;; | |
2805 *) | |
2806 if test "$module" = no; then | |
2807 $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 | |
2808 $echo "$help" 1>&2 | |
2809 exit 1 | |
2810 fi | |
2811 if test "$need_lib_prefix" != no; then | |
2812 # Add the "lib" prefix for modules if required | |
2813 name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2814 eval shared_ext=\"$shrext\" |
0 | 2815 eval libname=\"$libname_spec\" |
2816 else | |
2817 libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` | |
2818 fi | |
2819 ;; | |
2820 esac | |
2821 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2822 if test -n "$objs"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2823 if test "$deplibs_check_method" != pass_all; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2824 $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2825 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2826 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2827 $echo |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2828 $echo "*** Warning: Linking the shared library $output against the non-libtool" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2829 $echo "*** objects $objs is not portable!" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2830 libobjs="$libobjs $objs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2831 fi |
0 | 2832 fi |
2833 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2834 if test "$dlself" != no; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2835 $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 |
0 | 2836 fi |
2837 | |
2838 set dummy $rpath | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2839 if test "$#" -gt 2; then |
0 | 2840 $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 |
2841 fi | |
2842 install_libdir="$2" | |
2843 | |
2844 oldlibs= | |
2845 if test -z "$rpath"; then | |
2846 if test "$build_libtool_libs" = yes; then | |
2847 # Building a libtool convenience library. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2848 # Some compilers have problems with a `.al' extension so |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2849 # convenience libraries should have the same extension an |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2850 # archive normally would. |
0 | 2851 oldlibs="$output_objdir/$libname.$libext $oldlibs" |
2852 build_libtool_libs=convenience | |
2853 build_old_libs=yes | |
2854 fi | |
2855 | |
2856 if test -n "$vinfo"; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2857 $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 |
0 | 2858 fi |
2859 | |
2860 if test -n "$release"; then | |
2861 $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 | |
2862 fi | |
2863 else | |
2864 | |
2865 # Parse the version information argument. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2866 save_ifs="$IFS"; IFS=':' |
0 | 2867 set dummy $vinfo 0 0 0 |
2868 IFS="$save_ifs" | |
2869 | |
2870 if test -n "$8"; then | |
2871 $echo "$modename: too many parameters to \`-version-info'" 1>&2 | |
2872 $echo "$help" 1>&2 | |
2873 exit 1 | |
2874 fi | |
2875 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2876 # convert absolute version numbers to libtool ages |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2877 # this retains compatibility with .la files and attempts |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2878 # to make the code below a bit more comprehensible |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2879 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2880 case $vinfo_number in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2881 yes) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2882 number_major="$2" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2883 number_minor="$3" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2884 number_revision="$4" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2885 # |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2886 # There are really only two kinds -- those that |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2887 # use the current revision as the major version |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2888 # and those that subtract age and use age as |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2889 # a minor version. But, then there is irix |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2890 # which has an extra 1 added just for fun |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2891 # |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2892 case $version_type in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2893 darwin|linux|osf|windows) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2894 current=`expr $number_major + $number_minor` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2895 age="$number_minor" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2896 revision="$number_revision" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2897 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2898 freebsd-aout|freebsd-elf|sunos) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2899 current="$number_major" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2900 revision="$number_minor" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2901 age="0" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2902 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2903 irix|nonstopux) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2904 current=`expr $number_major + $number_minor - 1` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2905 age="$number_minor" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2906 revision="$number_minor" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2907 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2908 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2909 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2910 no) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2911 current="$2" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2912 revision="$3" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2913 age="$4" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2914 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2915 esac |
0 | 2916 |
2917 # Check that each of the things are valid numbers. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2918 case $current in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2919 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; |
0 | 2920 *) |
2921 $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2 | |
2922 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 | |
2923 exit 1 | |
2924 ;; | |
2925 esac | |
2926 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2927 case $revision in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2928 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; |
0 | 2929 *) |
2930 $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2 | |
2931 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 | |
2932 exit 1 | |
2933 ;; | |
2934 esac | |
2935 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2936 case $age in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2937 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; |
0 | 2938 *) |
2939 $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2 | |
2940 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 | |
2941 exit 1 | |
2942 ;; | |
2943 esac | |
2944 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2945 if test "$age" -gt "$current"; then |
0 | 2946 $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 |
2947 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 | |
2948 exit 1 | |
2949 fi | |
2950 | |
2951 # Calculate the version variables. | |
2952 major= | |
2953 versuffix= | |
2954 verstring= | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2955 case $version_type in |
0 | 2956 none) ;; |
2957 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2958 darwin) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2959 # Like Linux, but with the current version available in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2960 # verstring for coding it into the library header |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2961 major=.`expr $current - $age` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2962 versuffix="$major.$age.$revision" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2963 # Darwin ld doesn't like 0 for these options... |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2964 minor_current=`expr $current + 1` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2965 verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2966 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2967 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2968 freebsd-aout) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2969 major=".$current" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2970 versuffix=".$current.$revision"; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2971 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2972 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2973 freebsd-elf) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2974 major=".$current" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2975 versuffix=".$current"; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2976 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2977 |
886
05c551e5bc64
Date: Sat, 24 Apr 2004 15:13:32 +0300
Sam Lantinga <slouken@libsdl.org>
parents:
789
diff
changeset
|
2978 qnx) |
05c551e5bc64
Date: Sat, 24 Apr 2004 15:13:32 +0300
Sam Lantinga <slouken@libsdl.org>
parents:
789
diff
changeset
|
2979 major=".$current" |
05c551e5bc64
Date: Sat, 24 Apr 2004 15:13:32 +0300
Sam Lantinga <slouken@libsdl.org>
parents:
789
diff
changeset
|
2980 versuffix=".$current" |
05c551e5bc64
Date: Sat, 24 Apr 2004 15:13:32 +0300
Sam Lantinga <slouken@libsdl.org>
parents:
789
diff
changeset
|
2981 deplibs_check_method="pass_all" |
05c551e5bc64
Date: Sat, 24 Apr 2004 15:13:32 +0300
Sam Lantinga <slouken@libsdl.org>
parents:
789
diff
changeset
|
2982 ;; |
05c551e5bc64
Date: Sat, 24 Apr 2004 15:13:32 +0300
Sam Lantinga <slouken@libsdl.org>
parents:
789
diff
changeset
|
2983 |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2984 irix | nonstopux) |
0 | 2985 major=`expr $current - $age + 1` |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2986 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2987 case $version_type in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2988 nonstopux) verstring_prefix=nonstopux ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2989 *) verstring_prefix=sgi ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2990 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2991 verstring="$verstring_prefix$major.$revision" |
0 | 2992 |
2993 # Add in all the interfaces that we are compatible with. | |
2994 loop=$revision | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2995 while test "$loop" -ne 0; do |
0 | 2996 iface=`expr $revision - $loop` |
2997 loop=`expr $loop - 1` | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
2998 verstring="$verstring_prefix$major.$iface:$verstring" |
0 | 2999 done |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3000 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3001 # Before this point, $major must not contain `.'. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3002 major=.$major |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3003 versuffix="$major.$revision" |
0 | 3004 ;; |
3005 | |
3006 linux) | |
3007 major=.`expr $current - $age` | |
3008 versuffix="$major.$age.$revision" | |
3009 ;; | |
3010 | |
3011 osf) | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3012 major=.`expr $current - $age` |
0 | 3013 versuffix=".$current.$age.$revision" |
3014 verstring="$current.$age.$revision" | |
3015 | |
3016 # Add in all the interfaces that we are compatible with. | |
3017 loop=$age | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3018 while test "$loop" -ne 0; do |
0 | 3019 iface=`expr $current - $loop` |
3020 loop=`expr $loop - 1` | |
3021 verstring="$verstring:${iface}.0" | |
3022 done | |
3023 | |
3024 # Make executables depend on our current version. | |
3025 verstring="$verstring:${current}.0" | |
3026 ;; | |
3027 | |
3028 sunos) | |
3029 major=".$current" | |
3030 versuffix=".$current.$revision" | |
3031 ;; | |
3032 | |
3033 windows) | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3034 # Use '-' rather than '.', since we only want one |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3035 # extension on DOS 8.3 filesystems. |
0 | 3036 major=`expr $current - $age` |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3037 versuffix="-$major" |
387
469d5c0da01d
Fixed shared library building on MacOS X (thanks Max!)
Sam Lantinga <slouken@libsdl.org>
parents:
1
diff
changeset
|
3038 ;; |
469d5c0da01d
Fixed shared library building on MacOS X (thanks Max!)
Sam Lantinga <slouken@libsdl.org>
parents:
1
diff
changeset
|
3039 |
0 | 3040 *) |
3041 $echo "$modename: unknown library version type \`$version_type'" 1>&2 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3042 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 |
0 | 3043 exit 1 |
3044 ;; | |
3045 esac | |
3046 | |
3047 # Clear the version info if we defaulted, and they specified a release. | |
3048 if test -z "$vinfo" && test -n "$release"; then | |
3049 major= | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3050 case $version_type in |
387
469d5c0da01d
Fixed shared library building on MacOS X (thanks Max!)
Sam Lantinga <slouken@libsdl.org>
parents:
1
diff
changeset
|
3051 darwin) |
469d5c0da01d
Fixed shared library building on MacOS X (thanks Max!)
Sam Lantinga <slouken@libsdl.org>
parents:
1
diff
changeset
|
3052 # we can't check for "0.0" in archive_cmds due to quoting |
469d5c0da01d
Fixed shared library building on MacOS X (thanks Max!)
Sam Lantinga <slouken@libsdl.org>
parents:
1
diff
changeset
|
3053 # problems, so we reset it completely |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3054 verstring= |
387
469d5c0da01d
Fixed shared library building on MacOS X (thanks Max!)
Sam Lantinga <slouken@libsdl.org>
parents:
1
diff
changeset
|
3055 ;; |
469d5c0da01d
Fixed shared library building on MacOS X (thanks Max!)
Sam Lantinga <slouken@libsdl.org>
parents:
1
diff
changeset
|
3056 *) |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3057 verstring="0.0" |
387
469d5c0da01d
Fixed shared library building on MacOS X (thanks Max!)
Sam Lantinga <slouken@libsdl.org>
parents:
1
diff
changeset
|
3058 ;; |
469d5c0da01d
Fixed shared library building on MacOS X (thanks Max!)
Sam Lantinga <slouken@libsdl.org>
parents:
1
diff
changeset
|
3059 esac |
0 | 3060 if test "$need_version" = no; then |
3061 versuffix= | |
3062 else | |
3063 versuffix=".0.0" | |
3064 fi | |
3065 fi | |
3066 | |
3067 # Remove version info from name if versioning should be avoided | |
3068 if test "$avoid_version" = yes && test "$need_version" = no; then | |
3069 major= | |
3070 versuffix= | |
3071 verstring="" | |
3072 fi | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3073 |
0 | 3074 # Check to see if the archive will have undefined symbols. |
3075 if test "$allow_undefined" = yes; then | |
3076 if test "$allow_undefined_flag" = unsupported; then | |
3077 $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 | |
3078 build_libtool_libs=no | |
3079 build_old_libs=yes | |
3080 fi | |
3081 else | |
3082 # Don't allow undefined symbols. | |
3083 allow_undefined_flag="$no_undefined_flag" | |
3084 fi | |
3085 fi | |
3086 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3087 if test "$mode" != relink; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3088 # Remove our outputs, but don't remove object files since they |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3089 # may have been created when compiling PIC objects. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3090 removelist= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3091 tempremovelist=`$echo "$output_objdir/*"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3092 for p in $tempremovelist; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3093 case $p in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3094 *.$objext) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3095 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3096 $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3097 removelist="$removelist $p" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3098 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3099 *) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3100 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3101 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3102 if test -n "$removelist"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3103 $show "${rm}r $removelist" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3104 $run ${rm}r $removelist |
0 | 3105 fi |
3106 fi | |
3107 | |
3108 # Now set the variables for building old libraries. | |
3109 if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then | |
3110 oldlibs="$oldlibs $output_objdir/$libname.$libext" | |
3111 | |
3112 # Transform .lo files to .o files. | |
3113 oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` | |
3114 fi | |
3115 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3116 # Eliminate all temporary directories. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3117 for path in $notinst_path; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3118 lib_search_path=`$echo "$lib_search_path " | ${SED} -e 's% $path % %g'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3119 deplibs=`$echo "$deplibs " | ${SED} -e 's% -L$path % %g'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3120 dependency_libs=`$echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3121 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3122 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3123 if test -n "$xrpath"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3124 # If the user specified any rpath flags, then add them. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3125 temp_xrpath= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3126 for libdir in $xrpath; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3127 temp_xrpath="$temp_xrpath -R$libdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3128 case "$finalize_rpath " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3129 *" $libdir "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3130 *) finalize_rpath="$finalize_rpath $libdir" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3131 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3132 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3133 if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3134 dependency_libs="$temp_xrpath $dependency_libs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3135 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3136 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3137 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3138 # Make sure dlfiles contains only unique files that won't be dlpreopened |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3139 old_dlfiles="$dlfiles" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3140 dlfiles= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3141 for lib in $old_dlfiles; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3142 case " $dlprefiles $dlfiles " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3143 *" $lib "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3144 *) dlfiles="$dlfiles $lib" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3145 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3146 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3147 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3148 # Make sure dlprefiles contains only unique files |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3149 old_dlprefiles="$dlprefiles" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3150 dlprefiles= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3151 for lib in $old_dlprefiles; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3152 case "$dlprefiles " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3153 *" $lib "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3154 *) dlprefiles="$dlprefiles $lib" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3155 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3156 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3157 |
0 | 3158 if test "$build_libtool_libs" = yes; then |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3159 if test -n "$rpath"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3160 case $host in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3161 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3162 # these systems don't actually have a c library (as such)! |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3163 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3164 *-*-rhapsody* | *-*-darwin1.[012]) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3165 # Rhapsody C library is in the System framework |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3166 deplibs="$deplibs -framework System" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3167 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3168 *-*-netbsd*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3169 # Don't link with libc until the a.out ld.so is fixed. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3170 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3171 *-*-openbsd* | *-*-freebsd*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3172 # Do not include libc due to us having libc/libc_r. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3173 test "X$arg" = "X-lc" && continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3174 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3175 *) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3176 # Add libc to deplibs on all other systems if necessary. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3177 if test "$build_libtool_need_lc" = "yes"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3178 deplibs="$deplibs -lc" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3179 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3180 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3181 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3182 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3183 |
0 | 3184 # Transform deplibs into only deplibs that can be linked in shared. |
3185 name_save=$name | |
3186 libname_save=$libname | |
3187 release_save=$release | |
3188 versuffix_save=$versuffix | |
3189 major_save=$major | |
3190 # I'm not sure if I'm treating the release correctly. I think | |
3191 # release should show up in the -l (ie -lgmp5) so we don't want to | |
3192 # add it in twice. Is that correct? | |
3193 release="" | |
3194 versuffix="" | |
3195 major="" | |
3196 newdeplibs= | |
3197 droppeddeps=no | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3198 case $deplibs_check_method in |
0 | 3199 pass_all) |
3200 # Don't check for shared/static. Everything works. | |
3201 # This might be a little naive. We might want to check | |
3202 # whether the library exists or not. But this is on | |
3203 # osf3 & osf4 and I'm not really sure... Just | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3204 # implementing what was already the behavior. |
0 | 3205 newdeplibs=$deplibs |
3206 ;; | |
3207 test_compile) | |
3208 # This code stresses the "libraries are programs" paradigm to its | |
3209 # limits. Maybe even breaks it. We compile a program, linking it | |
3210 # against the deplibs as a proxy for the library. Then we can check | |
3211 # whether they linked in statically or dynamically with ldd. | |
3212 $rm conftest.c | |
3213 cat > conftest.c <<EOF | |
3214 int main() { return 0; } | |
3215 EOF | |
3216 $rm conftest | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3217 $LTCC -o conftest conftest.c $deplibs |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3218 if test "$?" -eq 0 ; then |
0 | 3219 ldd_output=`ldd conftest` |
3220 for i in $deplibs; do | |
3221 name="`expr $i : '-l\(.*\)'`" | |
3222 # If $name is empty we are operating on a -L argument. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3223 if test "$name" != "" && test "$name" -ne "0"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3224 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3225 case " $predeps $postdeps " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3226 *" $i "*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3227 newdeplibs="$newdeplibs $i" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3228 i="" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3229 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3230 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3231 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3232 if test -n "$i" ; then |
0 | 3233 libname=`eval \\$echo \"$libname_spec\"` |
3234 deplib_matches=`eval \\$echo \"$library_names_spec\"` | |
3235 set dummy $deplib_matches | |
3236 deplib_match=$2 | |
3237 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then | |
3238 newdeplibs="$newdeplibs $i" | |
3239 else | |
3240 droppeddeps=yes | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3241 $echo |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3242 $echo "*** Warning: dynamic linker does not accept needed library $i." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3243 $echo "*** I have the capability to make that library automatically link in when" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3244 $echo "*** you link to this library. But I can only do this if you have a" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3245 $echo "*** shared version of the library, which I believe you do not have" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3246 $echo "*** because a test_compile did reveal that the linker did not use it for" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3247 $echo "*** its dynamic dependency list that programs get resolved with at runtime." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3248 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3249 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3250 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3251 newdeplibs="$newdeplibs $i" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3252 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3253 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3254 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3255 # Error occurred in the first compile. Let's try to salvage |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3256 # the situation: Compile a separate program for each library. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3257 for i in $deplibs; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3258 name="`expr $i : '-l\(.*\)'`" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3259 # If $name is empty we are operating on a -L argument. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3260 if test "$name" != "" && test "$name" != "0"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3261 $rm conftest |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3262 $LTCC -o conftest conftest.c $i |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3263 # Did it work? |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3264 if test "$?" -eq 0 ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3265 ldd_output=`ldd conftest` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3266 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3267 case " $predeps $postdeps " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3268 *" $i "*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3269 newdeplibs="$newdeplibs $i" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3270 i="" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3271 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3272 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3273 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3274 if test -n "$i" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3275 libname=`eval \\$echo \"$libname_spec\"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3276 deplib_matches=`eval \\$echo \"$library_names_spec\"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3277 set dummy $deplib_matches |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3278 deplib_match=$2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3279 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3280 newdeplibs="$newdeplibs $i" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3281 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3282 droppeddeps=yes |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3283 $echo |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3284 $echo "*** Warning: dynamic linker does not accept needed library $i." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3285 $echo "*** I have the capability to make that library automatically link in when" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3286 $echo "*** you link to this library. But I can only do this if you have a" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3287 $echo "*** shared version of the library, which you do not appear to have" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3288 $echo "*** because a test_compile did reveal that the linker did not use this one" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3289 $echo "*** as a dynamic dependency that programs can get resolved with at runtime." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3290 fi |
0 | 3291 fi |
3292 else | |
3293 droppeddeps=yes | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3294 $echo |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3295 $echo "*** Warning! Library $i is needed by this library but I was not able to" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3296 $echo "*** make it link in! You will probably need to install it or some" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3297 $echo "*** library that it depends on before this library will be fully" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3298 $echo "*** functional. Installing it before continuing would be even better." |
0 | 3299 fi |
3300 else | |
3301 newdeplibs="$newdeplibs $i" | |
3302 fi | |
3303 done | |
3304 fi | |
3305 ;; | |
3306 file_magic*) | |
3307 set dummy $deplibs_check_method | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3308 file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` |
0 | 3309 for a_deplib in $deplibs; do |
3310 name="`expr $a_deplib : '-l\(.*\)'`" | |
3311 # If $name is empty we are operating on a -L argument. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3312 if test "$name" != "" && test "$name" != "0"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3313 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3314 case " $predeps $postdeps " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3315 *" $a_deplib "*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3316 newdeplibs="$newdeplibs $a_deplib" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3317 a_deplib="" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3318 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3319 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3320 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3321 if test -n "$a_deplib" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3322 libname=`eval \\$echo \"$libname_spec\"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3323 for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3324 potential_libs=`ls $i/$libname[.-]* 2>/dev/null` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3325 for potent_lib in $potential_libs; do |
0 | 3326 # Follow soft links. |
3327 if ls -lLd "$potent_lib" 2>/dev/null \ | |
3328 | grep " -> " >/dev/null; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3329 continue |
0 | 3330 fi |
3331 # The statement above tries to avoid entering an | |
3332 # endless loop below, in case of cyclic links. | |
3333 # We might still enter an endless loop, since a link | |
3334 # loop can be closed while we follow links, | |
3335 # but so what? | |
3336 potlib="$potent_lib" | |
3337 while test -h "$potlib" 2>/dev/null; do | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3338 potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3339 case $potliblink in |
0 | 3340 [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; |
3341 *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; | |
3342 esac | |
3343 done | |
3344 if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3345 | ${SED} 10q \ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3346 | $EGREP "$file_magic_regex" > /dev/null; then |
0 | 3347 newdeplibs="$newdeplibs $a_deplib" |
3348 a_deplib="" | |
3349 break 2 | |
3350 fi | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3351 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3352 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3353 fi |
0 | 3354 if test -n "$a_deplib" ; then |
3355 droppeddeps=yes | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3356 $echo |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3357 $echo "*** Warning: linker path does not have real file for library $a_deplib." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3358 $echo "*** I have the capability to make that library automatically link in when" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3359 $echo "*** you link to this library. But I can only do this if you have a" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3360 $echo "*** shared version of the library, which you do not appear to have" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3361 $echo "*** because I did check the linker path looking for a file starting" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3362 if test -z "$potlib" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3363 $echo "*** with $libname but no candidates were found. (...for file magic test)" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3364 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3365 $echo "*** with $libname and none of the candidates passed a file format test" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3366 $echo "*** using a file magic. Last file checked: $potlib" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3367 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3368 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3369 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3370 # Add a -L argument. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3371 newdeplibs="$newdeplibs $a_deplib" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3372 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3373 done # Gone through all deplibs. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3374 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3375 match_pattern*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3376 set dummy $deplibs_check_method |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3377 match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3378 for a_deplib in $deplibs; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3379 name="`expr $a_deplib : '-l\(.*\)'`" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3380 # If $name is empty we are operating on a -L argument. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3381 if test -n "$name" && test "$name" != "0"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3382 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3383 case " $predeps $postdeps " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3384 *" $a_deplib "*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3385 newdeplibs="$newdeplibs $a_deplib" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3386 a_deplib="" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3387 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3388 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3389 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3390 if test -n "$a_deplib" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3391 libname=`eval \\$echo \"$libname_spec\"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3392 for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3393 potential_libs=`ls $i/$libname[.-]* 2>/dev/null` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3394 for potent_lib in $potential_libs; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3395 potlib="$potent_lib" # see symlink-check above in file_magic test |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3396 if eval $echo \"$potent_lib\" 2>/dev/null \ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3397 | ${SED} 10q \ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3398 | $EGREP "$match_pattern_regex" > /dev/null; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3399 newdeplibs="$newdeplibs $a_deplib" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3400 a_deplib="" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3401 break 2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3402 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3403 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3404 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3405 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3406 if test -n "$a_deplib" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3407 droppeddeps=yes |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3408 $echo |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3409 $echo "*** Warning: linker path does not have real file for library $a_deplib." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3410 $echo "*** I have the capability to make that library automatically link in when" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3411 $echo "*** you link to this library. But I can only do this if you have a" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3412 $echo "*** shared version of the library, which you do not appear to have" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3413 $echo "*** because I did check the linker path looking for a file starting" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3414 if test -z "$potlib" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3415 $echo "*** with $libname but no candidates were found. (...for regex pattern test)" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3416 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3417 $echo "*** with $libname and none of the candidates passed a file format test" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3418 $echo "*** using a regex pattern. Last file checked: $potlib" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3419 fi |
0 | 3420 fi |
3421 else | |
3422 # Add a -L argument. | |
3423 newdeplibs="$newdeplibs $a_deplib" | |
3424 fi | |
3425 done # Gone through all deplibs. | |
3426 ;; | |
3427 none | unknown | *) | |
3428 newdeplibs="" | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3429 tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3430 -e 's/ -[LR][^ ]*//g'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3431 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3432 for i in $predeps $postdeps ; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3433 # can't use Xsed below, because $i might contain '/' |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3434 tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3435 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3436 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3437 if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3438 | grep . >/dev/null; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3439 $echo |
0 | 3440 if test "X$deplibs_check_method" = "Xnone"; then |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3441 $echo "*** Warning: inter-library dependencies are not supported in this platform." |
0 | 3442 else |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3443 $echo "*** Warning: inter-library dependencies are not known to be supported." |
0 | 3444 fi |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3445 $echo "*** All declared inter-library dependencies are being dropped." |
0 | 3446 droppeddeps=yes |
3447 fi | |
3448 ;; | |
3449 esac | |
3450 versuffix=$versuffix_save | |
3451 major=$major_save | |
3452 release=$release_save | |
3453 libname=$libname_save | |
3454 name=$name_save | |
3455 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3456 case $host in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3457 *-*-rhapsody* | *-*-darwin1.[012]) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3458 # On Rhapsody replace the C library is the System framework |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3459 newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3460 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3461 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3462 |
0 | 3463 if test "$droppeddeps" = yes; then |
3464 if test "$module" = yes; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3465 $echo |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3466 $echo "*** Warning: libtool could not satisfy all declared inter-library" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3467 $echo "*** dependencies of module $libname. Therefore, libtool will create" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3468 $echo "*** a static module, that should work as long as the dlopening" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3469 $echo "*** application is linked with the -dlopen flag." |
0 | 3470 if test -z "$global_symbol_pipe"; then |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3471 $echo |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3472 $echo "*** However, this would only work if libtool was able to extract symbol" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3473 $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3474 $echo "*** not find such a program. So, this module is probably useless." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3475 $echo "*** \`nm' from GNU binutils and a full rebuild may help." |
0 | 3476 fi |
3477 if test "$build_old_libs" = no; then | |
3478 oldlibs="$output_objdir/$libname.$libext" | |
3479 build_libtool_libs=module | |
3480 build_old_libs=yes | |
3481 else | |
3482 build_libtool_libs=no | |
3483 fi | |
3484 else | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3485 $echo "*** The inter-library dependencies that have been dropped here will be" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3486 $echo "*** automatically added whenever a program is linked with this library" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3487 $echo "*** or is declared to -dlopen it." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3488 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3489 if test "$allow_undefined" = no; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3490 $echo |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3491 $echo "*** Since this library must not contain undefined symbols," |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3492 $echo "*** because either the platform does not support them or" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3493 $echo "*** it was explicitly requested with -no-undefined," |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3494 $echo "*** libtool will only create a static version of it." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3495 if test "$build_old_libs" = no; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3496 oldlibs="$output_objdir/$libname.$libext" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3497 build_libtool_libs=module |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3498 build_old_libs=yes |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3499 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3500 build_libtool_libs=no |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3501 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3502 fi |
0 | 3503 fi |
3504 fi | |
741
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
3505 # Time to change all our "foo.framework" stuff back to "-framework foo" |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
3506 case $host in |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
3507 *-*-darwin*) |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
3508 newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).framework% -framework \1%g'` |
789
f9d0e03fc2ff
Date: Wed, 28 Jan 2004 02:37:04 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
741
diff
changeset
|
3509 dependency_libs=`$echo "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).framework%%g'` |
741
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
3510 ;; |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
3511 esac |
0 | 3512 # Done checking deplibs! |
3513 deplibs=$newdeplibs | |
3514 fi | |
3515 | |
3516 # All the library-specific variables (install_libdir is set above). | |
3517 library_names= | |
3518 old_library= | |
3519 dlname= | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3520 |
0 | 3521 # Test again, we may have decided not to build it any more |
3522 if test "$build_libtool_libs" = yes; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3523 if test "$hardcode_into_libs" = yes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3524 # Hardcode the library paths |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3525 hardcode_libdirs= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3526 dep_rpath= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3527 rpath="$finalize_rpath" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3528 test "$mode" != relink && rpath="$compile_rpath$rpath" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3529 for libdir in $rpath; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3530 if test -n "$hardcode_libdir_flag_spec"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3531 if test -n "$hardcode_libdir_separator"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3532 if test -z "$hardcode_libdirs"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3533 hardcode_libdirs="$libdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3534 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3535 # Just accumulate the unique libdirs. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3536 case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3537 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3538 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3539 *) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3540 hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3541 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3542 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3543 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3544 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3545 eval flag=\"$hardcode_libdir_flag_spec\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3546 dep_rpath="$dep_rpath $flag" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3547 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3548 elif test -n "$runpath_var"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3549 case "$perm_rpath " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3550 *" $libdir "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3551 *) perm_rpath="$perm_rpath $libdir" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3552 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3553 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3554 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3555 # Substitute the hardcoded libdirs into the rpath. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3556 if test -n "$hardcode_libdir_separator" && |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3557 test -n "$hardcode_libdirs"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3558 libdir="$hardcode_libdirs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3559 if test -n "$hardcode_libdir_flag_spec_ld"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3560 eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3561 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3562 eval dep_rpath=\"$hardcode_libdir_flag_spec\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3563 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3564 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3565 if test -n "$runpath_var" && test -n "$perm_rpath"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3566 # We should set the runpath_var. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3567 rpath= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3568 for dir in $perm_rpath; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3569 rpath="$rpath$dir:" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3570 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3571 eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3572 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3573 test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3574 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3575 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3576 shlibpath="$finalize_shlibpath" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3577 test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3578 if test -n "$shlibpath"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3579 eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3580 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3581 |
0 | 3582 # Get the real and link names of the library. |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3583 eval shared_ext=\"$shrext\" |
0 | 3584 eval library_names=\"$library_names_spec\" |
3585 set dummy $library_names | |
3586 realname="$2" | |
3587 shift; shift | |
3588 | |
3589 if test -n "$soname_spec"; then | |
3590 eval soname=\"$soname_spec\" | |
3591 else | |
3592 soname="$realname" | |
3593 fi | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3594 if test -z "$dlname"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3595 dlname=$soname |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3596 fi |
0 | 3597 |
3598 lib="$output_objdir/$realname" | |
3599 for link | |
3600 do | |
3601 linknames="$linknames $link" | |
3602 done | |
3603 | |
3604 # Use standard objects if they are pic | |
3605 test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` | |
3606 | |
3607 # Prepare the list of exported symbols | |
3608 if test -z "$export_symbols"; then | |
3609 if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then | |
3610 $show "generating symbol list for \`$libname.la'" | |
3611 export_symbols="$output_objdir/$libname.exp" | |
3612 $run $rm $export_symbols | |
3613 eval cmds=\"$export_symbols_cmds\" | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3614 save_ifs="$IFS"; IFS='~' |
0 | 3615 for cmd in $cmds; do |
3616 IFS="$save_ifs" | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3617 if len=`expr "X$cmd" : ".*"` && |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3618 test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3619 $show "$cmd" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3620 $run eval "$cmd" || exit $? |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3621 skipped_export=false |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3622 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3623 # The command line is too long to execute in one step. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3624 $show "using reloadable object file for export list..." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3625 skipped_export=: |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3626 fi |
0 | 3627 done |
3628 IFS="$save_ifs" | |
3629 if test -n "$export_symbols_regex"; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3630 $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3631 $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' |
0 | 3632 $show "$mv \"${export_symbols}T\" \"$export_symbols\"" |
3633 $run eval '$mv "${export_symbols}T" "$export_symbols"' | |
3634 fi | |
3635 fi | |
3636 fi | |
3637 | |
3638 if test -n "$export_symbols" && test -n "$include_expsyms"; then | |
3639 $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' | |
3640 fi | |
3641 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3642 tmp_deplibs= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3643 for test_deplib in $deplibs; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3644 case " $convenience " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3645 *" $test_deplib "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3646 *) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3647 tmp_deplibs="$tmp_deplibs $test_deplib" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3648 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3649 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3650 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3651 deplibs="$tmp_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3652 |
0 | 3653 if test -n "$convenience"; then |
3654 if test -n "$whole_archive_flag_spec"; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3655 save_libobjs=$libobjs |
0 | 3656 eval libobjs=\"\$libobjs $whole_archive_flag_spec\" |
3657 else | |
3658 gentop="$output_objdir/${outputname}x" | |
3659 $show "${rm}r $gentop" | |
3660 $run ${rm}r "$gentop" | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3661 $show "$mkdir $gentop" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3662 $run $mkdir "$gentop" |
0 | 3663 status=$? |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3664 if test "$status" -ne 0 && test ! -d "$gentop"; then |
0 | 3665 exit $status |
3666 fi | |
3667 generated="$generated $gentop" | |
3668 | |
3669 for xlib in $convenience; do | |
3670 # Extract the objects. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3671 case $xlib in |
0 | 3672 [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; |
3673 *) xabs=`pwd`"/$xlib" ;; | |
3674 esac | |
3675 xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` | |
3676 xdir="$gentop/$xlib" | |
3677 | |
3678 $show "${rm}r $xdir" | |
3679 $run ${rm}r "$xdir" | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3680 $show "$mkdir $xdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3681 $run $mkdir "$xdir" |
0 | 3682 status=$? |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3683 if test "$status" -ne 0 && test ! -d "$xdir"; then |
0 | 3684 exit $status |
3685 fi | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3686 # We will extract separately just the conflicting names and we will no |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3687 # longer touch any unique names. It is faster to leave these extract |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3688 # automatically by $AR in one run. |
0 | 3689 $show "(cd $xdir && $AR x $xabs)" |
3690 $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3691 if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3692 : |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3693 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3694 $echo "$modename: warning: object name conflicts; renaming object files" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3695 $echo "$modename: warning: to ensure that they will not overwrite" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3696 $AR t "$xabs" | sort | uniq -cd | while read -r count name |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3697 do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3698 i=1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3699 while test "$i" -le "$count" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3700 do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3701 # Put our $i before any first dot (extension) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3702 # Never overwrite any file |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3703 name_to="$name" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3704 while test "X$name_to" = "X$name" || test -f "$xdir/$name_to" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3705 do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3706 name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3707 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3708 $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3709 $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $? |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3710 i=`expr $i + 1` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3711 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3712 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3713 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3714 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3715 libobjs="$libobjs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` |
0 | 3716 done |
3717 fi | |
3718 fi | |
3719 | |
3720 if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then | |
3721 eval flag=\"$thread_safe_flag_spec\" | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3722 linker_flags="$linker_flags $flag" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3723 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3724 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3725 # Make a backup of the uninstalled library when relinking |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3726 if test "$mode" = relink; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3727 $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? |
0 | 3728 fi |
3729 | |
3730 # Do each of the archive commands. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3731 if test "$module" = yes && test -n "$module_cmds" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3732 if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3733 eval cmds=\"$module_expsym_cmds\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3734 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3735 eval cmds=\"$module_cmds\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3736 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3737 else |
0 | 3738 if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then |
3739 eval cmds=\"$archive_expsym_cmds\" | |
3740 else | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3741 eval cmds=\"$archive_cmds\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3742 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3743 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3744 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3745 if test "X$skipped_export" != "X:" && len=`expr "X$cmds" : ".*"` && |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3746 test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3747 : |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3748 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3749 # The command line is too long to link in one step, link piecewise. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3750 $echo "creating reloadable object files..." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3751 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3752 # Save the value of $output and $libobjs because we want to |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3753 # use them later. If we have whole_archive_flag_spec, we |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3754 # want to use save_libobjs as it was before |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3755 # whole_archive_flag_spec was expanded, because we can't |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3756 # assume the linker understands whole_archive_flag_spec. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3757 # This may have to be revisited, in case too many |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3758 # convenience libraries get linked in and end up exceeding |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3759 # the spec. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3760 if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3761 save_libobjs=$libobjs |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3762 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3763 save_output=$output |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3764 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3765 # Clear the reloadable object creation command queue and |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3766 # initialize k to one. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3767 test_cmds= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3768 concat_cmds= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3769 objlist= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3770 delfiles= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3771 last_robj= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3772 k=1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3773 output=$output_objdir/$save_output-${k}.$objext |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3774 # Loop over the list of objects to be linked. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3775 for obj in $save_libobjs |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3776 do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3777 eval test_cmds=\"$reload_cmds $objlist $last_robj\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3778 if test "X$objlist" = X || |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3779 { len=`expr "X$test_cmds" : ".*"` && |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3780 test "$len" -le "$max_cmd_len"; }; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3781 objlist="$objlist $obj" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3782 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3783 # The command $test_cmds is almost too long, add a |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3784 # command to the queue. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3785 if test "$k" -eq 1 ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3786 # The first file doesn't have a previous command to add. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3787 eval concat_cmds=\"$reload_cmds $objlist $last_robj\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3788 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3789 # All subsequent reloadable object files will link in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3790 # the last one created. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3791 eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" |
608
d0fecf67cd93
*** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents:
581
diff
changeset
|
3792 fi |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3793 last_robj=$output_objdir/$save_output-${k}.$objext |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3794 k=`expr $k + 1` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3795 output=$output_objdir/$save_output-${k}.$objext |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3796 objlist=$obj |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3797 len=1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3798 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3799 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3800 # Handle the remaining objects by creating one last |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3801 # reloadable object file. All subsequent reloadable object |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3802 # files will link in the last one created. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3803 test -z "$concat_cmds" || concat_cmds=$concat_cmds~ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3804 eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3805 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3806 if ${skipped_export-false}; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3807 $show "generating symbol list for \`$libname.la'" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3808 export_symbols="$output_objdir/$libname.exp" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3809 $run $rm $export_symbols |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3810 libobjs=$output |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3811 # Append the command to create the export file. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3812 eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3813 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3814 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3815 # Set up a command to remove the reloadale object files |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3816 # after they are used. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3817 i=0 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3818 while test "$i" -lt "$k" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3819 do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3820 i=`expr $i + 1` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3821 delfiles="$delfiles $output_objdir/$save_output-${i}.$objext" |
608
d0fecf67cd93
*** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents:
581
diff
changeset
|
3822 done |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3823 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3824 $echo "creating a temporary reloadable object file: $output" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3825 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3826 # Loop through the commands generated above and execute them. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3827 save_ifs="$IFS"; IFS='~' |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3828 for cmd in $concat_cmds; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3829 IFS="$save_ifs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3830 $show "$cmd" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3831 $run eval "$cmd" || exit $? |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3832 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3833 IFS="$save_ifs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3834 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3835 libobjs=$output |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3836 # Restore the value of output. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3837 output=$save_output |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3838 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3839 if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3840 eval libobjs=\"\$libobjs $whole_archive_flag_spec\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3841 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3842 # Expand the library linking commands again to reset the |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3843 # value of $libobjs for piecewise linking. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3844 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3845 # Do each of the archive commands. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3846 if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3847 eval cmds=\"$archive_expsym_cmds\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3848 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3849 eval cmds=\"$archive_cmds\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3850 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3851 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3852 # Append the command to remove the reloadable object files |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3853 # to the just-reset $cmds. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3854 eval cmds=\"\$cmds~$rm $delfiles\" |
0 | 3855 fi |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3856 save_ifs="$IFS"; IFS='~' |
0 | 3857 for cmd in $cmds; do |
3858 IFS="$save_ifs" | |
3859 $show "$cmd" | |
3860 $run eval "$cmd" || exit $? | |
3861 done | |
3862 IFS="$save_ifs" | |
3863 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3864 # Restore the uninstalled library and exit |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3865 if test "$mode" = relink; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3866 $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3867 exit 0 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3868 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3869 |
0 | 3870 # Create links to the real library. |
3871 for linkname in $linknames; do | |
3872 if test "$realname" != "$linkname"; then | |
3873 $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" | |
3874 $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? | |
3875 fi | |
3876 done | |
3877 | |
3878 # If -module or -export-dynamic was specified, set the dlname. | |
3879 if test "$module" = yes || test "$export_dynamic" = yes; then | |
3880 # On all known operating systems, these are identical. | |
3881 dlname="$soname" | |
3882 fi | |
3883 fi | |
3884 ;; | |
3885 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3886 obj) |
0 | 3887 if test -n "$deplibs"; then |
3888 $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 | |
3889 fi | |
3890 | |
3891 if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then | |
3892 $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 | |
3893 fi | |
3894 | |
3895 if test -n "$rpath"; then | |
3896 $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 | |
3897 fi | |
3898 | |
3899 if test -n "$xrpath"; then | |
3900 $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 | |
3901 fi | |
3902 | |
3903 if test -n "$vinfo"; then | |
3904 $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 | |
3905 fi | |
3906 | |
3907 if test -n "$release"; then | |
3908 $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 | |
3909 fi | |
3910 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3911 case $output in |
0 | 3912 *.lo) |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3913 if test -n "$objs$old_deplibs"; then |
0 | 3914 $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 |
3915 exit 1 | |
3916 fi | |
3917 libobj="$output" | |
3918 obj=`$echo "X$output" | $Xsed -e "$lo2o"` | |
3919 ;; | |
3920 *) | |
3921 libobj= | |
3922 obj="$output" | |
3923 ;; | |
3924 esac | |
3925 | |
3926 # Delete the old objects. | |
3927 $run $rm $obj $libobj | |
3928 | |
3929 # Objects from convenience libraries. This assumes | |
3930 # single-version convenience libraries. Whenever we create | |
3931 # different ones for PIC/non-PIC, this we'll have to duplicate | |
3932 # the extraction. | |
3933 reload_conv_objs= | |
3934 gentop= | |
3935 # reload_cmds runs $LD directly, so let us get rid of | |
3936 # -Wl from whole_archive_flag_spec | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3937 wl= |
0 | 3938 |
3939 if test -n "$convenience"; then | |
3940 if test -n "$whole_archive_flag_spec"; then | |
3941 eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" | |
3942 else | |
3943 gentop="$output_objdir/${obj}x" | |
3944 $show "${rm}r $gentop" | |
3945 $run ${rm}r "$gentop" | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3946 $show "$mkdir $gentop" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3947 $run $mkdir "$gentop" |
0 | 3948 status=$? |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3949 if test "$status" -ne 0 && test ! -d "$gentop"; then |
0 | 3950 exit $status |
3951 fi | |
3952 generated="$generated $gentop" | |
3953 | |
3954 for xlib in $convenience; do | |
3955 # Extract the objects. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3956 case $xlib in |
0 | 3957 [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; |
3958 *) xabs=`pwd`"/$xlib" ;; | |
3959 esac | |
3960 xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` | |
3961 xdir="$gentop/$xlib" | |
3962 | |
3963 $show "${rm}r $xdir" | |
3964 $run ${rm}r "$xdir" | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3965 $show "$mkdir $xdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3966 $run $mkdir "$xdir" |
0 | 3967 status=$? |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3968 if test "$status" -ne 0 && test ! -d "$xdir"; then |
0 | 3969 exit $status |
3970 fi | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3971 # We will extract separately just the conflicting names and we will no |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3972 # longer touch any unique names. It is faster to leave these extract |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3973 # automatically by $AR in one run. |
0 | 3974 $show "(cd $xdir && $AR x $xabs)" |
3975 $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3976 if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3977 : |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3978 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3979 $echo "$modename: warning: object name conflicts; renaming object files" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3980 $echo "$modename: warning: to ensure that they will not overwrite" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3981 $AR t "$xabs" | sort | uniq -cd | while read -r count name |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3982 do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3983 i=1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3984 while test "$i" -le "$count" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3985 do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3986 # Put our $i before any first dot (extension) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3987 # Never overwrite any file |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3988 name_to="$name" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3989 while test "X$name_to" = "X$name" || test -f "$xdir/$name_to" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3990 do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3991 name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3992 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3993 $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3994 $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $? |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3995 i=`expr $i + 1` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3996 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3997 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3998 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
3999 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4000 reload_conv_objs="$reload_objs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` |
0 | 4001 done |
4002 fi | |
4003 fi | |
4004 | |
4005 # Create the old-style object. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4006 reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test |
0 | 4007 |
4008 output="$obj" | |
4009 eval cmds=\"$reload_cmds\" | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4010 save_ifs="$IFS"; IFS='~' |
0 | 4011 for cmd in $cmds; do |
4012 IFS="$save_ifs" | |
4013 $show "$cmd" | |
4014 $run eval "$cmd" || exit $? | |
4015 done | |
4016 IFS="$save_ifs" | |
4017 | |
4018 # Exit if we aren't doing a library object file. | |
4019 if test -z "$libobj"; then | |
4020 if test -n "$gentop"; then | |
4021 $show "${rm}r $gentop" | |
4022 $run ${rm}r $gentop | |
4023 fi | |
4024 | |
4025 exit 0 | |
4026 fi | |
4027 | |
4028 if test "$build_libtool_libs" != yes; then | |
4029 if test -n "$gentop"; then | |
4030 $show "${rm}r $gentop" | |
4031 $run ${rm}r $gentop | |
4032 fi | |
4033 | |
4034 # Create an invalid libtool object if no PIC, so that we don't | |
4035 # accidentally link it into a program. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4036 # $show "echo timestamp > $libobj" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4037 # $run eval "echo timestamp > $libobj" || exit $? |
0 | 4038 exit 0 |
4039 fi | |
4040 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4041 if test -n "$pic_flag" || test "$pic_mode" != default; then |
0 | 4042 # Only do commands if we really have different PIC objects. |
4043 reload_objs="$libobjs $reload_conv_objs" | |
4044 output="$libobj" | |
4045 eval cmds=\"$reload_cmds\" | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4046 save_ifs="$IFS"; IFS='~' |
0 | 4047 for cmd in $cmds; do |
4048 IFS="$save_ifs" | |
4049 $show "$cmd" | |
4050 $run eval "$cmd" || exit $? | |
4051 done | |
4052 IFS="$save_ifs" | |
4053 fi | |
4054 | |
4055 if test -n "$gentop"; then | |
4056 $show "${rm}r $gentop" | |
4057 $run ${rm}r $gentop | |
4058 fi | |
4059 | |
4060 exit 0 | |
4061 ;; | |
4062 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4063 prog) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4064 case $host in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4065 *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4066 esac |
0 | 4067 if test -n "$vinfo"; then |
4068 $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 | |
4069 fi | |
4070 | |
4071 if test -n "$release"; then | |
4072 $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 | |
4073 fi | |
4074 | |
4075 if test "$preload" = yes; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4076 if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && |
0 | 4077 test "$dlopen_self_static" = unknown; then |
4078 $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4079 fi |
0 | 4080 fi |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4081 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4082 case $host in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4083 *-*-rhapsody* | *-*-darwin1.[012]) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4084 # On Rhapsody replace the C library is the System framework |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4085 compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4086 finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4087 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4088 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4089 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4090 case $host in |
741
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
4091 *-*-darwin*) |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4092 # Don't allow lazy linking, it breaks C++ global constructors |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4093 if test "$tagname" = CXX ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4094 compile_command="$compile_command ${wl}-bind_at_load" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4095 finalize_command="$finalize_command ${wl}-bind_at_load" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4096 fi |
741
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
4097 # Time to change all our "foo.framework" stuff back to "-framework foo" |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
4098 compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).framework% -framework \1%g'` |
97b9c301df94
Date: Mon, 17 Nov 2003 23:12:59 +0100
Sam Lantinga <slouken@libsdl.org>
parents:
730
diff
changeset
|
4099 finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).framework% -framework \1%g'` |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4100 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4101 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4102 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4103 compile_command="$compile_command $compile_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4104 finalize_command="$finalize_command $finalize_deplibs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4105 |
0 | 4106 if test -n "$rpath$xrpath"; then |
4107 # If the user specified any rpath flags, then add them. | |
4108 for libdir in $rpath $xrpath; do | |
4109 # This is the magic to use -rpath. | |
4110 case "$finalize_rpath " in | |
4111 *" $libdir "*) ;; | |
4112 *) finalize_rpath="$finalize_rpath $libdir" ;; | |
4113 esac | |
4114 done | |
4115 fi | |
4116 | |
4117 # Now hardcode the library paths | |
4118 rpath= | |
4119 hardcode_libdirs= | |
4120 for libdir in $compile_rpath $finalize_rpath; do | |
4121 if test -n "$hardcode_libdir_flag_spec"; then | |
4122 if test -n "$hardcode_libdir_separator"; then | |
4123 if test -z "$hardcode_libdirs"; then | |
4124 hardcode_libdirs="$libdir" | |
4125 else | |
4126 # Just accumulate the unique libdirs. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4127 case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in |
0 | 4128 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) |
4129 ;; | |
4130 *) | |
4131 hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" | |
4132 ;; | |
4133 esac | |
4134 fi | |
4135 else | |
4136 eval flag=\"$hardcode_libdir_flag_spec\" | |
4137 rpath="$rpath $flag" | |
4138 fi | |
4139 elif test -n "$runpath_var"; then | |
4140 case "$perm_rpath " in | |
4141 *" $libdir "*) ;; | |
4142 *) perm_rpath="$perm_rpath $libdir" ;; | |
4143 esac | |
4144 fi | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4145 case $host in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4146 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4147 case :$dllsearchpath: in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4148 *":$libdir:"*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4149 *) dllsearchpath="$dllsearchpath:$libdir";; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4150 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4151 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4152 esac |
0 | 4153 done |
4154 # Substitute the hardcoded libdirs into the rpath. | |
4155 if test -n "$hardcode_libdir_separator" && | |
4156 test -n "$hardcode_libdirs"; then | |
4157 libdir="$hardcode_libdirs" | |
4158 eval rpath=\" $hardcode_libdir_flag_spec\" | |
4159 fi | |
4160 compile_rpath="$rpath" | |
4161 | |
4162 rpath= | |
4163 hardcode_libdirs= | |
4164 for libdir in $finalize_rpath; do | |
4165 if test -n "$hardcode_libdir_flag_spec"; then | |
4166 if test -n "$hardcode_libdir_separator"; then | |
4167 if test -z "$hardcode_libdirs"; then | |
4168 hardcode_libdirs="$libdir" | |
4169 else | |
4170 # Just accumulate the unique libdirs. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4171 case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in |
0 | 4172 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) |
4173 ;; | |
4174 *) | |
4175 hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" | |
4176 ;; | |
4177 esac | |
4178 fi | |
4179 else | |
4180 eval flag=\"$hardcode_libdir_flag_spec\" | |
4181 rpath="$rpath $flag" | |
4182 fi | |
4183 elif test -n "$runpath_var"; then | |
4184 case "$finalize_perm_rpath " in | |
4185 *" $libdir "*) ;; | |
4186 *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; | |
4187 esac | |
4188 fi | |
4189 done | |
4190 # Substitute the hardcoded libdirs into the rpath. | |
4191 if test -n "$hardcode_libdir_separator" && | |
4192 test -n "$hardcode_libdirs"; then | |
4193 libdir="$hardcode_libdirs" | |
4194 eval rpath=\" $hardcode_libdir_flag_spec\" | |
4195 fi | |
4196 finalize_rpath="$rpath" | |
4197 | |
4198 if test -n "$libobjs" && test "$build_old_libs" = yes; then | |
4199 # Transform all the library objects into standard objects. | |
4200 compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` | |
4201 finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` | |
4202 fi | |
4203 | |
4204 dlsyms= | |
4205 if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then | |
4206 if test -n "$NM" && test -n "$global_symbol_pipe"; then | |
4207 dlsyms="${outputname}S.c" | |
4208 else | |
4209 $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 | |
4210 fi | |
4211 fi | |
4212 | |
4213 if test -n "$dlsyms"; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4214 case $dlsyms in |
0 | 4215 "") ;; |
4216 *.c) | |
4217 # Discover the nlist of each of the dlfiles. | |
4218 nlist="$output_objdir/${outputname}.nm" | |
4219 | |
4220 $show "$rm $nlist ${nlist}S ${nlist}T" | |
4221 $run $rm "$nlist" "${nlist}S" "${nlist}T" | |
4222 | |
4223 # Parse the name list into a source file. | |
4224 $show "creating $output_objdir/$dlsyms" | |
4225 | |
4226 test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ | |
4227 /* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ | |
4228 /* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ | |
4229 | |
4230 #ifdef __cplusplus | |
4231 extern \"C\" { | |
4232 #endif | |
4233 | |
4234 /* Prevent the only kind of declaration conflicts we can make. */ | |
4235 #define lt_preloaded_symbols some_other_symbol | |
4236 | |
4237 /* External symbol declarations for the compiler. */\ | |
4238 " | |
4239 | |
4240 if test "$dlself" = yes; then | |
4241 $show "generating symbol list for \`$output'" | |
4242 | |
4243 test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" | |
4244 | |
4245 # Add our own program objects to the symbol list. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4246 progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` |
0 | 4247 for arg in $progfiles; do |
4248 $show "extracting global C symbols from \`$arg'" | |
4249 $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" | |
4250 done | |
4251 | |
4252 if test -n "$exclude_expsyms"; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4253 $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' |
0 | 4254 $run eval '$mv "$nlist"T "$nlist"' |
4255 fi | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4256 |
0 | 4257 if test -n "$export_symbols_regex"; then |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4258 $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' |
0 | 4259 $run eval '$mv "$nlist"T "$nlist"' |
4260 fi | |
4261 | |
4262 # Prepare the list of exported symbols | |
4263 if test -z "$export_symbols"; then | |
4264 export_symbols="$output_objdir/$output.exp" | |
4265 $run $rm $export_symbols | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4266 $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' |
0 | 4267 else |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4268 $run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"' |
0 | 4269 $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T' |
4270 $run eval 'mv "$nlist"T "$nlist"' | |
4271 fi | |
4272 fi | |
4273 | |
4274 for arg in $dlprefiles; do | |
4275 $show "extracting global C symbols from \`$arg'" | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4276 name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4277 $run eval '$echo ": $name " >> "$nlist"' |
0 | 4278 $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" |
4279 done | |
4280 | |
4281 if test -z "$run"; then | |
4282 # Make sure we have at least an empty file. | |
4283 test -f "$nlist" || : > "$nlist" | |
4284 | |
4285 if test -n "$exclude_expsyms"; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4286 $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T |
0 | 4287 $mv "$nlist"T "$nlist" |
4288 fi | |
4289 | |
4290 # Try sorting and uniquifying the output. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4291 if grep -v "^: " < "$nlist" | |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4292 if sort -k 3 </dev/null >/dev/null 2>&1; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4293 sort -k 3 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4294 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4295 sort +2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4296 fi | |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4297 uniq > "$nlist"S; then |
0 | 4298 : |
4299 else | |
4300 grep -v "^: " < "$nlist" > "$nlist"S | |
4301 fi | |
4302 | |
4303 if test -f "$nlist"S; then | |
4304 eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' | |
4305 else | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4306 $echo '/* NONE */' >> "$output_objdir/$dlsyms" |
0 | 4307 fi |
4308 | |
4309 $echo >> "$output_objdir/$dlsyms" "\ | |
4310 | |
4311 #undef lt_preloaded_symbols | |
4312 | |
4313 #if defined (__STDC__) && __STDC__ | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4314 # define lt_ptr void * |
0 | 4315 #else |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4316 # define lt_ptr char * |
0 | 4317 # define const |
4318 #endif | |
4319 | |
4320 /* The mapping between symbol names and symbols. */ | |
4321 const struct { | |
4322 const char *name; | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4323 lt_ptr address; |
0 | 4324 } |
4325 lt_preloaded_symbols[] = | |
4326 {\ | |
4327 " | |
4328 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4329 eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" |
0 | 4330 |
4331 $echo >> "$output_objdir/$dlsyms" "\ | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4332 {0, (lt_ptr) 0} |
0 | 4333 }; |
4334 | |
4335 /* This works around a problem in FreeBSD linker */ | |
4336 #ifdef FREEBSD_WORKAROUND | |
4337 static const void *lt_preloaded_setup() { | |
4338 return lt_preloaded_symbols; | |
4339 } | |
4340 #endif | |
4341 | |
4342 #ifdef __cplusplus | |
4343 } | |
4344 #endif\ | |
4345 " | |
4346 fi | |
4347 | |
4348 pic_flag_for_symtable= | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4349 case $host in |
0 | 4350 # compiling the symbol table file with pic_flag works around |
4351 # a FreeBSD bug that causes programs to crash when -lm is | |
4352 # linked before any other PIC object. But we must not use | |
4353 # pic_flag when linking with -static. The problem exists in | |
4354 # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. | |
4355 *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) | |
4356 case "$compile_command " in | |
4357 *" -static "*) ;; | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4358 *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; |
0 | 4359 esac;; |
4360 *-*-hpux*) | |
4361 case "$compile_command " in | |
4362 *" -static "*) ;; | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4363 *) pic_flag_for_symtable=" $pic_flag";; |
0 | 4364 esac |
4365 esac | |
4366 | |
4367 # Now compile the dynamic symbol file. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4368 $show "(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4369 $run eval '(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? |
0 | 4370 |
4371 # Clean up the generated files. | |
4372 $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" | |
4373 $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" | |
4374 | |
4375 # Transform the symbol file into the correct name. | |
4376 compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` | |
4377 finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` | |
4378 ;; | |
4379 *) | |
4380 $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 | |
4381 exit 1 | |
4382 ;; | |
4383 esac | |
4384 else | |
4385 # We keep going just in case the user didn't refer to | |
4386 # lt_preloaded_symbols. The linker will fail if global_symbol_pipe | |
4387 # really was required. | |
4388 | |
4389 # Nullify the symbol file. | |
4390 compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` | |
4391 finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` | |
4392 fi | |
4393 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4394 if test "$need_relink" = no || test "$build_libtool_libs" != yes; then |
0 | 4395 # Replace the output file specification. |
4396 compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` | |
4397 link_command="$compile_command$compile_rpath" | |
4398 | |
4399 # We have no uninstalled library dependencies, so finalize right now. | |
4400 $show "$link_command" | |
4401 $run eval "$link_command" | |
4402 status=$? | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4403 |
0 | 4404 # Delete the generated files. |
4405 if test -n "$dlsyms"; then | |
4406 $show "$rm $output_objdir/${outputname}S.${objext}" | |
4407 $run $rm "$output_objdir/${outputname}S.${objext}" | |
4408 fi | |
4409 | |
4410 exit $status | |
4411 fi | |
4412 | |
4413 if test -n "$shlibpath_var"; then | |
4414 # We should set the shlibpath_var | |
4415 rpath= | |
4416 for dir in $temp_rpath; do | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4417 case $dir in |
0 | 4418 [\\/]* | [A-Za-z]:[\\/]*) |
4419 # Absolute path. | |
4420 rpath="$rpath$dir:" | |
4421 ;; | |
4422 *) | |
4423 # Relative path: add a thisdir entry. | |
4424 rpath="$rpath\$thisdir/$dir:" | |
4425 ;; | |
4426 esac | |
4427 done | |
4428 temp_rpath="$rpath" | |
4429 fi | |
4430 | |
4431 if test -n "$compile_shlibpath$finalize_shlibpath"; then | |
4432 compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" | |
4433 fi | |
4434 if test -n "$finalize_shlibpath"; then | |
4435 finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" | |
4436 fi | |
4437 | |
4438 compile_var= | |
4439 finalize_var= | |
4440 if test -n "$runpath_var"; then | |
4441 if test -n "$perm_rpath"; then | |
4442 # We should set the runpath_var. | |
4443 rpath= | |
4444 for dir in $perm_rpath; do | |
4445 rpath="$rpath$dir:" | |
4446 done | |
4447 compile_var="$runpath_var=\"$rpath\$$runpath_var\" " | |
4448 fi | |
4449 if test -n "$finalize_perm_rpath"; then | |
4450 # We should set the runpath_var. | |
4451 rpath= | |
4452 for dir in $finalize_perm_rpath; do | |
4453 rpath="$rpath$dir:" | |
4454 done | |
4455 finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " | |
4456 fi | |
4457 fi | |
4458 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4459 if test "$no_install" = yes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4460 # We don't need to create a wrapper script. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4461 link_command="$compile_var$compile_command$compile_rpath" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4462 # Replace the output file specification. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4463 link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4464 # Delete the old output file. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4465 $run $rm $output |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4466 # Link the executable and exit |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4467 $show "$link_command" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4468 $run eval "$link_command" || exit $? |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4469 exit 0 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4470 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4471 |
0 | 4472 if test "$hardcode_action" = relink; then |
4473 # Fast installation is not supported | |
4474 link_command="$compile_var$compile_command$compile_rpath" | |
4475 relink_command="$finalize_var$finalize_command$finalize_rpath" | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4476 |
0 | 4477 $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 |
4478 $echo "$modename: \`$output' will be relinked during installation" 1>&2 | |
4479 else | |
4480 if test "$fast_install" != no; then | |
4481 link_command="$finalize_var$compile_command$finalize_rpath" | |
4482 if test "$fast_install" = yes; then | |
4483 relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` | |
4484 else | |
4485 # fast_install is set to needless | |
4486 relink_command= | |
4487 fi | |
4488 else | |
4489 link_command="$compile_var$compile_command$compile_rpath" | |
4490 relink_command="$finalize_var$finalize_command$finalize_rpath" | |
4491 fi | |
4492 fi | |
4493 | |
4494 # Replace the output file specification. | |
4495 link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4496 |
0 | 4497 # Delete the old output files. |
4498 $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname | |
4499 | |
4500 $show "$link_command" | |
4501 $run eval "$link_command" || exit $? | |
4502 | |
4503 # Now create the wrapper script. | |
4504 $show "creating $output" | |
4505 | |
4506 # Quote the relink command for shipping. | |
4507 if test -n "$relink_command"; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4508 # Preserve any variables that may affect compiler behavior |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4509 for var in $variables_saved_for_relink; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4510 if eval test -z \"\${$var+set}\"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4511 relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4512 elif eval var_value=\$$var; test -z "$var_value"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4513 relink_command="$var=; export $var; $relink_command" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4514 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4515 var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4516 relink_command="$var=\"$var_value\"; export $var; $relink_command" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4517 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4518 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4519 relink_command="(cd `pwd`; $relink_command)" |
0 | 4520 relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` |
4521 fi | |
4522 | |
4523 # Quote $echo for shipping. | |
4524 if test "X$echo" = "X$SHELL $0 --fallback-echo"; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4525 case $0 in |
0 | 4526 [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";; |
4527 *) qecho="$SHELL `pwd`/$0 --fallback-echo";; | |
4528 esac | |
4529 qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` | |
4530 else | |
4531 qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` | |
4532 fi | |
4533 | |
4534 # Only actually do things if our run command is non-null. | |
4535 if test -z "$run"; then | |
4536 # win32 will think the script is a binary if it has | |
4537 # a .exe suffix, so we strip it off here. | |
4538 case $output in | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4539 *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4540 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4541 # test for cygwin because mv fails w/o .exe extensions |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4542 case $host in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4543 *cygwin*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4544 exeext=.exe |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4545 outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4546 *) exeext= ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4547 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4548 case $host in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4549 *cygwin* | *mingw* ) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4550 cwrappersource=`$echo ${objdir}/lt-${output}.c` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4551 cwrapper=`$echo ${output}.exe` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4552 $rm $cwrappersource $cwrapper |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4553 trap "$rm $cwrappersource $cwrapper; exit 1" 1 2 15 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4554 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4555 cat > $cwrappersource <<EOF |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4556 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4557 /* $cwrappersource - temporary wrapper executable for $objdir/$outputname |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4558 Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4559 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4560 The $output program cannot be directly executed until all the libtool |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4561 libraries that it depends on are installed. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4562 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4563 This wrapper executable should never be moved out of the build directory. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4564 If it is, it will not operate correctly. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4565 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4566 Currently, it simply execs the wrapper *script* "/bin/sh $output", |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4567 but could eventually absorb all of the scripts functionality and |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4568 exec $objdir/$outputname directly. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4569 */ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4570 EOF |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4571 cat >> $cwrappersource<<"EOF" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4572 #include <stdio.h> |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4573 #include <stdlib.h> |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4574 #include <unistd.h> |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4575 #include <malloc.h> |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4576 #include <stdarg.h> |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4577 #include <assert.h> |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4578 #include <sys/stat.h> |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4579 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4580 #if defined(PATH_MAX) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4581 # define LT_PATHMAX PATH_MAX |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4582 #elif defined(MAXPATHLEN) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4583 # define LT_PATHMAX MAXPATHLEN |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4584 #else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4585 # define LT_PATHMAX 1024 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4586 #endif |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4587 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4588 #ifndef DIR_SEPARATOR |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4589 # define DIR_SEPARATOR '/' |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4590 # define PATH_SEPARATOR ':' |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4591 #endif |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4592 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4593 #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4594 defined (__OS2__) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4595 # define HAVE_DOS_BASED_FILE_SYSTEM |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4596 # ifndef DIR_SEPARATOR_2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4597 # define DIR_SEPARATOR_2 '\\' |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4598 # endif |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4599 # ifndef PATH_SEPARATOR_2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4600 # define PATH_SEPARATOR_2 ';' |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4601 # endif |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4602 #endif |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4603 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4604 #ifndef DIR_SEPARATOR_2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4605 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4606 #else /* DIR_SEPARATOR_2 */ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4607 # define IS_DIR_SEPARATOR(ch) \ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4608 (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4609 #endif /* DIR_SEPARATOR_2 */ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4610 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4611 #ifndef PATH_SEPARATOR_2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4612 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4613 #else /* PATH_SEPARATOR_2 */ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4614 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4615 #endif /* PATH_SEPARATOR_2 */ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4616 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4617 #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4618 #define XFREE(stale) do { \ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4619 if (stale) { free ((void *) stale); stale = 0; } \ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4620 } while (0) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4621 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4622 #if defined DEBUGWRAPPER |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4623 # define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4624 #else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4625 # define DEBUG(format, ...) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4626 #endif |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4627 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4628 const char *program_name = NULL; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4629 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4630 void * xmalloc (size_t num); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4631 char * xstrdup (const char *string); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4632 char * basename (const char *name); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4633 char * find_executable(const char *wrapper); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4634 int check_executable(const char *path); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4635 char * strendzap(char *str, const char *pat); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4636 void lt_fatal (const char *message, ...); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4637 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4638 int |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4639 main (int argc, char *argv[]) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4640 { |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4641 char **newargz; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4642 int i; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4643 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4644 program_name = (char *) xstrdup ((char *) basename (argv[0])); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4645 DEBUG("(main) argv[0] : %s\n",argv[0]); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4646 DEBUG("(main) program_name : %s\n",program_name); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4647 newargz = XMALLOC(char *, argc+2); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4648 EOF |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4649 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4650 cat >> $cwrappersource <<EOF |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4651 newargz[0] = "$SHELL"; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4652 EOF |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4653 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4654 cat >> $cwrappersource <<"EOF" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4655 newargz[1] = find_executable(argv[0]); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4656 if (newargz[1] == NULL) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4657 lt_fatal("Couldn't find %s", argv[0]); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4658 DEBUG("(main) found exe at : %s\n",newargz[1]); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4659 /* we know the script has the same name, without the .exe */ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4660 /* so make sure newargz[1] doesn't end in .exe */ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4661 strendzap(newargz[1],".exe"); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4662 for (i = 1; i < argc; i++) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4663 newargz[i+1] = xstrdup(argv[i]); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4664 newargz[argc+1] = NULL; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4665 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4666 for (i=0; i<argc+1; i++) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4667 { |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4668 DEBUG("(main) newargz[%d] : %s\n",i,newargz[i]); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4669 ; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4670 } |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4671 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4672 EOF |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4673 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4674 cat >> $cwrappersource <<EOF |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4675 execv("$SHELL",newargz); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4676 EOF |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4677 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4678 cat >> $cwrappersource <<"EOF" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4679 } |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4680 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4681 void * |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4682 xmalloc (size_t num) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4683 { |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4684 void * p = (void *) malloc (num); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4685 if (!p) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4686 lt_fatal ("Memory exhausted"); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4687 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4688 return p; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4689 } |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4690 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4691 char * |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4692 xstrdup (const char *string) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4693 { |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4694 return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4695 ; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4696 } |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4697 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4698 char * |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4699 basename (const char *name) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4700 { |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4701 const char *base; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4702 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4703 #if defined (HAVE_DOS_BASED_FILE_SYSTEM) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4704 /* Skip over the disk name in MSDOS pathnames. */ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4705 if (isalpha (name[0]) && name[1] == ':') |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4706 name += 2; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4707 #endif |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4708 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4709 for (base = name; *name; name++) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4710 if (IS_DIR_SEPARATOR (*name)) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4711 base = name + 1; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4712 return (char *) base; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4713 } |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4714 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4715 int |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4716 check_executable(const char * path) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4717 { |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4718 struct stat st; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4719 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4720 DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4721 if ((!path) || (!*path)) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4722 return 0; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4723 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4724 if ((stat (path, &st) >= 0) && |
730
0f4f974d0201
Use a unique base address for each DLL.
Sam Lantinga <slouken@libsdl.org>
parents:
729
diff
changeset
|
4725 ( |
0f4f974d0201
Use a unique base address for each DLL.
Sam Lantinga <slouken@libsdl.org>
parents:
729
diff
changeset
|
4726 #ifdef S_IXOTH |
0f4f974d0201
Use a unique base address for each DLL.
Sam Lantinga <slouken@libsdl.org>
parents:
729
diff
changeset
|
4727 ((st.st_mode & S_IXOTH) == S_IXOTH) || |
0f4f974d0201
Use a unique base address for each DLL.
Sam Lantinga <slouken@libsdl.org>
parents:
729
diff
changeset
|
4728 #endif |
0f4f974d0201
Use a unique base address for each DLL.
Sam Lantinga <slouken@libsdl.org>
parents:
729
diff
changeset
|
4729 #ifdef S_IXGRP |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4730 ((st.st_mode & S_IXGRP) == S_IXGRP) || |
730
0f4f974d0201
Use a unique base address for each DLL.
Sam Lantinga <slouken@libsdl.org>
parents:
729
diff
changeset
|
4731 #endif |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4732 ((st.st_mode & S_IXUSR) == S_IXUSR))) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4733 return 1; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4734 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4735 return 0; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4736 } |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4737 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4738 /* Searches for the full path of the wrapper. Returns |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4739 newly allocated full path name if found, NULL otherwise */ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4740 char * |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4741 find_executable (const char* wrapper) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4742 { |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4743 int has_slash = 0; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4744 const char* p; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4745 const char* p_next; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4746 struct stat st; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4747 /* static buffer for getcwd */ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4748 char tmp[LT_PATHMAX + 1]; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4749 int tmp_len; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4750 char* concat_name; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4751 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4752 DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4753 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4754 if ((wrapper == NULL) || (*wrapper == '\0')) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4755 return NULL; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4756 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4757 /* Absolute path? */ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4758 #if defined (HAVE_DOS_BASED_FILE_SYSTEM) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4759 if (isalpha (wrapper[0]) && wrapper[1] == ':') |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4760 { |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4761 concat_name = xstrdup (wrapper); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4762 if (check_executable(concat_name)) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4763 return concat_name; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4764 XFREE(concat_name); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4765 } |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4766 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4767 { |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4768 #endif |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4769 if (IS_DIR_SEPARATOR (wrapper[0])) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4770 { |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4771 concat_name = xstrdup (wrapper); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4772 if (check_executable(concat_name)) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4773 return concat_name; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4774 XFREE(concat_name); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4775 } |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4776 #if defined (HAVE_DOS_BASED_FILE_SYSTEM) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4777 } |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4778 #endif |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4779 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4780 for (p = wrapper; *p; p++) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4781 if (*p == '/') |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4782 { |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4783 has_slash = 1; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4784 break; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4785 } |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4786 if (!has_slash) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4787 { |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4788 /* no slashes; search PATH */ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4789 const char* path = getenv ("PATH"); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4790 if (path != NULL) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4791 { |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4792 for (p = path; *p; p = p_next) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4793 { |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4794 const char* q; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4795 size_t p_len; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4796 for (q = p; *q; q++) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4797 if (IS_PATH_SEPARATOR(*q)) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4798 break; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4799 p_len = q - p; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4800 p_next = (*q == '\0' ? q : q + 1); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4801 if (p_len == 0) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4802 { |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4803 /* empty path: current directory */ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4804 if (getcwd (tmp, LT_PATHMAX) == NULL) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4805 lt_fatal ("getcwd failed"); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4806 tmp_len = strlen(tmp); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4807 concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4808 memcpy (concat_name, tmp, tmp_len); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4809 concat_name[tmp_len] = '/'; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4810 strcpy (concat_name + tmp_len + 1, wrapper); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4811 } |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4812 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4813 { |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4814 concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4815 memcpy (concat_name, p, p_len); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4816 concat_name[p_len] = '/'; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4817 strcpy (concat_name + p_len + 1, wrapper); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4818 } |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4819 if (check_executable(concat_name)) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4820 return concat_name; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4821 XFREE(concat_name); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4822 } |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4823 } |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4824 /* not found in PATH; assume curdir */ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4825 } |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4826 /* Relative path | not found in path: prepend cwd */ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4827 if (getcwd (tmp, LT_PATHMAX) == NULL) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4828 lt_fatal ("getcwd failed"); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4829 tmp_len = strlen(tmp); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4830 concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4831 memcpy (concat_name, tmp, tmp_len); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4832 concat_name[tmp_len] = '/'; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4833 strcpy (concat_name + tmp_len + 1, wrapper); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4834 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4835 if (check_executable(concat_name)) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4836 return concat_name; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4837 XFREE(concat_name); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4838 return NULL; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4839 } |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4840 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4841 char * |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4842 strendzap(char *str, const char *pat) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4843 { |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4844 size_t len, patlen; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4845 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4846 assert(str != NULL); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4847 assert(pat != NULL); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4848 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4849 len = strlen(str); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4850 patlen = strlen(pat); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4851 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4852 if (patlen <= len) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4853 { |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4854 str += len - patlen; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4855 if (strcmp(str, pat) == 0) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4856 *str = '\0'; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4857 } |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4858 return str; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4859 } |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4860 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4861 static void |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4862 lt_error_core (int exit_status, const char * mode, |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4863 const char * message, va_list ap) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4864 { |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4865 fprintf (stderr, "%s: %s: ", program_name, mode); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4866 vfprintf (stderr, message, ap); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4867 fprintf (stderr, ".\n"); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4868 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4869 if (exit_status >= 0) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4870 exit (exit_status); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4871 } |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4872 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4873 void |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4874 lt_fatal (const char *message, ...) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4875 { |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4876 va_list ap; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4877 va_start (ap, message); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4878 lt_error_core (EXIT_FAILURE, "FATAL", message, ap); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4879 va_end (ap); |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4880 } |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4881 EOF |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4882 # we should really use a build-platform specific compiler |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4883 # here, but OTOH, the wrappers (shell script and this C one) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4884 # are only useful if you want to execute the "real" binary. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4885 # Since the "real" binary is built for $host, then this |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4886 # wrapper might as well be built for $host, too. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4887 $run $LTCC -s -o $cwrapper $cwrappersource |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4888 ;; |
0 | 4889 esac |
4890 $rm $output | |
4891 trap "$rm $output; exit 1" 1 2 15 | |
4892 | |
4893 $echo > $output "\ | |
4894 #! $SHELL | |
4895 | |
4896 # $output - temporary wrapper script for $objdir/$outputname | |
4897 # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP | |
4898 # | |
4899 # The $output program cannot be directly executed until all the libtool | |
4900 # libraries that it depends on are installed. | |
4901 # | |
4902 # This wrapper script should never be moved out of the build directory. | |
4903 # If it is, it will not operate correctly. | |
4904 | |
4905 # Sed substitution that helps us do robust quoting. It backslashifies | |
4906 # metacharacters that are still active within double-quoted strings. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4907 Xsed='${SED} -e 1s/^X//' |
0 | 4908 sed_quote_subst='$sed_quote_subst' |
4909 | |
4910 # The HP-UX ksh and POSIX shell print the target directory to stdout | |
4911 # if CDPATH is set. | |
4912 if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi | |
4913 | |
4914 relink_command=\"$relink_command\" | |
4915 | |
4916 # This environment variable determines our operation mode. | |
4917 if test \"\$libtool_install_magic\" = \"$magic\"; then | |
4918 # install mode needs the following variable: | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4919 notinst_deplibs='$notinst_deplibs' |
0 | 4920 else |
4921 # When we are sourced in execute mode, \$file and \$echo are already set. | |
4922 if test \"\$libtool_execute_magic\" != \"$magic\"; then | |
4923 echo=\"$qecho\" | |
4924 file=\"\$0\" | |
4925 # Make sure echo works. | |
4926 if test \"X\$1\" = X--no-reexec; then | |
4927 # Discard the --no-reexec flag, and continue. | |
4928 shift | |
4929 elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then | |
4930 # Yippee, \$echo works! | |
4931 : | |
4932 else | |
4933 # Restart under the correct shell, and then maybe \$echo will work. | |
4934 exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} | |
4935 fi | |
4936 fi\ | |
4937 " | |
4938 $echo >> $output "\ | |
4939 | |
4940 # Find the directory that this script lives in. | |
4941 thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` | |
4942 test \"x\$thisdir\" = \"x\$file\" && thisdir=. | |
4943 | |
4944 # Follow symbolic links until we get to the real thisdir. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4945 file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` |
0 | 4946 while test -n \"\$file\"; do |
4947 destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` | |
4948 | |
4949 # If there was a directory component, then change thisdir. | |
4950 if test \"x\$destdir\" != \"x\$file\"; then | |
4951 case \"\$destdir\" in | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4952 [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; |
0 | 4953 *) thisdir=\"\$thisdir/\$destdir\" ;; |
4954 esac | |
4955 fi | |
4956 | |
4957 file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4958 file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` |
0 | 4959 done |
4960 | |
4961 # Try to get the absolute directory name. | |
4962 absdir=\`cd \"\$thisdir\" && pwd\` | |
4963 test -n \"\$absdir\" && thisdir=\"\$absdir\" | |
4964 " | |
4965 | |
4966 if test "$fast_install" = yes; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4967 $echo >> $output "\ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4968 program=lt-'$outputname'$exeext |
0 | 4969 progdir=\"\$thisdir/$objdir\" |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4970 |
0 | 4971 if test ! -f \"\$progdir/\$program\" || \\ |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4972 { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ |
0 | 4973 test \"X\$file\" != \"X\$progdir/\$program\"; }; then |
4974 | |
4975 file=\"\$\$-\$program\" | |
4976 | |
4977 if test ! -d \"\$progdir\"; then | |
4978 $mkdir \"\$progdir\" | |
4979 else | |
4980 $rm \"\$progdir/\$file\" | |
4981 fi" | |
4982 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4983 $echo >> $output "\ |
0 | 4984 |
4985 # relink executable if necessary | |
4986 if test -n \"\$relink_command\"; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4987 if relink_command_output=\`eval \$relink_command 2>&1\`; then : |
0 | 4988 else |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
4989 $echo \"\$relink_command_output\" >&2 |
0 | 4990 $rm \"\$progdir/\$file\" |
4991 exit 1 | |
4992 fi | |
4993 fi | |
4994 | |
4995 $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || | |
4996 { $rm \"\$progdir/\$program\"; | |
4997 $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } | |
4998 $rm \"\$progdir/\$file\" | |
4999 fi" | |
5000 else | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5001 $echo >> $output "\ |
0 | 5002 program='$outputname' |
5003 progdir=\"\$thisdir/$objdir\" | |
5004 " | |
5005 fi | |
5006 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5007 $echo >> $output "\ |
0 | 5008 |
5009 if test -f \"\$progdir/\$program\"; then" | |
5010 | |
5011 # Export our shlibpath_var if we have one. | |
5012 if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then | |
5013 $echo >> $output "\ | |
5014 # Add our own library path to $shlibpath_var | |
5015 $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" | |
5016 | |
5017 # Some systems cannot cope with colon-terminated $shlibpath_var | |
5018 # The second colon is a workaround for a bug in BeOS R4 sed | |
5019 $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` | |
5020 | |
5021 export $shlibpath_var | |
5022 " | |
5023 fi | |
5024 | |
5025 # fixup the dll searchpath if we need to. | |
5026 if test -n "$dllsearchpath"; then | |
5027 $echo >> $output "\ | |
5028 # Add the dll search path components to the executable PATH | |
5029 PATH=$dllsearchpath:\$PATH | |
5030 " | |
5031 fi | |
5032 | |
5033 $echo >> $output "\ | |
5034 if test \"\$libtool_execute_magic\" != \"$magic\"; then | |
5035 # Run the actual program with our arguments. | |
5036 " | |
5037 case $host in | |
5038 # Backslashes separate directories on plain windows | |
5039 *-*-mingw | *-*-os2*) | |
5040 $echo >> $output "\ | |
5041 exec \$progdir\\\\\$program \${1+\"\$@\"} | |
5042 " | |
5043 ;; | |
5044 | |
5045 *) | |
5046 $echo >> $output "\ | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5047 exec \$progdir/\$program \${1+\"\$@\"} |
0 | 5048 " |
5049 ;; | |
5050 esac | |
5051 $echo >> $output "\ | |
5052 \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" | |
5053 exit 1 | |
5054 fi | |
5055 else | |
5056 # The program doesn't exist. | |
5057 \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2 | |
5058 \$echo \"This script is just a wrapper for \$program.\" 1>&2 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5059 $echo \"See the $PACKAGE documentation for more information.\" 1>&2 |
0 | 5060 exit 1 |
5061 fi | |
5062 fi\ | |
5063 " | |
5064 chmod +x $output | |
5065 fi | |
5066 exit 0 | |
5067 ;; | |
5068 esac | |
5069 | |
5070 # See if we need to build an old-fashioned archive. | |
5071 for oldlib in $oldlibs; do | |
5072 | |
5073 if test "$build_libtool_libs" = convenience; then | |
5074 oldobjs="$libobjs_save" | |
5075 addlibs="$convenience" | |
5076 build_libtool_libs=no | |
5077 else | |
5078 if test "$build_libtool_libs" = module; then | |
5079 oldobjs="$libobjs_save" | |
5080 build_libtool_libs=no | |
5081 else | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5082 oldobjs="$old_deplibs $non_pic_objects" |
0 | 5083 fi |
5084 addlibs="$old_convenience" | |
5085 fi | |
5086 | |
5087 if test -n "$addlibs"; then | |
5088 gentop="$output_objdir/${outputname}x" | |
5089 $show "${rm}r $gentop" | |
5090 $run ${rm}r "$gentop" | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5091 $show "$mkdir $gentop" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5092 $run $mkdir "$gentop" |
0 | 5093 status=$? |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5094 if test "$status" -ne 0 && test ! -d "$gentop"; then |
0 | 5095 exit $status |
5096 fi | |
5097 generated="$generated $gentop" | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5098 |
0 | 5099 # Add in members from convenience archives. |
5100 for xlib in $addlibs; do | |
5101 # Extract the objects. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5102 case $xlib in |
0 | 5103 [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; |
5104 *) xabs=`pwd`"/$xlib" ;; | |
5105 esac | |
5106 xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` | |
5107 xdir="$gentop/$xlib" | |
5108 | |
5109 $show "${rm}r $xdir" | |
5110 $run ${rm}r "$xdir" | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5111 $show "$mkdir $xdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5112 $run $mkdir "$xdir" |
0 | 5113 status=$? |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5114 if test "$status" -ne 0 && test ! -d "$xdir"; then |
0 | 5115 exit $status |
5116 fi | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5117 # We will extract separately just the conflicting names and we will no |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5118 # longer touch any unique names. It is faster to leave these extract |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5119 # automatically by $AR in one run. |
0 | 5120 $show "(cd $xdir && $AR x $xabs)" |
5121 $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5122 if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5123 : |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5124 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5125 $echo "$modename: warning: object name conflicts; renaming object files" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5126 $echo "$modename: warning: to ensure that they will not overwrite" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5127 $AR t "$xabs" | sort | uniq -cd | while read -r count name |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5128 do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5129 i=1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5130 while test "$i" -le "$count" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5131 do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5132 # Put our $i before any first dot (extension) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5133 # Never overwrite any file |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5134 name_to="$name" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5135 while test "X$name_to" = "X$name" || test -f "$xdir/$name_to" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5136 do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5137 name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5138 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5139 $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5140 $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $? |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5141 i=`expr $i + 1` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5142 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5143 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5144 fi |
0 | 5145 |
5146 oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP` | |
5147 done | |
5148 fi | |
5149 | |
5150 # Do each command in the archive commands. | |
5151 if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then | |
5152 eval cmds=\"$old_archive_from_new_cmds\" | |
5153 else | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5154 eval cmds=\"$old_archive_cmds\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5155 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5156 if len=`expr "X$cmds" : ".*"` && |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5157 test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5158 : |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5159 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5160 # the command line is too long to link in one step, link in parts |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5161 $echo "using piecewise archive linking..." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5162 save_RANLIB=$RANLIB |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5163 RANLIB=: |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5164 objlist= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5165 concat_cmds= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5166 save_oldobjs=$oldobjs |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5167 # GNU ar 2.10+ was changed to match POSIX; thus no paths are |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5168 # encoded into archives. This makes 'ar r' malfunction in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5169 # this piecewise linking case whenever conflicting object |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5170 # names appear in distinct ar calls; check, warn and compensate. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5171 if (for obj in $save_oldobjs |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5172 do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5173 $echo "X$obj" | $Xsed -e 's%^.*/%%' |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5174 done | sort | sort -uc >/dev/null 2>&1); then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5175 : |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5176 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5177 $echo "$modename: warning: object name conflicts; overriding AR_FLAGS to 'cq'" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5178 $echo "$modename: warning: to ensure that POSIX-compatible ar will work" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5179 AR_FLAGS=cq |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5180 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5181 # Is there a better way of finding the last object in the list? |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5182 for obj in $save_oldobjs |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5183 do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5184 last_oldobj=$obj |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5185 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5186 for obj in $save_oldobjs |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5187 do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5188 oldobjs="$objlist $obj" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5189 objlist="$objlist $obj" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5190 eval test_cmds=\"$old_archive_cmds\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5191 if len=`expr "X$test_cmds" : ".*"` && |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5192 test "$len" -le "$max_cmd_len"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5193 : |
0 | 5194 else |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5195 # the above command should be used before it gets too long |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5196 oldobjs=$objlist |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5197 if test "$obj" = "$last_oldobj" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5198 RANLIB=$save_RANLIB |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5199 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5200 test -z "$concat_cmds" || concat_cmds=$concat_cmds~ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5201 eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5202 objlist= |
0 | 5203 fi |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5204 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5205 RANLIB=$save_RANLIB |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5206 oldobjs=$objlist |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5207 if test "X$oldobjs" = "X" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5208 eval cmds=\"\$concat_cmds\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5209 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5210 eval cmds=\"\$concat_cmds~$old_archive_cmds\" |
0 | 5211 fi |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5212 fi |
0 | 5213 fi |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5214 save_ifs="$IFS"; IFS='~' |
0 | 5215 for cmd in $cmds; do |
5216 IFS="$save_ifs" | |
5217 $show "$cmd" | |
5218 $run eval "$cmd" || exit $? | |
5219 done | |
5220 IFS="$save_ifs" | |
5221 done | |
5222 | |
5223 if test -n "$generated"; then | |
5224 $show "${rm}r$generated" | |
5225 $run ${rm}r$generated | |
5226 fi | |
5227 | |
5228 # Now create the libtool archive. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5229 case $output in |
0 | 5230 *.la) |
5231 old_library= | |
5232 test "$build_old_libs" = yes && old_library="$libname.$libext" | |
5233 $show "creating $output" | |
5234 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5235 # Preserve any variables that may affect compiler behavior |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5236 for var in $variables_saved_for_relink; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5237 if eval test -z \"\${$var+set}\"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5238 relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5239 elif eval var_value=\$$var; test -z "$var_value"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5240 relink_command="$var=; export $var; $relink_command" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5241 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5242 var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5243 relink_command="$var=\"$var_value\"; export $var; $relink_command" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5244 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5245 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5246 # Quote the link command for shipping. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5247 relink_command="(cd `pwd`; $SHELL $0 --mode=relink $libtool_args @inst_prefix_dir@)" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5248 relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` |
0 | 5249 |
5250 # Only create the output if not a dry run. | |
5251 if test -z "$run"; then | |
5252 for installed in no yes; do | |
5253 if test "$installed" = yes; then | |
5254 if test -z "$install_libdir"; then | |
5255 break | |
5256 fi | |
5257 output="$output_objdir/$outputname"i | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5258 # Replace all uninstalled libtool libraries with the installed ones |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5259 newdependency_libs= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5260 for deplib in $dependency_libs; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5261 case $deplib in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5262 *.la) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5263 name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5264 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5265 if test -z "$libdir"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5266 $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5267 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5268 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5269 newdependency_libs="$newdependency_libs $libdir/$name" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5270 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5271 *) newdependency_libs="$newdependency_libs $deplib" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5272 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5273 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5274 dependency_libs="$newdependency_libs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5275 newdlfiles= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5276 for lib in $dlfiles; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5277 name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5278 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5279 if test -z "$libdir"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5280 $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5281 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5282 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5283 newdlfiles="$newdlfiles $libdir/$name" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5284 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5285 dlfiles="$newdlfiles" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5286 newdlprefiles= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5287 for lib in $dlprefiles; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5288 name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5289 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5290 if test -z "$libdir"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5291 $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5292 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5293 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5294 newdlprefiles="$newdlprefiles $libdir/$name" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5295 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5296 dlprefiles="$newdlprefiles" |
0 | 5297 fi |
5298 $rm $output | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5299 # place dlname in correct position for cygwin |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5300 tdlname=$dlname |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5301 case $host,$output,$installed,$module,$dlname in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5302 *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5303 esac |
0 | 5304 $echo > $output "\ |
5305 # $outputname - a libtool library file | |
5306 # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP | |
5307 # | |
5308 # Please DO NOT delete this file! | |
5309 # It is necessary for linking the library. | |
5310 | |
5311 # The name that we can dlopen(3). | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5312 dlname='$tdlname' |
0 | 5313 |
5314 # Names of this library. | |
5315 library_names='$library_names' | |
5316 | |
5317 # The name of the static archive. | |
5318 old_library='$old_library' | |
5319 | |
5320 # Libraries that this one depends upon. | |
5321 dependency_libs='$dependency_libs' | |
5322 | |
5323 # Version information for $libname. | |
5324 current=$current | |
5325 age=$age | |
5326 revision=$revision | |
5327 | |
5328 # Is this an already installed library? | |
5329 installed=$installed | |
5330 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5331 # Should we warn about portability when linking against -modules? |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5332 shouldnotlink=$module |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5333 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5334 # Files to dlopen/dlpreopen |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5335 dlopen='$dlfiles' |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5336 dlpreopen='$dlprefiles' |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5337 |
0 | 5338 # Directory that this library needs to be installed in: |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5339 libdir='$install_libdir'" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5340 if test "$installed" = no && test "$need_relink" = yes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5341 $echo >> $output "\ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5342 relink_command=\"$relink_command\"" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5343 fi |
0 | 5344 done |
5345 fi | |
5346 | |
5347 # Do a symbolic link so that the libtool archive can be found in | |
5348 # LD_LIBRARY_PATH before the program is installed. | |
5349 $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5350 $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? |
0 | 5351 ;; |
5352 esac | |
5353 exit 0 | |
5354 ;; | |
5355 | |
5356 # libtool install mode | |
5357 install) | |
5358 modename="$modename: install" | |
5359 | |
5360 # There may be an optional sh(1) argument at the beginning of | |
5361 # install_prog (especially on Windows NT). | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5362 if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5363 # Allow the use of GNU shtool's install command. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5364 $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then |
0 | 5365 # Aesthetically quote it. |
5366 arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5367 case $arg in |
0 | 5368 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) |
5369 arg="\"$arg\"" | |
5370 ;; | |
5371 esac | |
5372 install_prog="$arg " | |
5373 arg="$1" | |
5374 shift | |
5375 else | |
5376 install_prog= | |
5377 arg="$nonopt" | |
5378 fi | |
5379 | |
5380 # The real first argument should be the name of the installation program. | |
5381 # Aesthetically quote it. | |
5382 arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5383 case $arg in |
0 | 5384 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) |
5385 arg="\"$arg\"" | |
5386 ;; | |
5387 esac | |
5388 install_prog="$install_prog$arg" | |
5389 | |
5390 # We need to accept at least all the BSD install flags. | |
5391 dest= | |
5392 files= | |
5393 opts= | |
5394 prev= | |
5395 install_type= | |
5396 isdir=no | |
5397 stripme= | |
5398 for arg | |
5399 do | |
5400 if test -n "$dest"; then | |
5401 files="$files $dest" | |
5402 dest="$arg" | |
5403 continue | |
5404 fi | |
5405 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5406 case $arg in |
0 | 5407 -d) isdir=yes ;; |
5408 -f) prev="-f" ;; | |
5409 -g) prev="-g" ;; | |
5410 -m) prev="-m" ;; | |
5411 -o) prev="-o" ;; | |
5412 -s) | |
5413 stripme=" -s" | |
5414 continue | |
5415 ;; | |
5416 -*) ;; | |
5417 | |
5418 *) | |
5419 # If the previous option needed an argument, then skip it. | |
5420 if test -n "$prev"; then | |
5421 prev= | |
5422 else | |
5423 dest="$arg" | |
5424 continue | |
5425 fi | |
5426 ;; | |
5427 esac | |
5428 | |
5429 # Aesthetically quote the argument. | |
5430 arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5431 case $arg in |
0 | 5432 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) |
5433 arg="\"$arg\"" | |
5434 ;; | |
5435 esac | |
5436 install_prog="$install_prog $arg" | |
5437 done | |
5438 | |
5439 if test -z "$install_prog"; then | |
5440 $echo "$modename: you must specify an install program" 1>&2 | |
5441 $echo "$help" 1>&2 | |
5442 exit 1 | |
5443 fi | |
5444 | |
5445 if test -n "$prev"; then | |
5446 $echo "$modename: the \`$prev' option requires an argument" 1>&2 | |
5447 $echo "$help" 1>&2 | |
5448 exit 1 | |
5449 fi | |
5450 | |
5451 if test -z "$files"; then | |
5452 if test -z "$dest"; then | |
5453 $echo "$modename: no file or destination specified" 1>&2 | |
5454 else | |
5455 $echo "$modename: you must specify a destination" 1>&2 | |
5456 fi | |
5457 $echo "$help" 1>&2 | |
5458 exit 1 | |
5459 fi | |
5460 | |
5461 # Strip any trailing slash from the destination. | |
5462 dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` | |
5463 | |
5464 # Check to see that the destination is a directory. | |
5465 test -d "$dest" && isdir=yes | |
5466 if test "$isdir" = yes; then | |
5467 destdir="$dest" | |
5468 destname= | |
5469 else | |
5470 destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` | |
5471 test "X$destdir" = "X$dest" && destdir=. | |
5472 destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` | |
5473 | |
5474 # Not a directory, so check to see that there is only one file specified. | |
5475 set dummy $files | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5476 if test "$#" -gt 2; then |
0 | 5477 $echo "$modename: \`$dest' is not a directory" 1>&2 |
5478 $echo "$help" 1>&2 | |
5479 exit 1 | |
5480 fi | |
5481 fi | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5482 case $destdir in |
0 | 5483 [\\/]* | [A-Za-z]:[\\/]*) ;; |
5484 *) | |
5485 for file in $files; do | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5486 case $file in |
0 | 5487 *.lo) ;; |
5488 *) | |
5489 $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 | |
5490 $echo "$help" 1>&2 | |
5491 exit 1 | |
5492 ;; | |
5493 esac | |
5494 done | |
5495 ;; | |
5496 esac | |
5497 | |
5498 # This variable tells wrapper scripts just to set variables rather | |
5499 # than running their programs. | |
5500 libtool_install_magic="$magic" | |
5501 | |
5502 staticlibs= | |
5503 future_libdirs= | |
5504 current_libdirs= | |
5505 for file in $files; do | |
5506 | |
5507 # Do each installation. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5508 case $file in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5509 *.$libext) |
0 | 5510 # Do the static libraries later. |
5511 staticlibs="$staticlibs $file" | |
5512 ;; | |
5513 | |
5514 *.la) | |
5515 # Check to see that this really is a libtool archive. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5516 if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : |
0 | 5517 else |
5518 $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 | |
5519 $echo "$help" 1>&2 | |
5520 exit 1 | |
5521 fi | |
5522 | |
5523 library_names= | |
5524 old_library= | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5525 relink_command= |
0 | 5526 # If there is no directory component, then add one. |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5527 case $file in |
0 | 5528 */* | *\\*) . $file ;; |
5529 *) . ./$file ;; | |
5530 esac | |
5531 | |
5532 # Add the libdir to current_libdirs if it is the destination. | |
5533 if test "X$destdir" = "X$libdir"; then | |
5534 case "$current_libdirs " in | |
5535 *" $libdir "*) ;; | |
5536 *) current_libdirs="$current_libdirs $libdir" ;; | |
5537 esac | |
5538 else | |
5539 # Note the libdir as a future libdir. | |
5540 case "$future_libdirs " in | |
5541 *" $libdir "*) ;; | |
5542 *) future_libdirs="$future_libdirs $libdir" ;; | |
5543 esac | |
5544 fi | |
5545 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5546 dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ |
0 | 5547 test "X$dir" = "X$file/" && dir= |
5548 dir="$dir$objdir" | |
5549 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5550 if test -n "$relink_command"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5551 # Determine the prefix the user has applied to our future dir. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5552 inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5553 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5554 # Don't allow the user to place us outside of our expected |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5555 # location b/c this prevents finding dependent libraries that |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5556 # are installed to the same prefix. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5557 # At present, this check doesn't affect windows .dll's that |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5558 # are installed into $libdir/../bin (currently, that works fine) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5559 # but it's something to keep an eye on. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5560 if test "$inst_prefix_dir" = "$destdir"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5561 $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5562 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5563 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5564 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5565 if test -n "$inst_prefix_dir"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5566 # Stick the inst_prefix_dir data into the link command. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5567 relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5568 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5569 relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5570 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5571 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5572 $echo "$modename: warning: relinking \`$file'" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5573 $show "$relink_command" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5574 if $run eval "$relink_command"; then : |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5575 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5576 $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5577 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5578 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5579 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5580 |
0 | 5581 # See the names of the shared library. |
5582 set dummy $library_names | |
5583 if test -n "$2"; then | |
5584 realname="$2" | |
5585 shift | |
5586 shift | |
5587 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5588 srcname="$realname" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5589 test -n "$relink_command" && srcname="$realname"T |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5590 |
0 | 5591 # Install the shared library and build the symlinks. |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5592 $show "$install_prog $dir/$srcname $destdir/$realname" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5593 $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5594 if test -n "$stripme" && test -n "$striplib"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5595 $show "$striplib $destdir/$realname" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5596 $run eval "$striplib $destdir/$realname" || exit $? |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5597 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5598 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5599 if test "$#" -gt 0; then |
0 | 5600 # Delete the old symlinks, and create new ones. |
5601 for linkname | |
5602 do | |
5603 if test "$linkname" != "$realname"; then | |
5604 $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" | |
5605 $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" | |
5606 fi | |
5607 done | |
5608 fi | |
5609 | |
5610 # Do each command in the postinstall commands. | |
5611 lib="$destdir/$realname" | |
5612 eval cmds=\"$postinstall_cmds\" | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5613 save_ifs="$IFS"; IFS='~' |
0 | 5614 for cmd in $cmds; do |
5615 IFS="$save_ifs" | |
5616 $show "$cmd" | |
5617 $run eval "$cmd" || exit $? | |
5618 done | |
5619 IFS="$save_ifs" | |
5620 fi | |
5621 | |
5622 # Install the pseudo-library for information purposes. | |
5623 name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` | |
5624 instname="$dir/$name"i | |
5625 $show "$install_prog $instname $destdir/$name" | |
5626 $run eval "$install_prog $instname $destdir/$name" || exit $? | |
5627 | |
5628 # Maybe install the static library, too. | |
5629 test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" | |
5630 ;; | |
5631 | |
5632 *.lo) | |
5633 # Install (i.e. copy) a libtool object. | |
5634 | |
5635 # Figure out destination file name, if it wasn't already specified. | |
5636 if test -n "$destname"; then | |
5637 destfile="$destdir/$destname" | |
5638 else | |
5639 destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` | |
5640 destfile="$destdir/$destfile" | |
5641 fi | |
5642 | |
5643 # Deduce the name of the destination old-style object file. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5644 case $destfile in |
0 | 5645 *.lo) |
5646 staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` | |
5647 ;; | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5648 *.$objext) |
0 | 5649 staticdest="$destfile" |
5650 destfile= | |
5651 ;; | |
5652 *) | |
5653 $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 | |
5654 $echo "$help" 1>&2 | |
5655 exit 1 | |
5656 ;; | |
5657 esac | |
5658 | |
5659 # Install the libtool object if requested. | |
5660 if test -n "$destfile"; then | |
5661 $show "$install_prog $file $destfile" | |
5662 $run eval "$install_prog $file $destfile" || exit $? | |
5663 fi | |
5664 | |
5665 # Install the old object if enabled. | |
5666 if test "$build_old_libs" = yes; then | |
5667 # Deduce the name of the old-style object file. | |
5668 staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` | |
5669 | |
5670 $show "$install_prog $staticobj $staticdest" | |
5671 $run eval "$install_prog \$staticobj \$staticdest" || exit $? | |
5672 fi | |
5673 exit 0 | |
5674 ;; | |
5675 | |
5676 *) | |
5677 # Figure out destination file name, if it wasn't already specified. | |
5678 if test -n "$destname"; then | |
5679 destfile="$destdir/$destname" | |
5680 else | |
5681 destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` | |
5682 destfile="$destdir/$destfile" | |
5683 fi | |
5684 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5685 # If the file is missing, and there is a .exe on the end, strip it |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5686 # because it is most likely a libtool script we actually want to |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5687 # install |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5688 stripped_ext="" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5689 case $file in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5690 *.exe) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5691 if test ! -f "$file"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5692 file=`$echo $file|${SED} 's,.exe$,,'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5693 stripped_ext=".exe" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5694 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5695 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5696 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5697 |
0 | 5698 # Do a test to see if this is really a libtool program. |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5699 case $host in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5700 *cygwin*|*mingw*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5701 wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5702 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5703 *) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5704 wrapper=$file |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5705 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5706 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5707 if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5708 notinst_deplibs= |
0 | 5709 relink_command= |
5710 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5711 # To insure that "foo" is sourced, and not "foo.exe", |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5712 # finese the cygwin/MSYS system by explicitly sourcing "foo." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5713 # which disallows the automatic-append-.exe behavior. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5714 case $build in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5715 *cygwin* | *mingw*) wrapperdot=${wrapper}. ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5716 *) wrapperdot=${wrapper} ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5717 esac |
0 | 5718 # If there is no directory component, then add one. |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5719 case $file in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5720 */* | *\\*) . ${wrapperdot} ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5721 *) . ./${wrapperdot} ;; |
0 | 5722 esac |
5723 | |
5724 # Check the variables that should have been set. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5725 if test -z "$notinst_deplibs"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5726 $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 |
0 | 5727 exit 1 |
5728 fi | |
5729 | |
5730 finalize=yes | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5731 for lib in $notinst_deplibs; do |
0 | 5732 # Check to see that each library is installed. |
5733 libdir= | |
5734 if test -f "$lib"; then | |
5735 # If there is no directory component, then add one. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5736 case $lib in |
0 | 5737 */* | *\\*) . $lib ;; |
5738 *) . ./$lib ;; | |
5739 esac | |
5740 fi | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5741 libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test |
0 | 5742 if test -n "$libdir" && test ! -f "$libfile"; then |
5743 $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 | |
5744 finalize=no | |
5745 fi | |
5746 done | |
5747 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5748 relink_command= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5749 # To insure that "foo" is sourced, and not "foo.exe", |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5750 # finese the cygwin/MSYS system by explicitly sourcing "foo." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5751 # which disallows the automatic-append-.exe behavior. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5752 case $build in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5753 *cygwin* | *mingw*) wrapperdot=${wrapper}. ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5754 *) wrapperdot=${wrapper} ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5755 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5756 # If there is no directory component, then add one. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5757 case $file in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5758 */* | *\\*) . ${wrapperdot} ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5759 *) . ./${wrapperdot} ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5760 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5761 |
0 | 5762 outputname= |
5763 if test "$fast_install" = no && test -n "$relink_command"; then | |
5764 if test "$finalize" = yes && test -z "$run"; then | |
5765 tmpdir="/tmp" | |
5766 test -n "$TMPDIR" && tmpdir="$TMPDIR" | |
5767 tmpdir="$tmpdir/libtool-$$" | |
5768 if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then : | |
5769 else | |
5770 $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 | |
5771 continue | |
5772 fi | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5773 file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` |
0 | 5774 outputname="$tmpdir/$file" |
5775 # Replace the output file specification. | |
5776 relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` | |
5777 | |
5778 $show "$relink_command" | |
5779 if $run eval "$relink_command"; then : | |
5780 else | |
5781 $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 | |
5782 ${rm}r "$tmpdir" | |
5783 continue | |
5784 fi | |
5785 file="$outputname" | |
5786 else | |
5787 $echo "$modename: warning: cannot relink \`$file'" 1>&2 | |
5788 fi | |
5789 else | |
5790 # Install the binary that we compiled earlier. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5791 file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` |
0 | 5792 fi |
5793 fi | |
5794 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5795 # remove .exe since cygwin /usr/bin/install will append another |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5796 # one anyways |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5797 case $install_prog,$host in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5798 */usr/bin/install*,*cygwin*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5799 case $file:$destfile in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5800 *.exe:*.exe) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5801 # this is ok |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5802 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5803 *.exe:*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5804 destfile=$destfile.exe |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5805 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5806 *:*.exe) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5807 destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5808 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5809 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5810 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5811 esac |
0 | 5812 $show "$install_prog$stripme $file $destfile" |
5813 $run eval "$install_prog\$stripme \$file \$destfile" || exit $? | |
5814 test -n "$outputname" && ${rm}r "$tmpdir" | |
5815 ;; | |
5816 esac | |
5817 done | |
5818 | |
5819 for file in $staticlibs; do | |
5820 name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` | |
5821 | |
5822 # Set up the ranlib parameters. | |
5823 oldlib="$destdir/$name" | |
5824 | |
5825 $show "$install_prog $file $oldlib" | |
5826 $run eval "$install_prog \$file \$oldlib" || exit $? | |
5827 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5828 if test -n "$stripme" && test -n "$striplib"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5829 $show "$old_striplib $oldlib" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5830 $run eval "$old_striplib $oldlib" || exit $? |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5831 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5832 |
0 | 5833 # Do each command in the postinstall commands. |
5834 eval cmds=\"$old_postinstall_cmds\" | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5835 save_ifs="$IFS"; IFS='~' |
0 | 5836 for cmd in $cmds; do |
5837 IFS="$save_ifs" | |
5838 $show "$cmd" | |
5839 $run eval "$cmd" || exit $? | |
5840 done | |
5841 IFS="$save_ifs" | |
5842 done | |
5843 | |
5844 if test -n "$future_libdirs"; then | |
5845 $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 | |
5846 fi | |
5847 | |
5848 if test -n "$current_libdirs"; then | |
5849 # Maybe just do a dry run. | |
5850 test -n "$run" && current_libdirs=" -n$current_libdirs" | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5851 exec_cmd='$SHELL $0 --finish$current_libdirs' |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5852 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5853 exit 0 |
0 | 5854 fi |
5855 ;; | |
5856 | |
5857 # libtool finish mode | |
5858 finish) | |
5859 modename="$modename: finish" | |
5860 libdirs="$nonopt" | |
5861 admincmds= | |
5862 | |
5863 if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then | |
5864 for dir | |
5865 do | |
5866 libdirs="$libdirs $dir" | |
5867 done | |
5868 | |
5869 for libdir in $libdirs; do | |
5870 if test -n "$finish_cmds"; then | |
5871 # Do each command in the finish commands. | |
5872 eval cmds=\"$finish_cmds\" | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5873 save_ifs="$IFS"; IFS='~' |
0 | 5874 for cmd in $cmds; do |
5875 IFS="$save_ifs" | |
5876 $show "$cmd" | |
5877 $run eval "$cmd" || admincmds="$admincmds | |
5878 $cmd" | |
5879 done | |
5880 IFS="$save_ifs" | |
5881 fi | |
5882 if test -n "$finish_eval"; then | |
5883 # Do the single finish_eval. | |
5884 eval cmds=\"$finish_eval\" | |
5885 $run eval "$cmds" || admincmds="$admincmds | |
5886 $cmds" | |
5887 fi | |
5888 done | |
5889 fi | |
5890 | |
5891 # Exit here if they wanted silent mode. | |
5892 test "$show" = : && exit 0 | |
5893 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5894 $echo "----------------------------------------------------------------------" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5895 $echo "Libraries have been installed in:" |
0 | 5896 for libdir in $libdirs; do |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5897 $echo " $libdir" |
0 | 5898 done |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5899 $echo |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5900 $echo "If you ever happen to want to link against installed libraries" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5901 $echo "in a given directory, LIBDIR, you must either use libtool, and" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5902 $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5903 $echo "flag during linking and do at least one of the following:" |
0 | 5904 if test -n "$shlibpath_var"; then |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5905 $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5906 $echo " during execution" |
0 | 5907 fi |
5908 if test -n "$runpath_var"; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5909 $echo " - add LIBDIR to the \`$runpath_var' environment variable" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5910 $echo " during linking" |
0 | 5911 fi |
5912 if test -n "$hardcode_libdir_flag_spec"; then | |
5913 libdir=LIBDIR | |
5914 eval flag=\"$hardcode_libdir_flag_spec\" | |
5915 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5916 $echo " - use the \`$flag' linker flag" |
0 | 5917 fi |
5918 if test -n "$admincmds"; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5919 $echo " - have your system administrator run these commands:$admincmds" |
0 | 5920 fi |
5921 if test -f /etc/ld.so.conf; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5922 $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" |
0 | 5923 fi |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5924 $echo |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5925 $echo "See any operating system documentation about shared libraries for" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5926 $echo "more information, such as the ld(1) and ld.so(8) manual pages." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5927 $echo "----------------------------------------------------------------------" |
0 | 5928 exit 0 |
5929 ;; | |
5930 | |
5931 # libtool execute mode | |
5932 execute) | |
5933 modename="$modename: execute" | |
5934 | |
5935 # The first argument is the command name. | |
5936 cmd="$nonopt" | |
5937 if test -z "$cmd"; then | |
5938 $echo "$modename: you must specify a COMMAND" 1>&2 | |
5939 $echo "$help" | |
5940 exit 1 | |
5941 fi | |
5942 | |
5943 # Handle -dlopen flags immediately. | |
5944 for file in $execute_dlfiles; do | |
5945 if test ! -f "$file"; then | |
5946 $echo "$modename: \`$file' is not a file" 1>&2 | |
5947 $echo "$help" 1>&2 | |
5948 exit 1 | |
5949 fi | |
5950 | |
5951 dir= | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5952 case $file in |
0 | 5953 *.la) |
5954 # Check to see that this really is a libtool archive. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5955 if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : |
0 | 5956 else |
5957 $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 | |
5958 $echo "$help" 1>&2 | |
5959 exit 1 | |
5960 fi | |
5961 | |
5962 # Read the libtool library. | |
5963 dlname= | |
5964 library_names= | |
5965 | |
5966 # If there is no directory component, then add one. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
5967 case $file in |
0 | 5968 */* | *\\*) . $file ;; |
5969 *) . ./$file ;; | |
5970 esac | |
5971 | |
5972 # Skip this library if it cannot be dlopened. | |
5973 if test -z "$dlname"; then | |
5974 # Warn if it was a shared library. | |
5975 test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" | |
5976 continue | |
5977 fi | |
5978 | |
5979 dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` | |
5980 test "X$dir" = "X$file" && dir=. | |
5981 | |
5982 if test -f "$dir/$objdir/$dlname"; then | |
5983 dir="$dir/$objdir" | |
5984 else | |
5985 $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 | |
5986 exit 1 | |
5987 fi | |
5988 ;; | |
5989 | |
5990 *.lo) | |
5991 # Just add the directory containing the .lo file. | |
5992 dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` | |
5993 test "X$dir" = "X$file" && dir=. | |
5994 ;; | |
5995 | |
5996 *) | |
5997 $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 | |
5998 continue | |
5999 ;; | |
6000 esac | |
6001 | |
6002 # Get the absolute pathname. | |
6003 absdir=`cd "$dir" && pwd` | |
6004 test -n "$absdir" && dir="$absdir" | |
6005 | |
6006 # Now add the directory to shlibpath_var. | |
6007 if eval "test -z \"\$$shlibpath_var\""; then | |
6008 eval "$shlibpath_var=\"\$dir\"" | |
6009 else | |
6010 eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" | |
6011 fi | |
6012 done | |
6013 | |
6014 # This variable tells wrapper scripts just to set shlibpath_var | |
6015 # rather than running their programs. | |
6016 libtool_execute_magic="$magic" | |
6017 | |
6018 # Check if any of the arguments is a wrapper script. | |
6019 args= | |
6020 for file | |
6021 do | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6022 case $file in |
0 | 6023 -*) ;; |
6024 *) | |
6025 # Do a test to see if this is really a libtool program. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6026 if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then |
0 | 6027 # If there is no directory component, then add one. |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6028 case $file in |
0 | 6029 */* | *\\*) . $file ;; |
6030 *) . ./$file ;; | |
6031 esac | |
6032 | |
6033 # Transform arg to wrapped name. | |
6034 file="$progdir/$program" | |
6035 fi | |
6036 ;; | |
6037 esac | |
6038 # Quote arguments (to preserve shell metacharacters). | |
6039 file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` | |
6040 args="$args \"$file\"" | |
6041 done | |
6042 | |
6043 if test -z "$run"; then | |
6044 if test -n "$shlibpath_var"; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6045 # Export the shlibpath_var. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6046 eval "export $shlibpath_var" |
0 | 6047 fi |
6048 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6049 # Restore saved environment variables |
0 | 6050 if test "${save_LC_ALL+set}" = set; then |
6051 LC_ALL="$save_LC_ALL"; export LC_ALL | |
6052 fi | |
6053 if test "${save_LANG+set}" = set; then | |
6054 LANG="$save_LANG"; export LANG | |
6055 fi | |
6056 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6057 # Now prepare to actually exec the command. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6058 exec_cmd="\$cmd$args" |
0 | 6059 else |
6060 # Display what would be done. | |
6061 if test -n "$shlibpath_var"; then | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6062 eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6063 $echo "export $shlibpath_var" |
0 | 6064 fi |
6065 $echo "$cmd$args" | |
6066 exit 0 | |
6067 fi | |
6068 ;; | |
6069 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6070 # libtool clean and uninstall mode |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6071 clean | uninstall) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6072 modename="$modename: $mode" |
0 | 6073 rm="$nonopt" |
6074 files= | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6075 rmforce= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6076 exit_status=0 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6077 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6078 # This variable tells wrapper scripts just to set variables rather |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6079 # than running their programs. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6080 libtool_install_magic="$magic" |
0 | 6081 |
6082 for arg | |
6083 do | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6084 case $arg in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6085 -f) rm="$rm $arg"; rmforce=yes ;; |
0 | 6086 -*) rm="$rm $arg" ;; |
6087 *) files="$files $arg" ;; | |
6088 esac | |
6089 done | |
6090 | |
6091 if test -z "$rm"; then | |
6092 $echo "$modename: you must specify an RM program" 1>&2 | |
6093 $echo "$help" 1>&2 | |
6094 exit 1 | |
6095 fi | |
6096 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6097 rmdirs= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6098 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6099 origobjdir="$objdir" |
0 | 6100 for file in $files; do |
6101 dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6102 if test "X$dir" = "X$file"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6103 dir=. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6104 objdir="$origobjdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6105 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6106 objdir="$dir/$origobjdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6107 fi |
0 | 6108 name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6109 test "$mode" = uninstall && objdir="$dir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6110 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6111 # Remember objdir for removal later, being careful to avoid duplicates |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6112 if test "$mode" = clean; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6113 case " $rmdirs " in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6114 *" $objdir "*) ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6115 *) rmdirs="$rmdirs $objdir" ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6116 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6117 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6118 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6119 # Don't error if the file doesn't exist and rm -f was used. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6120 if (test -L "$file") >/dev/null 2>&1 \ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6121 || (test -h "$file") >/dev/null 2>&1 \ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6122 || test -f "$file"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6123 : |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6124 elif test -d "$file"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6125 exit_status=1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6126 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6127 elif test "$rmforce" = yes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6128 continue |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6129 fi |
0 | 6130 |
6131 rmfiles="$file" | |
6132 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6133 case $name in |
0 | 6134 *.la) |
6135 # Possibly a libtool archive, so verify it. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6136 if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then |
0 | 6137 . $dir/$name |
6138 | |
6139 # Delete the libtool libraries and symlinks. | |
6140 for n in $library_names; do | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6141 rmfiles="$rmfiles $objdir/$n" |
0 | 6142 done |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6143 test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6144 test "$mode" = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6145 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6146 if test "$mode" = uninstall; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6147 if test -n "$library_names"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6148 # Do each command in the postuninstall commands. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6149 eval cmds=\"$postuninstall_cmds\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6150 save_ifs="$IFS"; IFS='~' |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6151 for cmd in $cmds; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6152 IFS="$save_ifs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6153 $show "$cmd" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6154 $run eval "$cmd" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6155 if test "$?" -ne 0 && test "$rmforce" != yes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6156 exit_status=1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6157 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6158 done |
0 | 6159 IFS="$save_ifs" |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6160 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6161 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6162 if test -n "$old_library"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6163 # Do each command in the old_postuninstall commands. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6164 eval cmds=\"$old_postuninstall_cmds\" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6165 save_ifs="$IFS"; IFS='~' |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6166 for cmd in $cmds; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6167 IFS="$save_ifs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6168 $show "$cmd" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6169 $run eval "$cmd" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6170 if test "$?" -ne 0 && test "$rmforce" != yes; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6171 exit_status=1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6172 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6173 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6174 IFS="$save_ifs" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6175 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6176 # FIXME: should reinstall the best remaining shared library. |
0 | 6177 fi |
6178 fi | |
6179 ;; | |
6180 | |
6181 *.lo) | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6182 # Possibly a libtool object, so verify it. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6183 if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6184 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6185 # Read the .lo file |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6186 . $dir/$name |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6187 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6188 # Add PIC object to the list of files to remove. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6189 if test -n "$pic_object" \ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6190 && test "$pic_object" != none; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6191 rmfiles="$rmfiles $dir/$pic_object" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6192 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6193 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6194 # Add non-PIC object to the list of files to remove. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6195 if test -n "$non_pic_object" \ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6196 && test "$non_pic_object" != none; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6197 rmfiles="$rmfiles $dir/$non_pic_object" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6198 fi |
0 | 6199 fi |
6200 ;; | |
6201 | |
6202 *) | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6203 if test "$mode" = clean ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6204 noexename=$name |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6205 case $file in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6206 *.exe) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6207 file=`$echo $file|${SED} 's,.exe$,,'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6208 noexename=`$echo $name|${SED} 's,.exe$,,'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6209 # $file with .exe has already been added to rmfiles, |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6210 # add $file without .exe |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6211 rmfiles="$rmfiles $file" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6212 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6213 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6214 # Do a test to see if this is a libtool program. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6215 if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6216 relink_command= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6217 . $dir/$noexename |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6218 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6219 # note $name still contains .exe if it was in $file originally |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6220 # as does the version of $file that was added into $rmfiles |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6221 rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6222 if test "$fast_install" = yes && test -n "$relink_command"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6223 rmfiles="$rmfiles $objdir/lt-$name" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6224 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6225 if test "X$noexename" != "X$name" ; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6226 rmfiles="$rmfiles $objdir/lt-${noexename}.c" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6227 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6228 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6229 fi |
0 | 6230 ;; |
6231 esac | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6232 $show "$rm $rmfiles" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6233 $run $rm $rmfiles || exit_status=1 |
0 | 6234 done |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6235 objdir="$origobjdir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6236 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6237 # Try to remove the ${objdir}s in the directories where we deleted files |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6238 for dir in $rmdirs; do |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6239 if test -d "$dir"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6240 $show "rmdir $dir" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6241 $run rmdir $dir >/dev/null 2>&1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6242 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6243 done |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6244 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6245 exit $exit_status |
0 | 6246 ;; |
6247 | |
6248 "") | |
6249 $echo "$modename: you must specify a MODE" 1>&2 | |
6250 $echo "$generic_help" 1>&2 | |
6251 exit 1 | |
6252 ;; | |
6253 esac | |
6254 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6255 if test -z "$exec_cmd"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6256 $echo "$modename: invalid operation mode \`$mode'" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6257 $echo "$generic_help" 1>&2 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6258 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6259 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6260 fi # test -z "$show_help" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6261 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6262 if test -n "$exec_cmd"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6263 eval exec $exec_cmd |
0 | 6264 exit 1 |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6265 fi |
0 | 6266 |
6267 # We need to display help for each of the modes. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6268 case $mode in |
0 | 6269 "") $echo \ |
6270 "Usage: $modename [OPTION]... [MODE-ARG]... | |
6271 | |
6272 Provide generalized library-building support services. | |
6273 | |
6274 --config show all configuration variables | |
6275 --debug enable verbose shell tracing | |
6276 -n, --dry-run display commands without modifying any files | |
6277 --features display basic configuration information and exit | |
6278 --finish same as \`--mode=finish' | |
6279 --help display this help message and exit | |
6280 --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] | |
6281 --quiet same as \`--silent' | |
6282 --silent don't print informational messages | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6283 --tag=TAG use configuration variables from tag TAG |
0 | 6284 --version print version information |
6285 | |
6286 MODE must be one of the following: | |
6287 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6288 clean remove files from the build directory |
0 | 6289 compile compile a source file into a libtool object |
6290 execute automatically set library path, then run a program | |
6291 finish complete the installation of libtool libraries | |
6292 install install libraries or executables | |
6293 link create a library or an executable | |
6294 uninstall remove libraries from an installed directory | |
6295 | |
6296 MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6297 a more detailed description of MODE. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6298 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6299 Report bugs to <bug-libtool@gnu.org>." |
0 | 6300 exit 0 |
6301 ;; | |
6302 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6303 clean) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6304 $echo \ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6305 "Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6306 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6307 Remove files from the build directory. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6308 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6309 RM is the name of the program to use to delete files associated with each FILE |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6310 (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6311 to RM. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6312 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6313 If FILE is a libtool library, object or program, all the files associated |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6314 with it are deleted. Otherwise, only FILE itself is deleted using RM." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6315 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6316 |
0 | 6317 compile) |
6318 $echo \ | |
6319 "Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE | |
6320 | |
6321 Compile a source file into a libtool library object. | |
6322 | |
6323 This mode accepts the following additional options: | |
6324 | |
6325 -o OUTPUT-FILE set the output file name to OUTPUT-FILE | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6326 -prefer-pic try to building PIC objects only |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6327 -prefer-non-pic try to building non-PIC objects only |
0 | 6328 -static always build a \`.o' file suitable for static linking |
6329 | |
6330 COMPILE-COMMAND is a command to be used in creating a \`standard' object file | |
6331 from the given SOURCEFILE. | |
6332 | |
6333 The output file name is determined by removing the directory component from | |
6334 SOURCEFILE, then substituting the C source code suffix \`.c' with the | |
6335 library object suffix, \`.lo'." | |
6336 ;; | |
6337 | |
6338 execute) | |
6339 $echo \ | |
6340 "Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... | |
6341 | |
6342 Automatically set library path, then run a program. | |
6343 | |
6344 This mode accepts the following additional options: | |
6345 | |
6346 -dlopen FILE add the directory containing FILE to the library path | |
6347 | |
6348 This mode sets the library path environment variable according to \`-dlopen' | |
6349 flags. | |
6350 | |
6351 If any of the ARGS are libtool executable wrappers, then they are translated | |
6352 into their corresponding uninstalled binary, and any of their required library | |
6353 directories are added to the library path. | |
6354 | |
6355 Then, COMMAND is executed, with ARGS as arguments." | |
6356 ;; | |
6357 | |
6358 finish) | |
6359 $echo \ | |
6360 "Usage: $modename [OPTION]... --mode=finish [LIBDIR]... | |
6361 | |
6362 Complete the installation of libtool libraries. | |
6363 | |
6364 Each LIBDIR is a directory that contains libtool libraries. | |
6365 | |
6366 The commands that this mode executes may require superuser privileges. Use | |
6367 the \`--dry-run' option if you just want to see what would be executed." | |
6368 ;; | |
6369 | |
6370 install) | |
6371 $echo \ | |
6372 "Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... | |
6373 | |
6374 Install executables or libraries. | |
6375 | |
6376 INSTALL-COMMAND is the installation command. The first component should be | |
6377 either the \`install' or \`cp' program. | |
6378 | |
6379 The rest of the components are interpreted as arguments to that command (only | |
6380 BSD-compatible install options are recognized)." | |
6381 ;; | |
6382 | |
6383 link) | |
6384 $echo \ | |
6385 "Usage: $modename [OPTION]... --mode=link LINK-COMMAND... | |
6386 | |
6387 Link object files or libraries together to form another library, or to | |
6388 create an executable program. | |
6389 | |
6390 LINK-COMMAND is a command using the C compiler that you would use to create | |
6391 a program from several object files. | |
6392 | |
6393 The following components of LINK-COMMAND are treated specially: | |
6394 | |
6395 -all-static do not do any dynamic linking at all | |
6396 -avoid-version do not add a version suffix if possible | |
6397 -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime | |
6398 -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols | |
6399 -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) | |
6400 -export-symbols SYMFILE | |
6401 try to export only the symbols listed in SYMFILE | |
6402 -export-symbols-regex REGEX | |
6403 try to export only the symbols matching REGEX | |
6404 -LLIBDIR search LIBDIR for required installed libraries | |
6405 -lNAME OUTPUT-FILE requires the installed library libNAME | |
6406 -module build a library that can dlopened | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6407 -no-fast-install disable the fast-install mode |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6408 -no-install link a not-installable executable |
0 | 6409 -no-undefined declare that a library does not refer to external symbols |
6410 -o OUTPUT-FILE create OUTPUT-FILE from the specified objects | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6411 -objectlist FILE Use a list of object files found in FILE to specify objects |
0 | 6412 -release RELEASE specify package release information |
6413 -rpath LIBDIR the created library will eventually be installed in LIBDIR | |
6414 -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries | |
6415 -static do not do any dynamic linking of libtool libraries | |
6416 -version-info CURRENT[:REVISION[:AGE]] | |
6417 specify library version info [each variable defaults to 0] | |
6418 | |
6419 All other options (arguments beginning with \`-') are ignored. | |
6420 | |
6421 Every other argument is treated as a filename. Files ending in \`.la' are | |
6422 treated as uninstalled libtool libraries, other files are standard or library | |
6423 object files. | |
6424 | |
6425 If the OUTPUT-FILE ends in \`.la', then a libtool library is created, | |
6426 only library objects (\`.lo' files) may be specified, and \`-rpath' is | |
6427 required, except when creating a convenience library. | |
6428 | |
6429 If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created | |
6430 using \`ar' and \`ranlib', or on Windows using \`lib'. | |
6431 | |
6432 If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file | |
6433 is created, otherwise an executable program is created." | |
6434 ;; | |
6435 | |
6436 uninstall) | |
6437 $echo \ | |
6438 "Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... | |
6439 | |
6440 Remove libraries from an installation directory. | |
6441 | |
6442 RM is the name of the program to use to delete files associated with each FILE | |
6443 (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed | |
6444 to RM. | |
6445 | |
6446 If FILE is a libtool library, all the files associated with it are deleted. | |
6447 Otherwise, only FILE itself is deleted using RM." | |
6448 ;; | |
6449 | |
6450 *) | |
6451 $echo "$modename: invalid operation mode \`$mode'" 1>&2 | |
6452 $echo "$help" 1>&2 | |
6453 exit 1 | |
6454 ;; | |
6455 esac | |
6456 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6457 $echo |
0 | 6458 $echo "Try \`$modename --help' for more information about other modes." |
6459 | |
6460 exit 0 | |
6461 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6462 # The TAGs below are defined such that we never get into a situation |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6463 # in which we disable both kinds of libraries. Given conflicting |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6464 # choices, we go for a static library, that is the most portable, |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6465 # since we can't tell whether shared libraries were disabled because |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6466 # the user asked for that or because the platform doesn't support |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6467 # them. This is particularly important on AIX, because we don't |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6468 # support having both static and shared libraries enabled at the same |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6469 # time on that platform, so we default to a shared-only configuration. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6470 # If a disable-shared tag is given, we'll fallback to a static-only |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6471 # configuration. But we'll never go from static-only to shared-only. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6472 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6473 # ### BEGIN LIBTOOL TAG CONFIG: disable-shared |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6474 build_libtool_libs=no |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6475 build_old_libs=yes |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6476 # ### END LIBTOOL TAG CONFIG: disable-shared |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6477 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6478 # ### BEGIN LIBTOOL TAG CONFIG: disable-static |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6479 build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6480 # ### END LIBTOOL TAG CONFIG: disable-static |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
608
diff
changeset
|
6481 |
0 | 6482 # Local Variables: |
6483 # mode:shell-script | |
6484 # sh-indentation:2 | |
6485 # End: |