GaloisInc / HaLVM

The Haskell Lightweight Virtual Machine (HaLVM): GHC running on Xen
BSD 3-Clause "New" or "Revised" License
1.05k stars 88 forks source link

make doesn't produce halvm-ghc executable #57

Closed gracjan closed 9 years ago

gracjan commented 9 years ago

Running make stops at:

===--- building final phase
/usr/bin/make -r --no-print-directory -f ghc.mk phase=final rts/dist/build/libHSrts_p.a
utils/ghc-pkg/ghc.mk:46: warning: overriding commands for target `install_utils/ghc-pkg_dist_wrapper'
utils/ghc-pkg/ghc.mk:37: warning: ignoring old commands for target `install_utils/ghc-pkg_dist_wrapper'
make[1]: Leaving directory `/vagrant/HaLVM/halvm-ghc'
/usr/bin/gcc -c -o /vagrant/HaLVM/src/misc/ghci_runtime.o /vagrant/HaLVM/src/misc/ghci_runtime.c
/usr/bin/ar cr /vagrant/HaLVM/halvm-ghc/libminlibc.a (loads of .o files listed)

Expected halvm-ghc is nowhere to be found...

thumphries commented 9 years ago

halvm-ghc is a shell script, and it's copied into place by make install.

https://github.com/GaloisInc/HaLVM/blob/master/Makefile#L437

gracjan commented 9 years ago

That was surprising :)

thumphries commented 9 years ago

There is probably a better way to do it!

acw commented 9 years ago

It mostly has to do with the HaLVM needing a custom linker script for final-stage linking. Maybe someday GHC will have a way to build information like this in on a target-specific basis, but for now a wrapper script was easier. See also halvm-ghc.in.