develooper Front page | perl.perl5.porters | Postings from February 2003

ext/... makefile dependencies

Thread Next
From:
hv
Date:
February 25, 2003 05:17
Subject:
ext/... makefile dependencies
Message ID:
200302251319.h1PDJA713902@crypt.compulink.co.uk
When integrating new modules into the core, if they involve XS I always
have problems rebuilding.

In an ideal world given a fully built perl, dumping a new version of a
module into the source tree and 'make all test' would rebuild everything
appropriately, but this doesn't seem to happen.

To take Encode as an example, I can make some progress by first doing a:
  rm -rf lib/Encode* lib/auto/Encode
and to allow for the unexpressed VERSION_FROM dependency:
  rm ext/Encode/Makefile
.. but then a 'make all' still fails to install certain files to the lib
directory such as Encode.pm itself.

As far as I can see, the missing files are those declared as TO_INST_PM
in the Makefile, and I think they are installed by the 'pm_to_blib'
target. But I can't see where the dependencies are that ensure this
target is ever built. I would have thought that somewhere should be
declared that ${INST_LIB}/Encode.pm is dependent on Encode.pm, but
nothing like that seems to exist.

So I have two questions:
- with the current code, how do I force a proper rebuild and install to
  lib of a core module in ext?
- can we fix the generated Makefiles to have the proper dependencies to
  allow a 'make all' to do the right thing?

At the moment, my only known recourse is to do a full 'make distclean'
and then reconfigure and build, which seems like an awful waste of time.

Hugo

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About