diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile.shlib | 11 | ||||
-rw-r--r-- | src/backend/port/dynloader/darwin.c | 36 | ||||
-rw-r--r-- | src/backend/port/dynloader/darwin.h | 5 | ||||
-rw-r--r-- | src/include/port/darwin.h | 6 | ||||
-rw-r--r-- | src/makefiles/Makefile.darwin | 7 | ||||
-rw-r--r-- | src/template/darwin | 4 | ||||
-rw-r--r-- | src/test/regress/resultmap | 3 |
7 files changed, 69 insertions, 3 deletions
diff --git a/src/Makefile.shlib b/src/Makefile.shlib index 8f60f3a196e..2d7cc4a0e1f 100644 --- a/src/Makefile.shlib +++ b/src/Makefile.shlib @@ -6,7 +6,7 @@ # Copyright (c) 1998, Regents of the University of California # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/Makefile.shlib,v 1.30 2000/10/27 23:59:39 petere Exp $ +# $Header: /cvsroot/pgsql/src/Makefile.shlib,v 1.31 2000/10/31 19:55:18 petere Exp $ # #------------------------------------------------------------------------- @@ -52,9 +52,9 @@ # Got that? Look at src/interfaces/libpq/Makefile for an example. ifndef cplusplus -COMPILER = $(CC) +COMPILER = $(CC) $(CFLAGS) else -COMPILER = $(CXX) +COMPILER = $(CXX) $(CXXFLAGS) endif @@ -103,6 +103,11 @@ ifeq ($(PORTNAME), aix) SHLIB_LINK += -lc endif +ifeq ($(PORTNAME), darwin) + shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION) + LINK.shared = $(COMPILER) $(CFLAGS_SL) +endif + ifeq ($(PORTNAME), openbsd) shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION) ifdef ELF_SYSTEM diff --git a/src/backend/port/dynloader/darwin.c b/src/backend/port/dynloader/darwin.c new file mode 100644 index 00000000000..fa39a7dd319 --- /dev/null +++ b/src/backend/port/dynloader/darwin.c @@ -0,0 +1,36 @@ +/* + * This is a place holder until someone supplies a dynamic loader + * interface for this platform. + * + * $Header: /cvsroot/pgsql/src/backend/port/dynloader/darwin.c,v 1.1 2000/10/31 19:55:19 petere Exp $ + */ + +#include "postgres.h" +#include "fmgr.h" +#include "utils/dynamic_loader.h" +#include "dynloader.h" + +void * +pg_dlopen(char *filename) +{ + return (void *) NULL; +} + +PGFunction +pg_dlsym(void *handle, char *funcname) +{ + return NULL; +} + +void +pg_dlclose(void *handle) +{ +} + +char * +pg_dlerror() +{ + static char errmsg[] = "the dynamic loader for darwin doesn't exist yet"; + + return errmsg; +} diff --git a/src/backend/port/dynloader/darwin.h b/src/backend/port/dynloader/darwin.h new file mode 100644 index 00000000000..9ab7e857615 --- /dev/null +++ b/src/backend/port/dynloader/darwin.h @@ -0,0 +1,5 @@ +/* $Header: /cvsroot/pgsql/src/backend/port/dynloader/darwin.h,v 1.1 2000/10/31 19:55:19 petere Exp $ */ +void *pg_dlopen(char *filename); +PGFunction pg_dlsym(void *handle, char *funcname); +void pg_dlclose(void *handle); +char *pg_dlerror(); diff --git a/src/include/port/darwin.h b/src/include/port/darwin.h new file mode 100644 index 00000000000..597b998a017 --- /dev/null +++ b/src/include/port/darwin.h @@ -0,0 +1,6 @@ +#define HAS_TEST_AND_SET +#if defined(__powerpc__) +typedef unsigned int slock_t; +#else +typedef unsigned char slock_t; +#endif diff --git a/src/makefiles/Makefile.darwin b/src/makefiles/Makefile.darwin new file mode 100644 index 00000000000..09f270bf7be --- /dev/null +++ b/src/makefiles/Makefile.darwin @@ -0,0 +1,7 @@ +AROPT = cr + +DLSUFFIX = .so +CFLAGS_SL = -bundle -undefined suppress + +%.so: %.o + $(CC) $(CFLAGS) $(CFLAGS_SL) -o $@ $< diff --git a/src/template/darwin b/src/template/darwin new file mode 100644 index 00000000000..fb99dffb89c --- /dev/null +++ b/src/template/darwin @@ -0,0 +1,4 @@ +# regular cpp is broken in current development releases +CC="$CC -traditional-cpp" +# be on safe side while they sort out their compiler +CFLAGS=-O0 diff --git a/src/test/regress/resultmap b/src/test/regress/resultmap index d7c72635796..b274de07f8b 100644 --- a/src/test/regress/resultmap +++ b/src/test/regress/resultmap @@ -12,6 +12,7 @@ float8/.*-qnx=float8-exp-three-digits float8/alpha.*-dec-osf=float8-fp-exception float8/i.86-pc-cygwin=float8-small-is-zero geometry/.*-bsdi=geometry-positive-zeros-bsd +geometry/.*-darwin=geometry-positive-zeros geometry/.*-freebsd=geometry-positive-zeros geometry/.*-freebsd4.0=geometry-positive-zeros-bsd geometry/.*-irix6=geometry-irix @@ -35,6 +36,7 @@ horology/sparc-sun-solaris=horology-solaris-1947 horology/.*-sysv5uw=horology-solaris-1947 int2/.*-aix4=int2-too-large int2/.*-bsdi=int2-too-large +int2/.*-darwin=int2-too-large int2/.*-freebsd=int2-too-large int2/.*-irix6=int2-too-large int2/.*-netbsd=int2-too-large @@ -50,6 +52,7 @@ int2/.*-sysv5uw=int2-too-large int2/.*-beos=int2-range-error int4/.*-aix4=int4-too-large int4/.*-bsdi=int4-too-large +int4/.*-darwin=int4-too-large int4/.*-freebsd=int4-too-large int4/.*-irix6=int4-too-large int4/.*-netbsd=int4-too-large |