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.