hi tom,
perl_embed_ldflags is currently the difference of
perl -MExtUtils::Embed -e ldopts
minus
perl -MConfig -e 'print $Config{ccdlflags}'
In that spirit, the answer would be to find something else in
ExtUtils
or Config that we can remove from ldopts.
As far as I can tell, there is nothing in Config that exposes just the
-arch switches without any other stuff. I'm inclined to go with Jan
Otto's solution of sed'ing out those switches by name. It's a bit
ugly
but should be safe.
Yes it is really ugly.
The problem here is that ARCHFLAGS is not set. If it is set correctly
the ldopts would be correctly set:
$ export ARCHFLAGS="-arch x86_64"
$ perl -MExtUtils::Embed -e ldopts
-arch x86_64 -L/usr/local/lib -L/System/Library/Perl/5.10.0/darwin-
thread-multi-2level/CORE -lperl -ldl -lm -lutil -lc
$
if ARCHFLAGS is not set Config_heavy.pl puts '-arch x86_64 -arch i386 -
arch ppc' in by default:
$ unset ARCHFLAGS
$ perl -MExtUtils::Embed -e ldopts
-L/usr/local/lib -L/System/Library/Perl/5.10.0/darwin-thread-
multi-2level/CORE -lperl -ldl -lm -lutil -lc
$
more elegant would be something like this instead of 'perl -
MExtUtils::Embed -e ldopts'
[ "$ARCHFLAGS" ] || export ARCHFLAGS=""; perl -MExtUtils::Embed -e
ldopts
example:
$ export ARCHFLAGS="-arch x86_64"
$ [ "$ARCHFLAGS" ] || export ARCHFLAGS=""; perl -MExtUtils::Embed -e
ldopts
-arch x86_64 -L/usr/local/lib -L/System/Library/Perl/5.10.0/darwin-
thread-multi-2level/CORE -lperl -ldl -lm -lutil -lc
$ unset ARCHFLAGS
$ [ "$ARCHFLAGS" ] || export ARCHFLAGS=""; perl -MExtUtils::Embed -e
ldopts
-L/usr/local/lib -L/System/Library/Perl/5.10.0/darwin-thread-
multi-2level/CORE -lperl -ldl -lm -lutil -lc
$
so we make shure if somebody tries to build an universal binary of
postgres by setting the correct ARCHFLAGS
the configure works too.
patch against HEAD:
diff -c -r1.653 configure
*** configure 26 Aug 2009 22:24:41 -0000 1.653
--- configure 8 Sep 2009 17:47:29 -0000
***************
*** 6941,6947 ****
{ $as_echo "$as_me:$LINENO: checking for flags to link embedded
Perl" >&5
$as_echo_n "checking for flags to link embedded Perl... " >&6; }
! pgac_tmp1=`$PERL -MExtUtils::Embed -e ldopts`
pgac_tmp2=`$PERL -MConfig -e 'print $Config{ccdlflags}'`
perl_embed_ldflags=`echo X"$pgac_tmp1" | sed "s/^X//;s%$pgac_tmp2%%"`
if test -z "$perl_embed_ldflags" ; then
--- 6941,6947 ----
{ $as_echo "$as_me:$LINENO: checking for flags to link embedded
Perl" >&5
$as_echo_n "checking for flags to link embedded Perl... " >&6; }
! pgac_tmp1=`[ "$ARCHFLAGS" ] || export ARCHFLAGS=""; $PERL -
MExtUtils::Embed -e ldopts`
pgac_tmp2=`$PERL -MConfig -e 'print $Config{ccdlflags}'`
perl_embed_ldflags=`echo X"$pgac_tmp1" | sed "s/^X//;s%$pgac_tmp2%%"`
if test -z "$perl_embed_ldflags" ; then
regards, jan otto
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers