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

From: Bruce Hartzler <bruceh(at)mail(dot)utexas(dot)edu>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [PATCHES] add darwin/osxpb support to cvs
Date: 2000-10-24 21:16:41
Message-ID: p04330100b61ba78fc3d3@[132.177.189.56]
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

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

No problem. I tried just doing a diff with cvs but wasn't able to get
the -N option to work. This is the first time I've ever tried
patching unix software so I'm sorry if it's a bit messy. Thanks for
you help in getting it right.

> > - 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.

I'll try checking out the new versions and see if they work. I can
send you a diff with the ones I have here if you want to see the
additions Apple made.

> > 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.

I agree it's rather messy. I originally had just used the sym link in
/usr/local/include, but as I said, some of the newer Darwin kernels
have the sysv sem.h file already there and I was worried about people
overwriting it. If you think it's fair to put this responsibility on
the end user, I'm ok with that. I just thought it might be nice to
check and see if the semaphore implementation was already there, and
if not, build the necessary parts. I'll switch it back to the way it
was.

>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 wondering about this too. I'll try emailing Wilfredo Sanchez and
see if I can get the code outside the Apache license. This would
probably be easiest.

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

It doesn't actually provide __darwin__ but as I mentioned in a
previous post, Apple is suggesting people use __APPLE__ combined with
__ppc__ or __i386__ for the different darwin builds. The section in
s_lock.c should probably be changed to reflect this instead of using
DARWIN_OS.

>And finally, what's up with this:
>
>CFLAGS='-O0 -g -traditional-cpp'
>
>? What's wrong with the "modern-cpp"?

Apple's "modern-cpp" called cpp-precomp uses some strange parsing
that breaks on several files in the postgresql build. They are still
working on it apparently and are suggesting people simply use the
-traditional-cpp flag when this happens instead of trying to update
the files.

Thanks again for all your comments and suggestions.

Bruce

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2000-10-24 21:23:47 Re: Re: how to access backend pid from libpq ?
Previous Message Tom Lane 2000-10-24 20:52:41 Re: Fallback behavior for "UNKNOWN" types -- proposed change

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2000-10-24 21:30:39 Re: [PATCHES] binary operators on integers
Previous Message Marko Kreen 2000-10-24 20:38:44 Re: binary operators on integers