[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Testing a new compiler with Automake "simple tests"
From: |
Stefano Lattarini |
Subject: |
Re: Testing a new compiler with Automake "simple tests" |
Date: |
Wed, 18 Aug 2010 15:42:01 +0200 |
User-agent: |
KMail/1.13.3 (Linux/2.6.30-2-686; KDE/4.4.4; i686; ; ) |
On Wednesday 18 August 2010, Roberto Bagnara wrote:
> On 08/18/10 13:18, Stefano Lattarini wrote:
> > At Wednesday 18 August 2010, Roberto Bagnara wrote:
> >> # This does not work: when ../../bin/compiler changes, tests are
> >> # not recompiled.
> >> # TESTS_OBJS = $(TESTS:address@hidden@)
> >
> > Typo here (and in Ralf example): should be $(TESTS:address@hidden@),
> > with a dot `.' before @OBJEXT@ (this is because @OBJEXT@ do not
> > contain a leading dot: it's either `o' or `obj').
>
> Ah, right.
>
> >> # This does not work: Automake 1.11 rejects it with
> >> # Makefile.am:1148: bad characters in variable name `$(TESTS'
> >> #$(TESTS:address@hidden@): ../../bin/compiler
>
> The above is rejected even with the dot.
This seems like an automake limitation... no big deal though, as there
is the simple workaround:
TESTS_OBJS = $(TESTS:address@hidden@)
$(TESTS_OBJS): ../../bin/compiler
which is also clearer to read IMO.
> > That said, you should consider Ralf's suggestion to use the
> > $(*_OBJECTS) variables instead, for more correctness. In fact,
> > as Ralf pointed out in a previous message:
> >
> > " ... this doesn't take into account that object file names are
> > an internal detail of Automake. In practice, they might end
> > in .obj, as Stefano already noted, which $(OBJEXT) or
> > @OBJEXT@ can tell you, but also, object files may be renamed
> > due to one of several reasons such as per-target flags,
> > (obsolete) K&R support, and others. "
> >
> > So, instead of doing simply e.g.:
> > TESTS = t1 t2 t3 t4 t5 t6
> > TESTS_OBJS = $(TESTS:address@hidden@)
> > $(TESTS_OBJS): ../../bin/compiler
> >
> > it's better to do:
> > TESTS = t1 t2 t3 t4 t5 t6
> > TESTS_OBJS = $(t1_OBJECTS) $(t2_OBJECTS) $(t3_OBJECTS) \
> > $(t4_OBJECTS) $(t5_OBJECTS) $(t6_OBJECTS)
> >
> > $(TESTS_OBJS): ../../bin/compiler
> >
> > Unfortunately, this is more error-prone, since if you add, say,
> > `t7' to TESTS, but forget to add $(t7_OBJECTS) to TESTS_OBJS,
> > you'll have missing dependencies... Well, you'll decide what's
> > better for you.
>
> Hmm, it is error-prone indeed. Moreover, we have more than one
> thousands tests and we could soon have two thousands of them.
> Said that, I will probably use this solution.
Well, you can always add a bit of indirection, and make the content of
$(TESTS_OBJS) auto-generated. You can take a look at how Automake's
own `tests/Makefile.am' does something similar to generate the content
of the `$(parallel_tests)' variable.
> For the long term, given that the problem I am facing seems rather
> general (testing compilers or compiler-like tools), would you
> consider the possibility to extend Automate to simplify the job?
I think I definitely lack the insight and experience to get this
right. Let's wait what Ralf has to say about it... apart from
"Patches are always welcome", obviously ;-)
Regards,
Stefano
- Re: Testing a new compiler with Automake "simple tests", (continued)
- Re: Testing a new compiler with Automake "simple tests", Ralf Wildenhues, 2010/08/17
- Re: Testing a new compiler with Automake "simple tests", Stefano Lattarini, 2010/08/17
- Re: Testing a new compiler with Automake "simple tests", Ralf Wildenhues, 2010/08/17
- Re: Testing a new compiler with Automake "simple tests", Stefano Lattarini, 2010/08/17
- Re: Testing a new compiler with Automake "simple tests", Roberto Bagnara, 2010/08/18
- Re: Testing a new compiler with Automake "simple tests", Stefano Lattarini, 2010/08/18
- Re: Testing a new compiler with Automake "simple tests", Roberto Bagnara, 2010/08/18
- Re: Testing a new compiler with Automake "simple tests",
Stefano Lattarini <=
- Re: Testing a new compiler with Automake "simple tests", Ralf Wildenhues, 2010/08/18
- Re: Testing a new compiler with Automake "simple tests", Roberto Bagnara, 2010/08/19
- Re: Testing a new compiler with Automake "simple tests", Stefano Lattarini, 2010/08/19
- Re: Testing a new compiler with Automake "simple tests", Ralf Wildenhues, 2010/08/19
- Re: Testing a new compiler with Automake "simple tests", Stefano Lattarini, 2010/08/19
- [PATCHES] Docs on automatic dependency tracking (was: Testing a new compiler with Automake "simple tests"), Stefano Lattarini, 2010/08/17