git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 1ea081b)
In mingw builds, make our own import library for libtcl, too.
2014年2月14日 18:13:06 +0000 (13:13 -0500)
2014年2月14日 18:13:06 +0000 (13:13 -0500)
Per buildfarm results.


diff --git a/src/pl/tcl/Makefile b/src/pl/tcl/Makefile
index 8a6325aa4694c67973d0d1324499d4b50e289237..3f9df5503411b4903eea181de4fa8d4fe5846632 100644 (file)
--- a/src/pl/tcl/Makefile
+++ b/src/pl/tcl/Makefile
@@ -29,10 +29,29 @@ endif
endif
-SHLIB_LINK = $(TCL_LIB_SPEC)
ifneq ($(PORTNAME), win32)
-SHLIB_LINK += $(TCL_LIBS) -lc
-endif
+
+SHLIB_LINK = $(TCL_LIB_SPEC) $(TCL_LIBS) -lc
+
+else # win32
+
+# Tcl on win32 ships with import libraries only for Microsoft Visual C++,
+# which are not compatible with mingw gcc. Therefore we need to build a
+# new import library to link with.
+
+tclwithver = $(subst -l,,$(filter -l%, $(TCL_LIB_SPEC)))
+TCLDLL = $(subst -L,,$(filter -L%, $(TCL_LIB_SPEC)))/$(tclwithver).dll
+
+OBJS += lib$(tclwithver).a
+
+lib$(tclwithver).a: $(tclwithver).def
+ dlltool --dllname $(tclwithver).dll --def $(tclwithver).def --output-lib lib$(tclwithver).a
+
+$(tclwithver).def: $(TCLDLL)
+ pexports $^ > $@
+
+endif # win32
+
NAME = pltcl
@@ -96,4 +115,7 @@ endif # TCL_SHARED_BUILD = 0
clean distclean maintainer-clean: clean-lib
rm -f $(OBJS)
rm -rf $(pg_regress_clean_files)
+ifeq ($(PORTNAME), win32)
+ rm -f $(tclwithver).def
+endif
$(MAKE) -C modules $@
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /