|-LC library directories||Adds the given directories to the library search path when C code is passed to your C compiler.|
|-IC include directories||Adds the given directories to the include file search path when C code is passed to your C compiler; when using the Perl bytecode option, adds the given directories to Perls include path.|
|-o output file name||
Specifies the file name for the final compiled executable.
Without given output file name we use the base of the input file, or with -e a.out resp. a.exe and a randomized intermediate C filename. If the input file is an absolute path on a non-windows system use the basename.
|-c C file name||Create C file only; do not compile and link to a standalone binary.|
|-e perl code||Compile a one-liner, much the same as perl -e ...|
|--check||Pass -c flag to the backend, prints all backend warnings to STDOUT and exits before generating and compiling code. Similar to perl -c.|
|-S||Keep source. Do not delete generated C code after compilation.|
|-B||Use the Perl bytecode code generator.|
|-O||Use the optimised C code generator B::CC. This is more experimental than everything else put together, and the code created is not guaranteed to compile in finite time and memory, or indeed, at all.|
Pass the numeric optimisation option to the compiler backend.
Shortcut for -Wb=-On.
This does not enforce B::CC.
|-v 0-6||Set verbosity of output from 0 to max. 6.|
|-r||Run the resulting compiled script after compiling it.|
|--log logfile||Log the output of compiling to a file rather than to stdout.|
|-f<option> or --f=<option>||Pass the options to the compiler backend, such as -fstash or -fno-delete-pkg.|
|--Wb=options||Pass the options to the compiler backend, such as --Wb=-O2,-v|
|--Wc=options||Pass comma-seperated options to cc.|
|--Wl=options||Pass comma-seperated options to ld.|
|-T or -t||run the backend using perl -T or -t|
Allow perl options to be passed to the executable first,
Adds -DALLOW_PERL_OPTIONS which omits -- from being added to the options handler.
|-u package||Add package(s) to compiler and force linking to it.|
|-U package||Skip package(s). Do not compile and link the package and its sole dependencies.|
|--stash||Detect external packages automatically via B::Stash|
|--static||Link to static libperl.a|
Link to static XS if available.
If the XS libs are only available as shared libs link to those (prelink).
Systems without rpath (windows, cygwin) must be extend LD_LIBRARY_PATH/PATH at run-time. Together with -static, purely static modules and no run-time eval or require this will gain no external dependencies.
|--shared||Link to shared libperl|
|--sharedxs||Link shared XSUBs if the linker supports it. No DynaLoader needed. This will still require the shared XSUB libraries to be installed at the client, modification of @INC in the source is probably required. (Not yet implemented)|
|-m|--sharedlib [Modulename]||Create a module, resp. a shared library. Currently only enabled for Bytecode and CC. (not yet tested)|
Tries be nice to Test:: modules, like preallocating the file
handles 4 and 5, and munge the output of BEGIN.
|--time||Benchmark the different phases <B>cB> (B::* compilation), <B>ccB> (cc compile + link), and <B>rB> (runtime).|
|--no-spawn||Do not spawn subprocesses for compilation, because broken shells might not be able to kill its children.|
|perl v5.20.3||PERLCC (1)||2016-04-03|