You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by ma...@apache.org on 2012/06/12 01:49:48 UTC
[lucy-commits] svn commit: r1349073 - /lucy/trunk/perl/buildlib/Lucy/Build.pm
Author: marvin
Date: Mon Jun 11 23:49:48 2012
New Revision: 1349073
URL: http://svn.apache.org/viewvc?rev=1349073&view=rev
Log:
Use Charmonizer "meld" file in Perl build.
Modified:
lucy/trunk/perl/buildlib/Lucy/Build.pm
Modified: lucy/trunk/perl/buildlib/Lucy/Build.pm
URL: http://svn.apache.org/viewvc/lucy/trunk/perl/buildlib/Lucy/Build.pm?rev=1349073&r1=1349072&r2=1349073&view=diff
==============================================================================
--- lucy/trunk/perl/buildlib/Lucy/Build.pm (original)
+++ lucy/trunk/perl/buildlib/Lucy/Build.pm Mon Jun 11 23:49:48 2012
@@ -48,8 +48,7 @@ BEGIN { unshift @PATH, rel2abs( getcwd()
my @BASE_PATH = __PACKAGE__->cf_base_path;
my $CHARMONIZER_ORIG_DIR = catdir( @BASE_PATH, 'charmonizer' );
-my $CHARMONIZE_EXE_PATH
- = catfile( $CHARMONIZER_ORIG_DIR, "charmonize$Config{_exe}" );
+my $CHARMONIZE_EXE_PATH = "charmonize$Config{_exe}";
my $CHARMONY_PATH = 'charmony.h';
my $LEMON_DIR = catdir( @BASE_PATH, 'lemon' );
my $LEMON_EXE_PATH = catfile( $LEMON_DIR, "lemon$Config{_exe}" );
@@ -110,10 +109,18 @@ sub _run_make {
sub ACTION_charmonize {
my $self = shift;
print "Building $CHARMONIZE_EXE_PATH...\n\n";
+ my $meld_c = rel2abs("charmonize.c");
+ my $charmonize_main = catfile( $CHARMONIZER_ORIG_DIR, 'charmonize.c' );
$self->_run_make(
dir => $CHARMONIZER_ORIG_DIR,
- args => [],
+ args => [ "meld", "PERL=$^X", "FILES=$charmonize_main", "OUT=$meld_c" ],
);
+ if ( !$self->up_to_date( $CHARMONIZE_EXE_PATH, $meld_c ) ) {
+ my $cc = $Config{cc};
+ my $outflag = $cc =~ /cl\b/ ? "/Fe" : "-o ";
+ system("$cc $meld_c $outflag$CHARMONIZE_EXE_PATH")
+ and die "Failed to compile $CHARMONIZE_EXE_PATH";
+ }
}
# Run the charmonize executable, creating the charmony.h file.