--- nfo/perl/libs/Data/Rap/Engine.pm 2003/12/05 05:02:08 1.13 +++ nfo/perl/libs/Data/Rap/Engine.pm 2004/06/21 14:15:06 1.16 @@ -1,7 +1,16 @@ ## ---------------------------------------------------------------------- -## $Id: Engine.pm,v 1.13 2003/12/05 05:02:08 joko Exp $ +## $Id: Engine.pm,v 1.16 2004/06/21 14:15:06 jonen Exp $ ## ---------------------------------------------------------------------- ## $Log: Engine.pm,v $ +## Revision 1.16 2004/06/21 14:15:06 jonen +## handle path-modifications in a generic way now(fix for BSD) +## +## Revision 1.15 2004/06/16 16:37:59 joko +## attempt to get things going in a generic way (Linux/FreeBSD/Win32) +## +## Revision 1.14 2004/05/12 14:23:31 jonen +## add comment/code related to PERL5LIB var at different OS's +## ## Revision 1.13 2003/12/05 05:02:08 joko ## + minor update: disabled some unnecessary loggers or changed to debug-level ## @@ -60,7 +69,7 @@ use Hash::Merge qw( merge ); use Iterate; -use shortcuts qw( run_cmd ); +use shortcuts qw( run_cmd RUNNING_IN_HELL RUNNING_IN_HEAVEN ); use Data::Mungle::Code::Ref qw( ref_slot ); use Data::Mungle::Transform::Deep qw( expand deep_copy ); use File::Temp qw/ tempfile tempdir /; @@ -417,11 +426,26 @@ #print "command: $cmd", "\n"; # start process - # V1: via shortcut - #$ENV{PERL5LIB} = join(' ', @INC); + # 2004-05-11 - seems like only ONE args is valid at PERL5LIB, so we use V2! + # 2004-06-16 - found out delimiter required for PERL5LIB, reverting back to V1! - # FIXME!!! what about the other slots of @INC? - $ENV{PERL5LIB} = $INC[0]; + # V1: join all args + #my $delimiter = ':'; + #$delimiter = ';' if RUNNING_IN_HELL(); + #$ENV{PERL5LIB} = join($delimiter, @INC); + # V2: insert only FIRST arg + #$ENV{PERL5LIB} = $INC[0]; + # WARNING: at (free)BSD our var is the SECOND, NOT FIRST!! + # FIXME!! Do this in an abstract way!! + #$ENV{PERL5LIB} = $INC[1]; + # V3: mix V1+V2 (because V1 doesn't fit at freeBSD..) + if(RUNNING_IN_HEAVEN()) { + $ENV{PERL5LIB} = $INC[1]; + } else { + my $delimiter = ':'; + $delimiter = ';' if RUNNING_IN_HELL(); + $ENV{PERL5LIB} = join($delimiter, @INC); + } #print Dumper(%ENV);