-split-objs and --make together?
dimitry at golubovsky.org
Fri Jul 29 00:09:58 EDT 2005
Is it possible to use --make when one or more of modules involved are split?
I tried this with ghc 6.2.2
I do the following (doesn't work)
Suppose we have syscall.hs and UNISTD_H.hs: the first contains Main and
imports UNISTD_H, and the second is to be split.
ghc -c -split-objs UNISTD_H.hs
ar cq libUNISTD_H.a UNISTD_H_split/*.o
I get the library and the .hi file: no .o file
ghc --make syscall.hs libUNISTD_H.a -o syscall
It tries to recompile UNISTD_H.hs because there is no UNISTD_H.o, and
links against the object file, not the library
When I try
ghc syscall.hs libUNISTD.a -o syscall
it works, and only syscall.hs is recompiled, but I cannot use --make.
I tried to name the library UNISTD_H.a, same result.
Is it possible to get ghc recognize the library same way as if it were
an object file (which corresponds to the interface file) and use --make?
PS1 This is for that experiment with hsffig when the header file
contains functions undefined in the default glibc. Linking against the
library with split objs works fine, and executable size is much smaller,
and unresolved references are gone. Only ability to use --make is
PS2 It would be nice if the perl script splitting the assembler code
also created the directory where the split object files go.
More information about the Glasgow-haskell-users