Commit Graph

164 Commits

Author SHA1 Message Date
Peter Eisentraut 46e76373ec Implement a few changes to how shared libraries and dynamically loadable
modules are built.  Foremost, it creates a solid distinction between these two
types of targets based on what had already been implemented and duplicated in
ad hoc ways before.  Specifically,

- Dynamically loadable modules no longer get a soname.  The numbers previously
set in the makefiles were dummy numbers anyway, and the presence of a soname
upset a few packaging tools, so it is nicer not to have one.

- The cumbersome detour taken on installation (build a libfoo.so.0.0.0 and
then override the rule to install foo.so instead) is removed.

- Lots of duplicated code simplified.
2008-04-07 14:15:58 +00:00
Peter Eisentraut 9623b727da Don't build the win32 support files in the all target, only in distprep and
when they are actually needed as prerequisites.
2008-02-26 14:26:16 +00:00
Peter Eisentraut bdaf90b70f Reorganize some of the exports list generation code. It seems that this
has been reinvented about four different times throughout history (aix,
cygwin, win32, darwin/linux) and a lot of the concepts are actually shared,
which the code now shows better.
2008-02-26 10:45:24 +00:00
Peter Eisentraut 734a56ca2e Escape # character in variable assignment 2008-02-26 10:30:06 +00:00
Peter Eisentraut a1d5d85747 Refactor the code that creates the shared library export files to appear
only once in Makefile.shlib and not in four copies.
2008-02-26 06:41:24 +00:00
Bruce Momjian e152949ee2 Change $(CC) to $(COMPILER) on Solaris gcc so -m64 is passed into the
shared link line.
2007-02-20 22:45:57 +00:00
Tom Lane 733abd2987 Fix another erroneous =-for-:= substitution. 2007-02-11 19:31:45 +00:00
Peter Eisentraut c138b966d4 Replace useless uses of := by = in makefiles. 2007-02-09 15:56:00 +00:00
Peter Eisentraut fe733968ea Indent comments in makefiles better so they don't appear in the output. 2007-01-07 08:49:31 +00:00
Tom Lane 9b5e108ee9 Fix shared library creation to work properly on AIX. Albe Laurenz 2006-09-19 15:36:08 +00:00
Tom Lane 1e7bb2da57 Arrange to strip libpq.so of symbols that aren't officially supposed to
be exported on Linux and Darwin.  We already did this on Windows but
that's not enough, as evidenced by the fact that libecpg had an unexpected
dependency on one such symbol.  We should try to do it on more platforms.
Fix ecpg's oversight, and bump libpq's major .so version number to reflect
the unwanted but nonetheless real ABI break.
2006-04-28 02:53:20 +00:00
Tom Lane 04ca4caa81 Remove use of lorder and tsort while building static libraries. There's
no evidence that any currently-supported platform needs this, and good
reason to think that any platform that did need it couldn't use the static
libraries anyway --- libpq, at least, has circular references.  Removing
the code shuts up tsort warnings about the circular references on some
platforms.
2006-04-19 16:32:08 +00:00
Bruce Momjian 44f9021223 Remove BEOS port. 2006-01-05 03:01:38 +00:00
Bruce Momjian 12af9cdff4 Add support for Solaris x86_64 using Sun's compiler.
Pierre Girard
2005-12-30 21:43:41 +00:00
Peter Eisentraut a29c04a541 Allow installation into directories containing spaces in the name. 2005-12-09 21:19:36 +00:00
Tom Lane 6d4bcda38c Fix out-of-order inclusion of -L switches from LDFLAGS on AIX and HPUX.
Per example from Dirk Pirschel.
2005-12-03 20:16:31 +00:00
Tom Lane a7de22d8d5 Clean up AIX build to avoid 'duplicate symbol' warnings, by moving use
of postgres.imp file into BE_DLLLIBS macro.  This makes the AIX build
work more like the Windows and Darwin builds, which have similar requirements
to mention a backend library when linking shared libraries that will be
dynamically loaded into the backend.
2005-10-28 17:32:22 +00:00
Tom Lane be27a20123 Cygwin no longer needs to hack SHLIB_LINK, now that Rocco Altier
fixed the contrib library inclusions properly.
2005-08-08 03:35:13 +00:00
Tom Lane 89439b8c4f Set shlib naming convention on Cygwin to 'cygFOO.dll', which appears
to be the platform standard.  This should fix recursive-rule breakage
due to recent Makefile changes.  Per discussion.
2005-08-07 19:02:08 +00:00
Tom Lane 0016911b5d Fix unwanted side-effects of recent SHLIB_LINK -L patch on existing
hacking of SHLIB_LINK for HPUX.
2005-07-13 17:00:44 +00:00
Bruce Momjian 5bced8f5cb Move -L flag around for shared builds:
I wrote:
> So either we code up some intelligence to put the "C" in the right
> position or we have to pass down "A B" and "D" separately from the
> main makefile.

The following patch might just do the former.  Please try it out.


Peter E.
2005-07-13 02:11:57 +00:00
Tom Lane b4363b7733 Hack around the discrepancy between default library search paths for
gcc and for HP's ld on HPUX.  There may be better ways to do this,
but this seems to work for me...
2005-07-12 23:06:48 +00:00
Bruce Momjian 7504f0bae8 Reverse this patch:
---------------------------------------------------------------------------

> A quick look shows that when you use --with-libraries=/foo/bar the
> generated link line for libraries says
>
>  -L/foo/bar -lpq
>
> and it should probably be the other way around (as it is for the
> executables).
>
> So I suspect we need some makefile tuning.

You were correct. This patch fixes it.

Jim C. Nasby
2005-07-04 04:17:00 +00:00
Bruce Momjian 16661d60ab > A quick look shows that when you use --with-libraries=/foo/bar the
> generated link line for libraries says
>
>  -L/foo/bar -lpq
>
> and it should probably be the other way around (as it is for the
> executables).
>
> So I suspect we need some makefile tuning.

You were correct. This patch fixes it.

Jim C. Nasby
2005-07-02 23:28:22 +00:00
Tom Lane a34d76ef65 Fix up makefile dependencies for pg_config_paths.h. 2004-11-20 21:13:06 +00:00
Tom Lane 8e57975219 Clean up rpath handling for HPUX --- we can't use the cc-style rpath
switch syntax when calling ld directly.
2004-11-19 21:27:42 +00:00
Tom Lane 86b5545260 Adjust SHLIB_LINK for cygwin case.
Reini Urban
2004-11-17 17:08:15 +00:00
Tom Lane bb85f1b9b1 Suppress duplicate rules for lib$(NAME).a on WIN32 and Cygwin.
Andrew Dunstan
2004-11-16 21:51:13 +00:00
Bruce Momjian c7add816f5 Export only required symbols in libpq on Win32.
Magnus Hagander
2004-10-16 03:26:43 +00:00
Bruce Momjian 4d94e99b90 > This lets you do something like:
>
>    ./configure LDFLAGS=-static-libgcc LDFLAGS_SL=-static-libgcc
>
> to produce binaries that do not depend on libgcc_s.so at all.

