diff --git a/Makefile.in b/Makefile.in index 37098a5..01b6977 100644 --- a/Makefile.in +++ b/Makefile.in @@ -37,6 +37,8 @@ SOURCES= \ TEST_SOURCES= \ $(wildcard src/testprogram/*.cc) +INSTALL_PACKAGES=@INSTALL_PACKAGES@ + #---[ Tools ]---------------------------------------------------------------------------- CXX=@CXX@ @@ -56,6 +58,7 @@ CONVERT=@CONVERT@ OPTIPNG=@OPTIPNG@ ZIP=@ZIP@ DOXYGEN=@DOXYGEN@ +DLLTOOL=@DLLTOOL@ #---[ Paths ]---------------------------------------------------------------------------- @@ -159,17 +162,16 @@ $(BINRLS)/$(SONAME): \ @$(MKDIR) $(dir $@) @echo $< ... @$(LD) \ - -shared -Wl,-soname,$(@F) \ - -o $@ \ $(LDFLAGS) \ + -Wl,-soname,$(@F) \ + -o $@ \ $^ \ $(LIBS) #---[ Install Targets ]------------------------------------------------------------------ install: \ - install-shared \ - install-devel + $(foreach PKG, $(INSTALL_PACKAGES), install-$(PKG)) install-shared: \ @@ -186,7 +188,7 @@ install-shared: \ $(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \ $(DESTDIR)$(libdir)/$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ -install-devel: +install-dev: # Install devel @$(MKDIR) $(DESTDIR)$(includedir)/lib3270 @@ -200,6 +202,29 @@ install-devel: $(DESTDIR)$(libdir)/$(LIBNAME)@DLLEXT@ +install-winlib: \ + $(BINRLS)/$(SONAME) + + @$(MKDIR) \ + $(DESTDIR)$(libdir) + + @$(INSTALL_DATA) \ + $(BINRLS)/$(LIBNAME).dll.a \ + $(DESTDIR)$(libdir) + + @$(DLLTOOL) \ + --input-def $(BINRLS)/$(LIBNAME).def \ + --dllname $(LIBNAME).dll \ + --output-lib $(DESTDIR)$(libdir)/$(LIBNAME).lib + + @$(MKDIR) \ + $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/def + + @$(INSTALL_DATA) \ + $(BINRLS)/$(LIBNAME).def \ + $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/def + + doc: @$(DOXYGEN) ./doxygen/doxyfile @@ -245,10 +270,10 @@ $(BINDBG)/$(SONAME): \ @$(MKDIR) $(dir $@) @echo $< ... @$(LD) \ - -shared -Wl,-soname,$(@F) \ + $(LDFLAGS) \ + -Wl,-soname,$(@F) \ -o $@ \ -L$(BINDBG) \ - $(LDFLAGS) \ $^ \ $(LIBS) diff --git a/configure.ac b/configure.ac index 32f2bbf..65581aa 100644 --- a/configure.ac +++ b/configure.ac @@ -92,13 +92,15 @@ AC_SUBST(APPDATADIR,$app_cv_source_appdatadir) dnl --------------------------------------------------------------------------- dnl Check for OS specifics dnl --------------------------------------------------------------------------- +INSTALL_PACKAGES="shared dev" case "$host" in *-mingw32|*-pc-msys) app_cv_osname="windows" CFLAGS="$CFLAGS -D_WIN32_WINNT=0x0600" - LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -shared -Wl,--output-def,\$(@D)/\$(LIBNAME).def,--out-implib,\$(@D)/\$(LIBNAME).dll.a" + INSTALL_PACKAGES="$INSTALL_PACKAGES winlib" LIBS="$LIBS -lws2_32 -lwtsapi32 -lcomdlg32" DLLEXT=".dll" @@ -128,7 +130,7 @@ case "$host" in *) CFLAGS="$CFLAGS" - LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -shared" app_cv_datadir="/usr/share" app_cv_confdir="/etc" app_cv_osname="linux" @@ -145,6 +147,7 @@ AC_SUBST(LIBS) AC_SUBST(LOGDIR) AC_SUBST(DLLEXT) AC_SUBST(DLLPREFIX) +AC_SUBST(INSTALL_PACKAGES) dnl --------------------------------------------------------------------------- dnl Check for other programs @@ -153,6 +156,7 @@ dnl --------------------------------------------------------------------------- AC_PATH_TOOL([AR], [ar], [ar]) AC_PATH_TOOL([WINDRES], [windres], [no]) AC_PATH_TOOL([VALGRIND], [valgrind], [no]) +AC_PATH_TOOL([DLLTOOL], [dlltool], [no]) PKG_CHECK_EXISTS -- libgit2 0.21.2