Re: [PATCHES] add darwin/osxpb support to cvs - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: [PATCHES] add darwin/osxpb support to cvs
Date
Msg-id Pine.LNX.4.21.0010242027210.1165-100000@peter.localdomain
Whole thread Raw
Responses Re: [PATCHES] add darwin/osxpb support to cvs
List pgsql-hackers
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@gmx.net       http://yi.org/peter-e/



pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: [COMMITTERS] pgsql/src/backend/access/transam (xact.c xlog.c xlogutils.c)
Next
From: Larry Rosenman
Date:
Subject: looks like we forgot something...