⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 extutils::makemaker.3

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻 3
📖 第 1 页 / 共 5 页
字号:
Defaults to \f(CW$Config\fR{installprefixexp} falling back to\&\f(CW$Config\fR{installprefix}, \f(CW$Config\fR{prefixexp} or \f(CW$Config\fR{prefix} should\&\f(CW$Config\fR{installprefixexp} not exist..SpOverridden by \s-1PREFIX\s0..IP "\s-1PERLRUN\s0" 2.IX Item "PERLRUN"Use this instead of $(\s-1PERL\s0) when you wish to run perl.  It will set upextra necessary flags for you..IP "\s-1PERLRUNINST\s0" 2.IX Item "PERLRUNINST"Use this instead of $(\s-1PERL\s0) when you wish to run perl to work withmodules.  It will add things like \-I$(\s-1INST_ARCH\s0) and other necessaryflags so perl can see the modules you're about to install..IP "\s-1PERL_SRC\s0" 2.IX Item "PERL_SRC"Directory containing the Perl source code (use of this should beavoided, it may be undefined).IP "\s-1PERM_RW\s0" 2.IX Item "PERM_RW"Desired permission for read/writable files. Defaults to \f(CW644\fR.See also \*(L"perm_rw\*(R" in MM_Unix..IP "\s-1PERM_RWX\s0" 2.IX Item "PERM_RWX"Desired permission for executable files. Defaults to \f(CW755\fR.See also \*(L"perm_rwx\*(R" in MM_Unix..IP "\s-1PL_FILES\s0" 2.IX Item "PL_FILES"MakeMaker can run programs to generate files for you at build time.By default any file named *.PL (except Makefile.PL and Build.PL) inthe top level directory will be assumed to be a Perl program and runpassing its own basename in as an argument.  For example....Sp.Vb 1\&    perl foo.PL foo.Ve.SpThis behavior can be overridden by supplying your own set of files tosearch.  \s-1PL_FILES\s0 accepts a hash ref, the key being the file to runand the value is passed in as the first argument when the \s-1PL\s0 file is run..Sp.Vb 1\&    PL_FILES => {\*(Aqbin/foobar.PL\*(Aq => \*(Aqbin/foobar\*(Aq}.Ve.SpWould run bin/foobar.PL like this:.Sp.Vb 1\&    perl bin/foobar.PL bin/foobar.Ve.SpIf multiple files from one program are desired an array ref can be used..Sp.Vb 1\&    PL_FILES => {\*(Aqbin/foobar.PL\*(Aq => [qw(bin/foobar1 bin/foobar2)]}.Ve.SpIn this case the program will be run multiple times using each target file..Sp.Vb 2\&    perl bin/foobar.PL bin/foobar1\&    perl bin/foobar.PL bin/foobar2.Ve.Sp\&\s-1PL\s0 files are normally run \fBafter\fR pm_to_blib and include \s-1INST_LIB\s0 and\&\s-1INST_ARCH\s0 in its \f(CW@INC\fR so the just built modules can beaccessed... unless the \s-1PL\s0 file is making a module (or anything else in\&\s-1PM\s0) in which case it is run \fBbefore\fR pm_to_blib and does not include\&\s-1INST_LIB\s0 and \s-1INST_ARCH\s0 in its \f(CW@INC\fR.  This apparently odd behavioris there for backwards compatibility (and its somewhat \s-1DWIM\s0)..IP "\s-1PM\s0" 2.IX Item "PM"Hashref of .pm files and *.pl files to be installed.  e.g..Sp.Vb 1\&  {\*(Aqname_of_file.pm\*(Aq => \*(Aq$(INST_LIBDIR)/install_as.pm\*(Aq}.Ve.SpBy default this will include *.pm and *.pl and the files found inthe \s-1PMLIBDIRS\s0 directories.  Defining \s-1PM\s0 in theMakefile.PL will override \s-1PMLIBDIRS\s0..IP "\s-1PMLIBDIRS\s0" 2.IX Item "PMLIBDIRS"Ref to array of subdirectories containing library files.  Defaults to[ 'lib', $(\s-1BASEEXT\s0) ]. The directories will be scanned and \fIany\fR filesthey contain will be installed in the corresponding location in thelibrary.  A \fIlibscan()\fR method can be used to alter the behaviour.Defining \s-1PM\s0 in the Makefile.PL will override \s-1PMLIBDIRS\s0..Sp(Where \s-1BASEEXT\s0 is the last component of \s-1NAME\s0.).IP "\s-1PM_FILTER\s0" 2.IX Item "PM_FILTER"A filter program, in the traditional Unix sense (input from stdin, outputto stdout) that is passed on each .pm file during the build (in the\&\fIpm_to_blib()\fR phase).  It is empty by default, meaning no filtering is done..SpGreat care is necessary when defining the command if quoting needs to bedone.  For instance, you would need to say:.Sp.Vb 1\&  {\*(AqPM_FILTER\*(Aq => \*(Aqgrep \-v \e\e"^\e\e#\e\e"\*(Aq}.Ve.Spto remove all the leading comments on the fly during the build.  Theextra \e\e are necessary, unfortunately, because this variable is interpolatedwithin the context of a Perl program built on the command line, and doublequotes are what is used with the \-e switch to build that command line.  The# is escaped for the Makefile, since what is going to be generated will thenbe:.Sp.Vb 1\&  PM_FILTER = grep \-v \e"^\e#\e".Ve.SpWithout the \e\e before the #, we'd have the start of a Makefile comment,and the macro would be incorrectly defined..IP "\s-1POLLUTE\s0" 2.IX Item "POLLUTE"Release 5.005 grandfathered old global symbol names by providing preprocessormacros for extension source compatibility.  As of release 5.6, thesepreprocessor definitions are not available by default.  The \s-1POLLUTE\s0 flagspecifies that the old names should still be defined:.Sp.Vb 1\&  perl Makefile.PL POLLUTE=1.Ve.SpPlease inform the module author if this is necessary to successfully installa module under 5.6 or later..IP "\s-1PPM_INSTALL_EXEC\s0" 2.IX Item "PPM_INSTALL_EXEC"Name of the executable used to run \f(CW\*(C`PPM_INSTALL_SCRIPT\*(C'\fR below. (e.g. perl).IP "\s-1PPM_INSTALL_SCRIPT\s0" 2.IX Item "PPM_INSTALL_SCRIPT"Name of the script that gets executed by the Perl Package Manager afterthe installation of a package..IP "\s-1PREFIX\s0" 2.IX Item "PREFIX"This overrides all the default install locations.  Man pages,libraries, scripts, etc...  MakeMaker will try to make an educatedguess about where to place things under the new \s-1PREFIX\s0 based on yourConfig defaults.  Failing that, it will fall back to a structurewhich should be sensible for your platform..SpIf you specify \s-1LIB\s0 or any INSTALL* variables they will not be effectedby the \s-1PREFIX\s0..IP "\s-1PREREQ_FATAL\s0" 2.IX Item "PREREQ_FATAL"Bool. If this parameter is true, failing to have the required modules(or the right versions thereof) will be fatal. \f(CW\*(C`perl Makefile.PL\*(C'\fRwill \f(CW\*(C`die\*(C'\fR instead of simply informing the user of the missing dependencies..SpIt is \fIextremely\fR rare to have to use \f(CW\*(C`PREREQ_FATAL\*(C'\fR. Its use by moduleauthors is \fIstrongly discouraged\fR and should never be used lightly.Module installation tools have ways of resolving umet dependencies butto do that they need a \fIMakefile\fR.  Using \f(CW\*(C`PREREQ_FATAL\*(C'\fR breaks this.That's bad..SpThe only situation where it is appropriate is when you havedependencies that are indispensible to actually \fIwrite\fR a\&\fIMakefile\fR. For example, MakeMaker's \fIMakefile.PL\fR needs File::Spec.If its not available it cannot write the \fIMakefile\fR..SpNote: see Test::Harness for a shortcut for stopping tests earlyif you are missing dependencies and are afraid that users mightuse your module with an incomplete environment..IP "\s-1PREREQ_PM\s0" 2.IX Item "PREREQ_PM"Hashref: Names of modules that need to be available to run thisextension (e.g. Fcntl for SDBM_File) are the keys of the hash and thedesired version is the value. If the required version number is 0, weonly check if any version is installed already..IP "\s-1PREREQ_PRINT\s0" 2.IX Item "PREREQ_PRINT"Bool.  If this parameter is true, the prerequisites will be printed tostdout and MakeMaker will exit.  The output format is an evalable hashref..Sp\&\f(CW$PREREQ_PM\fR = {               'A::B' => Vers1,               'C::D' => Vers2,               ...             };.IP "\s-1PRINT_PREREQ\s0" 2.IX Item "PRINT_PREREQ"RedHatism for \f(CW\*(C`PREREQ_PRINT\*(C'\fR.  The output format is different, though:.Sp.Vb 1\&    perl(A::B)>=Vers1 perl(C::D)>=Vers2 ....Ve.IP "\s-1SITEPREFIX\s0" 2.IX Item "SITEPREFIX"Like \s-1PERLPREFIX\s0, but only for the site install locations..SpDefaults to \f(CW$Config\fR{siteprefixexp}.  Perls prior to 5.6.0 didn't havean explicit siteprefix in the Config.  In those cases\&\f(CW$Config\fR{installprefix} will be used..SpOverridable by \s-1PREFIX\s0.IP "\s-1SIGN\s0" 2.IX Item "SIGN"When true, perform the generation and addition to the \s-1MANIFEST\s0 of the\&\s-1SIGNATURE\s0 file in the distdir during 'make distdir', via 'cpansign\&\-s'..SpNote that you need to install the Module::Signature module toperform this operation..SpDefaults to false..IP "\s-1SKIP\s0" 2.IX Item "SKIP"Arrayref. E.g. [qw(name1 name2)] skip (do not write) sections of theMakefile. Caution! Do not use the \s-1SKIP\s0 attribute for the negligiblespeedup. It may seriously damage the resulting Makefile. Only use itif you really need it..IP "\s-1TYPEMAPS\s0" 2.IX Item "TYPEMAPS"Ref to array of typemap file names.  Use this when the typemaps arein some directory other than the current directory or when they arenot named \fBtypemap\fR.  The last typemap in the list takesprecedence.  A typemap in the current directory has highestprecedence, even if it isn't listed in \s-1TYPEMAPS\s0.  The default systemtypemap has lowest precedence..IP "\s-1VENDORPREFIX\s0" 2.IX Item "VENDORPREFIX"Like \s-1PERLPREFIX\s0, but only for the vendor install locations..SpDefaults to \f(CW$Config\fR{vendorprefixexp}..SpOverridable by \s-1PREFIX\s0.IP "\s-1VERBINST\s0" 2.IX Item "VERBINST"If true, make install will be verbose.IP "\s-1VERSION\s0" 2.IX Item "VERSION"Your version number for distributing the package.  This defaults to0.1..IP "\s-1VERSION_FROM\s0" 2.IX Item "VERSION_FROM"Instead of specifying the \s-1VERSION\s0 in the Makefile.PL you can letMakeMaker parse a file to determine the version number. The parsingroutine requires that the file named by \s-1VERSION_FROM\s0 contains onesingle line to compute the version number. The first line in the filethat contains the regular expression.Sp.Vb 1\&    /([\e$*])(([\ew\e:\e\*(Aq]*)\ebVERSION)\eb.*\e=/.Ve.Spwill be evaluated with \fIeval()\fR and the value of the named variable\&\fBafter\fR the \fIeval()\fR will be assigned to the \s-1VERSION\s0 attribute of theMakeMaker object. The following lines will be parsed o.k.:.Sp.Vb 6\&    $VERSION = \*(Aq1.00\*(Aq;\&    *VERSION = \e\*(Aq1.01\*(Aq;\&    ($VERSION) = q$Revision: 41145 $ =~ /(\ed+)/g;\&    $FOO::VERSION = \*(Aq1.10\*(Aq;\&    *FOO::VERSION = \e\*(Aq1.11\*(Aq;\&    our $VERSION = 1.2.3;       # new for perl5.6.0.Ve.Spbut these will fail:.Sp.Vb 3\&    my $VERSION = \*(Aq1.01\*(Aq;\&    local $VERSION = \*(Aq1.02\*(Aq;\&    local $FOO::VERSION = \*(Aq1.30\*(Aq;.Ve.Spversion will be loaded, if available, so this will work..Sp.Vb 1\&    our $VERSION = qv(1.2.3);   # version.pm will be loaded if available.Ve.SpIts up to you to declare a dependency on \f(CW\*(C`version\*(C'\fR.  Also note that thisfeature was introduced in MakeMaker 6.35.  Earlier versions of MakeMakerrequire this:.Sp.Vb 2\&    # All on one line\&    use version; our $VERSION = qv(1.2.3);.Ve.Sp(Putting \f(CW\*(C`my\*(C'\fR or \f(CW\*(C`local\*(C'\fR on the preceding line will work o.k.).SpThe file named in \s-1VERSION_FROM\s0 is not added as a dependency toMakefile. This is not really correct, but it would be a major painduring development to have to rewrite the Makefile for any smallishchange in that file. If you want to make sure that the Makefilecontains the correct \s-1VERSION\s0 macro after any change of the file, youwould have to do something like.Sp.Vb 1\&    depend => { Makefile => \*(Aq$(VERSION_FROM)\*(Aq }.Ve.SpSee attribute \f(CW\*(C`depend\*(C'\fR below..IP "\s-1VERSION_SYM\s0" 2.IX Item "VERSION_SYM"A sanitized \s-1VERSION\s0 with . replaced by _.  For places where . hasspecial meaning (some filesystems, \s-1RCS\s0 labels, etc...).IP "\s-1XS\s0" 2.IX Item "XS"Hashref of .xs files. MakeMaker will default this.  e.g..Sp.Vb 1\&  {\*(Aqname_of_file.xs\*(Aq => \*(Aqname_of_file.c\*(Aq}.Ve.SpThe .c files will automatically be included in the list of filesdeleted by a make clean..IP "\s-1XSOPT\s0" 2.IX Item "XSOPT"String of options to pass to xsubpp.  This might include \f(CW\*(C`\-C++\*(C'\fR or\&\f(CW\*(C`\-extern\*(C'\fR.  Do not include typemaps here; the \s-1TYPEMAP\s0 parameter exists forthat purpose..IP "\s-1XSPROTOARG\s0" 2.IX Item "XSPROTOARG"May be set to an empty string, which is identical to \f(CW\*(C`\-prototypes\*(C'\fR, or\&\f(CW\*(C`\-noprototypes\*(C'\fR. See the xsubpp documentation for details. MakeMakerdefaults to the empty string..IP "\s-1XS_VERSION\s0" 2.IX Item "XS_VERSION"Your version number for the .xs file of this package.  This defaultsto the value of the \s-1VERSION\s0 attribute..Sh "Additional lowercase attributes".IX Subsection "Additional lowercase attributes"can be used to pass parameters to the methods which implement thatpart of the Makefile.  Parameters are specified as a hash ref but arepassed to the method as a hash..IP "clean" 2.IX Item "clean".Vb 1\&  {FILES => "*.xyz foo"}.Ve.IP "depend" 2.IX Item "depend".Vb 1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -