Hi All:

  My apologies if this is already covered elsewhere...

  I'd like to make Inline programs work cross-platform in a Windows shop
without requiring a lot of prerequisites of the user.

  So far, the best I have been able to come up with is a BEGIN block that
(at least for Win32/VC6) needs to look like the one below.  This avoids
problems caused by DIRECTORY with spaces in it and handles the important
portions of VCVARS32.BAT, but is pretty clunky.  Does anyone have a
better way to do this?

Thanks,

Joel Peshkin


BEGIN {
    my %e;
    open( F,
'"c:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT" & set |'
    );
    while (<F>) {
        chomp;
        if ( $_ =~ /^(\w+)=/ ) {
            $e{$1} = $_;
        }
    }
    close(F);
    foreach (qw[PATH MSDevDir]) {
        $ENV{$_} = $e{$_} if $e{$_};
    }
    require Inline;
    import Inline C => 'DATA', DIRECTORY => 'c:/tmp';
}


Reply via email to