📄 makemaker.pm
字号:
Hashref of symbol names for routines to be made available as universalsymbols. Each key/value pair consists of the package name and anarray of routine names in that package. Used only under AIX, OS/2,VMS and Win32 at present. The routine names supplied will be expandedin the same way as XSUB names are expanded by the XS() macro.Defaults to {"$(NAME)" => ["boot_$(NAME)" ] }e.g. {"RPC" => [qw( boot_rpcb rpcb_gettime getnetconfigent )], "NetconfigPtr" => [ 'DESTROY'] }Please see the L<ExtUtils::Mksymlists> documentation for more informationabout the DL_FUNCS, DL_VARS and FUNCLIST attributes.=item DL_VARSArray of symbol names for variables to be made available as universal symbols.Used only under AIX, OS/2, VMS and Win32 at present. Defaults to [].(e.g. [ qw(Foo_version Foo_numstreams Foo_tree ) ])=item EXCLUDE_EXTArray of extension names to exclude when doing a static build. Thisis ignored if INCLUDE_EXT is present. Consult INCLUDE_EXT for moredetails. (e.g. [ qw( Socket POSIX ) ] )This attribute may be most useful when specified as a string on thecommand line: perl Makefile.PL EXCLUDE_EXT='Socket Safe'=item EXE_FILESRef to array of executable files. The files will be copied to theINST_SCRIPT directory. Make realclean will delete them from thereagain.=item FIRST_MAKEFILEThe name of the Makefile to be produced. Defaults to the contents ofMAKEFILE, but can be overridden. This is used for the second Makefilethat will be produced for the MAP_TARGET.=item FULLPERLPerl binary able to run this extension.=item FUNCLISTThis provides an alternate means to specify function names to beexported from the extension. Its value is a reference to anarray of function names to be exported by the extension. Thesenames are passed through unaltered to the linker options file.=item HRef to array of *.h file names. Similar to C.=item HTMLLIBPODSHashref of .pm and .pod files. MakeMaker will default this to all .pod and any .pm files that include POD directives. The files listedhere will be converted to HTML format and installed as was requestedat Configure time.=item HTMLSCRIPTPODSHashref of pod-containing files. MakeMaker will default this to allEXE_FILES files that include POD directives. The files listedhere will be converted to HTML format and installed as was requestedat Configure time.=item IMPORTSThis attribute is used to specify names to be imported into theextension. It is only used on OS/2 and Win32.=item INCInclude file dirs eg: C<"-I/usr/5include -I/path/to/inc">=item INCLUDE_EXTArray of extension names to be included when doing a static build.MakeMaker will normally build with all of the installed extensions whendoing a static build, and that is usually the desired behavior. IfINCLUDE_EXT is present then MakeMaker will build only with those extensionswhich are explicitly mentioned. (e.g. [ qw( Socket POSIX ) ])It is not necessary to mention DynaLoader or the current extension whenfilling in INCLUDE_EXT. If the INCLUDE_EXT is mentioned but is empty thenonly DynaLoader and the current extension will be included in the build.This attribute may be most useful when specified as a string on thecommand line: perl Makefile.PL INCLUDE_EXT='POSIX Socket Devel::Peek'=item INSTALLARCHLIBUsed by 'make install', which copies files from INST_ARCHLIB to thisdirectory if INSTALLDIRS is set to perl.=item INSTALLBINDirectory to install binary files (e.g. tkperl) into.=item INSTALLDIRSDetermines which of the two sets of installation directories tochoose: installprivlib and installarchlib versus installsitelib andinstallsitearch. The first pair is chosen with INSTALLDIRS=perl, thesecond with INSTALLDIRS=site. Default is site.=item INSTALLHTMLPRIVLIBDIRThis directory gets the HTML pages at 'make install' time. Defaults to$Config{installhtmlprivlibdir}.=item INSTALLHTMLSCRIPTDIRThis directory gets the HTML pages at 'make install' time. Defaults to$Config{installhtmlscriptdir}.=item INSTALLHTMLSITELIBDIRThis directory gets the HTML pages at 'make install' time. Defaults to$Config{installhtmlsitelibdir}.=item INSTALLMAN1DIRThis directory gets the man pages at 'make install' time. Defaults to$Config{installman1dir}.=item INSTALLMAN3DIRThis directory gets the man pages at 'make install' time. Defaults to$Config{installman3dir}.=item INSTALLPRIVLIBUsed by 'make install', which copies files from INST_LIB to thisdirectory if INSTALLDIRS is set to perl.=item INSTALLSCRIPTUsed by 'make install' which copies files from INST_SCRIPT to thisdirectory.=item INSTALLSITEARCHUsed by 'make install', which copies files from INST_ARCHLIB to thisdirectory if INSTALLDIRS is set to site (default).=item INSTALLSITELIBUsed by 'make install', which copies files from INST_LIB to thisdirectory if INSTALLDIRS is set to site (default).=item INST_ARCHLIBSame as INST_LIB for architecture dependent files.=item INST_BINDirectory to put real binary files during 'make'. These will be copiedto INSTALLBIN during 'make install'=item INST_EXEOld name for INST_SCRIPT. Deprecated. Please use INST_SCRIPT if youneed to use it.=item INST_HTMLLIBDIRDirectory to hold the man pages in HTML format at 'make' time=item INST_HTMLSCRIPTDIRDirectory to hold the man pages in HTML format at 'make' time=item INST_LIBDirectory where we put library files of this extension while buildingit.=item INST_MAN1DIRDirectory to hold the man pages at 'make' time=item INST_MAN3DIRDirectory to hold the man pages at 'make' time=item INST_SCRIPTDirectory, where executable files should be installed during'make'. Defaults to "./blib/script", just to have a dummy location duringtesting. make install will copy the files in INST_SCRIPT toINSTALLSCRIPT.=item LDFROMdefaults to "$(OBJECT)" and is used in the ld command to specifywhat files to link/load from (also see dynamic_lib below for how tospecify ld flags)=item LIBLIB should only be set at C<perl Makefile.PL> time but is allowed as aMakeMaker argument. It has the effect ofsetting both INSTALLPRIVLIB and INSTALLSITELIB to that value regardless anyexplicit setting of those arguments (or of PREFIX). INSTALLARCHLIB and INSTALLSITEARCH are set to the corresponding architecture subdirectory.=item LIBPERL_AThe filename of the perllibrary that will be used together with thisextension. Defaults to libperl.a.=item LIBSAn anonymous array of alternative libraryspecifications to be searched for (in order) untilat least one library is found. E.g. 'LIBS' => ["-lgdbm", "-ldbm -lfoo", "-L/path -ldbm.nfs"]Mind, that any element of the arraycontains a complete set of arguments for the ldcommand. So do not specify 'LIBS' => ["-ltcl", "-ltk", "-lX11"]See ODBM_File/Makefile.PL for an example, where an array is needed. Ifyou specify a scalar as in 'LIBS' => "-ltcl -ltk -lX11"MakeMaker will turn it into an array with one element.=item LINKTYPE'static' or 'dynamic' (default unless usedl=undef inconfig.sh). Should only be used to force static linking (also seelinkext below).=item MAKEAPERLBoolean which tells MakeMaker, that it should include the rules tomake a perl. This is handled automatically as a switch byMakeMaker. The user normally does not need it.=item MAKEFILEThe name of the Makefile to be produced.=item MAN1PODSHashref of pod-containing files. MakeMaker will default this to allEXE_FILES files that include POD directives. The files listedhere will be converted to man pages and installed as was requestedat Configure time.=item MAN3PODSHashref of .pm and .pod files. MakeMaker will default this to all .pod and any .pm files that include POD directives. The files listedhere will be converted to man pages and installed as was requestedat Configure time.=item MAP_TARGETIf it is intended, that a new perl binary be produced, this variablemay hold a name for that binary. Defaults to perl=item MYEXTLIBIf the extension links to a library that it builds set this to thename of the library (see SDBM_File)=item NAMEPerl module name for this extension (DBD::Oracle). This will defaultto the directory name but should be explicitly defined in theMakefile.PL.=item NEEDS_LINKINGMakeMaker will figure out if an extension contains linkable codeanywhere down the directory tree, and will set this variableaccordingly, but you can speed it up a very little bit if you definethis boolean variable yourself.=item NOECHODefaults to C<@>. By setting it to an empty string you can generate aMakefile that echos all commands. Mainly used in debugging MakeMakeritself.=item NORECURSBoolean. Attribute to inhibit descending into subdirectories.=item NO_VCIn general, any generated Makefile checks for the current version ofMakeMaker and the version the Makefile was built under. If NO_VC isset, the version check is neglected. Do not write this into yourMakefile.PL, use it interactively instead.=item OBJECTList of object files, defaults to '$(BASEEXT)$(OBJ_EXT)', but can be a longstring containing all object files, e.g. "tkpBind.otkpButton.o tkpCanvas.o"(Where BASEEXT is the last component of NAME, and OBJ_EXT is $Config{obj_ext}.)=item OPTIMIZEDefaults to C<-O>. Set it to C<-g> to turn debugging on. The flag ispassed to subdirectory makes.=item PERLPerl binary for tasks that can be done by miniperl=item PERLMAINCCThe call to the program that is able to compile perlmain.c. Defaultsto $(CC).=item PERL_ARCHLIBSame as below, but for architecture dependent files.=item PERL_LIBDirectory containing the Perl library to use.=item PERL_MALLOC_OKdefaults to 0. Should be set to TRUE if the extension can work withthe memory allocation routines substituted by the Perl malloc() subsystem.This should be applicable to most extensions with exceptions of those=over 4=item *with bugs in memory allocations which are caught by Perl's malloc();=item *which interact with the memory allocator in other ways than viamalloc(), realloc(), free(), calloc(), sbrk() and brk();=item *which rely on special alignment which is not provided by Perl's malloc().=backB<NOTE.> Negligence to set this flag in I<any one> of loaded extensionnullifies many advantages of Perl's malloc(), such as better usage ofsystem resources, error detection, memory usage reporting, catchable failureof memory allocations, etc.=item PERL_SRCDirectory containing the Perl source code (use of this should beavoided, it may be undefined)=item PERM_RWDesired permission for read/writable files. Defaults to C<644>.See also L<MM_Unix/perm_rw>.=item PERM_RWXDesired permission for executable files. Defaults to C<755>.See also L<MM_Unix/perm_rwx>.=item PL_FILESRef to hash of files to be processed as perl programs. MakeMakerwill default to any found *.PL file (except Makefile.PL) being keysand the basename of the file being the value. E.g. {'foobar.PL' => 'foobar'}The *.PL files are expected to produce output to the target filesthemselves. If multiple files can be generated from the same *.PLfile then the value in the hash can be a reference to an array oftarget file names. E.g. {'foobar.PL' => ['foobar1','foobar2']}=item PMHashref of .pm files and *.pl files to be installed. e.g. {'name_of_file.pm' => '$(INST_LIBDIR)/install_as.pm'}By default this will include *.pm and *.pl and the files found inthe PMLIBDIRS directories. Defining PM in theMakefile.PL will override PMLIBDIRS.=item PMLIBDIRSRef to array of subdirectories containing library files. Defaults to[ 'lib', $(BASEEXT) ]. The directories will be scanned and I<any> filesthey contain will be installed in the corresponding location in thelibrary. A libscan() method can be used to alter the behaviour.Defining PM in the Makefile.PL will override PMLIBDIRS.(Where BASEEXT is the last component of NAME.)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -