Reggie Kogulan wrote:

> Aaron,
> What I am looking is to distribute the executable only. Not the code. like
> a compiled C program will generates a.out or jar file in java. Thats all I
> am looking for.
> 
> Someone earlier said to use perlcc. Which I did now. I do not see an
> executable file.
> 
> example: $perlcc -o testfile test.pl
> 
> Did not produce testfile at all.
> Is there something else I need to do?
> 

perlcc is experimental so don't be suprise if it doesn't work. you can 
generate the c file and compile it yourself (asking for perlcc to generate 
the c code might be easier then asking it to generate the binary for you). 
following these steps (assuming your perl script is named script.pl):

[panda]$ perlcc -S script.pl
[panda]$ perl -MConfig -e 'print $Config{cc}\n"'
[panda]$ perl -MExtUtils::Embed -e ccopts -e ldopts
[panda]$ gcc -o script.out script.c <options from above>
[panda]$ file script.out
[panda]$ script.out

steps:

1. ask perlcc to generate a script.c file from script.pl
2. ask Config to show us what compiler is Perl itself compiled into. You 
will need to use the same complier! in my box, it's a gcc
3. Ask ExtUtil to show us what options Perl itself is compiled into. this 
will print long option line so you will probably want to '> options.txt'
4. use gcc to compile script.c into a binary script.out. '<options from 
above>' means whatever you store into options.txt in step 3. without the 
options, gcc probably won't compile correctly.
5. simply shows you that you really end up with a binary for your os
6. runs it.

if you are having problem compiling the c source, it's probably due to 
missing headers, use the following to find out where those headers such as 
EXTERN.h and perl.h are really locaed:

[panda]$ perl -MConfig -e 'print "$Config{archlib}\n"'

i have been using this method to generate some simply perl binaries for fun. 
if that doesn't work for you, forget you ever heard perlcc. :-)

david

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to