summaryrefslogtreecommitdiff
path: root/src/makefiles/Makefile.linux
AgeCommit message (Collapse)Author
2017-06-01Always use -fPIC, not -fpic, when building shared libraries with gcc.Tom Lane
On some platforms, -fpic fails for sufficiently large shared libraries. We've mostly not hit that boundary yet, but there are some extensions such as Citus and pglogical where it's becoming a problem. A bit of research suggests that the penalty for -fPIC is small, in the single-digit-percentage range --- and there's none at all on popular platforms such as x86_64. So let's just default to -fPIC everywhere and provide one less thing for extension developers to worry about. Per complaint from Christoph Berg. Back-patch to all supported branches. (I did not bother to touch the recently-removed Makefiles for sco and unixware in the back branches, though. We'd have no way to test that it doesn't break anything on those platforms.) Discussion: https://postgr.es/m/20170529155850.qojdfrwkkqnjb3ap@msg.df7cb.de
2012-12-18Remove allow_nonpic_in_shlibPeter Eisentraut
This was used in a time when a shared libperl or libpython was difficult to come by. That is obsolete, and the idea behind the flag was never fully portable anyway and will likely fail on more modern CPU architectures.
2010-07-05Split the LDFLAGS make variable into two parts: LDFLAGS is now used forTom Lane
linking both executables and shared libraries, and we add on LDFLAGS_EX when linking executables or LDFLAGS_SL when linking shared libraries. This provides a significantly cleaner way of dealing with link-time switches than the former behavior. Also, make sure that the various platform-specific %.so: %.o rules incorporate LDFLAGS and LDFLAGS_SL; most of them missed that before. (I did not add these variables for the platforms that invoke $(LD) directly, however. It's not clear if we can do that safely, since for the most part we assume these variables use CC command-line syntax.) Per gripe from Aaron Swenson and subsequent investigation.
2010-05-06On Linux, use --enable-new-dtags when specifying -rpath to linker.Tom Lane
This should allow LD_LIBRARY_PATH to work as desired. Per trouble report from Andy Colson.
2008-11-14Set SQL man pages to be section 7 by default, and only transform them toPeter Eisentraut
another section if required by the platform (instead of the old way of building them in section "l" and always transforming them to the platform-specific section). This speeds up the installation on common platforms, and it avoids some funny business with the man page tools and build process.
2008-09-01Synchronize the shared object build rules in Makefile.port with Makefile.shlibPeter Eisentraut
somewhat by adding CFLAGS where the compiler is used and Makefile.shlib already used CFLAGS.
2005-12-09Allow installation into directories containing spaces in the name.Peter Eisentraut
2004-12-21Add '-Wl,' prefix to linker switches consistently. Remove shlib_symbolicTom Lane
macros, which aren't used anywhere and haven't been for some time.
2004-11-19Modify the platform-specific makefiles so that macro 'rpath' is definedTom Lane
in terms of macro 'rpathdir', as I proposed a few weeks ago. In itself this commit shouldn't change the behavior at all, but it opens the door to using special rpaths for the PL shared libraries, as seems to be needed for plperl in particular.
2003-06-05Support for Intel compiler on LinuxPeter Eisentraut
2003-05-19Use -fPIC on Sparc, per Tom Callaway.Tom Lane
2001-08-29Install the SQL command man pages into a section appropriate for eachPeter Eisentraut
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-26VPATH and DESTDIR support for PL/Perl, using the same techniques employedPeter Eisentraut
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.
2000-12-16Fix linker options for ODBC driver. See comment inPeter Eisentraut
src/interfaces/odbc/GNUmakefile.
2000-10-27Make use of system-specific linker option to embed shared library searchPeter Eisentraut
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-21Move DLSUFFIX, AROPT, and CFLAGS_SL settings from template toPeter Eisentraut
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-07Separate -Wl,-E or equivalent into separate make variable, since it's onlyPeter Eisentraut
necessary for the postgres/postmaster link, not every link.
1998-10-12Fix for vacuum and cache use. Fix for BSDI 4.0.Bruce Momjian
1998-04-06DESTDIR removed, again.Bruce Momjian
1998-04-06Make DESTDIR consistent, and verious Linux cleanups.Bruce Momjian
1998-04-06Hi,Bruce Momjian
Attached you'll find a (big) patch that fixes make dep and make depend in all Makefiles where I found it to be appropriate. It also removes the dependency in Makefile.global for NAMEDATALEN and OIDNAMELEN by making backend/catalog/genbki.sh and bin/initdb/initdb.sh a little smarter. This no longer requires initdb.sh that is turned into initdb with a sed script when installing Postgres, hence initdb.sh should be renamed to initdb (after the patch has been applied :-) ) This patch is against the 6.3 sources, as it took a while to complete. Please review and apply, Cheers, Jeroen van Vianen
1998-04-05Remove DISTDIR.Bruce Momjian
1998-02-18Cancel last version which introduced unintended flagsThomas G. Lockhart
for linux-alpha support.
1998-02-14Apparently there was aMarc G. Fournier
compiler define that should have been enabled, but was not due to different naming conventions for Linux/Alpha. Attached is the patch he sent me, that I have not had a chance to test yet. From: Ryan Kirkpatrick <rkirkpat@nag.cs.colorado.edu>
1998-01-01Remove declaration for -DLINUX_ELF since testing for __ELF__ in code.Thomas G. Lockhart
1997-07-29mkLinux patches from Tatsuo Ishii.Bruce Momjian
1997-07-01Add flags to allow dynamic loader to find Postgres sharable libraries withoutThomas G. Lockhart
having to modify the system-wide library database.
1997-04-12Remove port specific Makefile 'targets' (ie. shared libraries) fromMarc G. Fournier
Makefile.global and move them to seperate 'include' makefiles Over time, should become even more port specific: ie. Makefile.BSD44_derived should be broken down into netbsd/freebsd specific ports