Here's a patch that will allow external modules like pl<lang> to set
additional flags for the dlltool and dllwrap commands. More info here:
http://archives.postgresql.org/pgsql-hackers/2004-05/msg00350.php
regards,
Thomas Hallgren
--
A ship in harbor is safe, but that is not what ships are built for.
- John A. Shedd
Index: src/Makefile.shlib
===================================================================
RCS file: /projects/cvsroot/pgsql-server/src/Makefile.shlib,v
retrieving revision 1.74
diff -u -r1.74 Makefile.shlib
--- src/Makefile.shlib 1 Dec 2003 22:23:06 -0000 1.74
+++ src/Makefile.shlib 7 May 2004 14:17:56 -0000
@@ -26,6 +26,12 @@
# additional stuff to put in its link command
# (If you want a patchlevel, include it in SO_MINOR_VERSION, e.g., "6.2".)
#
+# Optional flags when building DLL's (only applicable to win32 and cygwin
+# platforms).
+# DLLTOOL_DEFFLAGS Additional flags when creating the dll .def file
+# DLLTOOL_LIBFLAGS Additional flags when creating the lib<module>.a file
+# DLLWRAP_FLAGS Additional flags to dllwrap
+#
# The module Makefile must also include
# $(top_builddir)/src/Makefile.global before including this file.
# (Makefile.global sets PORTNAME and other needed symbols.)
@@ -284,9 +290,9 @@
# win32 case
$(shlib) lib$(NAME).a: $(OBJS)
- $(DLLTOOL) --export-all --output-def $(NAME).def $(OBJS)
- $(DLLWRAP) -o $(shlib) --dllname $(shlib) --def $(NAME).def $(OBJS)
$(SHLIB_LINK)
- $(DLLTOOL) --dllname $(shlib) --def $(NAME).def --output-lib lib$(NAME).a
+ $(DLLTOOL) --export-all $(DLLTOOL_DEFFLAGS) --output-def $(NAME).def $(OBJS)
+ $(DLLWRAP) -o $(shlib) --dllname $(shlib) $(DLLWRAP_FLAGS) --def $(NAME).def
$(OBJS) $(SHLIB_LINK)
+ $(DLLTOOL) --dllname $(shlib) $(DLLTOOL_LIBFLAGS) --def $(NAME).def
--output-lib lib$(NAME).a
endif # PORTNAME == win32
@@ -294,9 +300,9 @@
# Cygwin case
$(shlib) lib$(NAME).a: $(OBJS) $(DLLINIT)
- $(DLLTOOL) --export-all --output-def $(NAME).def $(OBJS)
- $(DLLWRAP) -o $(shlib) --dllname $(shlib) --def $(NAME).def $(OBJS) $(DLLINIT)
$(SHLIB_LINK)
- $(DLLTOOL) --dllname $(shlib) --def $(NAME).def --output-lib lib$(NAME).a
+ $(DLLTOOL) --export-all $(DLLTOOL_DEFFLAGS) --output-def $(NAME).def $(OBJS)
+ $(DLLWRAP) -o $(shlib) --dllname $(shlib) $(DLLWRAP_FLAGS) --def $(NAME).def
$(OBJS) $(DLLINIT) $(SHLIB_LINK)
+ $(DLLTOOL) --dllname $(shlib) $(DLLTOOL_LIBFLAGS) --def $(NAME).def
--output-lib lib$(NAME).a
$(DLLINIT): $(DLLINIT:%.o=%.c)
$(MAKE) -C $(@D) $(@F)
---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend