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

📄 module::build::api.3

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻 3
📖 第 1 页 / 共 5 页
字号:
.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05).\".\" Standard preamble:.\" ========================================================================.de Sh \" Subsection heading.br.if t .Sp.ne 5.PP\fB\\$1\fR.PP...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" '''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 turned on, we'll generate index entries on stderr for.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index.\" entries marked with X<> in POD.  Of course, you'll have to process the.\" output yourself in some meaningful fashion..ie \nF \{\.    de IX.    tm Index:\\$1\t\\n%\t"\\$2"...    nr % 0.    rr F.\}.el \{\.    de IX...\}.\".\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2)..\" Fear.  Run.  Save yourself.  No user-serviceable parts..    \" fudge factors for nroff and troff.if n \{\.    ds #H 0.    ds #V .8m.    ds #F .3m.    ds #[ \f1.    ds #] \fP.\}.if t \{\.    ds #H ((1u-(\\\\n(.fu%2u))*.13m).    ds #V .6m.    ds #F 0.    ds #[ \&.    ds #] \&.\}.    \" simple accents for nroff and troff.if n \{\.    ds ' \&.    ds ` \&.    ds ^ \&.    ds , \&.    ds ~ ~.    ds /.\}.if t \{\.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u".    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'.\}.    \" troff and (daisy-wheel) nroff accents.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'.ds 8 \h'\*(#H'\(*b\h'-\*(#H'.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#].ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#].ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#].ds ae a\h'-(\w'a'u*4/10)'e.ds Ae A\h'-(\w'A'u*4/10)'E.    \" corrections for vroff.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'.    \" for low resolution devices (crt and lpr).if \n(.H>23 .if \n(.V>19 \\{\.    ds : e.    ds 8 ss.    ds o a.    ds d- d\h'-1'\(ga.    ds D- D\h'-1'\(hy.    ds th \o'bp'.    ds Th \o'LP'.    ds ae ae.    ds Ae AE.\}.rm #[ #] #H #V #F C.\" ========================================================================.\".IX Title "Module::Build::API 3".TH Module::Build::API 3 "2007-12-18" "perl v5.10.0" "Perl Programmers Reference Guide".\" 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"Module::Build::API \- API Reference for Module Authors.SH "DESCRIPTION".IX Header "DESCRIPTION"I list here some of the most important methods in \f(CW\*(C`Module::Build\*(C'\fR.Normally you won't need to deal with these methods unless you want tosubclass \f(CW\*(C`Module::Build\*(C'\fR.  But since one of the reasons I createdthis module in the first place was so that subclassing is possible(and easy), I will certainly write more docs as the interfacestabilizes..Sh "\s-1CONSTRUCTORS\s0".IX Subsection "CONSTRUCTORS".IP "\fIcurrent()\fR" 4.IX Item "current()"[version 0.20].SpThis method returns a reasonable facsimile of the currently-executing\&\f(CW\*(C`Module::Build\*(C'\fR object representing the current build.  You can usethis object to query its \*(L"\fInotes()\fR\*(R" method, inquire about installedmodules, and so on.  This is a great way to share information betweendifferent parts of your build process.  For instance, you can askthe user a question during \f(CW\*(C`perl Build.PL\*(C'\fR, then use their answerduring a regression test:.Sp.Vb 3\&  # In Build.PL:\&  my $color = $build\->prompt("What is your favorite color?");\&  $build\->notes(color => $color);\&\&  # In t/colortest.t:\&  use Module::Build;\&  my $build = Module::Build\->current;\&  my $color = $build\->notes(\*(Aqcolor\*(Aq);\&  ....Ve.SpThe way the \f(CW\*(C`current()\*(C'\fR method is currently implemented, there may beslight differences between the \f(CW$build\fR object in Build.PL and theone in \f(CW\*(C`t/colortest.t\*(C'\fR.  It is our goal to minimize these differencesin future releases of Module::Build, so please report any anomaliesyou find..SpOne important caveat: in its current implementation, \f(CW\*(C`current()\*(C'\fR will\&\fB\s-1NOT\s0\fR work correctly if you have changed out of the directory that\&\f(CW\*(C`Module::Build\*(C'\fR was invoked from..IP "\fInew()\fR" 4.IX Item "new()"[version 0.03].SpCreates a new Module::Build object.  Arguments to the \fInew()\fR method arelisted below.  Most arguments are optional, but you must provideeither the \*(L"module_name\*(R" argument, or \*(L"dist_name\*(R" and one of\&\*(L"dist_version\*(R" or \*(L"dist_version_from\*(R".  In other words, you mustprovide enough information to determine both a distribution name andversion..RS 4.IP "add_to_cleanup" 4.IX Item "add_to_cleanup"[version 0.19].SpAn array reference of files to be cleaned up when the \f(CW\*(C`clean\*(C'\fR actionis performed. See also the \fIadd_to_cleanup()\fRmethod..IP "auto_features" 4.IX Item "auto_features"[version 0.26].SpThis parameter supports the setting of features (see\&\*(L"feature($name)\*(R") automatically based on a set of prerequisites.  Forinstance, for a module that could optionally use either MySQL orPostgreSQL databases, you might use \f(CW\*(C`auto_features\*(C'\fR like this:.Sp.Vb 10\&  my $build = Module::Build\->new\&    (\&     ...other stuff here...\&     auto_features => {\&       pg_support    => {\&                         description => "Interface with Postgres databases",\&                         requires    => { \*(AqDBD::Pg\*(Aq => 23.3,\&                                          \*(AqDateTime::Format::Pg\*(Aq => 0 },\&                        },\&       mysql_support => {\&                         description => "Interface with MySQL databases",\&                         requires    => { \*(AqDBD::mysql\*(Aq => 17.9,\&                                          \*(AqDateTime::Format::MySQL\*(Aq => 0 },\&                        },\&     }\&    );.Ve.SpFor each feature named, the required prerequisites will be checked, andif there are no failures, the feature will be enabled (set to \f(CW1\fR).Otherwise the failures will be displayed to the user and the featurewill be disabled (set to \f(CW0\fR)..SpSee the documentation for \*(L"requires\*(R" for the details of howrequirements can be specified..IP "autosplit" 4.IX Item "autosplit"[version 0.04].SpAn optional \f(CW\*(C`autosplit\*(C'\fR argument specifies a file which should be runthrough the \fIAutoSplit::autosplit()\fR function.If multiple files should be split, the argument may be given as anarray of the files to split..SpIn general I don't consider autosplitting a great idea, because it'snot always clear that autosplitting achieves its intended performancebenefits.  It may even harm performance in environments like mod_perl,where as much as possible of a module's code should be loaded duringstartup..IP "build_class" 4.IX Item "build_class"[version 0.28].SpThe Module::Build class or subclass to use in the build script.Defaults to \*(L"Module::Build\*(R" or the class name passed to or created bya call to \*(L"\fIsubclass()\fR\*(R".  This property is useful if you'rewriting a custom Module::Build subclass and have a bootstrappingproblem\*(--that is, your subclass requires modules that may not beinstalled when \f(CW\*(C`perl Build.PL\*(C'\fR is executed, but you've listed in\&\*(L"build_requires\*(R" so that they should be available when \f(CW\*(C`./Build\*(C'\fR isexecuted..IP "build_requires" 4.IX Item "build_requires"[version 0.07].SpModules listed in this section are necessary to build and install thegiven module, but are not necessary for regular usage of it.  This isactually an important distinction \- it allows for tighter control overthe body of installed modules, and facilitates correct dependencychecking on binary/packaged distributions of the module..SpSee the documentation for \*(L"\s-1PREREQUISITES\s0\*(R" in Module::Build::Authoringfor the details of how requirements can be specified..IP "create_packlist" 4.IX Item "create_packlist"[version 0.28].SpIf true, this parameter tells Module::Build to create a \fI.packlist\fRfile during the \f(CW\*(C`install\*(C'\fR action, just like ExtUtils::MakeMaker does.The file is created in a subdirectory of the \f(CW\*(C`arch\*(C'\fR installationlocation.  It is used by some other tools (\s-1CPAN\s0, \s-1CPANPLUS\s0, etc.) fordetermining what files are part of an install..SpThe default value is true.  This parameter was introduced inModule::Build version 0.2609; previously no packlists were evercreated by Module::Build..IP "c_source" 4.IX Item "c_source"[version 0.04].SpAn optional \f(CW\*(C`c_source\*(C'\fR argument specifies a directory which containsC source files that the rest of the build may depend on.  Any \f(CW\*(C`.c\*(C'\fRfiles in the directory will be compiled to object files.  Thedirectory will be added to the search path during the compilation andlinking phases of any C or \s-1XS\s0 files..IP "conflicts" 4.IX Item "conflicts"[version 0.07].SpModules listed in this section conflict in some serious way with thegiven module.  \f(CW\*(C`Module::Build\*(C'\fR (or some higher-level tool) willrefuse to install the given module if the given module/version is alsoinstalled..SpSee the documentation for \*(L"\s-1PREREQUISITES\s0\*(R" in Module::Build::Authoringfor the details of how requirements can be specified..IP "create_makefile_pl" 4.IX Item "create_makefile_pl"[version 0.19].SpThis parameter lets you use Module::Build::Compat during the\&\f(CW\*(C`distdir\*(C'\fR (or \f(CW\*(C`dist\*(C'\fR) action to automatically create a Makefile.PLfor compatibility with ExtUtils::MakeMaker.  The parameter's valueshould be one of the styles named in the Module::Build::Compat

⌨️ 快捷键说明

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