diff options
author | Bruce Momjian <bruce@momjian.us> | 2000-03-08 01:58:46 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2000-03-08 01:58:46 +0000 |
commit | f43ec05d05bb22e7bd398ea7a8399d157eca6fb4 (patch) | |
tree | 6ba6e867726640a9f313539a51c2814b36dc511c /src/backend/port/dynloader/netbsd.h | |
parent | 26c953e3732150e8992f4d1ad3da703b9587e175 (diff) | |
download | postgresql-f43ec05d05bb22e7bd398ea7a8399d157eca6fb4.tar.gz postgresql-f43ec05d05bb22e7bd398ea7a8399d157eca6fb4.zip |
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>
Diffstat (limited to 'src/backend/port/dynloader/netbsd.h')
-rw-r--r-- | src/backend/port/dynloader/netbsd.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/backend/port/dynloader/netbsd.h b/src/backend/port/dynloader/netbsd.h new file mode 100644 index 00000000000..ad583242835 --- /dev/null +++ b/src/backend/port/dynloader/netbsd.h @@ -0,0 +1,49 @@ +/*------------------------------------------------------------------------- + * + * port_protos.h + * port-specific prototypes for NetBSD 1.0 + * + * + * Portions Copyright (c) 1996-2000, PostgreSQL, Inc + * Portions Copyright (c) 1994, Regents of the University of California + * + * $Id: netbsd.h,v 1.1 2000/03/08 01:58:17 momjian Exp $ + * + *------------------------------------------------------------------------- + */ +#ifndef PORT_PROTOS_H +#define PORT_PROTOS_H + +#include <sys/types.h> +#include <nlist.h> +#include "link.h" + +#include "postgres.h" + +#include "fmgr.h" +#include "utils/dynamic_loader.h" + +/* dynloader.c */ +/* + * Dynamic Loader on NetBSD 1.0. + * + * this dynamic loader uses the system dynamic loading interface for shared + * libraries (ie. dlopen/dlsym/dlclose). The user must specify a shared + * library as the file to be dynamically loaded. + * + * agc - I know this is all a bit crufty, but it does work, is fairly + * portable, and works (the stipulation that the d.l. function must + * begin with an underscore is fairly tricky, and some versions of + * NetBSD (like 1.0, and 1.0A pre June 1995) have no dlerror.) + */ +#define pg_dlopen(f) BSD44_derived_dlopen(f, 1) +#define pg_dlsym BSD44_derived_dlsym +#define pg_dlclose BSD44_derived_dlclose +#define pg_dlerror BSD44_derived_dlerror + +char *BSD44_derived_dlerror(void); +void *BSD44_derived_dlopen(const char *filename, int num); +void *BSD44_derived_dlsym(void *handle, const char *name); +void BSD44_derived_dlclose(void *handle); + +#endif /* PORT_PROTOS_H */ |