You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
postgres/src/port
Tom Lane bfd3f37be3 Fix comparisons of pointers with zero to compare with NULL instead. 15 years ago
..
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 15 years ago
Makefile Remove cvs keywords from all files. 15 years ago
README Remove cvs keywords from all files. 15 years ago
chklocale.c Remove cvs keywords from all files. 15 years ago
crypt.c Remove cvs keywords from all files. 15 years ago
dirent.c Remove cvs keywords from all files. 15 years ago
dirmod.c Fix comparisons of pointers with zero to compare with NULL instead. 15 years ago
erand48.c Remove cvs keywords from all files. 15 years ago
exec.c Remove cvs keywords from all files. 15 years ago
fseeko.c Remove cvs keywords from all files. 15 years ago
getaddrinfo.c Remove cvs keywords from all files. 15 years ago
gethostname.c Remove cvs keywords from all files. 15 years ago
getopt.c Remove cvs keywords from all files. 15 years ago
getopt_long.c Remove cvs keywords from all files. 15 years ago
getrusage.c Remove cvs keywords from all files. 15 years ago
gettimeofday.c Remove cvs keywords from all files. 15 years ago
inet_aton.c Remove cvs keywords from all files. 15 years ago
isinf.c Remove cvs keywords from all files. 15 years ago
kill.c Remove cvs keywords from all files. 15 years ago
memcmp.c Remove cvs keywords from all files. 15 years ago
noblock.c Remove cvs keywords from all files. 15 years ago
open.c Remove cvs keywords from all files. 15 years ago
path.c Remove cvs keywords from all files. 15 years ago
pgsleep.c Remove cvs keywords from all files. 15 years ago
pgstrcasecmp.c Remove cvs keywords from all files. 15 years ago
pipe.c Remove cvs keywords from all files. 15 years ago
pthread-win32.h Remove cvs keywords from all files. 15 years ago
qsort.c Remove cvs keywords from all files. 15 years ago
qsort_arg.c Remove cvs keywords from all files. 15 years ago
random.c Remove cvs keywords from all files. 15 years ago
rint.c Remove cvs keywords from all files. 15 years ago
snprintf.c Remove cvs keywords from all files. 15 years ago
sprompt.c Remove cvs keywords from all files. 15 years ago
srandom.c Remove cvs keywords from all files. 15 years ago
strdup.c Remove cvs keywords from all files. 15 years ago
strerror.c Remove cvs keywords from all files. 15 years ago
strlcat.c Remove cvs keywords from all files. 15 years ago
strlcpy.c Remove cvs keywords from all files. 15 years ago
strtol.c Remove cvs keywords from all files. 15 years ago
strtoul.c Remove cvs keywords from all files. 15 years ago
thread.c Remove cvs keywords from all files. 15 years ago
unsetenv.c Remove cvs keywords from all files. 15 years ago
win32.ico
win32env.c Remove cvs keywords from all files. 15 years ago
win32error.c Remove cvs keywords from all files. 15 years ago
win32ver.rc Stamp HEAD as 9.1devel. 16 years ago

README

src/port/README

libpgport
=========

libpgport must have special behavior. It supplies functions to both
libraries and applications. However, there are two complexities:

1) Libraries need to use object files that are compiled with exactly
the same flags as the library. libpgport might not use the same flags,
so it is necessary to recompile the object files for individual
libraries. This is done by removing -lpgport from the link line:

# Need to recompile any libpgport object files
LIBS := $(filter-out -lpgport, $(LIBS))

and adding infrastructure to recompile the object files:

OBJS= execute.o typename.o descriptor.o data.o error.o prepare.o memory.o \
connect.o misc.o path.o exec.o \
$(filter snprintf.o, $(LIBOBJS))

The problem is that there is no testing of which object files need to be
added, but missing functions usually show up when linking user
applications.

2) For applications, we use -lpgport before -lpq, so the static files
from libpgport are linked first. This avoids having applications
dependent on symbols that are _used_ by libpq, but not intended to be
exported by libpq. libpq's libpgport usage changes over time, so such a
dependency is a problem. Win32, Linux, and Darwin use an export list to
control the symbols exported by libpq.