Oliver Jowett
2004-10-15 05:11:00 +00:00
Bruce Momjian 4855d7ebe4 Allow compiles for Cygwin /contrib modules.
Reini Urban
2004-10-13 10:20:04 +00:00
Bruce Momjian ae1703d897 Enable static lib builds on Win32 and Cygwin. 2004-10-13 09:51:47 +00:00
Bruce Momjian bac78bbac6 Update Cygwin build to not use DLLINIT, per Cygwin report from Reini
Urban
2004-10-12 22:20:17 +00:00
Neil Conway 0b112045b7 Fix vpath build break, induced by Bruce's recent commit. 2004-10-12 04:48:36 +00:00
Bruce Momjian 29e7dc420a Add some pg_config_path.h dependencies for places that include
pg_config_paths.h outside of /src/port.
2004-10-12 01:04:11 +00:00
Tom Lane 79a831e50a Tweak HPUX shared-library build flags, per Shinji Teragaito. 2004-10-08 04:22:59 +00:00
Tom Lane 346900e83b Fix shared library linking operations to work properly on all (or at
least more) combinations of HP-UX hardware, compiler, and linker.
Shinji Teragaito and Tom Lane.
2004-09-02 23:06:43 +00:00
Tom Lane 9df3086972 Cause libpq and ecpg libraries to be built as proper shared libraries
(.dylib format) on Mac OS X, while not messing up loadable modules for
the backend (which are the same kind of animal as a shared library on
every other platform, but not here).  Also get the naming convention
to match OS X practice, viz libFOO.version.so not libFOO.so.version.
In support of that last, refactor code in Makefile.shlib to make it
easier to have platform-specific shlib naming conventions.
This patch is loosely based on the Fink project's current postgresql.patch.
Tested by yours truly on OS X 10.3.4; does anyone have 10.2.* to check
it on?
2004-07-13 00:06:46 +00:00
Bruce Momjian 14531e0c44 Rename irix5 port to irix. 2004-05-19 21:37:43 +00:00
Bruce Momjian 0a54441cbf 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

Thomas Hallgren
2004-05-12 21:56:27 +00:00
Bruce Momjian c217b36e17 Win32 patch for Makefile.shlib
Claudio Natoli
2003-12-01 22:23:06 +00:00
PostgreSQL Daemon 969685ad44 $Header: -> $PostgreSQL Changes ... 2003-11-29 19:52:15 +00:00
Tom Lane 41e6e36719 When building shared libraries on HPUX with gcc, forcibly include -lgcc
to ensure any needed compiler support routines are included.  This is
arguably appropriate on *every* gcc platform, but for the moment I'll take
the conservative approach of only doing it on a platform where it's
provably useful.  Per complaint from Heiko Lehmann, 13-Feb-03, as well
as personal experience --- contrib/pgstattuple has never worked for me,
but it does now.
2003-10-20 01:34:33 +00:00
Tom Lane cd75f94daf Adjust Darwin build to use the default 'two level namespace' linking
method.  Fix a number of places where shared libraries were linked without
mentioning all the libraries they depend on; the Darwin and AIX ports
are known to require this, and it doesn't seem to hurt any other supported
platforms.  (Hence, remove code in pl/tcl makefile that tried to avoid
mentioning other libs if not needed.)
2003-09-27 19:35:32 +00:00
Tom Lane 58ad65ec2d Apply ranlib(1) after installing a static (.a) library on Darwin.
Per past complaints --- verified to still be a problem on OS X 10.2.6.
2003-09-20 21:26:20 +00:00
Bruce Momjian efebe2605e Since I haven't gotten a reply, can someone REVERT the lines in
src/Makefile.shlib that adds $(libdir)/$(soname) for
port,eq,unixware to $(soname)?

Larry Rosenman
2003-09-14 13:33:08 +00:00
Bruce Momjian 0f310ee703 Here is a patch to make PostgreSQL use a full path in DT_SONAME for
UnixWare.

Larry Rosenman
2003-09-10 03:56:33 +00:00
Peter Eisentraut 1a7f4ed525 Make "win" a separate port from "cygwin". This means you can now
configure under native Windows (MinGW that is), but you won't get very far
compiling yet.  The dynaloader files are from Jan Wieck's patch set.
2003-03-21 17:18:34 +00:00
Tom Lane 43057c7a27 Cause symlinks for shared-library versioning to run in the standard
direction on HP-UX; our former approach has been obsolete since HPUX 9.

Giles Lean
2003-01-11 17:22:19 +00:00
Bruce Momjian 33a6b67b51 > > > > and mb conversions (pg_ascii2mic and pg_mic2ascii not
> > > > found in the postmaster and not included from elsewhere)
> >
> > shared libs on AIX need to be able to resolve all symbols at linkage time.
> > Those two symbols are in backend/utils/SUBSYS.o but not in the postgres
> > executable.
>
> They are defined in backend/utils/mb/conv.c and declared in
> include/mb/pg_wchar.h.  They're also linked into the
> postmaster.  I don't see anything unusual.

