I have seen Distro with multiple XS modules that the question has already been asked but I hope to get more specific tips.

I have one very small module, Win32::Shortkeys::Kbh that use xs code to interact with windows API functions.

I can change the code, compile it with a makefile.PL in the top module folder:

WriteMakefile( NAME => 'Win32::Shortkeys::Kbh', VERSION_FROM => 'lib/Win32/Shortkeys/Kbh.pm', ABSTRACT_FROM => 'lib/Win32/Shortkeys/Kbh.pm', OBJECT => 'hook.o Kbh.o', );
The xs c and h files are also in this folder.

I have an other module Win32::Shortkeys, that use this first one and consists only from perl code. The makefile.pl is

WriteMakefile( NAME => 'Win32::Shortkeys', VERSION_FROM => 'lib/Win32/Shortkeys.pm', # finds \$VERSION .... PREREQ_PM => { ... 'Win32::Shortkeys::Kbh' => 0.01, 'Config::YAML::Tiny' => 1.42, ... }, );

Even if the xs module could be used by others, it's so tiny that I would try to unite both modules in a single module (win32::Shortkeys).

I suppose I could place the xs code in a xs folder. From the mod_perl example given in the node above, I see that there's also a makefile.PL here but I would be glad if someone could gave me more indication, redirect me to more examples, before I start testing...

Thanks !

frazap

In reply to xs code in a perl module by frazap

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.