%************************************************************************
\begin{code}
+use 5; # require Perl version 5 or later.
+
($Pgm = $0) =~ s|.*/||;
$ShortUsage = "\nUsage: For basic information, try the `-help' option.\n";
$LongUsage = "\n" . <<EOUSAGE;
-fwarn-overlapping-patterns
-fwarn-missing-methods
+ -fwarn-missing-fields
+ -fwarn-deprecations
-fwarn-duplicate-exports
these are turned off by -Wnot.
@StandardWarnings = ('-fwarn-overlapping-patterns',
'-fwarn-missing-methods',
'-fwarn-missing-fields',
+ '-fwarn-deprecations',
'-fwarn-duplicate-exports');
@MinusWOpts = (@StandardWarnings,
'-fwarn-unused-binds',
$CollectGhcTimings = 0;
$DEBUGging = ''; # -DDEBUG and all that it entails (um... not really)
$PROFing = ''; # set to p or e if profiling
-$PROFgroup = ''; # set to group if an explicit -Ggroup specified
$PROFauto = ''; # set to relevant hsc flag if -auto or -auto-all
$PROFcaf = ''; # set to relevant hsc flag if -caf-all
$PROFdict = ''; # set to relevant hsc flag if -auto-dicts
= (
'-fsimplify',
'[',
- '-finline-phase2',
$Oopt_MaxSimplifierIterations,
']',
unshift(@Ld_flags,
( '-u', "${uscore}PrelBase_Izh_static_info"
,'-u', "${uscore}PrelBase_Czh_static_info"
- ,'-u', "${uscore}PrelBase_Fzh_static_info"
- ,'-u', "${uscore}PrelBase_Dzh_static_info"
+ ,'-u', "${uscore}PrelFloat_Fzh_static_info"
+ ,'-u', "${uscore}PrelFloat_Dzh_static_info"
,'-u', "${uscore}PrelAddr_Azh_static_info"
,'-u', "${uscore}PrelAddr_Wzh_static_info"
,'-u', "${uscore}PrelAddr_I64zh_static_info"
,'-u', "${uscore}PrelStable_StablePtr_static_info"
,'-u', "${uscore}PrelBase_Izh_con_info"
,'-u', "${uscore}PrelBase_Czh_con_info"
- ,'-u', "${uscore}PrelBase_Fzh_con_info"
- ,'-u', "${uscore}PrelBase_Dzh_con_info"
+ ,'-u', "${uscore}PrelFloat_Fzh_con_info"
+ ,'-u', "${uscore}PrelFloat_Dzh_con_info"
,'-u', "${uscore}PrelAddr_Azh_con_info"
,'-u', "${uscore}PrelAddr_Wzh_con_info"
,'-u', "${uscore}PrelAddr_I64zh_con_info"
,'-u', "${uscore}PrelException_stackOverflow_closure"
,'-u', "${uscore}PrelException_heapOverflow_closure"
,'-u', "${uscore}PrelException_NonTermination_static_closure"
+ ,'-u', "${uscore}__init_Prelude"
));
if (!$NoHaskellMain) {
unshift (@Ld_flags,'-u', "${uscore}PrelMain_mainIO_closure");
}
- if ($PROFing ne '') {
- unshift (@Ld_flags,'-u', "${uscore}_regPrelude");
- }
if ($TargetPlatform =~ /^powerpc-|^rs6000-/) {
# sometimes we have lots of toc entries...
# unshift(@Ld_flags, ('-Xlinker -bbigtoc -Xlinker -bnoquiet'));
unshift(@Ld_flags, ('-Xlinker -bbigtoc'));
}
-
+ if ($TargetPlatform =~ /^hppa/) {
+ unshift(@Ld_flags, ('-Xlinker +vnocompatwarnings'));
+ }
} # end of setupLinkOpts
# =!=!=!=!=!=!=!=!=!=!=!
# This script is automatically generated: DO NOT EDIT!!!
# Generated by Glasgow Haskell, version ${ProjectVersion}
+# ngoqvam choHbogh vaj' vIHoHnISbej !!!!
#
\$pvm_executable = '$pvm_executable';
\$pvm_executable_base = '$pvm_executable_base';
}
if ( $a eq '-d' && $in_RTS_args ) {
$debug = '-';
- } elsif ( $a =~ /^-N(\d+)/ && $in_RTS_args ) {
+ } elsif ( $a =~ /^-qN(\d+)/ && $in_RTS_args ) {
+ $nprocessors = $1;
+ } elsif ( $a =~ /^-qp(\d+)/ && $in_RTS_args ) {
$nprocessors = $1;
} else {
push(@nonPVM_args, $a);
# need to add the -I flags in case the file is going through cpp (.S files)
local($includes) = '-I' . join(' -I', @Include_dir);
- if ( ! $SplitObjFiles ) {
+ if ( ! $SplitObjFiles || $ifile_root =~ /_stub\.s$/ ) {
local($to_do) = "$asmblr -o $as_out -c @As_flags $includes $cc_as";
push(@Files_to_tidy, $as_out );
&run_something($to_do, 'Unix assembler');
[ # where to slurp interface files from
( $INSTALLING
? "$InstLibDirGhc/imports/lang"
- : "$TopPwd/hslibs/lang"
+ : "$TopPwd/hslibs/lang:$TopPwd/hslibs/lang/monads"
)
, # where to find the archive to use when linking
( $INSTALLING
[ # where to slurp interface files from
( $INSTALLING
? "$InstLibDirGhc/imports/text"
- : "$TopPwd/hslibs/text:$TopPwd/hslibs/text/html"
+ : "$TopPwd/hslibs/text:$TopPwd/hslibs/text/html:$TopPwd/hslibs/text/haxml/lib"
)
, # where to find the archive to use when linking
( $INSTALLING
? "$InstLibDirGhc"
: "$TopPwd/hslibs/text/cbits"
)
- , 'lang' # Syslib dependencies
+ , 'lang data' # Syslib dependencies
, '' # extra ghc opts
, '' # extra cc opts
, '' # extra ld opts
local ($final,$suffix,$tmp)= @_ ;
local ($to_do);
+ local ($new_suffix);
+
# $final -- root of where to park ${final}.${suffix}
# $tmp -- temporary file where hsc put the intermediate file.
+ # HWL: use -odir for .hc and .s files, too
+ if ( $Specific_output_dir ne '' ) {
+ $final = "${Specific_output_dir}/${final}";
+ }
+ # HWL: use the same suffix as for $Osuffix in generating intermediate file,
+ # replacing o with hc or s, respectively.
+ if ( $Osuffix ne '' ) {
+ ($new_suffix = $Osuffix) =~ s/o$/hc/ if $suffix eq "hc";
+ ($new_suffix = $Osuffix) =~ s/o$/s/ if $suffix eq "s";
+ $suffix = $new_suffix;
+ print stderr "HWL says: suffix for intermediate file is $suffix; ${final}.${suffix} overall\n" if $Verbose;
+ }
+
# Delete the old file
$to_do = "$Rm ${final}.${suffix}"; &run_something($to_do, "Removing old .${suffix} file");
$PROFignore_scc = '-W';
next arg; };
- /^-G(.*)$/ && do { push(@HsC_flags, "-G=$1"); # set group for cost centres
- next arg; };
-
/^-unprof-scc-auto/ && do {
# generate auto SCCs on top level bindings when not profiling.
# Used to measure optimisation effects of presence of sccs.
} elsif ($heap_size >= $Specific_heap_size) {
$Specific_heap_size = $heap_size;
} else {
- print STDERR "$Pgm: ignoring heap-size-setting option ($_)...not the largest seen\n";
+ print STDERR "$Pgm: ignoring heap-size-setting option ($_)...not the largest seen\n" if $Verbose;
}
next arg; };
} elsif ($stk_size >= $Specific_stk_size) {
$Specific_stk_size = $stk_size;
} else {
- print STDERR "$Pgm: ignoring stack-size-setting option ($flag $stk_size)...not the largest seen\n";
+ print STDERR "$Pgm: ignoring stack-size-setting option ($flag $stk_size)...not the largest seen\n" if $Verbose;
}
next arg; };