| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You under the Apache License, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| use 5.008003; |
| use strict; |
| use warnings; |
| use lib 'buildlib'; |
| use File::Spec::Functions qw( catdir ); |
| use Lucy::Build; |
| |
| my @BASE_PATH = Lucy::Build->cf_base_path; |
| my $MODULES_DIR = catdir( @BASE_PATH, 'modules' ); |
| my $SNOWSTEM_SRC_DIR = catdir( $MODULES_DIR, qw( analysis snowstem source ) ); |
| my $SNOWSTEM_INC_DIR = catdir( $SNOWSTEM_SRC_DIR, 'include' ); |
| my $SNOWSTOP_SRC_DIR = catdir( $MODULES_DIR, qw( analysis snowstop source ) ); |
| my $UCD_INC_DIR = catdir( $MODULES_DIR, qw( unicode ucd ) ); |
| my $UTF8PROC_SRC_DIR = catdir( $MODULES_DIR, qw( unicode utf8proc ) ); |
| my $CORE_SOURCE_DIR = catdir( @BASE_PATH, 'core' ); |
| my $TEST_SOURCE_DIR = catdir( @BASE_PATH, 'test' ); |
| my $XS_SOURCE_DIR = 'xs'; |
| |
| my @cf_linker_flags = Clownfish::CFC::Perl::Build->cf_linker_flags( |
| 'Clownfish', |
| ); |
| |
| my $builder = Lucy::Build->new( |
| module_name => 'Lucy', |
| license => 'apache', |
| dist_author => |
| 'The Apache Lucy Project <dev at lucy dot apache dot org>', |
| dist_version => '0.5.0', |
| requires => { |
| 'perl' => '5.8.3', |
| 'Clownfish' => 0.005000, |
| }, |
| configure_requires => { |
| 'Module::Build' => 0.280801, |
| 'Clownfish' => 0.005000, |
| 'Clownfish::CFC::Perl::Build' => 0.005000, |
| }, |
| build_requires => { |
| 'Module::Build' => 0.280801, |
| 'ExtUtils::CBuilder' => 0.21, |
| 'ExtUtils::ParseXS' => 2.18, |
| 'Devel::PPPort' => 3.14, |
| 'Clownfish' => 0.005000, |
| 'Clownfish::CFC' => 0.005000, |
| }, |
| meta_merge => { keywords => [qw( search lucy lucene )], }, |
| meta_add => { |
| resources => { |
| homepage => 'http://lucy.apache.org', |
| repository => 'https://git-wip-us.apache.org/repos/asf/lucy.git', |
| bugtracker => 'https://issues.apache.org/jira/browse/LUCY', |
| }, |
| }, |
| include_dirs => [ |
| $CORE_SOURCE_DIR, |
| $XS_SOURCE_DIR, |
| $SNOWSTEM_INC_DIR, |
| $UCD_INC_DIR, |
| $UTF8PROC_SRC_DIR, |
| ], |
| clownfish_params => { |
| source => [ $CORE_SOURCE_DIR, $TEST_SOURCE_DIR ], |
| modules => [ |
| { |
| name => 'Lucy', |
| parcels => [ 'Lucy', 'TestLucy' ], |
| c_source_dirs => [ |
| $CORE_SOURCE_DIR, |
| $TEST_SOURCE_DIR, |
| $XS_SOURCE_DIR, |
| $SNOWSTEM_SRC_DIR, |
| $SNOWSTOP_SRC_DIR, |
| $UTF8PROC_SRC_DIR, |
| ], |
| }, |
| ], |
| }, |
| extra_linker_flags => [ @cf_linker_flags ], |
| add_to_cleanup => [ |
| qw( |
| Lucy-* |
| MANIFEST.bak |
| perltidy.ERR |
| *.pdb |
| *.manifest |
| ), |
| ], |
| ); |
| |
| $builder->create_build_script(); |
| |
| __END__ |