125 Commits

Author SHA1 Message Date
Peter Eisentraut
c3291aed20 Fix shared library builds for MacOS X. 2001-10-05 21:15:38 +00:00
Bruce Momjian
495e264fa3 Add -rpath for BSD/OS, from Peter E. 2001-09-06 13:43:42 +00:00
Bruce Momjian
e9f546365f > > I sent this to -hackers and peter_e, but thought it ought to go to
> > -patches as well.
>
> The -Bdynamic probably ought to disappear.

That was there already, but I have no objections.  I was trying to
make minimal changes.

Larry Rosenman
2001-09-06 03:16:46 +00:00
Bruce Momjian
56b102a96e This fixes the regression test .so builds on sysv5 systems:
I believe this will fix peter_e's problen with gcc.

Larry Rosenman
2001-09-06 03:15:43 +00:00
Bruce Momjian
02566f14f4 On Sat, Aug 25, 2001 at 08:15:45PM -0400, Bruce Momjian wrote:
> Can someone research this and figure out what the proper solution for
> this is?  Seems we are going around in circles if we keep
> adding/removing DLLIMPORT.

I believe that the attached patch is the correct solution --  I apologize
for the gyrations.  With the attached patch, Cygwin libpq++ builds
cleanly again.  The root cause was that DLLIMPORT was defaulting to
__declspec(dllimport) since BUILDING_DLL was *not* defined when building
the libpq++ DLL.

Unfortunately, to test my patch requires changing the following makefile:

    src/interfaces/libpq++/examples/Makefile

and the #includes in all of the *.cc to build against the source tree
instead of the following hardcoded installation directory structure:

    /usr/local/pgsql

I was able to manually build

    src/interfaces/libpq++/examples/testlibpq0.exe

against my Cygwin libpq++ without errors.  However, I have not tried to
actually test testlibpq0.exe.

Is this sufficient?  Or, do you want me to clean up libpq++/examples too?
(Or, is it silly to even ask? :,))  Let me know how you want to proceed and
I will submit a patch to pgsql-patches.

Jason Tishler
2001-09-06 02:58:33 +00:00
Peter Eisentraut
b1a38a4380 Install the SQL command man pages into a section appropriate for each
system.  Some systems did not understand the 'l' section, and in general
it wasn't entirely appropriate.

On SCO OpenServer, the man pages won't be installed at all until someone
figures out their man system.
2001-08-29 19:14:40 +00:00
Peter Eisentraut
34fd50880f VPATH and DESTDIR support for PL/Perl, using the same techniques employed
in interfaces/perl5 a brief while ago.

Also, since building PL/Perl without a shared libperl actually works on
some platforms we can enable it there to get some development happening.
I've only checked off linux right now, but others should be added in the
future.
2001-08-26 23:54:41 +00:00
Peter Eisentraut
90e2663313 Shared libraries should not be linked explicitly against -lc on FreeBSD
(see http://mail.gnu.org/pipermail/libtool/2000-July/001824.html).  But
apparently it should still be present with -Bsymbolic.
2001-06-20 20:25:11 +00:00
Peter Eisentraut
7fdd76cd08 -Bsymbolic requires -lc on NetBSD. Also add rpath for non-ELF.
from Johnny C. Lam <lamj@stat.cmu.edu> via D'Arcy
2001-06-20 20:15:45 +00:00
Bruce Momjian
06a8346c84 See attached for a small patch that enables plpython to build cleanly
under Cygwin.  This patch together with my previous Python patch:

    http://postgresql.readysetnet.com/mhonarc/pgsql-patches/2001-05/msg00075.htm
l

enables full Python support (i.e., configure --with-python) for Cygwin
PostgreSQL.

Jason Tishler
2001-05-25 15:48:33 +00:00
Bruce Momjian
74068dfed6 The following patch corrects a make install problem when building
under Cygwin.  The root cause of this problem is that (Sun) java is a
native Win32 app and hence does not understand Cygwin Posix style paths.
The solution is to use Cygwin's cygpath utility to convert the Posix style
JDBC installation directory path into a Win32 one before invoking ant.

I'm not sure if my patch is the best way to correct this issue but
my goal was to confine the Cygwin specific constructs to

Jason Tishler
2001-05-25 14:28:58 +00:00
Bruce Momjian
f36fc7bb63 I haven't tried building postgres with the Watcom compiler for 7.1 because
it does not support 64bit integers. AFAIK that's the default data type for
OIDs, so I am not surprised that this does not work. Use gcc instead.
BTW., 7.1 does not compile as is with gcc either, I believed the
required patches made it into the 7.1.1 release but obviously I missed
the deadline.
Since the ports mailing list does not seem to be archived I have attached
a copy of the patch (for 7.1 and 7.1.1).

I've just performed a build of a Watcom compiled version and found a couple
of bugs in the watcom specific part of that patch. Please use the attached
version instead.

Tegge, Bernd
2001-05-24 15:53:34 +00:00
Bruce Momjian
c50aa9db70 Mention SHELL usage in initdb. 2001-05-08 20:38:00 +00:00
Peter Eisentraut
f7bfb5518d Shared library and GCC support for SCO OpenServer. 2001-05-07 20:43:28 +00:00
Tom Lane
f13cb7e524 Fixes to make ecpg work on Cygwin, from Jason Tishler <Jason.Tishler@dothill.com>. 2001-05-03 16:07:52 +00:00
Tom Lane
011f1e3169 Clean up AIX makefile to recognize subversions of AIX 4.1 correctly.
This patch is Peter E's, but I'm applying it on his behalf so it'll get
into 7.1RC3 tonight (I'm guessing Peter went to bed already).
2001-04-04 22:57:45 +00:00
Tom Lane
6faf150a30 Fix/cleanup DLLLIBS handling for Cygwin port. If it works it's to
Jason Tishler's credit, if it's broken it's my fault ...
2001-04-04 21:15:56 +00:00
Tom Lane
5b4045d5d6 Hadn't built on a PARISC 1.1 box in a long time ... but when I did,
it turned out that the libpq makefile chokes on '-L /lib/pa1.1'.
Need to remove the space so filter rule works.
2001-03-24 06:17:41 +00:00
Tom Lane
c6c1fea06d Move -Bsymbolic for HPUX to Makefile.hpux, per Peter E's recommendation. 2001-03-14 19:35:12 +00:00
Peter Eisentraut
a3176dac22 Use install-sh unconditionally. 2001-03-10 10:38:59 +00:00
Peter Eisentraut
23e41fb7fb Add configure check for -lunix, for QNX.
Recode test for equality of source and build directory using 'test -ef',
because even using pwd you might not get equal strings.  Thanks, QNX.
2001-03-03 15:53:41 +00:00
Tatsuo Ishii
df247b821d Massive commits for SunOS4 port. 2001-02-27 08:13:31 +00:00
Peter Eisentraut
cb6edf9d56 Make sure -L and -I's for our source tree are always before system include
or library directories on the command line.
2001-02-20 19:20:30 +00:00
Bruce Momjian
00ab7b5896 Fix -Bsymbolic for FreeBSD and OpenBSD. NetBSD already had all these fixes. 2001-02-10 17:17:39 +00:00
Peter Eisentraut
8213e63d8c Repair BSD/OS shared library fixes. 2001-02-10 16:51:40 +00:00
Peter Eisentraut
8eed998a65 Remove -L$(libdir) from DLLLIBS to prevent linking with an old version
(i.e., 7.0.3) of libpostgres.a.  From Jason Tishler <jt@dothill.com>.
2001-01-09 18:45:41 +00:00
Peter Eisentraut
9cf0a82fc3 Fix linker options for ODBC driver. See comment in
src/interfaces/odbc/GNUmakefile.
2000-12-16 18:14:25 +00:00
Tom Lane
41fe2a2a03 Darwin porting patches from Peter Bierman <bierman@apple.com> 2000-12-11 00:49:54 +00:00
Peter Eisentraut
289e6fd2a4 Do not use 'ar cq' to build library archives, use 'ar cr' instead. 2000-12-07 19:43:49 +00:00
Peter Eisentraut
e5ba2fc5b5 Make all commands that link a program look like
$(CC) $(CFLAGS) $(LDFLAGS) <object files> <extra-libraries> $(LIBS) -o $@

This form seemed to be the most portable, readable, and logical, but in any
case it's better than having a dozen different ones in the tree.
2000-11-30 20:36:13 +00:00
Peter Eisentraut
bea3b8ea35 spaces to tab 2000-11-14 21:23:47 +00:00
Peter Eisentraut
d8a11b29c1 Give GCC on Irix a (theoretical) chance. 2000-11-14 21:12:00 +00:00
Peter Eisentraut
6b70f3862c Also test for 'void *' as third arg of accept() (as on Solaris 7 and 8),
but take it as 'int *' instead.

Add real test for whether ld -R works on Unixware.

Rename --enable-uniconv to --enable-unicode-conversion.

Install shlibs mode 755 by default, since 644 causes gratuitous complaints
from ldd et al. on some systems.
2000-11-09 18:18:42 +00:00
Bruce Momjian
a0951eec08 Please apply this patch to current, to fix a problem with runcheck,
that installs into a different path than is configured.

With this applied both postmaster and the shared libs are location
independent
for AIX 4.2 and up.

Thanks
Andreas
2000-11-09 04:17:53 +00:00
Peter Eisentraut
9c0eacb434 Only use ld -R flag in UW 7.1*, since it's new. 2000-11-08 20:27:38 +00:00
Bruce Momjian
a9d5289d3c Back out aix makefile patch. 2000-11-06 18:06:58 +00:00
Bruce Momjian
712c8bba84 Makefile.ports (copied from makefiles/Makefile.aix) is included before
the default target in GNUmakefile is reached.  This patch calls that
default target.

Pete Forman
2000-11-06 17:07:43 +00:00
Peter Eisentraut
c7a794998a Separate CFLAGS_SL and CXXFLAGS_SL, to allow building with C and C++
compilers from different providers.  (Especially important since the
C++ compiler that goes with your favourite C compiler might not work.)
2000-11-04 16:35:55 +00:00
Peter Eisentraut
b99ee7f37d This is the minimal version of the Darwin support patch from
Bruce Hartzler <bruceh@mail.utexas.edu>.  It contains shared library
support, regression test map, and the usual template files.  The dynamic
loader is missing, the spin lock code apparently doesn't assemble due to
syntax problems, and semaphores are to be hoped for from Apple.
2000-10-31 19:55:20 +00:00
Peter Eisentraut
dc0f5cb090 Determine CXXFLAGS after the C++ compiler was detected. Also honor
--enable-debug and environment variable override.
2000-10-31 18:16:20 +00:00
Peter Eisentraut
6707ede813 Make use of system-specific linker option to embed shared library search
path into executables and shared libraries (-rpath or -R for most).  Can be
disabled with --disable-rpath, since some binary packaging standards do not
like this option.
2000-10-27 23:59:39 +00:00
Peter Eisentraut
7b021ce17c Polish shared library build to reduce number of special hacks. In
particular, allow linking with arbitrary commands rather than only $(AR) or
$(LD), and treat C++ without hacks.

Add option to disable shared libraries.  This takes the place of the
BSD_SHLIB variable.  The regression test driver ignores the plpgsql test
if there are no shared libraries available.
2000-10-23 21:44:12 +00:00
Peter Eisentraut
fba790ad58 Makeover for Unixware 7.1.1
* Makefile: Add more standard targets.  Improve shell redirection in GNU
make detection.
* src/backend/access/transam/rmgr.c: Fix incorrect(?) C.
* src/backend/libpq/pqcomm.c (StreamConnection): Work around accept() bug.
* src/include/port/unixware.h: ...with help from here.
* src/backend/nodes/print.c (plannode_type): Remove some "break"s after
"return"s.
* src/backend/tcop/dest.c (DestToFunction): ditto.
* src/backend/nodes/readfuncs.c: Add proper prototypes.
* src/backend/utils/adt/numutils.c (pg_atoi): Cope specially with strtol()
setting EINVAL. This saves us from creating an extra set of regression test
output for the affected systems.
* src/include/storage/s_lock.h (tas): Correct prototype.
* src/interfaces/libpq/fe-connect.c (parseServiceInfo): Don't use variable
as dimension in array definition.
* src/makefiles/Makefile.unixware: Add support for GCC.
* src/template/unixware: same here
* src/test/regress/expected/abstime-solaris-1947.out: Adjust whitespace.
* src/test/regress/expected/horology-solaris-1947.out: Part of this file
was evidently missing.
* src/test/regress/pg_regress.sh: Fix shell.  mkdir -p returns non-zero if
the directory exists.
* src/test/regress/resultmap: Add entries for Unixware.
2000-10-22 22:15:13 +00:00
Peter Eisentraut
f8ff1ee5aa Move DLSUFFIX, AROPT, and CFLAGS_SL settings from template to
Makefile.port, since they are of no use to configure and much of the
library magic happens in Makefile.port anyway.

Use __alpha, not __alpha__, since the former is universally available.
Remove -DNOFIXADE from the compile command line and put it in the port
include file.
2000-10-21 22:36:14 +00:00
Peter Eisentraut
ec195b991f This file isn't used anywhere. 2000-10-21 17:09:18 +00:00
Peter Eisentraut
12e7558c76 Add check for GNU or not GNU ld, needed to pick the right export_dynamic
flags for Solaris.  The test itself is straight from libtool.
2000-10-20 23:57:34 +00:00
Peter Eisentraut
805e431a38 Add support for VPATH builds, that is, building somewhere else than in the
source directory.  This involves mostly makefiles using $(srcdir) when they
might have used ".".  (Regression tests don't work with this, yet.)

Sort out usage of CPPFLAGS, CFLAGS (and CXXFLAGS).  Add "override" keyword
in most places, to preserve necessary flags even when the user overrode the
flags.
2000-10-20 21:04:27 +00:00
Bruce Momjian
78d4ca03d4 Something changed, that now shows that there is a dependency missing in
Makefile .aix

Please apply to current, to fix shared lib build from single .o files.
Thanks
Andreas
2000-10-16 15:00:15 +00:00
Peter Eisentraut
4d76a801c6 Unify solaris_i386 and solaris_sparc templates. They were almost identical
anyway, the rest being due to them not being kept in sync.  Add configure
test for lorder and use it (on Solaris) when found.
2000-10-10 21:22:29 +00:00
Peter Eisentraut
c4ccc6146b Cosmetic cleanups of Beos port 2000-10-09 16:42:55 +00:00