On Friday 20 of November 2015 07:24:52 Peter Varo wrote:
> Hey everyone,
> 
> I found a very strange behaviour in `ifeq` and `ifneq`. Consider we have
> the following snippet:
> 
> arch = @(TUP_ARCH)
> ARCH = $(CONFIG_TUP_ARCH)
> 
> ifneq ($(arch), $(ARCH))
>     error 'arch' and 'ARCH' should be the same
> else
> 
>     : |> printf "Config-consts are matching: $(arch), $(ARCH)\n" |>
> 
> endif
> 
> What should the expected output be?
> 
> 1. `@(TUP_ARCH)` and `$(CONFIG_TUP_ARCH)` should be the same
> "In other words, $(CONFIG_FOO) and @(FOO) are interchangeable." -- from
> http://gittup.org/tup/manual.html
> 2. `ifneq` will compare the lval and rval after evaluation and
> string-compare them => if they are the same the execution will jump to the `
> else` clause, if not, it will raise the error.
> 
> So I expect it will print "Config-consts are matching: x86_64, x86_64", but
> instead it will raise the defined error.
> If I switch from `ifneq` to `ifeq`, the executaion will jump to the `else`
> branch, and will print "Config-consts are matching: x86_64, x86_64", which
> is silly, as the `else` should be executed when the lval and rval are not
> the same, however the printed message shows that they are..
> 
> What causes this problem and why? Am I missing something?
> 
> (tup version: 0.7.3)
> 
> Cheers,
> P

You compare "x86_64" with " x86_64" - take a good look at the whitespaces in 
your condition.

Regards,
FCh

-- 
-- 
tup-users mailing list
email: [email protected]
unsubscribe: [email protected]
options: http://groups.google.com/group/tup-users?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"tup-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to