Makefile support for Mac OS X Fat Binaries?

Started by Larry Rosenmanabout 18 years ago6 messageshackers
Jump to latest
#1Larry Rosenman
ler@lerctr.org

would the community accept a patch that would allow the making of 4-way fat
binaries on Mac OS X 10.5+? (Obviously for 8.4+).

I'm thinking about attempting it for an inside project here at work, but
was wondering if there was community interest?

Thanks!

--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 512-248-2683 E-Mail: ler@lerctr.org
US Mail: 430 Valona Loop, Round Rock, TX 78681-3893

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Larry Rosenman (#1)
Re: Makefile support for Mac OS X Fat Binaries?

Larry Rosenman <ler@lerctr.org> writes:

would the community accept a patch that would allow the making of 4-way fat
binaries on Mac OS X 10.5+? (Obviously for 8.4+).

Depends on how big and ugly it is, I think. If you can do it just by
hacking CFLAGS and friends, sure; if it's as invasive as the Windows
build machinery, definitely not; in between, we'd have to see it.

regards, tom lane

#3Larry Rosenman
ler@lerctr.org
In reply to: Tom Lane (#2)
Re: Makefile support for Mac OS X Fat Binaries?

On Mon, 21 Jan 2008, Tom Lane wrote:

Larry Rosenman <ler@lerctr.org> writes:

would the community accept a patch that would allow the making of 4-way fat
binaries on Mac OS X 10.5+? (Obviously for 8.4+).

Depends on how big and ugly it is, I think. If you can do it just by
hacking CFLAGS and friends, sure; if it's as invasive as the Windows
build machinery, definitely not; in between, we'd have to see it.

I know I'm going to have to make a few lipo runs, and shell for-loops
to make the different SUBSYS.o's. (ld by itself won't do it).

I'll see how grotty it is, but I don't think it will be nearly as bad as the
Windows machinery.

regards, tom lane

--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 512-248-2683 E-Mail: ler@lerctr.org
US Mail: 430 Valona Loop, Round Rock, TX 78681-3893

#4Bruce Momjian
bruce@momjian.us
In reply to: Tom Lane (#2)
Re: Makefile support for Mac OS X Fat Binaries?

"Tom Lane" <tgl@sss.pgh.pa.us> writes:

Larry Rosenman <ler@lerctr.org> writes:

would the community accept a patch that would allow the making of 4-way fat
binaries on Mac OS X 10.5+? (Obviously for 8.4+).

Depends on how big and ugly it is, I think. If you can do it just by
hacking CFLAGS and friends, sure; if it's as invasive as the Windows
build machinery, definitely not; in between, we'd have to see it.

We've been through this once already. You can't do it (cleanly) with just
Makefile hackery. The architectures have different endianness and possibly
other ABI differences. To handle that cleanly you have to run configure once
for each architecture and build each architecture with the appropriate
config.h.

--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com
Ask me about EnterpriseDB's On-Demand Production Tuning

#5Larry Rosenman
ler@lerctr.org
In reply to: Bruce Momjian (#4)
Re: Makefile support for Mac OS X Fat Binaries?

On Tue, 22 Jan 2008, Gregory Stark wrote:

"Tom Lane" <tgl@sss.pgh.pa.us> writes:

Larry Rosenman <ler@lerctr.org> writes:

would the community accept a patch that would allow the making of 4-way fat
binaries on Mac OS X 10.5+? (Obviously for 8.4+).

Depends on how big and ugly it is, I think. If you can do it just by
hacking CFLAGS and friends, sure; if it's as invasive as the Windows
build machinery, definitely not; in between, we'd have to see it.

We've been through this once already. You can't do it (cleanly) with just
Makefile hackery. The architectures have different endianness and possibly
other ABI differences. To handle that cleanly you have to run configure once
for each architecture and build each architecture with the appropriate
config.h.

Could we then combine the executables into one 4-way fat binary ?

I'll see what I come up with.

--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 512-248-2683 E-Mail: ler@lerctr.org
US Mail: 430 Valona Loop, Round Rock, TX 78681-3893

#6Tom Lane
tgl@sss.pgh.pa.us
In reply to: Larry Rosenman (#5)
Re: Makefile support for Mac OS X Fat Binaries?

Larry Rosenman <ler@lerctr.org> writes:

On Tue, 22 Jan 2008, Gregory Stark wrote:

We've been through this once already. You can't do it (cleanly) with just
Makefile hackery. The architectures have different endianness and possibly
other ABI differences. To handle that cleanly you have to run configure once
for each architecture and build each architecture with the appropriate
config.h.

Could we then combine the executables into one 4-way fat binary ?

Maybe you need to be thinking about a script that is "outside" the build
system: run the configure/make/make install process 4 times, then
combine the results. You could use the fact that some file is not the
same in all 4 install trees as the trigger driving a combination
process. (Shades of multilib RPMs ...)

regards, tom lane