{
    "content": [
        {
            "type": "text",
            "text": "# ExtUtils::Mksymlists (perldoc)\n\n## NAME\n\nExtUtils::Mksymlists - write linker options files for dynamic extension\n\n## SYNOPSIS\n\nuse ExtUtils::Mksymlists;\nMksymlists(  NAME     => $name ,\nDLVARS  => [ $var1, $var2, $var3 ],\nDLFUNCS => { $pkg1 => [ $func1, $func2 ],\n$pkg2 => [ $func3 ] );\n\n## DESCRIPTION\n\n\"ExtUtils::Mksymlists\" produces files used by the linker under some OSs during the creation of\nshared libraries for dynamic extensions. It is normally called from a MakeMaker-generated\nMakefile when the extension is built. The linker option file is generated by calling the\nfunction \"Mksymlists\", which is exported by default from \"ExtUtils::Mksymlists\". It takes one\nargument, a list of key-value pairs, in which the following keys are recognized:\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **AUTHOR**\n- **REVISION**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "ExtUtils::Mksymlists",
        "section": "",
        "mode": "perldoc",
        "summary": "ExtUtils::Mksymlists - write linker options files for dynamic extension",
        "synopsis": "use ExtUtils::Mksymlists;\nMksymlists(  NAME     => $name ,\nDLVARS  => [ $var1, $var2, $var3 ],\nDLFUNCS => { $pkg1 => [ $func1, $func2 ],\n$pkg2 => [ $func3 ] );",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 6,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 59,
                "subsections": []
            },
            {
                "name": "AUTHOR",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "REVISION",
                "lines": 2,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "ExtUtils::Mksymlists - write linker options files for dynamic extension\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "use ExtUtils::Mksymlists;\nMksymlists(  NAME     => $name ,\nDLVARS  => [ $var1, $var2, $var3 ],\nDLFUNCS => { $pkg1 => [ $func1, $func2 ],\n$pkg2 => [ $func3 ] );\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "\"ExtUtils::Mksymlists\" produces files used by the linker under some OSs during the creation of\nshared libraries for dynamic extensions. It is normally called from a MakeMaker-generated\nMakefile when the extension is built. The linker option file is generated by calling the\nfunction \"Mksymlists\", which is exported by default from \"ExtUtils::Mksymlists\". It takes one\nargument, a list of key-value pairs, in which the following keys are recognized:\n\nDLBASE\nThis item specifies the name by which the linker knows the extension, which may be different\nfrom the name of the extension itself (for instance, some linkers add an '' to the name of\nthe extension). If it is not specified, it is derived from the NAME attribute. It is\npresently used only by OS2 and Win32.\n\nDLFUNCS\nThis is identical to the DLFUNCS attribute available via MakeMaker, from which it is\nusually taken. Its value is a reference to an associative array, in which each key is the\nname of a package, and each value is an a reference to an array of function names which\nshould be exported by the extension. For instance, one might say \"DLFUNCS => { Homer::Iliad\n=> [ qw(trojans greeks) ], Homer::Odyssey => [ qw(travellers family suitors) ] }\". The\nfunction names should be identical to those in the XSUB code; \"Mksymlists\" will alter the\nnames written to the linker option file to match the changes made by xsubpp. In addition, if\nnone of the functions in a list begin with the string boot, \"Mksymlists\" will add a\nbootstrap function for that package, just as xsubpp does. (If a boot<pkg> function is\npresent in the list, it is passed through unchanged.) If DLFUNCS is not specified, it\ndefaults to the bootstrap function for the extension specified in NAME.\n\nDLVARS\nThis is identical to the DLVARS attribute available via MakeMaker, and, like DLFUNCS, it\nis usually specified via MakeMaker. Its value is a reference to an array of variable names\nwhich should be exported by the extension.\n\nFILE\nThis key can be used to specify the name of the linker option file (minus the OS-specific\nextension), if for some reason you do not want to use the default value, which is the last\nword of the NAME attribute (*e.g.* for \"Tk::Canvas\", FILE defaults to \"Canvas\").\n\nFUNCLIST\nThis provides an alternate means to specify function names to be exported from the\nextension. Its value is a reference to an array of function names to be exported by the\nextension. These names are passed through unaltered to the linker options file. Specifying a\nvalue for the FUNCLIST attribute suppresses automatic generation of the bootstrap function\nfor the package. To still create the bootstrap name you have to specify the package name in\nthe DLFUNCS hash:\n\nMksymlists(  NAME     => $name ,\nFUNCLIST => [ $func1, $func2 ],\nDLFUNCS => { $pkg => [] } );\n\nIMPORTS\nThis attribute is used to specify names to be imported into the extension. It is currently\nonly used by OS/2 and Win32.\n\nNAME\nThis gives the name of the extension (*e.g.* \"Tk::Canvas\") for which the linker option file\nwill be produced.\n\nWhen calling \"Mksymlists\", one should always specify the NAME attribute. In most cases, this is\nall that's necessary. In the case of unusual extensions, however, the other attributes can be\nused to provide additional information to the linker.\n",
                "subsections": []
            },
            "AUTHOR": {
                "content": "Charles Bailey *<bailey@newman.upenn.edu>*\n",
                "subsections": []
            },
            "REVISION": {
                "content": "Last revised 14-Feb-1996, for Perl 5.002.\n",
                "subsections": []
            }
        }
    }
}