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.
This commit is contained in:
parent
dc0f5cb090
commit
b99ee7f37d
@ -64,6 +64,7 @@ case $host_os in
|
||||
beos*) template=beos ;;
|
||||
bsdi*) template=bsdi ;;
|
||||
cygwin*) template=win ;;
|
||||
darwin*) template=darwin ;;
|
||||
dgux*) template=dgux ;;
|
||||
freebsd*) template=freebsd ;;
|
||||
hpux*) template=hpux ;;
|
||||
|
@ -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
|
||||
|
36
src/backend/port/dynloader/darwin.c
Normal file
36
src/backend/port/dynloader/darwin.c
Normal file
@ -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;
|
||||
}
|
5
src/backend/port/dynloader/darwin.h
Normal file
5
src/backend/port/dynloader/darwin.h
Normal file
@ -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();
|
6
src/include/port/darwin.h
Normal file
6
src/include/port/darwin.h
Normal file
@ -0,0 +1,6 @@
|
||||
#define HAS_TEST_AND_SET
|
||||
#if defined(__powerpc__)
|
||||
typedef unsigned int slock_t;
|
||||
#else
|
||||
typedef unsigned char slock_t;
|
||||
#endif
|
7
src/makefiles/Makefile.darwin
Normal file
7
src/makefiles/Makefile.darwin
Normal file
@ -0,0 +1,7 @@
|
||||
AROPT = cr
|
||||
|
||||
DLSUFFIX = .so
|
||||
CFLAGS_SL = -bundle -undefined suppress
|
||||
|
||||
%.so: %.o
|
||||
$(CC) $(CFLAGS) $(CFLAGS_SL) -o $@ $<
|
4
src/template/darwin
Normal file
4
src/template/darwin
Normal file
@ -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
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user