On 2018-11-26 02:35 , Ryan Schmidt wrote:
>
>
> On Nov 25, 2018, at 09:13, Mark Brethen wrote:
>
>> build {
>> ui_info "Building libtaucs archives:"
>> system -W ${worksrcpath} "${build.cmd} ${build.args} ${build.target}"
>> }
>>
>> with 'LD = $(F77)’ in the Makefile, but that didn’t work. How should I pass
>> this during build?
>
> I suppose that ought to work, except that perhaps the problem you're running
> into is that ${build.args} is a list of values. If you want to concatenate
> all those list items with spaces and include that expanded value in a string,
> as you're doing here, you'll need to use the expand operator ({*}).
> Technically, build.cmd and build.target (and all other MacPorts options) are
> lists too, though they might only contain one item at the moment. To properly
> expand all those lists into strings, you'd use: "{*}${build.cmd}
> {*}${build.args} {*}${build.target}".
The function of {*} is to pass a list to a command as multiple
arguments, one per list element. That is not what's desired here, as the
command to be run by system should be given in a single argument.
Perhaps you were thinking of 'join'? But that shouldn't really be needed
here either.
- Josh