Re: [PATCHES] add darwin/osxpb support to cvs

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Bruce Hartzler <bruceh(at)mail(dot)utexas(dot)edu>
Cc: PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [PATCHES] add darwin/osxpb support to cvs
Date: 2000-10-24 18:44:22
Message-ID: Pine.LNX.4.21.0010242027210.1165-100000@peter.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

Bruce Hartzler writes:

> this patch and tar archive will add support for the darwin/osxpb to the current cvs tree.

Next time you can make your patch with "diff -crN" so that you don't have
to create a separate tarball.

> - the config.guess and config.sub files have been updated by apple to
> support their new os. i don't think these changes have been folded
> back in to the main archive yet

I installed the latest ones from GNU which claim to support it according
to the ChangeLog.

> - the situation with darwin's implementation of sysv semaphores is in
> progress at the moment (the shm/ipc support *is* there and seems to
> work fine). so this patch uses HAVE_SYS_SEM_H to conditionally build

HAVE_SYS_SEM_H is a preprocessor symbol, not a makefile variable.

> the src/backend/port/darwin semaphore code (borrowed from qnx4).

If you could arrange it, could you use the same files as QNX, perhaps with
an #ifdef here or there

> I've followed the BeOS example of including the necessary sem.h
> declarations in src/include/port/darwin.h. this is rather messy at the
> moment and can be dumped once apple releases a version of PB with sysv
> sem built into the kernel.

The include/port/beos.h isn't really a shining example of how to do this.
This file is include *everywhere*, but we don't want to know about
semaphores everywhere. I'd prefer it if you use the QNX approach and
symlink sem.h into an include directory (e.g., /usr/local/include/sys),
since it's only temporary anyway.

Also, overriding configure results (à la #undef HAVE_UNION_SEMUN) isn't
cool.

I'm also somewhat concerned about the dynloader.c because it's under the
Apache license which has a funny advertisement clause. Comments from
someone?

> - i'm a bit confused over the __powerpc__ tas function in s_lock.c
> (there i assume for the ppc-linux port). it doesn't compile at all on
> darwin so i just added a version that does work on darwin under
> DARWIN_OS. it's potentially a bit confusing and s_lock.c should
> probably be changed to include a better conditional.

The compiler probably predefines something like __darwin__, which you
should use. You can find out with

touch foo.h
cc -E -dM foo.h
rm foo.h

And finally, what's up with this:

CFLAGS='-O0 -g -traditional-cpp'

? What's wrong with the "modern-cpp"?

--
Peter Eisentraut peter_e(at)gmx(dot)net http://yi.org/peter-e/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Larry Rosenman 2000-10-24 19:42:00 looks like we forgot something...
Previous Message Mikheev, Vadim 2000-10-24 16:48:23 RE: pgsql/src/backend/access/transam (xact.c xlog.c xlogutils.c)

Browse pgsql-patches by date

  From Date Subject
Next Message Peter Eisentraut 2000-10-24 20:23:55 Re: binary operators on integers
Previous Message Peter Eisentraut 2000-10-23 17:29:45 Re: add darwin/osxpb support to cvs