#!perl
SPVM::Builder::Util::getopt
'h|help'
=> \
my
$help
,
'v|version'
=> \
my
$show_version
,
'q|quiet'
=> \
my
$quiet
,
'f|force'
=> \
my
$force
,
'native=s'
=> \
my
$native
,
'precompile'
=> \
my
$precompile
,
'resource'
=> \
my
$resource
,
'only-lib-files'
=> \
my
$only_lib_files
,
'no-pm-file'
=> \
my
$no_pm_file
,
'genlib'
=> \
my
$genlib
,
'user-name=s'
=> \
my
$user_name
,
'user-email=s'
=> \
my
$user_email
,
;
if
(
$help
) {
print
SPVM::Builder::Util::extract_usage;
}
elsif
(
$show_version
) {
my
$version_string
=
"spvmdist v$SPVM::VERSION"
;
print
"$version_string\n"
;
}
else
{
my
(
$class_name
,
$output_dir
) =
@ARGV
;
unless
(
defined
$class_name
) {
die
SPVM::Builder::Util::extract_usage;
}
if
(
$genlib
) {
$only_lib_files
= 1;
$no_pm_file
= 1;
}
my
$gendist
= SPVM::Dist->new(
class_name
=>
$class_name
,
quiet
=>
$quiet
,
force
=>
$force
,
output_dir
=>
$output_dir
,
native
=>
$native
,
precompile
=>
$precompile
,
only_lib_files
=>
$only_lib_files
,
no_pm_file
=>
$no_pm_file
,
resource
=>
$resource
,
user_name
=>
$user_name
,
user_email
=>
$user_email
,
);
$gendist
->generate_dist;
}
=encoding utf8
=head1 Name
spvmdist - Generating SPVM Distribution
=head1 Usage
usage: spvmdist [<options>] <class_name> [<dir>]
spvmdist Foo
spvmdist Foo My-Foo
spvmdist Foo::Bar::Baz
spvmdist --native c Foo
spvmdist --native c++ Foo
spvmdist --precompile Foo
spvmdist --resource Foo
options:
-h, --help Show this message
-v, --version Show the version
-
q, --quiet Quiet output
-f,
--force Force to generate files
--native=<language> Add native files and setting
--precompile Add precompile setting
--only-lib-files Output only the files in
"lib"
directory
--
no
-pm-file Don't output Perl module(.pm) file
--resource Output files
for
a resource distribution
--genlib Shortcut
for
--only-lib-files --
no
-pm-file
--user-name=<name> User name
--user-email=<email> User email
=head1 Description
C<spvmdist> is the command to generate a SPVM distribution.