This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Configure now aborts with a diagnostic if it detects a duplicate extension.
authorNicholas Clark <nick@ccl4.org>
Tue, 31 Jan 2012 11:16:53 +0000 (12:16 +0100)
committerNicholas Clark <nick@ccl4.org>
Tue, 31 Jan 2012 11:16:53 +0000 (12:16 +0100)
commit864293481e6a8b89c75591ba20288fda87808030
treed34d0a7a30b2a3599f8d672ceb6ada23b393c6ab
parentcc5b6bab038f02711e281f7281150d52ad1f2ab9
Configure now aborts with a diagnostic if it detects a duplicate extension.

During the development process, if an extension module changes dual-life
status it can move between ext/, dist/ and cpan/. If one uses git pull in a
built tree across such a change, one can end up with the build tree in a
messy state from which the 'distclean' target can't recover. Configure will
spot both the old and new directories, and may wrongly categorise the
extension as non-XS, resulting in obscure build failures after miniperl is
build.

In the general case, the "old" directory might contain files the user wants
to keep, so it's not safe to automatically delete it. The only safe option
is to ask the user to resolve the problem, hence with this change, if
Configure detects such a situation it aborts with a diagnostic suggesting
what to do.

This isn't a problem that affects released tarballs.
Configure