}
if (-f $hsc_out_c_stub) {
- &run_something("rm -f $ofile_c_stub_target && echo '#include \"${ofile_h_stub_target}\"' > $ofile_c_stub_target && cat $hsc_out_c_stub >> $ofile_c_stub_target", 'Copy foreign export C stubs');
- local ($hsc_out_s_stub);
- local ($hsc_out_o_stub);
- ($ofile_s_stub_target = $ofile_c_stub_target) =~ s/\.(.*)$/\.s/;
- ($ofile_o_stub_target = $ofile_c_stub_target) =~ s/\.(.*)$//;
-
- $ofile_o_stub_target = &osuf_ify($ofile_o_stub_target, "o");
- if ($do_cc) {
- &runGcc (0, $ofile_c_stub_target, $ofile_s_stub_target);
- &runAs ($ofile_o_stub_target, $ofile_s_stub_target);
- }
#
# Bring the C stub protos into scope when compiling the .hc file.
#
# Hack - ensure that the stub .h file is included in the OPTIONS section
# if the .hc file is saved.
push (@File_options, "-#include \"${ofile_h_stub_target}\"\n");
-
}
if ($do_cc) {
# save a copy of the .s file..
&saveIntermediate($ifile_root , "s" , $cc_as) if ($do_as && $Keep_s_file_too);
&runAs($as_out, $ifile_root) if $do_as;
+
+ if (-f $hsc_out_c_stub) {
+ &run_something("rm -f $ofile_c_stub_target && echo '#include \"${ofile_h_stub_target}\"' > $ofile_c_stub_target && cat $hsc_out_c_stub >> $ofile_c_stub_target", 'Copy foreign export C stubs');
+ local ($hsc_out_s_stub);
+ local ($hsc_out_o_stub);
+ ($ofile_s_stub_target = $ofile_c_stub_target) =~ s/\.(.*)$/\.s/;
+ ($ofile_o_stub_target = $ofile_c_stub_target) =~ s/\.(.*)$//;
+
+ $ofile_o_stub_target = &osuf_ify($ofile_o_stub_target, "o");
+ if ($do_cc || $do_as) { # might be using NCG, so check $do_as
+ &runGcc (0, $ofile_c_stub_target, $ofile_s_stub_target);
+ &runAs ($ofile_o_stub_target, $ofile_s_stub_target);
+ }
+ }
+
\end{code}
Finally, decide what to queue up for linker input.
[ # where to slurp interface files from
( $INSTALLING
? "$InstLibDirGhc/imports/text"
- : "$TopPwd/hslibs/text:$TopPwd/hslibs/text/html:$TopPwd/hslibs/text/haxml/lib"
+ : "$TopPwd/hslibs/text:$TopPwd/hslibs/text/html:$TopPwd/hslibs/text/haxml/lib:$TopPwd/hslibs/text/parsec"
)
, # where to find the archive to use when linking
( $INSTALLING
? "$InstLibDirGhc"
: "$TopPwd/hslibs/util/cbits"
)
- , 'lang concurrent posix' # Syslib dependencies
+ , 'lang concurrent' . (( $TargetPlatform =~ /^.*(cygwin32|mingw32)$/ ) ? '' : ' posix' ) # Syslib dependencies
, '' # extra ghc opts
, '' # extra cc opts
, "$LibsReadline" # extra ld opts