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