Commit 395ae012511efe122cbebc491d21c997e3cf4854

Authored by Perry Werneck
1 parent 269d476d

Adding support for delayed load of the library on windows.

@@ -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
@@ -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 &quot;$host&quot; in @@ -94,6 +95,9 @@ case &quot;$host&quot; 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-*)
sdk/lib3270-delayed.pc.in 0 → 100644
@@ -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 +