Commit b99ee7f3 authored by Peter Eisentraut's avatar Peter Eisentraut

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.
parent dc0f5cb0
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -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
......
/*
* 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;
}
/* $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();
#define HAS_TEST_AND_SET
#if defined(__powerpc__)
typedef unsigned int slock_t;
#else
typedef unsigned char slock_t;
#endif
AROPT = cr
DLSUFFIX = .so
CFLAGS_SL = -bundle -undefined suppress
%.so: %.o
$(CC) $(CFLAGS) $(CFLAGS_SL) -o $@ $<
# 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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment