#!/bin/perl eval 'exec /bin/perl -S $0 ${1+"$@"}' if $running_under_some_shell; =head1 NAME makeaperl - create a new perl binary from static extensions =head1 SYNOPSIS C =head1 DESCRIPTION This utility is designed to build new perl binaries from existing extensions on the fly. Called without any arguments it produces a new binary with the name C in the current directory. Intermediate files are produced in C, if that is writeable, else in the current directory. The most important intermediate file is a Makefile, that is used internally to call C. The new perl binary will consist The C<-l> switch lets you specify the name of a perl library to be linked into the new binary. If you do not specify a library, makeaperl writes targets for any C it finds in the search path. The topmost target will be the one related to C. With the C<-m> switch you can provide a name for the Makefile that will be written (default C). Likewise specifies the C<-o> switch a name for the perl binary (default C). The C<-t> switch lets you determine, in which directory the intermediate files should be stored. All object files and static extensions following on the command line will be linked into the target file. If there are any directories specified on the command line, these directories are searched for C<*.a> files, and all of the found ones will be linked in, too. If there is no directory named, then the contents of $INC[0] are searched. If the command fails, there is currently no other mechanism to adjust the behaviour of the program than to alter the generated Makefile and run C by hand. =head1 AUTHORS Tim Bunce , Andreas Koenig ; =head2 STATUS First version, written 5 Feb 1995, is considered alpha. =cut use ExtUtils::MakeMaker; use Getopt::Long; use strict qw(subs refs); $Version = 1.0; $Verbose = 0; sub usage{ warn <$opt_m"; MM->init_main(); MM->init_others(); print MAKE MM->makeaperl('MAKE' => $opt_m, 'TARGET' => $opt_o, 'TMP' => $opt_t, 'LIBPERL' => $opt_l, 'DIRS' => [@dirs], 'STAT' => [@fils], 'INCL' => [@dirs] ); close MAKE; (system "make -f $opt_m") == 0 or die "$0 failed: Please check file $opt_m and run make -f $opt_m\n";