You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by nw...@apache.org on 2012/11/02 22:24:31 UTC

[lucy-commits] [1/2] git commit: refs/heads/cfc_charmony - Make CFC use Charmonizer

Updated Branches:
  refs/heads/cfc_charmony [created] 9df380873


Make CFC use Charmonizer

Now, the build module hierarchy is:

* Module::Build
  * Clownfish::CFC::Perl::Build::Charmonic
    * Clownfish::CFC::Build
    * Clownfish::CFC::Perl::Build
      * Clownfish::Build
      * Lucy::Build


Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/9df38087
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/9df38087
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/9df38087

Branch: refs/heads/cfc_charmony
Commit: 9df380873578d144c83a08023f9a61683ba7a3ea
Parents: 68bbc8b
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Fri Nov 2 21:12:34 2012 +0100
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Fri Nov 2 22:14:55 2012 +0100

----------------------------------------------------------------------
 clownfish/compiler/.gitignore                      |    6 ------
 clownfish/compiler/perl/.gitignore                 |   10 ++++++++++
 clownfish/compiler/perl/Build.PL                   |    7 +++++--
 .../compiler/perl/buildlib/Clownfish/CFC/Build.pm  |   12 +++++++++++-
 .../compiler/perl/lib/Clownfish/CFC/Perl/Build.pm  |    3 ++-
 clownfish/compiler/src/CFCVersion.h                |    2 +-
 clownfish/runtime/perl/buildlib/Clownfish/Build.pm |    1 -
 perl/buildlib/Lucy/Build.pm                        |    1 -
 8 files changed, 29 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy/blob/9df38087/clownfish/compiler/.gitignore
----------------------------------------------------------------------
diff --git a/clownfish/compiler/.gitignore b/clownfish/compiler/.gitignore
index 545023d..586acd2 100644
--- a/clownfish/compiler/.gitignore
+++ b/clownfish/compiler/.gitignore
@@ -1,10 +1,4 @@
 include/ppport.h
-perl/Build
-perl/MYMETA.json
-perl/MYMETA.yml
-perl/_build/
-perl/blib/
-perl/lib/Clownfish/CFC.c
 src/CFCParseHeader.c
 src/CFCParseHeader.h
 src/CFCParseHeader.out

http://git-wip-us.apache.org/repos/asf/lucy/blob/9df38087/clownfish/compiler/perl/.gitignore
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/.gitignore b/clownfish/compiler/perl/.gitignore
new file mode 100644
index 0000000..e4a4cd1
--- /dev/null
+++ b/clownfish/compiler/perl/.gitignore
@@ -0,0 +1,10 @@
+/Build
+/Charmony.pm
+/MYMETA.json
+/MYMETA.yml
+/_build/
+/blib/
+/charmonize
+/charmonize.c
+/charmony.h
+/lib/Clownfish/CFC.c

http://git-wip-us.apache.org/repos/asf/lucy/blob/9df38087/clownfish/compiler/perl/Build.PL
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/Build.PL b/clownfish/compiler/perl/Build.PL
index 671f1bd..842a4e1 100644
--- a/clownfish/compiler/perl/Build.PL
+++ b/clownfish/compiler/perl/Build.PL
@@ -18,7 +18,7 @@ use strict;
 use warnings;
 use lib 'buildlib';
 use Clownfish::CFC::Build;