Attached is a patch to fix the mb linking problems on AIX. As a nice side effect

it reduces the duplicate symbol warnings to linking libpq.so and libecpg.so
(all shlibs that are not postmaster loadable modules).

Please apply to current (only affects AIX).

The _LARGE_FILES problem is unfortunately still open, unless Peter
has fixed it per his recent idea.

Zeugswetter Andreas SB SD
2002-10-09 16:21:54 +00:00
Peter Eisentraut 337da0678a Assorted fixes for Cygwin:
Eliminate the mysterious games that the Cygwin build plays with the linker
flag variables.  DLLLIBS is gone, use SHLIB_LINK like everyone else.
Detect cygipc in configure, after the linker flags are set up, otherwise
configure might not work at all.

Make sure everything is covered by make clean.

Fix the build of the new conversion procedure modules.

Add new DLLIMPORT markers where required.

Finally, the compiler complains if we use an explicit
-I/usr/local/include, so don't do that.  Curiously, -L/usr/local/lib is
still necessary.
2002-09-05 18:28:46 +00:00
Peter Eisentraut e43ecb3d1a Remove leftovers from subproject removals. Fixes for Python and Kerberos
configuration.
2002-09-04 22:54:18 +00:00
Tom Lane 07c67187bf Avoid multiple scans of utils/mb/conversion_procs/ subdirectories during
'make install'; there are enough of 'em that this slowed down the make
noticeably.  Ensure that 'all' is the default make target in all these
directories (defaulting to 'make install' is surprising and dangerous
IMHO).  Fix a couple small typos.
2002-09-04 15:45:50 +00:00
Bruce Momjian 738d13833e AIX shlib fix for building libpq.so from Tomoyuki Niijima 2002-09-03 17:17:24 +00:00
Peter Eisentraut b0c3c48eb3 Assemble portability modules into libpgport library.
Some makefile simplifications.
2002-07-27 20:10:05 +00:00
Bruce Momjian 3cbb9eb265 Move few remaining src/utils files to backend/port so everything is in
one place.  Everything may be moved to src/utils eventually.

Add DLLINIT variable to simplify makfiles.
2002-07-16 05:46:36 +00:00
Peter Eisentraut 2f2d05763d Change PL/Tcl build to use configured compiler and Makefile.shlib
system, not Tcl-provided one.

Make sure export file, if any, is cleaned.

Tcl configuration is now read directly in configure and recorded in
Makefile.global.  This eliminates some duplicate efforts and allows
for easier hand-editing of the results, if necessary.
2002-05-24 18:10:17 +00:00
Peter Eisentraut 563673e15d Add make install-strip target. 2002-04-10 16:45:25 +00:00
Bruce Momjian 4552ddd535 Fix for compiling libpq++ on Solaris with Sun SPRO6U2.
Denis A Ustimenko
2001-11-11 19:20:53 +00:00
Peter Eisentraut c3291aed20 Fix shared library builds for MacOS X. 2001-10-05 21:15:38 +00:00
Peter Eisentraut 364a7ebe26 Provide some initial support for building the ODBC driver for
an already installed iODBC or unixODBC driver manager.  In particular,
use the include files provided by the driver manager over our own,
and use the odbcinst library of the driver manager rather than gpps.c.

Migrate portability sections common to several files into psqlodbc.h.
2001-09-22 22:54:33 +00:00
Peter Eisentraut 3278314847 Use gcc -shared rather than gcc -G for shared library linking on Solaris.
suggested by Bob Deblier (bob@virtualunlimited.com)
2001-09-11 23:20: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 f7bfb5518d Shared library and GCC support for SCO OpenServer. 2001-05-07 20:43:28 +00:00
Tom Lane 382a429d84 Add LDFLAGS_SL to AIX shlib building command, per report from
Rocco Altier <roccoa@routescape.com>.
2001-04-15 03:25:07 +00:00
Bruce Momjian 341cb70044 The following patch updates the FAQ_AIX and makes C++ code work with
more recent versions of the IBM C++ compiler (now called VisualAge C++).
The C++ part was previously broken (g++ and xlC), thus this is zero risk.
Only AIX specific parts are touched (1 Makefile.shlib line (link with $(COMPILER
) instead
of $(CC) and one shell script line (parameter -C to nm to not demangle C++ symbo
ls for
.exp file)).

I thus ask you to please apply this patch before release.

With or without this patch RC1 on AIX 4.3.2 RS6000 passes "gmake check" for both
 the native
compiler vac.C 5.0.1 and gcc 2.95.2 :-)

