- Timestamp:
- 03/13/05 07:24:12 (4 years ago)
- svk:copy_cache_prev:
- 1869
- Files:
-
- 1 modified
-
script/pugscc (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
script/pugscc
r633 r634 11 11 } 12 12 13 my $base = cwd(); 13 14 if (!-e "src/Main.hs") { 14 chdir"$FindBin::Bin/..";15 if (!-e " src/Main.hs") {15 $base = "$FindBin::Bin/.."; 16 if (!-e "$base/src/Main.hs") { 16 17 die "$0: This script must be invoked in the Pugs source tree directory." 17 18 } 18 19 } 19 20 20 $ENV{PATH} .= $Config{path_sep} . cwd() unless $^O eq 'MSWin32'; 21 22 unlink "dump.ast"; 21 $ENV{PATH} .= $Config{path_sep} . $base; 23 22 24 23 my $out = 'a'; … … 27 26 $out =~ s{\..*}{}; 28 27 } 28 $out .= ($^O eq 'MSWin32') ? ".exe" : ".out"; 29 30 unlink "dump.ast"; 29 31 30 32 system("pugs", -C => @ARGV); 31 33 exit 1 unless -e "dump.ast"; 32 34 33 copy (" src/Main.hs" => "src/MainCc.hs");35 copy ("$base/src/Main.hs" => "$base/src/MainCc.hs"); 34 36 35 open FH, ">>src/MainCC.hs";37 open FH, '>>', "$base/src/MainCC.hs"; 36 38 open AST, "dump.ast" or die $!; 37 39 print FH "\nmainCC = runAST \$ "; … … 40 42 close FH; 41 43 42 $out .= ($^O eq 'MSWin32') ? ".exe" : ".out"; 43 system("ghc", "-v0", "-o", $out, "--make", "-main-is", "mainCC", "-isrc", "src/MainCC.hs"); 44 unlink "src/MainCC.hs"; 44 unlink "dump.ast"; 45 46 system("ghc", "-v0", "-o", $_out, "--make", "-main-is", "mainCC", "-i$base/src", "$base/src/MainCC.hs"); 47 unlink "$base/src/MainCC.hs"; 45 48 print "Generated output: $out\n";
