Skip to content
Snippets Groups Projects
Commit bdfd8ac5 authored by sof's avatar sof
Browse files

[project @ 1997-11-24 21:22:12 by sof]

Name of interface file is determined by name of Haskell module being compiled
parent 11db4c50
No related merge requests found
......@@ -27,7 +27,7 @@ sub postprocessHiFile {
print STDERR "*** New hi file follows...\n" if $Verbose;
system("$Cat $hsc_hi 1>&2") if $Verbose;
&constructNewHiFile($hsc_hi, $hifile_target, $new_hi, $show_hi_diffs);
&constructNewHiFile($hsc_hi, *hifile_target, $new_hi, $show_hi_diffs);
# run diff if they asked for it
if ($show_hi_diffs) {
......@@ -90,12 +90,20 @@ sub deUsagifyHi {
\begin{code}
sub constructNewHiFile {
local($hsc_hi, # The iface info produced by hsc.
$hifile_target, # Pre-existing .hi filename (if it exists)
*hifile_target, # Pre-existing .hi filename (if it exists)
$new_hi, # Filename for new one
$show_hi_diffs) = @_;
local($hiname,$hidir);
&readHiFile('old',$hifile_target) unless $HiHasBeenRead{'old'} == 1;
&readHiFile('new',$hsc_hi) unless $HiHasBeenRead{'new'} == 1;
if ($Specific_hi_file eq '') { # -ohi is used even if module name != stem of filename.
($hiname = $hifile_target) =~ s/([^\/]*\/)*(.*)\.$HiSuffix/$2/;
if ($ModuleName{'new'} ne $hiname) {
($hidir = $hifile_target) =~ s/([^\/]*\/)*.*\.$HiSuffix/$1/;
$hifile_target = $hidir . $ModuleName{'new'} . ".$HiSuffix";
}
}
&readHiFile('old',$hifile_target) unless $HiHasBeenRead{'old'} == 1;
open(NEWHI, "> $new_hi") || &tidy_up_and_die(1,"Can't open $new_hi (write)\n");
......@@ -178,7 +186,7 @@ sub readHiFile {
}
if ( /^_interface_ ([A-Z]\S*) (\d+)/ ) {
$ModuleName{$mod} = $1; # not sure this is used much...
$ModuleName{$mod} = $1; # used to decide name of interface file.
$ModuleVersion{$mod} = $2;
} elsif ( /^_interface_ ([A-Z]\S*)/ && $mod eq 'new' ) { # special case: no version
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment