Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


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

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.