Commit 395ae012511efe122cbebc491d21c997e3cf4854
1 parent
269d476d
Exists in
master
and in
3 other branches
Adding support for delayed load of the library on windows.
Showing
3 changed files
with
54 additions
and
8 deletions
Show diff stats
Makefile.in
... | ... | @@ -184,12 +184,23 @@ $(POTDIR)/$(LIBNAME)/%.pot: \ |
184 | 184 | |
185 | 185 | all: \ |
186 | 186 | $(BINRLS)/$(SONAME) \ |
187 | - $(BINRLS)/static/$(LIBNAME).a \ | |
187 | + $(BINRLS)/$(LIBNAME).a \ | |
188 | 188 | $(POTDIR)/lib3270.pot |
189 | 189 | |
190 | 190 | Release: \ |
191 | 191 | $(BINRLS)/$(SONAME) \ |
192 | - $(BINRLS)/static/$(LIBNAME).a | |
192 | + $(BINRLS)/$(LIBNAME).a | |
193 | + | |
194 | +$(BINRLS)/$(LIBNAME).delayed.dll.a: \ | |
195 | + $(BINRLS)/$(SONAME) | |
196 | + | |
197 | + @$(MKDIR) $(dir $@) | |
198 | + @echo $< ... | |
199 | + | |
200 | + @@DLLTOOL@ \ | |
201 | + -d $(BINRLS)/$(LIBNAME).def \ | |
202 | + --output-delaylib $@ | |
203 | + | |
193 | 204 | |
194 | 205 | $(BINRLS)/$(SONAME): \ |
195 | 206 | $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) |
... | ... | @@ -204,7 +215,7 @@ $(BINRLS)/$(SONAME): \ |
204 | 215 | -L$(BINRLS) \ |
205 | 216 | $(LIBS) |
206 | 217 | |
207 | -$(BINRLS)/static/$(LIBNAME).a: \ | |
218 | +$(BINRLS)/$(LIBNAME).a: \ | |
208 | 219 | $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) |
209 | 220 | |
210 | 221 | @echo $@ ... |
... | ... | @@ -240,18 +251,33 @@ install-shared: \ |
240 | 251 | @mkdir -p $(DESTDIR)$(datarootdir)/pw3270 |
241 | 252 | |
242 | 253 | install-static: \ |
243 | - $(BINRLS)/static/$(LIBNAME).a | |
254 | + $(BINRLS)/$(LIBNAME).a | |
244 | 255 | |
245 | 256 | # Install static library |
257 | + @$(MKDIR) $(DESTDIR)$(libdir) | |
246 | 258 | @$(INSTALL_DATA) \ |
247 | - $(BINRLS)/static/$(LIBNAME).a \ | |
248 | - $(DESTDIR)$(libdir)/$(LIBNAME)-static.a | |
259 | + $(BINRLS)/$(LIBNAME).a \ | |
260 | + $(DESTDIR)$(libdir)/$(LIBNAME).static.a | |
249 | 261 | |
250 | - @mkdir -p $(DESTDIR)$(libdir)/pkgconfig | |
262 | + @$(MKDIR) $(DESTDIR)$(libdir)/pkgconfig | |
251 | 263 | @$(INSTALL_DATA) \ |
252 | 264 | sdk/lib3270-static.pc \ |
253 | 265 | $(DESTDIR)$(libdir)/pkgconfig/lib3270-static.pc |
254 | 266 | |
267 | +install-delayed: \ | |
268 | + $(BINRLS)/$(LIBNAME).delayed.dll.a | |
269 | + | |
270 | + # Install static library | |
271 | + @$(MKDIR) $(DESTDIR)$(libdir) | |
272 | + @$(INSTALL_DATA) \ | |
273 | + $(BINRLS)/$(LIBNAME).delayed.dll.a \ | |
274 | + $(DESTDIR)$(libdir) | |
275 | + | |
276 | + @$(MKDIR) $(DESTDIR)$(libdir)/pkgconfig | |
277 | + @$(INSTALL_DATA) \ | |
278 | + sdk/lib3270-delayed.pc \ | |
279 | + $(DESTDIR)$(libdir)/pkgconfig/lib3270-delayed.pc | |
280 | + | |
255 | 281 | install-dev: \ |
256 | 282 | $(POTDIR)/lib3270.pot |
257 | 283 | |
... | ... | @@ -359,7 +385,6 @@ else |
359 | 385 | $(BINDBG)/$(LIBNAME)@EXEEXT@ |
360 | 386 | endif |
361 | 387 | |
362 | - | |
363 | 388 | $(BINDBG)/$(SONAME): \ |
364 | 389 | $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) |
365 | 390 | ... | ... |
configure.ac
... | ... | @@ -54,6 +54,7 @@ AC_PROG_CXX |
54 | 54 | AC_PROG_SED |
55 | 55 | AC_PROG_LN_S |
56 | 56 | AC_PATH_TOOL([AR], [ar], [ar]) |
57 | +AC_PATH_TOOL([DLLTOOL], [dlltool], [dlltool]) | |
57 | 58 | |
58 | 59 | AC_LANG([C]) |
59 | 60 | |
... | ... | @@ -94,6 +95,9 @@ case "$host" in |
94 | 95 | |
95 | 96 | app_cv_static='yes' |
96 | 97 | |
98 | + AC_CONFIG_FILES(sdk/lib3270-delayed.pc) | |
99 | + INSTALL_PACKAGES="$INSTALL_PACKAGES delayed" | |
100 | + | |
97 | 101 | ;; |
98 | 102 | |
99 | 103 | s390x-*) | ... | ... |
... | ... | @@ -0,0 +1,17 @@ |
1 | +prefix=@prefix@ | |
2 | +exec_prefix=@exec_prefix@ | |
3 | +libdir=@libdir@ | |
4 | +includedir=@includedir@ | |
5 | + | |
6 | +version_major=@PACKAGE_MAJOR_VERSION@ | |
7 | +version_minor=@PACKAGE_MINOR_VERSION@ | |
8 | +sdk_version=@LIB3270_SDK_VERSION@ | |
9 | +library_name=@LIB3270_NAME@ | |
10 | + | |
11 | +Name: @PACKAGE_NAME@ | |
12 | +Description: @PACKAGE_DESCRIPTION@ | |
13 | +Version: @PACKAGE_VERSION@ | |
14 | +Libs: -L\@libdir@ -l@LIB3270_NAME@.delayed.dll | |
15 | +Libs.private: @LIBS@ @LIBSSL_LIBS@ @LIBICONV@ @INTL_LIBS@ @LDAP_LIBS@ @LIBCURL_LIBS@ | |
16 | +Cflags: -I@includedir@ | |
17 | + | ... | ... |