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 | + | ... | ... |