What it looks like is the first line of each section is pattern matching. If __LP64__ is defined, then it's a 64-bit architecture, and we want to use the top part of the if statement. The #defines they target seem to be all of the ones that are different on 32bit platforms.
I agree that you would want to do this in the configure script somehow. Doug On Fri, Aug 10, 2012 at 3:44 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: > Doug Coleman <doug.cole...@gmail.com> writes: >> The MacPorts Project (http://www.macports.org/) supports building >> universal binaries (32/64bit binaries in one file) for most projects. >> For PostgreSQL, they apply two patches after the configure script to >> correct some of the typedefs. Otherwise, the build fails in compiling >> a switch statement with duplicate cases. > >> The HomeBrew Project (http://mxcl.github.com/homebrew/) is a worthy >> successor to MacPorts, but they don't yet support a --universal >> argument for building PostgreSQL. There is currently a pull request on >> github to add universal support, but it's based on the patches from >> the MacPorts project. > > The files you link to don't make much sense to me (they do not look > like patch diffs) but they seem to suggest hard-wiring configure results > into the source code, which does not sound like an acceptable solution > from our standpoint. > > The approach we've suggested to people in the past is running configure > for each architecture and then building against that copy of > pg_config.h, or more likely combining the .h files with arch-specific > #ifdefs. You can find more info in our list archives --- the most > relevant thread I could find easily starts here: > http://archives.postgresql.org/pgsql-hackers/2008-07/msg00884.php > > regards, tom lane - Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers