develooper Front page | perl.perl5.porters | Postings from September 2013

make_ext.pl doesn't rebuild host module makefiles for a cross build

Thread Next
From:
bulk 88
Date:
September 11, 2013 02:51
Subject:
make_ext.pl doesn't rebuild host module makefiles for a cross build
Message ID:
COL126-W37D06AA990AFA51983B086DF390@phx.gbl
I am having a problem with my WinCE Perl port's build process, after building 
the Desktop Perl with http://perl5.git.perl.org/perl.git/blob/HEAD:/win32/Makefile 
(master Desktop makefile). The WinCE master makefile won't build any modules. 
For example, this the extension building console output for WinCE build 
__________________________________________________
Making all in ext/mro
 nmake -nologo all PERL_CORE=1
        Making parent (all)
Making all in cpan/parent
 nmake -nologo all PERL_CORE=1
        Making perlfaq (all)
Making all in cpan/perlfaq
 nmake -nologo all PERL_CORE=1
        Making podlators (all)
Making all in cpan/podlators
 nmake -nologo all PERL_CORE=1
        Making threads (all)
Making all in dist/threads
 nmake -nologo all PERL_CORE=1
        Making threads::shared (all)
Making all in dist/threads-shared
 nmake -nologo all PERL_CORE=1
        Making version (all)
Making all in cpan/version
 nmake -nologo all PERL_CORE=1
_____________________________________________
Nothing happened basically, because the makefiles are from Desktop Perl, and all 
deps were already met for a Desktop build and copied over to Desktop dir (/lib) 
so when the 2nd make_ext.pl run happens from Makefile.ce, the per module 
makefiles did nothing.

The makefiles in the module dirs are for Desktop Perl, so they have to recreated 
from running Makefile.PLs. My solution so far is to manually do a 
"nmake Extensions_clean" using the Desktop master makefile before running the 
WinCE master makefile. What is the proper solution for this problem? 

Add a "-if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" 
--dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --all --target=clean" to the 
"Extensions" target in Makefile.ce?

Or teach make_ext.pl when to unlink the makefiles when "if (defined $::Cross::platform)" 
is passed to make_ext.pl, and have make_ext.pl scan the makefile to figure if 
the makefile is a Desktop or Cross makefile, and delete it if it is a Desktop 
one, by expanding on this http://perl5.git.perl.org/perl.git/blob/HEAD:/make_ext.pl#l285 
block. 		 	   		  
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