On 8/2/06, Jonas Karlsson <[EMAIL PROTECTED]> wrote:
2006/7/31, Lucas C. Villa Real <[EMAIL PROTECTED]>: > On 7/31/06, Hisham Muhammad <[EMAIL PROTECTED]> wrote: > > On 7/31/06, MJ Ray <[EMAIL PROTECTED]> wrote: > > > I upgraded Compile recently to 1.5.1 and now some of my recipes > > > are failing because target is being passed in the environment > > > to make. This is a problem, because GNUstep-Make uses it to > > > decide whether we are cross-compiling or not. I'm unsetting > > > it with make_variables=("target=") in each GNUstep recipe now. > > > > > > What needs $target to be passed to make? Can it be unset? > > > > It shouldn't. I can't fix it right now (my workstation is > > inaccessible), but looking through ViewCVS, looks like $target and > > friends are being incorrectly exported. > > > > These lines need their export's removed: > > > > 467 : eval 'export '$lowercase_name'_path='$dep_path > > 468 : eval 'export '$lowercase_name'_settings_path='$dep_settings_path > > 469 : eval 'export '$lowercase_name'_variable_path='$dep_settings_path > > 491 : export target=`Get_Dir runtime $appname $versionnumber` > > 492 : export settings_target=`Get_Dir runtimeSettings $appname $versionnumber` > > 493 : export variable_target=`Get_Dir runtimeVariable $appname $versionnumber` > > 494 : export installprefix="$target" > > > > That should fix it. > > > > Thanks for the report, > > Fixed on the CVS, thanks. > This causes regression with .patch.in variables.
Aha! That explains it!
I've recommited all lines but 491, as it was just "target" that cause the bug.
I'll export them only for the patcher script.
If there's a need to use the target prefix one should use $installprefix instead of $target. Maybe $settings_target and $variable_target should be phased out for some other names, to keep consistency?
I don't remember exactly why the distinction between $installprefix and $target exists. AFAIK, $installprefix is not supposed to be part of the public recipes API.
That $target isn't exported, can't that cause problems with recipes counting on this variable to override $target in a Makefile?
If they were counting with this, that's accidental behavior, and they should be fixed to say something like: make_variables=( "target=$target" ) -- Hisham _______________________________________________ gobolinux-devel mailing list gobolinux-devel@lists.gobolinux.org http://lists.gobolinux.org/mailman/listinfo/gobolinux-devel