use warnings; use strict; use File::Spec; use File::Basename; my $inlineCFile; my $inlineCFile2; my $relSourcePath; my $inlineBuildDir; my $libDir; my $incDir; BEGIN { $relSourcePath = File::Spec->rel2abs(dirname($0)); $inlineCFile = File::Spec->catfile($relSourcePath, "foo.c"); $inlineCFile2 = File::Spec->catfile($relSourcePath, "bar.c"); my @dirs = (); push @dirs, $relSourcePath; push @dirs, ".Inline"; $inlineBuildDir = File::Spec->catdir(@dirs); pop @dirs; push @dirs, "lib"; $libDir = File::Spec->catdir(@dirs); pop @dirs; push @dirs, "include"; $incDir = File::Spec->catdir(@dirs); } use Inline ( C => Config => LIBS => "-L$libDir", INC => "-I$incDir", DIRECTORY => $inlineBuildDir, ); use Inline C => $inlineCFile; use Inline C => $inlineCFile2; HelloFoo(); HelloBar(); #### void HelloFoo() { printf("hello from foo\n"); } #### void HelloBar() { printf("hello from bar\n"); }