Rupert Swarbrick <rswarbrick at gmail.com> writes:
>>> Thank you for finally telling us what your toolchain is.
>>>
>>> Are you saying that the build fails on NetBSD because of calling out to
>>> "echo" or are you saying that, while the build works, the Posix
>>> specifications say that calling echo like this invokes undefined
>>> behaviour?
>>
>> You're confused. These keywords are generated automatically, they are
>> always $NetBSD$ for me, even when I work on FreeBSD, Solaris, or Linux.
>
> Oh right, the mystery continues. Maybe you'd be willing to enlighten us
> further?
I use a set of auxilliary NetBSD tools on those mentioned platforms.
If I generate patches with "mkpatches" rather than by invoking diff
for each modified file, then it's going to get this keyword
irrespectively of platform.
>>> Is it just that I can't assume that echo does what I expect? Or
>>> something about the globbing? (But presumably then your fix wouldn't
>>> work either) Or is it something about expanding the results of shell
>>> functions in a Makefile? I don't have any experience of other Make
>>> implementations, but I'm really confused about how one could possibly
>>> behave differently from what I expected here.
>>
>> POSIX says that the value of $(<string>) where the string contains spaces
>> is undefined, which is precisely what we observe.
>
> Ah, ok. So $(shell my-command) will never work on the Make you use? When
> you say "POSIX says", I guess I should be able to find what you describe
> somewhere in this file?
>
> http://pubs.opengroup.org/onlinepubs/009695399/utilities/make.html
>
> I'm struggling, but as far as I can tell, the POSIX standard doesn't
> include any utility functions in Make. I'm not convinced that sawing off
> all the useful features of GNU Make is a great idea for us.
>
> Frankly, I am no longer interested in thinking about an unbounded number
> of convoluted work-arounds to make the build work with an unspecified
> tool on an unspecified platform. If you want to convince someone else to
> take the patches, that's fine, but I'm probably going to ignore further
> messages from you unless you tell us more about what you're trying to
> do. Or you could install GNU Make? I hear it's rather portable.
These are not workarounds. Previously Maxima built fine without
resorting to non-standard (and arguably broken) extensions.
You're using automake already, this makes these bug fixes pretty cheap,
thus I don't understand your resistance.
--
BCE HA MOPE!