.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "MODULEMAKER 1p" .TH MODULEMAKER 1p "2023-01-27" "perl v5.36.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" modulemaker \- interactive interface to ExtUtils::ModuleMaker; replaces "h2xs \-AXn [module]" .SH "VERSION" .IX Header "VERSION" This document references version 0.63 of modulemaker, released to \s-1CPAN\s0 on July 31 2018. .SH "USAGE::Simple" .IX Header "USAGE::Simple" .SS "Easy" .IX Subsection "Easy" At the command-prompt, simply call: .PP .Vb 1 \& % modulemaker .Ve .PP \&... and answer each question. .SS "Not So Easy, But More Geeky" .IX Subsection "Not So Easy, But More Geeky" At the command-prompt, call \f(CW\*(C`modulemaker\*(C'\fR with as many options as you can type correctly: .PP .Vb 4 \& modulemaker [\-CIPVbch] [\-n module_name] [\-a abstract] \& [\-u author_name] [\-p author_CPAN_ID] [\-o organization] \& [\-w author_website] [\-e author_e\-mail] \& [\-l license_name] [\-v version] [\-s save_selections_as_defaults ] .Ve .PP Type \f(CW\*(C`modulemaker \-h\*(C'\fR at the command-prompt for long options and more complete descriptions. .SS "Mix and Match" .IX Subsection "Mix and Match" You can specify some of the arguments on the command-line and then \*(-- assuming you don't include the \f(CW\*(C`\-I\*(C'\fR option \*(-- \fImodulemaker\fR will then switch to interactive mode so that you can finish entering arguments at the prompts. .SH "USAGE::More" .IX Header "USAGE::More" .SS "Menus" .IX Subsection "Menus" After calling \f(CW\*(C`modulemaker\*(C'\fR at the command-prompt, you will be presented with a series of menus looking something like this: .PP \fIMain Menu\fR .IX Subsection "Main Menu" .PP .Vb 1 \& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \& \& modulemaker: Main Menu \& \& Feature Current Value \& N \- Name of module \*(Aq\*(Aq \& S \- Abstract \*(AqModule abstract (<= 44 characters) goes here\*(Aq \& A \- Author information \& L \- License \*(Aqperl\*(Aq \& D \- Directives \& B \- Build system \*(AqExtUtils::MakeMaker\*(Aq \& \& G \- Generate module \& H \- Generate module; \& save selections as defaults \& \& X \- Exit immediately \& \& Please choose which feature you would like to edit: .Ve .PP In many cases you make your selection by typing a single letter or number and hitting the \f(CW\*(C`Return\*(C'\fR key. In the remaining cases, you have to type what you want. .PP Note that in the Main Menu: .IP "\(bu" 4 G .Sp \&\f(CW\*(C`G\*(C'\fR generates the directories and files requested, then exits. .IP "\(bu" 4 H .Sp \&\f(CW\*(C`H\*(C'\fR generates the directories and files requested, saves the values you have entered (with the exception of the module's name and abstract) in a personal defaults file, then exits. (See the documentation for ExtUtils::ModuleMaker for a more complete discussion of this feature.) .IP "\(bu" 4 X .Sp \&\f(CW\*(C`X\*(C'\fR exits without generating directories or file. .PP \fIAuthor Menu\fR .IX Subsection "Author Menu" .PP .Vb 1 \& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \& \& modulemaker: Author Menu \& \& Feature Current Value \& N \- Author \*(AqA. U. Thor\*(Aq \& C \- CPAN ID \*(AqMODAUTHOR\*(Aq \& O \- Organization \*(AqXYZ Corp.\*(Aq \& W \- Website \*(Aqhttp://a.galaxy.far.far.away/modules\*(Aq \& E \- Email \*(Aqa.u.thor@a.galaxy.far.far.away\*(Aq \& \& R \- Return to main menu \& X \- Exit immediately \& \& Please choose which feature you would like to edit: .Ve .PP The values you enter here to override the Current Values may be good choices for the \f(CW\*(C`H\*(C'\fR 'save selections as defaults' feature in the Main Menu. .PP Note that you cannot generate directories or files from this menu. You must return (\f(CW\*(C`R\*(C'\fR) to the Main Menu first. You can, however, bail out of the program from this menu with \f(CW\*(C`X\*(C'\fR. .PP \fILicense Menu\fR .IX Subsection "License Menu" .PP .Vb 1 \& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \& \& modulemaker: License Menu \& \& ModuleMaker provides many licenes to choose from, many of them approved by \& opensource.org. \& \& License Name \& 1 Apache Software License (1.1) \& 2 Artistic License \& 3 Artistic License w/ Aggregation \& 4 BSD License \& 5 BSD License(Raw) \& 6 CVW \- MITRE Collaborative Virtual Workspace \& 7 GPL \- General Public License (2) \& 8 IBM Public License Version (1.0) \& 9 Intel (BSD+) \& 10 Jabber (1.0) \& 11 LGPL \- GNU Lesser General Public License (2.1) \& 12 MIT License \& 13 Mozilla Public License (1.0) \& 14 Mozilla Public License (1.1) \& 15 Nethack General Public License \& 16 Nokia Open Source License(1.0a) \& 17 Python License \& 18 Q Public License (1.0) \& 19 Ricoh Source Code Public License (1.0) \& 20*** Same terms as Perl itself \& 21 Sun Internet Standards Source License \& 22 The Sleepycat License \& 23 Vovida Software License (1.0) \& 24 zlib/libpng License \& 25 Loose Lips License (1.0) \& \& # \- Enter the number of the license you want to use \& C \- Display the Copyright \& L \- Display the License \& R \- Return to main menu \& X \- Exit immediately \& \& Please choose which license you would like to use: .Ve .PP \fIDirectives Menu\fR .IX Subsection "Directives Menu" .PP .Vb 1 \& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \& \& modulemaker: Directives Menu \& \& Feature Current Value \& C \- Compact \*(Aq0\*(Aq \& V \- Verbose \*(Aq0\*(Aq \& D \- Include POD \*(Aq1\*(Aq \& N \- Include new \*(Aq1\*(Aq \& H \- History in POD \*(Aq0\*(Aq \& P \- Permissions \*(Aq0755 \- 493\*(Aq \& \& R \- Return to main menu \& X \- Exit immediately \& \& Please choose which feature you would like to edit: .Ve .PP As with the Author Menu above, the values you enter here to override the Current Values may be good choices for the \f(CW\*(C`H\*(C'\fR 'save selections as defaults' feature in the Main Menu. .PP \fIBuild System Menu\fR .IX Subsection "Build System Menu" .PP .Vb 1 \& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \& \& Here is the current build system: \& \& ExtUtils::MakeMaker \& \& E \- ExtUtils::MakeMaker \& B \- Module::Build \& P \- Module::Build and proxy Makefile.PL \& R \- Return to main menu \& X \- Exit immediately \& \& Please choose which build system you would like to use: .Ve .SS "Features Currently Supported with Command-Line Options" .IX Subsection "Features Currently Supported with Command-Line Options" Short options; long options in parentheses. In the long options, hyphens ('\f(CW\*(C`\-\*(C'\fR') can generally be used where you see underscores ('\f(CW\*(C`_\*(C'\fR'). .IP "\(bu" 4 \&\-a (\-\-abstract) .Sp Specify (in quotes) an abstract for this extension .IP "\(bu" 4 \&\-b (\-\-build_system) .Sp Specify Module::Build for the build system for this extension; default is ExtUtils::MakeMaker .IP "\(bu" 4 \&\-c (\-\-compact) .Sp Flag for compact base directory name .IP "\(bu" 4 \&\-C (\-\-changes_in_pod) .Sp Omit creating the Changes file, add \s-1HISTORY\s0 heading to stub \s-1POD\s0 .IP "\(bu" 4 \&\-d (\-\-alt_build) .Sp Name of Perl module whose methods will override defaults provided in \&\fIExtUtils/ModuleMaker.pm\fR and \fIExtUtils/ModuleMaker/StandardText.pm\fR. .IP "\(bu" 4 \&\-e (\-\-email) .Sp Specify author's e\-mail address .IP "\(bu" 4 \&\-h (\-\-help) .Sp Display this help message .IP "\(bu" 4 \&\-I (\-\-no_interactive) .Sp Disable \s-1INTERACTIVE\s0 mode, the command line arguments better be complete .IP "\(bu" 4 \&\-l (\-\-license) .Sp Specify a license for this extension .IP "\(bu" 4 \&\-n (\-\-name) .Sp Specify a name to use for the extension (required); note that this is the module's name, not the author's. .IP "\(bu" 4 \&\-o (\-\-organization) .Sp Specify (in quotes) author's organization .IP "\(bu" 4 \&\-p (\-\-cpanid) .Sp Specify author's \s-1CPAN ID\s0 .IP "\(bu" 4 \&\-P (\-\-no_pod) .Sp Omit the stub \s-1POD\s0 section .IP "\(bu" 4 \&\-q (\-\-no_new_method) .Sp Do not include a constructor (\f(CW\*(C`new()\*(C'\fR) in the \fI*.pm\fR file. .IP "\(bu" 4 \&\-r (\-\-permissions) .Sp Set permissions. .IP "\(bu" 4 \&\-s (\-\-save_as_defaults) .Sp Save the selections entered (either as command-line options or as responses to \&\fImodulemaker\fR's prompts) as your new personal defaults. These will be the values provided by ExtUtils::ModuleMaker or \fImodulemaker\fR the next time you invoke either one of them. .IP "\(bu" 4 \&\-u (\-\-author) .Sp Specify (in quotes) author's name .IP "\(bu" 4 \&\-v (\-\-version) .Sp Specify a version number for this extension .IP "\(bu" 4 \&\-V (\-\-verbose) .Sp Flag for verbose messages during module creation .IP "\(bu" 4 \&\-w (\-\-website) .Sp Specify author's web site .PP The code handling the processing of these options is found in package ExtUtils::ModuleMaker::Opts. .SH "AUTHOR" .IX Header "AUTHOR" ExtUtils::ModuleMaker was originally written in 2001\-02 by R. Geoffrey Avery (modulemaker [at] PlatypiVentures [dot] com). Since version 0.33 (July 2005) it has been maintained by James E. Keenan (jkeenan [at] cpan [dot] org). .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (c) 2001\-2002 R. Geoffrey Avery. Revisions from v0.33 forward (c) 2005\-2018 James E. Keenan. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. .PP The full text of the license can be found in the \&\s-1LICENSE\s0 file included with this module. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIExtUtils::ModuleMaker\fR, \fIExtUtils::ModuleMaker::StandardText\fR, \fIperlnewmod\fR, \&\fIh2xs\fR.