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,12 +184,23 @@ $(POTDIR)/$(LIBNAME)/%.pot: \ | ||
184 | 184 | ||
185 | all: \ | 185 | all: \ |
186 | $(BINRLS)/$(SONAME) \ | 186 | $(BINRLS)/$(SONAME) \ |
187 | - $(BINRLS)/static/$(LIBNAME).a \ | 187 | + $(BINRLS)/$(LIBNAME).a \ |
188 | $(POTDIR)/lib3270.pot | 188 | $(POTDIR)/lib3270.pot |
189 | 189 | ||
190 | Release: \ | 190 | Release: \ |
191 | $(BINRLS)/$(SONAME) \ | 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 | $(BINRLS)/$(SONAME): \ | 205 | $(BINRLS)/$(SONAME): \ |
195 | $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) | 206 | $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) |
@@ -204,7 +215,7 @@ $(BINRLS)/$(SONAME): \ | @@ -204,7 +215,7 @@ $(BINRLS)/$(SONAME): \ | ||
204 | -L$(BINRLS) \ | 215 | -L$(BINRLS) \ |
205 | $(LIBS) | 216 | $(LIBS) |
206 | 217 | ||
207 | -$(BINRLS)/static/$(LIBNAME).a: \ | 218 | +$(BINRLS)/$(LIBNAME).a: \ |
208 | $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) | 219 | $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) |
209 | 220 | ||
210 | @echo $@ ... | 221 | @echo $@ ... |
@@ -240,18 +251,33 @@ install-shared: \ | @@ -240,18 +251,33 @@ install-shared: \ | ||
240 | @mkdir -p $(DESTDIR)$(datarootdir)/pw3270 | 251 | @mkdir -p $(DESTDIR)$(datarootdir)/pw3270 |
241 | 252 | ||
242 | install-static: \ | 253 | install-static: \ |
243 | - $(BINRLS)/static/$(LIBNAME).a | 254 | + $(BINRLS)/$(LIBNAME).a |
244 | 255 | ||
245 | # Install static library | 256 | # Install static library |
257 | + @$(MKDIR) $(DESTDIR)$(libdir) | ||
246 | @$(INSTALL_DATA) \ | 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 | @$(INSTALL_DATA) \ | 263 | @$(INSTALL_DATA) \ |
252 | sdk/lib3270-static.pc \ | 264 | sdk/lib3270-static.pc \ |
253 | $(DESTDIR)$(libdir)/pkgconfig/lib3270-static.pc | 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 | install-dev: \ | 281 | install-dev: \ |
256 | $(POTDIR)/lib3270.pot | 282 | $(POTDIR)/lib3270.pot |
257 | 283 | ||
@@ -359,7 +385,6 @@ else | @@ -359,7 +385,6 @@ else | ||
359 | $(BINDBG)/$(LIBNAME)@EXEEXT@ | 385 | $(BINDBG)/$(LIBNAME)@EXEEXT@ |
360 | endif | 386 | endif |
361 | 387 | ||
362 | - | ||
363 | $(BINDBG)/$(SONAME): \ | 388 | $(BINDBG)/$(SONAME): \ |
364 | $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) | 389 | $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) |
365 | 390 |
configure.ac
@@ -54,6 +54,7 @@ AC_PROG_CXX | @@ -54,6 +54,7 @@ AC_PROG_CXX | ||
54 | AC_PROG_SED | 54 | AC_PROG_SED |
55 | AC_PROG_LN_S | 55 | AC_PROG_LN_S |
56 | AC_PATH_TOOL([AR], [ar], [ar]) | 56 | AC_PATH_TOOL([AR], [ar], [ar]) |
57 | +AC_PATH_TOOL([DLLTOOL], [dlltool], [dlltool]) | ||
57 | 58 | ||
58 | AC_LANG([C]) | 59 | AC_LANG([C]) |
59 | 60 | ||
@@ -94,6 +95,9 @@ case "$host" in | @@ -94,6 +95,9 @@ case "$host" in | ||
94 | 95 | ||
95 | app_cv_static='yes' | 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 | s390x-*) | 103 | s390x-*) |
@@ -0,0 +1,17 @@ | @@ -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 | + |