Re: Universal libpq.a ?
От | Larry Rosenman |
---|---|
Тема | Re: Universal libpq.a ? |
Дата | |
Msg-id | 20080205090137.H85062@thebighonker.lerctr.org обсуждение исходный текст |
Ответ на | Re: Universal libpq.a ? (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-general |
On Mon, 4 Feb 2008, Tom Lane wrote: > "Dave Page" <dpage@postgresql.org> writes: >> On Feb 4, 2008 6:25 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: >>> "Dave Page" <dpage@postgresql.org> writes: >>>> The Mac build of EDB Postgres is universal throughout, >>> >>> Yeah? How painful is it? We've had more than one request to enable >>> universal builds. > >> There was fair bit of pain getting it to work, but the resulting >> script isn't overly complex. Note this is based on work by the guys at >> entropy.ch. Ignore the target directory fudging... > > Hmm. The multiple versions of pg_config.h don't bother me --- the RPM > distributions have to do something very similar to support multilib > Linux platforms. This bit seems pretty brute-force though: > >> # Fixup the makefiles >> echo "Post-processing Makefiles for Universal Binary build" >> find . -name Makefile -print -exec perl -p -i.backup -e 's/\Q$(LD) >> $(LDREL) $(LDOUT)\E (\S+) (.+)/\$(LD) -arch ppc \$(LDREL) \$(LDOUT) >> $1.ppc $2; \$(LD) -arch i386 \$(LDREL) \$(LDOUT) $1.i386 $2; lipo >> -create -output $1 $1.ppc $1.i386/' {} \; || _die "Failed to >> post-process the Postgres Makefiles for Universal build" > > I thought I'd read that you could solve this problem by using the gcc > frontend to invoke loading, ie something involving making $(LD) call gcc > with some options. I'd be willing to tweak the LDxxx macros a bit if > needed to enable a solution like that, but changing the Makefiles at > build time is clearly right out ... When I was playing with this last week, the problem is that the gcc front end when passing -Wl,-r still includes other things to make the relocatable SUBSYS.o's. So, when we try to link, we get duplicate symbols. I gave up, and just built it twice, and then lipo'd the 2 bin and lib directory files together as a quick hack. > > regards, tom lane > > ---------------------------(end of broadcast)--------------------------- > TIP 9: In versions below 8.0, the planner will ignore your desire to > choose an index scan if your joining column's datatypes do not > match > -- 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
В списке pgsql-general по дате отправления: