1 |
From: Michael Haubenwallner <haubi@g.o> |
2 |
|
3 |
If a package does not have libtool-2.4.6 or 2.4.6.42-b88c3 there is no |
4 |
guarantee things will work, and the package should use eautoreconf. |
5 |
|
6 |
Signed-off-by: Michael Haubenwallner <haubi@g.o> |
7 |
--- |
8 |
patches/winnt-conf/2.4.6.42-global-syms | 129 ++++++++++++++++++++++++ |
9 |
patches/winnt-conf/2.4.6.42-shlibs | 15 +++ |
10 |
patches/winnt-conf/2.4.6.42-shlibs-c | 20 ++++ |
11 |
patches/winnt-conf/2.4.6.42-shlibs-cxx | 33 ++++++ |
12 |
patches/winnt-conf/2.4.6.42-strip | 30 ++++++ |
13 |
5 files changed, 227 insertions(+) |
14 |
create mode 100644 patches/winnt-conf/2.4.6.42-global-syms |
15 |
create mode 100644 patches/winnt-conf/2.4.6.42-shlibs |
16 |
create mode 100644 patches/winnt-conf/2.4.6.42-shlibs-c |
17 |
create mode 100644 patches/winnt-conf/2.4.6.42-shlibs-cxx |
18 |
create mode 100644 patches/winnt-conf/2.4.6.42-strip |
19 |
|
20 |
diff --git a/patches/winnt-conf/2.4.6.42-global-syms b/patches/winnt-conf/2.4.6.42-global-syms |
21 |
new file mode 100644 |
22 |
index 0000000..704ee84 |
23 |
--- /dev/null |
24 |
+++ b/patches/winnt-conf/2.4.6.42-global-syms |
25 |
@@ -0,0 +1,129 @@ |
26 |
+--- configure |
27 |
++++ configure |
28 |
+@@ -7115,11 +7115,11 @@ |
29 |
+ # Define system-specific variables. |
30 |
+ case $host_os in |
31 |
+ aix*) |
32 |
+ symcode='[BCDT]' |
33 |
+ ;; |
34 |
+-cygwin* | mingw* | pw32* | cegcc*) |
35 |
++cygwin* | mingw* | pw32* | cegcc* | winnt*) |
36 |
+ symcode='[ABCDGISTW]' |
37 |
+ ;; |
38 |
+ hpux*) |
39 |
+ if test ia64 = "$host_cpu"; then |
40 |
+ symcode='[ABCDEGRST]' |
41 |
+@@ -7154,46 +7154,56 @@ |
42 |
+ symcode='[ABCDGIRSTW]' ;; |
43 |
+ esac |
44 |
+ |
45 |
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then |
46 |
+ # Gets list of data symbols to import. |
47 |
+- lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" |
48 |
++ lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \([a-zA-Z_][0-9a-zA-Z_]*\)$/\1/p'" |
49 |
+ # Adjust the below global symbol transforms to fixup imported variables. |
50 |
+- lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" |
51 |
+- lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" |
52 |
++ lt_cdecl_hook=" -e 's/^I .* \([a-zA-Z_][0-9a-zA-Z_]*\)$/extern __declspec(dllimport) char \1;/p'" |
53 |
++ lt_c_name_hook=" -e 's/^I .* \([a-zA-Z_][0-9a-zA-Z_]*\)$/ {\"\1\", (void *) 0},/p'" |
54 |
+ lt_c_name_lib_hook="\ |
55 |
+- -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ |
56 |
+- -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" |
57 |
++ -e 's/^I .* \(lib[a-zA-Z_][0-9a-zA-Z_]*\)$/ {\"\1\", (void *) 0},/p'\ |
58 |
++ -e 's/^I .* \([a-zA-Z_][0-9a-zA-Z_]*\)$/ {\"lib\1\", (void *) 0},/p'" |
59 |
+ else |
60 |
+ # Disable hooks by default. |
61 |
+ lt_cv_sys_global_symbol_to_import= |
62 |
+ lt_cdecl_hook= |
63 |
+ lt_c_name_hook= |
64 |
+ lt_c_name_lib_hook= |
65 |
++ case $host_os in |
66 |
++ winnt*) |
67 |
++ lt_cv_sys_global_symbol_to_import="sed -n -e 's/^D [^ ]* \([a-zA-Z_][0-9a-zA-Z_]*\)$/\1/p'" |
68 |
++ lt_cdecl_hook=" -e 's/^D [^ ]* \([a-zA-Z_][0-9a-zA-Z_]*\)$/extern __declspec(dllimport) char \1;/p'" |
69 |
++ lt_c_name_hook=" -e 's/^D [^ ]* \([a-zA-Z_][0-9a-zA-Z_]*\)$/ {\"\1\", (void *) 0},/p'" |
70 |
++ lt_c_name_lib_hook="\ |
71 |
++ -e 's/^D [^ ]* \(lib[a-zA-Z_][0-9a-zA-Z_]*\)$/ {\"\1\", (void *) 0},/p'\ |
72 |
++ -e 's/^D [^ ]* \([a-zA-Z_][0-9a-zA-Z_]*\)$/ {\"lib\1\", (void *) 0},/p'" |
73 |
++ ;; |
74 |
++ esac |
75 |
+ fi |
76 |
+ |
77 |
+ # Transform an extracted symbol line into a proper C declaration. |
78 |
+ # Some systems (esp. on ia64) link data and code symbols differently, |
79 |
+ # so use this general approach. |
80 |
+ lt_cv_sys_global_symbol_to_cdecl="sed -n"\ |
81 |
+ $lt_cdecl_hook\ |
82 |
+-" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ |
83 |
+-" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" |
84 |
++" -e 's/^T .* \([a-zA-Z_][0-9a-zA-Z_]*\)$/extern int \1();/p'"\ |
85 |
++" -e 's/^$symcode$symcode* .* \([a-zA-Z_][0-9a-zA-Z_]*\)$/extern char \1;/p'" |
86 |
+ |
87 |
+ # Transform an extracted symbol line into symbol name and symbol address |
88 |
+ lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ |
89 |
+ $lt_c_name_hook\ |
90 |
+ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ |
91 |
+-" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" |
92 |
++" -e 's/^$symcode$symcode* .* \([a-zA-Z_][0-9a-zA-Z_]*\)$/ {\"\1\", (void *) \&\1},/p'" |
93 |
+ |
94 |
+ # Transform an extracted symbol line into symbol name with lib prefix and |
95 |
+ # symbol address. |
96 |
+ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ |
97 |
+ $lt_c_name_lib_hook\ |
98 |
+ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ |
99 |
+-" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ |
100 |
+-" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" |
101 |
++" -e 's/^$symcode$symcode* .* \(lib[a-zA-Z_][0-9a-zA-Z_]*\)$/ {\"\1\", (void *) \&\1},/p'"\ |
102 |
++" -e 's/^$symcode$symcode* .* \([a-zA-Z_][0-9a-zA-Z_]*\)$/ {\"lib\1\", (void *) \&\1},/p'" |
103 |
+ |
104 |
+ # Handle CRLF in mingw tool chain |
105 |
+ opt_cr= |
106 |
+ case $build_os in |
107 |
+ mingw*) |
108 |
+@@ -7203,35 +7213,43 @@ |
109 |
+ |
110 |
+ # Try without a prefix underscore, then with it. |
111 |
+ for ac_symprfx in "" "_"; do |
112 |
+ |
113 |
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. |
114 |
+- symxfrm="\\1 $ac_symprfx\\2 \\2" |
115 |
++ # In Windows import libraries, symbols may be prefixed with __imp_, as well |
116 |
++ # as __nm_ when using GNU ld. The leading underscore (in 32bit) comes after |
117 |
++ # the __imp_ and __nm_ prefix, so make sure to strip the underscore from the |
118 |
++ # symbol name instead of the __imp_ or __nm_ prefix, leaving these prefixes |
119 |
++ # intact in the symbol pipe output. |
120 |
++ symxfrm="\\1 \\2$ac_symprfx\\3 \\2\\3" |
121 |
+ |
122 |
+ # Write the raw and C identifiers. |
123 |
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then |
124 |
+ # Fake it for dumpbin and say T for any non-static function, |
125 |
+ # D for any global variable and I for any imported variable. |
126 |
+ # Also find C++ and __fastcall symbols from MSVC++ or ICC, |
127 |
+- # which start with @ or ?. |
128 |
++ # which start with @ or ?. And Cygwin gawk-4.1.4-3 and newer |
129 |
++ # treats input as binary, have to drop carriage return first. |
130 |
+ lt_cv_sys_global_symbol_pipe="$AWK '"\ |
131 |
++" {sub(/\\r\$/,\"\")};"\ |
132 |
+ " {last_section=section; section=\$ 3};"\ |
133 |
+ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ |
134 |
+ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ |
135 |
+ " /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ |
136 |
+ " /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ |
137 |
+ " /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ |
138 |
+ " \$ 0!~/External *\|/{next};"\ |
139 |
+ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ |
140 |
+ " {if(hide[section]) next};"\ |
141 |
+ " {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ |
142 |
++" \$ 0~/ [0-9a-fA-F]*[1-9a-fA-F][0-9a-fA-F]* UNDEF /{f=\"C\"};"\ |
143 |
+ " {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ |
144 |
+ " s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ |
145 |
+ " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ |
146 |
+ " ' prfx=^$ac_symprfx" |
147 |
+ else |
148 |
+- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" |
149 |
++ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*\(__imp_\|__nm_\)\{0,1\}$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" |
150 |
+ fi |
151 |
+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" |
152 |
+ |
153 |
+ # Check to see that the pipe works correctly. |
154 |
+ pipe_works=no |
155 |
diff --git a/patches/winnt-conf/2.4.6.42-shlibs b/patches/winnt-conf/2.4.6.42-shlibs |
156 |
new file mode 100644 |
157 |
index 0000000..840e867 |
158 |
--- /dev/null |
159 |
+++ b/patches/winnt-conf/2.4.6.42-shlibs |
160 |
@@ -0,0 +1,15 @@ |
161 |
+--- configure |
162 |
++++ configure |
163 |
+@@ -10228,11 +10262,11 @@ |
164 |
+ # preloaded symbol tables. |
165 |
+ # Exclude shared library initialization/finalization symbols. |
166 |
+ extract_expsyms_cmds= |
167 |
+ |
168 |
+ case $host_os in |
169 |
+- cygwin* | mingw* | pw32* | cegcc*) |
170 |
++ cygwin* | mingw* | pw32* | cegcc* | winnt*) |
171 |
+ # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time |
172 |
+ # When not using gcc, we currently assume that we are using |
173 |
+ # Microsoft Visual C++ or Intel C++ Compiler. |
174 |
+ if test yes != "$GCC"; then |
175 |
+ with_gnu_ld=no |
176 |
diff --git a/patches/winnt-conf/2.4.6.42-shlibs-c b/patches/winnt-conf/2.4.6.42-shlibs-c |
177 |
new file mode 100644 |
178 |
index 0000000..ad16aad |
179 |
--- /dev/null |
180 |
+++ b/patches/winnt-conf/2.4.6.42-shlibs-c |
181 |
@@ -0,0 +1,20 @@ |
182 |
+--- configure |
183 |
++++ configure |
184 |
+@@ -10884,10 +10918,17 @@ |
185 |
+ |
186 |
+ bsdi[45]*) |
187 |
+ export_dynamic_flag_spec=-rdynamic |
188 |
+ ;; |
189 |
+ |
190 |
++ winnt*) |
191 |
++ exclude_expsyms='__NULL_IMPORT_DESCRIPTOR|__IMPORT_DESCRIPTOR_.*' |
192 |
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags -o $output_objdir/$soname -Wl,--out-implib,$lib' |
193 |
++ archive_cmds_need_lc=no |
194 |
++ allow_undefined_flag=unsupported |
195 |
++ ;; |
196 |
++ |
197 |
+ cygwin* | mingw* | pw32* | cegcc*) |
198 |
+ # When not using gcc, we currently assume that we are using |
199 |
+ # Microsoft Visual C++ or Intel C++ Compiler. |
200 |
+ # hardcode_libdir_flag_spec is actually meaningless, as there is |
201 |
+ # no search path for DLLs. |
202 |
diff --git a/patches/winnt-conf/2.4.6.42-shlibs-cxx b/patches/winnt-conf/2.4.6.42-shlibs-cxx |
203 |
new file mode 100644 |
204 |
index 0000000..71db848 |
205 |
--- /dev/null |
206 |
+++ b/patches/winnt-conf/2.4.6.42-shlibs-cxx |
207 |
@@ -0,0 +1,33 @@ |
208 |
+--- configure |
209 |
++++ configure |
210 |
+@@ -15327,10 +15450,16 @@ |
211 |
+ ld_shlibs_CXX=no |
212 |
+ ;; |
213 |
+ esac |
214 |
+ ;; |
215 |
+ |
216 |
++ winnt*) |
217 |
++ archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags -o $output_objdir/$soname -Wl,--out-implib,$lib' |
218 |
++ archive_cmds_need_lc_CXX=no |
219 |
++ allow_undefined_flag_CXX=unsupported |
220 |
++ ;; |
221 |
++ |
222 |
+ cygwin* | mingw* | pw32* | cegcc*) |
223 |
+ case $GXX,$cc_basename in |
224 |
+ ,cl* | no,cl* | ,icl* | no,icl*) |
225 |
+ # Native MSVC or ICC |
226 |
+ # hardcode_libdir_flag_spec is actually meaningless, as there is |
227 |
+@@ -16902,10 +17036,13 @@ |
228 |
+ fi |
229 |
+ ;; |
230 |
+ pw32*) |
231 |
+ export_symbols_cmds_CXX=$ltdll_cmds |
232 |
+ ;; |
233 |
++ winnt*) |
234 |
++ exclude_expsyms_CXX='__NULL_IMPORT_DESCRIPTOR|__IMPORT_DESCRIPTOR_.*' |
235 |
++ ;; |
236 |
+ cygwin* | mingw* | cegcc*) |
237 |
+ case $cc_basename in |
238 |
+ cl* | icl*) |
239 |
+ exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' |
240 |
+ ;; |
241 |
diff --git a/patches/winnt-conf/2.4.6.42-strip b/patches/winnt-conf/2.4.6.42-strip |
242 |
new file mode 100644 |
243 |
index 0000000..743a2fb |
244 |
--- /dev/null |
245 |
+++ b/patches/winnt-conf/2.4.6.42-strip |
246 |
@@ -0,0 +1,30 @@ |
247 |
+--- configure |
248 |
++++ configure |
249 |
+@@ -13205,14 +13315,24 @@ |
250 |
+ if test -z "$STRIP"; then |
251 |
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
252 |
+ $as_echo "no" >&6; } |
253 |
+ else |
254 |
+ if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then |
255 |
+- old_striplib="$STRIP --strip-debug" |
256 |
+- striplib="$STRIP --strip-unneeded" |
257 |
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
258 |
++ case $host_os in |
259 |
++ winnt*) |
260 |
++ # Stripping is not save here, since POSIXish host utils may |
261 |
++ # be detected, but we operate on native windows libraries. |
262 |
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
263 |
++$as_echo "no" >&6; } |
264 |
++ ;; |
265 |
++ *) |
266 |
++ old_striplib="$STRIP --strip-debug" |
267 |
++ striplib="$STRIP --strip-unneeded" |
268 |
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
269 |
+ $as_echo "yes" >&6; } |
270 |
++ ;; |
271 |
++ esac |
272 |
+ else |
273 |
+ case $host_os in |
274 |
+ darwin*) |
275 |
+ # FIXME - insert some real tests, host_os isn't really good enough |
276 |
+ striplib="$STRIP -x" |
277 |
-- |
278 |
2.22.0 |