automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PPL-devel] Configure substitutions are not allowed in _SOURCES vari


From: Roberto Bagnara
Subject: Re: [PPL-devel] Configure substitutions are not allowed in _SOURCES variables
Date: Thu, 21 Aug 2008 20:00:04 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20050929 Thunderbird/1.0.7 Fedora/1.0.7-1.1.fc4 Mnenhy/0.7.3.0

Ralf Wildenhues wrote:
* Roberto Bagnara wrote on Thu, Aug 21, 2008 at 12:55:25PM CEST:
[ ... lots of sources, conditional and all ... ]

Using the solution outlined in the Automake manual
(i.e., using conditionals) would cause us to write enormous
Makefile.am files which would be a maintenance nightmare.
That is, now everything is automated; if we use a long
chain of conditionals we would have to maintain consistency
by hand.

Are you saying that you generate Makefile.am (or an include snippet
for it) automatically?

Hi Ralf,

no.  In the previous version we generated automatically the individual
C++ sources, including one that #included all the others.  The list
of C++ sources is only known at configure time: at that time the
sources are generated.

If not, why not, if yes, what is the problem
with maintaining consistency with a script?  Ideally, you generate
both the files and the makefile.am snippet from the same script.

Can I generated the Makefile.am at configure time?  Notice that
the list of domains is really unbounded: the PPL supports constructions
on domains like products and powersets.  So the user can ask
for a product of a powerset of a product of ...
We really cannot anticipate all the possibilities.

Do you already do the splitup in CVS?  I cannot see it there
(I just got HEAD from :pserver:address@hidden:/cvs/ppl).

I am halfway through it.  I thought I had found a workaround,
but there are still problems.  What I have at the moment is
something that suffers from the problem outlined above and,
in addition, does not work:

pkglib_LTLIBRARIES = libppl_swiprolog.la

nodist_libppl_swiprolog_la_SOURCES = \
ppl_swiprolog.cc

EXTRA_libppl_swiprolog_la_SOURCES = \
../ppl_prolog_Polyhedron.cc \
../ppl_prolog_Grid.cc \
../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc \
../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
# The above is the list of configure-dependent sources
# that we cannot anticipate.  So listing the files here
# is unsatisfactory.

libppl_swiprolog_la_LIBADD = \
@required_instantiations_prolog_cxx_objects@ \
$(top_builddir)/src/libppl.la \
$(WATCHDOG_LIBRARY) \
@extra_libraries@

# @required_instantiations_prolog_cxx_objects@ contains
# the list of the .lo file corresponding to the .cc files
# above.  If I do `make libppl_swiprolog.la' I get
# the error that the (inexistent) .lo files are invalid
# Libtool files.  Bot if I do, e.g.,
# `make pl_prolog_Polyhedron.lo' the right thing happens.
# I wonder why `make libppl_swiprolog.la' does not make
# all the required .lo files.

Thanks,

    Roberto

--
Prof. Roberto Bagnara
Computer Science Group
Department of Mathematics, University of Parma, Italy
http://www.cs.unipr.it/~bagnara/
mailto:address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]