Alien-MeCab

 view release on metacpan or  search on metacpan

Makefile.PL  view on Meta::CPAN

                "No config.status found. Run MeCab's configure now?", 'y'
            );
        }

        if( $run_configure =~ /^y/i ) {
            print "\nWe're going to run configure for mecab.\n",
                "First, we'll ask you a few questions about common options\n\n";

            my $prefix = prompt( "Where would you like to install libmecab?", "/usr/local" );
            my $charset = prompt( "What charset would you like to use?", "utf8" );
            my $configure_args = '';
            $configure_args .= "--prefix=$prefix " if $prefix;
            $configure_args .= "--with-charset=$charset " if $charset;

            $configure_args .= prompt("Are there any other arguments you would like to pass to configure?" );

            print "\nMeCab will be configured with the following arguments:\n",
                "  $configure_args\n";

            chdir $MECAB_SOURCE_DIR;

            local $ENV{CFLAGS}  = $CCFLAGS;
            local $ENV{LDFLAGS} = $LDFLAGS;
            my @cmd = (File::Spec->catfile($MECAB_SOURCE_DIR, "configure"),
                split(/\s+/, $configure_args));
            if (system(@cmd) != 0) {
                print <<"END";
configure $configure_args failed: $!
    Something went wrong with the MeCab configuration.
    You should correct it and re-run Makefile.PL.
END
                chdir $CURDIR;
                exit 0;
            }
            chdir $CURDIR;
        }
    }
}

print <<EOM;
Going to use the following information:
    DIST_VERSION: $DIST_VERSION
    MECAB_VERSION: $MECAB_VERSION
    CCFLAGS: $CCFLAGS
    LDFLAGS: $LDFLAGS
EOM

WriteMakefile(
    CCFLAGS => $CCFLAGS,
    LDFLAGS => $LDFLAGS,
    NAME => 'Alien-MeCab',
    VERSION => $DIST_VERSION,
    PREREQ_PM => \%REQUIRES,
);

print "Now you should type 'make'\n";

package MY;
sub top_targets
{
    my $inherited = shift->SUPER::top_targets(@_);
    $inherited =~ s/^all :: /all :: libmecab /;
    return $inherited;
}

sub constants
{
    my $inherited = shift->SUPER::constants(@_);
    $inherited .= "MEACB_VERSION=$MECAB_VERSION\nMECAB_SRC=src/mecab-$MECAB_VERSION\n";
    return $inherited;
}

sub postamble {
    my $make_str;

	if ($RUNNING_IN_HELL) {
        $make_str = <<MAKE_FRAG;
libmecab:
	$MECAB_EXE

MAKE_FRAG
    } else {
        $make_str = <<'MAKE_FRAG';
libmecab:
	cd $(MECAB_SRC) && $(MAKE) all

MAKE_FRAG
    }

    $make_str .= <<'MAKE_FRAG';
fetchsrc:
	$(PERL) fetchsrc.pl

MAKE_FRAG

    return $make_str;
}


#sub metafile_target {
#    my $inherited = shift->SUPER::metafile_target(@_);
#    my $build_requires = <<EOM;
#build_requires:
#    Cwd: 0
#    File::Spec: 0
#EOM
#    $inherited =~ s/meta-spec:/${build_requires}meta-spec/;
#    return $inherited;
#}

__END__



( run in 0.549 second using v1.01-cache-2.11-cpan-df04353d9ac )