[Libreoffice] PostgreSQL-SDBC: Windows & MacOS X porters sought

Lionel Elie Mamane lionel at mamane.lu
Sun Dec 4 22:50:29 PST 2011


On Mon, Dec 05, 2011 at 12:22:17AM +0100, Lionel Elie Mamane wrote:

> About internal PostgreSQL:

> 1) Cygwin has packages (...) that seem rather
>    unpatched and to be built with a rather plain "./configure &&
>    make". (...)

> 2) MacOS X, I dunno.

Actually, both MacPorts and fink have new-enough PostgreSQL. So a
builder can just install one of those instead of the "on-click
installer" if he/she prefers. And building internal looks sane, too, from
my (possibly naive) point of view:

Fink fiddles a bit with LDFLAGS and CC envvers, but otherwise seems
*nearly* rather plain "./configure && make". It forces gcc (rather
than clang) up to 10.6 and clang after that. It calls

	perl -pi -e 's,-arch x86_64,,g; s,-arch i386,,g; s,-arch ppc,,g' src/Makefile.global

before calling "make", and that's it. Here are the relevant parts of
the fink patch:

--- postgresql-9.0.4/src/Makefile.global.in	2011-04-14 23:15:53.000000000 -0400
+++ postgresql-9.0.4-new/src/Makefile.global.in	2011-07-21 11:39:12.000000000 -0400
@@ -196,7 +196,7 @@
 
 # Compilers
 
-CPP = @CPP@
+CPP = $(CC) -E
 CPPFLAGS = @CPPFLAGS@
 
 ifdef PGXS
@@ -243,7 +243,7 @@
 ifdef PGXS
   LDFLAGS = -L$(libdir)
 else
-  LDFLAGS = -L$(top_builddir)/src/port
+  LDFLAGS = -L$(top_builddir)/src/port -L$(top_builddir)/src/interfaces/libpq -L$(top_builddir)/src/interfaces/ecpg/ecpglib -L$(top_builddir)/src/interfaces/ecpg/pgtypeslib -L$(top_builddir)/src/interfaces/ecpg/compatlib
 endif
 LDFLAGS += @LDFLAGS@
 
--- postgresql-9.0.4/src/makefiles/Makefile.darwin	2011-04-14 23:15:53.000000000 -0400
+++ postgresql-9.0.4-new/src/makefiles/Makefile.darwin	2011-07-21 11:38:27.000000000 -0400
@@ -10,4 +10,4 @@
 
 # Rule for building a shared library from a single .o file
 %.so: %.o
-	$(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_SL) -bundle $(BE_DLLLIBS) -o $@ $<
+	$(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_SL) -bundle $(BE_DLLLIBS) -undefined dynamic_lookup -o $@ $<



MacPorts is in the same situation.

It has an ed-script patch to pg_config.h:
https://trac.macports.org/browser/trunk/dports/databases/postgresql91/files/pg_config.h.ed
It seems to be used only for universal builds, though.

They force use of gcc rather than clang to work around a segfault.

Except for that, it is "./configure && make"

-- 
Lionel


More information about the LibreOffice mailing list