Subject: | Wx_Exp.pm incomplete due to race/missing dependency in Makefile |
Date: | Sun, 19 Mar 2017 18:15:58 +0100 |
To: | <bug-wx [...] rt.cpan.org> |
From: | Stefan Bruens <stefan.bruens [...] rwth-aachen.de> |
The generation rule for Wx_Exp.pm in build/Wx/build/MakeMaker/Any_OS.pm has:
$exp : wxt_copy_files wxt_binary_\$(LINKTYPE)
\t\$(PERL) script/make_exp_list.pl $exp @{[$this->files_with_constants]} xspp/
*.h ext/*/xspp/*.h
but the dependency only states:
my %depend = ( _depend_common( $this ),
$exp => join( ' ', $this->files_with_constants, ),
i.e. it is missing the dependency on xspp/*.h and ext/*/xspp/*.h. The former
is not a problem, as it refers to static files, but everything below ext/*/
xspp/ is generate by xsubpp.
The effect is a Wx_Exp.pm where symbols from single modules (e.g. IPC or AUI)
are omitted, as make_exp_list.pl runs to early.
Changing the dependency to:
$exp => join( ' ', $this->files_with_constants, 'subdirs', ),
solves the issue for me.