Variation on the problem I originally posted....

Instead of passing something when I run Makefile.PL to alter CCFLAGS in a lower-level Makefile.PL it turns out what i want to do is to pass something to Makefile.PL that *appends* to the LD value in the lower-level Makefile.PL

For example,

XM::Parser distro has:

     Makefile.PL
     Expat/
       Makefile.PL

and if I do:

   perl Makefile.PL

at the top level then the Makefile at the top and Expat/Makefile both have:

   LD = env MACOSX_DEPLOYMENT_TARGET=10.3 cc

The value of 'LD' comes from $Config{ld}

What I want is a way to pass an argument to

   perl Makefile.PL

that will *append* something to what is in LD. I want to end up with:

   LD = env MACOSX_DEPLOYMENT_TARGET=10.3 cc -arch ppc -arch i386



Now, you might think I could use the LD parameter when running Makefile.PL, thusly:

   my_ld=`perl -MConfig -e'print $Config{ld}'`
   perl Makefile.PL LD="$my_ld -arch ppc -arch i386"

But, that only sets LD to the expected value in the top-level Makefile, not in Expat/Makefile which doesn't help. It's the Expat/ Makefile that actually needs the extra settings.

I can hand-edit Expat/Makefile, but I want this to work as part of an automated build process.

So, is this a bug in me, in MakeMaker, or somewhere else?

-Matisse

PS: If it's not obvious, I am trying to do an automated build of XML::Parser and produce a "universal" version of auto/XML/Parser/ Expat/Expat.bundle that contains code for both ppc and i386.

-------------------------------------------------------
Matisse Enzer <[EMAIL PROTECTED]>
http://www.matisse.net/  - http://www.eigenstate.net/



Reply via email to