Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re^2: Perl 6 and exe

by ikegami (Patriarch)
on Sep 18, 2007 at 14:46 UTC ( #639661=note: print w/replies, xml ) Need Help??


in reply to Re: Perl 6 and exe
in thread Perl 6 and exe

@INC supports code refs to specialized handlers, so no need to tweak the Perl source.

Replies are listed 'Best First'.
Re^3: Perl 6 and exe
by vkon (Curate) on Sep 18, 2007 at 15:31 UTC
    there is a need to tweak the Perl source, if you really want perl executable with any extension to be linked statically into the main executable.

    I was able to statically link into perl58.dll Tcl::Tk and some required for me modules. But you need some kind of linking set and some developed approach if you're going to gather some (unknown) extensions into the main exe.

    PS.(keep in mind, this is not PAR approach, where huge ZIP is unpacked into %TEMP%)

      if you really want perl executable with any extension to be linked statically into the main executable

      I don't understand. There is no perl executable if Perl is statically linked into your executable.

        I had in mind main perl executable but linked in such a way that it runs foo.pl seamlessly (not from any application, we were talking of a way to create EXEs out from perl scripts from the very start.)

        suppose you have script foo.pl, which uses Bar:: and Fluffy:: XS extensions.
        ($^O equals to 'MSWin32' in my explanations)

        You want to create foo.exe, much like PAR but with statical linking and w/o temporary unzips.

        With an approach kept by me in mind (and by Ilya Zakharevich in mentioned link) you will result in:

        • perl58s.lib <- static library, which is not against perl58.dll, but rather all the code inside it
        • Bar.lib, Fluffy.lib <- same for extensions
        • foo.zip <- to contain all text files with Perl scripts: foo.pl, and required perl core library
        • perlmain.c from perl source distribution which contains RunPerl call, and link it against all mentioned libs
        • concatenate resulting EXE with foo.zip like in Ilya's message
        The resulting perl executable runs your foo.pl and w/o temporaries.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://639661]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (3)
As of 2023-01-30 05:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?