Andreas
2001-03-27 14:56:20 +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
Tom Lane 9c2c9fcdfb Turns out the HPUX linker likes -Bsymbolic too. Without this, ODBC
driver does not work because its internal cross-references get bound
to similarly named functions in unixODBC shared library.
2001-03-10 23:15:20 +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 20edc4afd2 move comment 2001-02-10 18:46:34 +00:00
Bruce Momjian f0b0337623 Add comment about linker/compiler on bsd. 2001-02-10 17:36:57 +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
Bruce Momjian db98204a8a Revert shlib changes. 2001-02-10 16:26:38 +00:00
Bruce Momjian fd866b4580 Remove protcol option buttons. 2001-02-10 16:25:10 +00:00
Peter Eisentraut b1f528f86c Check for -lresolv. 2001-02-04 14:09:33 +00:00
Peter Eisentraut ecab48f5ec -L linker options are now in LDFLAGS, not LIBS. The word hadn't gotten
through to here yet.
2000-12-06 19:37:08 +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 d8a11b29c1 Give GCC on Irix a (theoretical) chance. 2000-11-14 21:12:00 +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 0225d1f01e Fix 'soname's for various platforms, so that libpq.so.2.0 is considered
compatible with libpq.so.2.1, etc.
2000-11-08 20:18:49 +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 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 26d008c62f Use compiler driver, not linker, to link shared libraries on Unixware. 2000-10-27 20:09:48 +00:00
Peter Eisentraut 53f300d49e Rearrange handling of -L linker options so that they are always before all
the -l options.  (This was not the case when using the  OpenSSL or Kerberos
options.)  Also make sure that shared library links get to see all the -L
options.  Get Kerberos 5 support to compile on Redhat 7.0.  Add OpenSSL and
-lsocket (if used/found) to libpq link.
2000-10-25 16:13:52 +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 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
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
Bruce Momjian 7ea8403c8a The beos port in the source tree doesn't even compile. and even
after that dynamic loading isn't working and shared memory handling is
broken.

        Attached with this message, there is a Zip file which contain :

        * beos.diff = patch file generated with difforig
        * beos = folder with beos support files which need to be moved in /
src/backend/port
        * expected = foler with three file for message and precision
difference in regression test
        * regression.diff = rule problem (need to kill the backend manualy)
        * dynloader = dynloader files (they are also in the pacth files,
but there is so much modification that I have join full files)

        Everything works except a problem in 'rules' Is there some problems
with rules in the current tree ? It used to works with last week tree.

Cyril VELTER
2000-10-07 14:39:21 +00:00
Peter Eisentraut 335248c9b7 Support for DESTDIR make variable. This is used as in `make install
DESTDIR=/else/where' and prepends the value of DESTDIR to the full
installation paths (e.g., /else/where/usr/local/pgsql/bin). This allows
users to install the package into a location different from the one that
was configured and hard-coded into various scripts, e.g., for creating
binary packages.

DESTDIR is in many cases preferrable over `make install
prefix=/else/where' because

a) `prefix' affects the path that is hard-coded into the files, which can
lead to a `make install prefix=xxx' (as done by the regression test
driver) corrupting the files in the source tree with wrong paths.

b) it doesn't work at all if a directory was overridden to not depend on
`prefix', e.g., --sysconfdir=/etc.

(Updating the regression test driver to use DESTDIR is a separate
undertaking.)

See also autoconf@gnu.org, From: Akim Demaille <akim@epita.fr>, Date: 08
Sep 2000 12:48:59 +0200, Message-ID:
<mv4em2vb1lw.fsf@nostromo.lrde.epita.fr>, Subject: Re: HTML format
documentation.
2000-09-17 13:02:52 +00:00
Bruce Momjian 16e948781c |> The Makefile.shlib changes will have to be discussed with other Linux
|> developers so we are sure it will work on all platforms.

The problem with the current settings is that the linker is called
directly.  This is wrong, it should always be called through the
compiler
driver (the only exception is `ld -r').  This will make sure that the
necessary libraries like libgcc are linked in.

But there is still a different problem with the setting of LDFLAGS_ODBC.
The psqlodbc module defines the functions _init and _fini which are
reserved for the shared library initialisation.  These should be changed
to constructor functions.  Then LDFLAGS_ODBC can be changed to be just
`-lm'.  Btw, why does it use -Bsymbolic?

Andreas Schwab
2000-07-07 01:23:44 +00:00
Peter Eisentraut 44f64dd3ea Makefile cleanup for interface tree. Now essentially with all the
standard targets and behaviour. Replaced Makefile.in's with
Makefile's and declared the respective variables in Makefile.global.

maintainer-clean target now available at top level, although it does
not work in the backend tree yet.

Cleanup pass over Makefile.shlib, renamed some targets and variables.
The shared library symlink tests are now done by make, not the shell.

ecpg: Remove one warning in sloppy flex output.

PL/Perl and Perl interface: the MakeMaker documentation is confusing,
the realclean target *does* "delete derived files", but it also
uninstalls them. Don't use that.

The submake targets in the various bin directories that update libpq
should `make all', not `make libpq.a'. That is a) unportable, and
b) doesn't build the shared library.
2000-06-28 18:30:16 +00:00
Bruce Momjian a47e20b049 Several compilation and run-time problems occur when building on SGI
IRIX systems using the native compilers.  A summary is:
- Various files use "//" as a comment delimiter in c files.
- Problems caused by assuming "char" is signed.
  cash.in: building -signed the rules regression test fails as described
    in FAQ_QNX4.  If CHAR_MAX is "255U" then ((signed char)CHAR_MAX) is -1.
  postmaster.c: random number regression test failed without this change.
- Some generic build issues and warning message cleanup.

David Kaelbling
2000-05-16 20:48:52 +00:00
Bruce Momjian de62329acd Fix for bsdi 4.1 shared libraries. 2000-03-09 17:07:32 +00:00
Bruce Momjian f43ec05d05 I've made a diff against the 7.0beta1 tree that accomplishes several things:
1) adds NetBSD shared lib support on both ELF and a.out platforms

        2) replaces "-L$(LIBPQDIR) -lpq" with "$(LIBPQ)" defined in
           Makefile.global.  This makes it much easier to build stuff in
           the source tree after you've already installed the libraries.

        3) adds TEMPLATEDIR in Makefile.global that indicates where the
           database templates are stored.  This separates the template files
           from real libraries that are installed in $(LIBDIR).
        4) changes include order of <readline/readline.h> and <readline.h>.
           The latest GNU readline installs its headers under a readline
           subdirectory.

In addition to applying the patch below the following files need to be copied:

        backend/port/dynloader:
                bsd.h -> netbsd.h
                bsd.c -> netbsd.c
        include/port:
                bsd.h -> netbsd.h
        makefiles:
                Makefile.bsd -> Makefile.netbsd

It would be great to see this incorporated into the source tree before
the 7.0 release is cut.

        Thanks!

     -- Johnny C. Lam <lamj@stat.cmu.edu>
2000-03-08 01:58:46 +00:00
Bruce Momjian 3ffd3d82db Make LD -r as macros that can be changed for QNX. 1999-12-09 19:15:45 +00:00
Bruce Momjian c3ac9f07b7 Hi,
I have changed a bit the makefiles for the win32 port - the *.def files
(created when building shared libraries) are now clean from
Makefile.shlib.

I have also removed "-g" from CFLAGS in the "cygwin32" template - it can
be
enabled when running configure.

                        Dan
1999-10-13 11:38:42 +00:00
Bruce Momjian 283da86feb Irix fix from Mark Dalphin 1999-09-27 20:54:56 +00:00