# Makefile.PL for Perl extension Curl::easy. # Check out the file README for more info. use ExtUtils::MakeMaker; # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. WriteMakefile( 'NAME' => 'Curl::easy', 'VERSION_FROM' => 'easy.pm', # finds $VERSION 'LIBS' => ['-lcurl '], # e.g., '-lm' 'DEFINE' => '', # e.g., '-DHAVE_SOMETHING' 'INC' => '', # e.g., '-I/usr/include/other' 'clean' => {FILES => "head.out body.out"} ); # # This utility helper generates the constants function from curl.h # # It is normally only used by the maintainer, but if you're curl is older # or missing some constants, you can delete curlopt-constants.c and re-run 'perl Makefile.PL' # if (!open(CONSTANTS,") { if ($_ =~ m/CINIT\(/ and $_ !~ m/#/) { my ($option,$type,$code)=m/.*CINIT\((\w*)\s*,\s*(\w+)\s*,\s*(\d+).*/; $types{$option}=$type; $codes{$option}=$code; } } close(CURL_H); # some things are ifdefed out... foreach my $ifdef0 (qw(FLAGS PROGRESSMODE)) { delete $types{$ifdef0}; delete $codes{$ifdef0}; } open(CURL_XS,">curlopt-constants.c") or die "Can't write curlopt-constants.c\n"; foreach my $next_initial ('A'..'Z') { print CURL_XS " case '$next_initial':\n"; my $count=0; foreach my $option (sort keys %types) { my $initial=substr($option,0,1); if ($next_initial eq $initial) { print CURL_XS " if (strEQ(name, \"$option\")) return CURLOPT_$option;\n"; $count++; } } if ($count) { print CURL_XS " break;\n"; } } close(CURL_XS); }