-use File::Spec::Functions qw( updir catdir );
+use File::Spec::Functions qw( updir catdir curdir );
 
 my $builder = Clownfish::CFC::Build->new(
     module_name => 'Clownfish::CFC',
@@ -31,7 +31,10 @@ my $builder = Clownfish::CFC::Build->new(
         'ExtUtils::ParseXS'  => 2.16,
         'Devel::PPPort'      => 3.13,
     },
-    include_dirs   => [ catdir( updir(), 'include' ) ],
+    include_dirs   => [
+        curdir(), # for charmony.h
+        catdir( updir(), 'include' ),
+    ],
     c_source       => catdir( updir(),   'src' ),
     add_to_cleanup => [
         qw(

http://git-wip-us.apache.org/repos/asf/lucy/blob/9df38087/clownfish/compiler/perl/buildlib/Clownfish/CFC/Build.pm
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/buildlib/Clownfish/CFC/Build.pm b/clownfish/compiler/perl/buildlib/Clownfish/CFC/Build.pm
index a293377..12678b1 100644
--- a/clownfish/compiler/perl/buildlib/Clownfish/CFC/Build.pm
+++ b/clownfish/compiler/perl/buildlib/Clownfish/CFC/Build.pm
@@ -17,7 +17,12 @@ use strict;
 use warnings;
 
 package Clownfish::CFC::Build;
-use base qw( Module::Build );
+
+# In order to find Clownfish::CFC::Perl::Build::Charmonic, look in 'lib'
+# and cleanup @INC afterwards.
+use lib 'lib';
+use base qw( Clownfish::CFC::Perl::Build::Charmonic );
+no lib 'lib';
 
 use File::Spec::Functions qw( catfile updir catdir );
 use Config;
@@ -25,6 +30,7 @@ use Cwd qw( getcwd );
 use Carp;
 
 my $base_dir = catdir( updir(), updir(), updir() );
+my $CHARMONIZER_ORIG_DIR = catdir( $base_dir, 'charmonizer' );
 my $PPPORT_H_PATH = catfile( updir(), qw( include ppport.h ) );
 my $LEMON_DIR = catdir( $base_dir, 'lemon' );
 my $LEMON_EXE_PATH = catfile( $LEMON_DIR, "lemon$Config{_exe}" );
@@ -84,6 +90,9 @@ sub new {
         %args,
         recursive_test_files => 1,
         extra_compiler_flags => __PACKAGE__->extra_ccflags,
+        charmonizer_params   => {
+            source_dir => $CHARMONIZER_ORIG_DIR,
+        },
     );
 }
 
@@ -171,6 +180,7 @@ sub ACTION_lexers {
 
 sub ACTION_code {
     my $self = shift;
+    $self->dispatch('charmonizer_tests');
     $self->dispatch('ppport');
     $self->dispatch('parsers');
     $self->SUPER::ACTION_code;

http://git-wip-us.apache.org/repos/asf/lucy/blob/9df38087/clownfish/compiler/perl/lib/Clownfish/CFC/Perl/Build.pm
----------------------------------------------------------------------
diff --git a/clownfish/compiler/perl/lib/Clownfish/CFC/Perl/Build.pm b/clownfish/compiler/perl/lib/Clownfish/CFC/Perl/Build.pm
index 45fb38c..1b71185 100644
--- a/clownfish/compiler/perl/lib/Clownfish/CFC/Perl/Build.pm
+++ b/clownfish/compiler/perl/lib/Clownfish/CFC/Perl/Build.pm
@@ -79,7 +79,7 @@ sub new {
 
     my $include_dirs = $self->include_dirs;
     push( @$include_dirs,
-        curdir(), # for ppport.h
+        curdir(), # for ppport.h and charmony.h
         catdir( $AUTOGEN_DIR, 'include' ),
     );
     $self->include_dirs($include_dirs);
@@ -494,6 +494,7 @@ sub ACTION_compile_custom_xs {
 sub ACTION_code {
     my $self = shift;
 
+    $self->dispatch('run_charmonize');
     $self->dispatch('clownfish');
     $self->dispatch('compile_custom_xs');
     $self->dispatch('copy_clownfish_includes');

http://git-wip-us.apache.org/repos/asf/lucy/blob/9df38087/clownfish/compiler/src/CFCVersion.h
----------------------------------------------------------------------
diff --git a/clownfish/compiler/src/CFCVersion.h b/clownfish/compiler/src/CFCVersion.h
index d3ba672..e81a012 100644
--- a/clownfish/compiler/src/CFCVersion.h
+++ b/clownfish/compiler/src/CFCVersion.h
@@ -28,7 +28,7 @@
 extern "C" {
 #endif
 
-#include <stdint.h>
+#include "charmony.h"
 
 typedef struct CFCVersion CFCVersion;
 

http://git-wip-us.apache.org/repos/asf/lucy/blob/9df38087/clownfish/runtime/perl/buildlib/Clownfish/Build.pm
----------------------------------------------------------------------
diff --git a/clownfish/runtime/perl/buildlib/Clownfish/Build.pm b/clownfish/runtime/perl/buildlib/Clownfish/Build.pm
index 0593dff..abe0651 100644
--- a/clownfish/runtime/perl/buildlib/Clownfish/Build.pm
+++ b/clownfish/runtime/perl/buildlib/Clownfish/Build.pm
@@ -124,7 +124,6 @@ sub ACTION_copy_clownfish_includes {
 sub ACTION_clownfish {
     my $self = shift;
 
-    $self->dispatch('charmonizer_tests');
     $self->dispatch('cfc');
 
     $self->SUPER::ACTION_clownfish;

http://git-wip-us.apache.org/repos/asf/lucy/blob/9df38087/perl/buildlib/Lucy/Build.pm
----------------------------------------------------------------------
diff --git a/perl/buildlib/Lucy/Build.pm b/perl/buildlib/Lucy/Build.pm
index 7a674cd..67fb3dc 100644
--- a/perl/buildlib/Lucy/Build.pm
+++ b/perl/buildlib/Lucy/Build.pm
@@ -140,7 +140,6 @@ sub ACTION_copy_clownfish_includes {
 sub ACTION_clownfish {
     my $self = shift;
 
-    $self->dispatch('charmonizer_tests');
     $self->dispatch('cfc');
 
     $self->SUPER::ACTION_clownfish;