[Yhc] yhc build bug?

Stefan O'Rear stefanor at cox.net
Sat Feb 24 15:16:10 EST 2007


What good does scons do us?  It has given me much grief.  Surely cabal
can build yhc proper.  As for the interpreter:

stefan at stefans:/usr/local/src/yhc$ time sh build.yhi.log
In file included from src/runtime/BCKernel/mutator.c:108:
src/runtime/BCKernel/mutins.h: In function 'run':
src/runtime/BCKernel/mutins.h:662: warning: assignment from incompatible pointer type
src/runtime/BCKernel/builtin/IORef.c:36:2: warning: no newline at end of file
depends/ctypes/libffi/src/x86/ffi.c: In function 'ffi_prep_args':
depends/ctypes/libffi/src/x86/ffi.c:108: warning: incompatible implicit declaration of built-in function 'bcopy'
depends/ctypes/libffi/src/x86/ffi.c: In function 'ffi_prep_args_raw':
depends/ctypes/libffi/src/x86/ffi.c:395: warning: incompatible implicit declaration of built-in function 'bcopy'

real    0m10.481s
user    0m9.505s
sys     0m0.976s
stefan at stefans:/usr/local/src/yhc$ cat build.yhi.log
#! /bin/sh
exec gcc -o yhi -O2 -funit-at-a-time src/runtime/BCKernel/sanity.c src/runtime/BCKernel/basepath.c src/runtime/BCKernel/jonkers.c src/runtime/BCKernel/module.c src/runtime/BCKernel/stopcopy.c src/runtime/BCKernel/mutator.c src/runtime/BCKernel/primitive.c src/runtime/BCKernel/foreign.c src/runtime/BCKernel/hashtable.c src/runtime/BCKernel/heap.c src/runtime/BCKernel/info.c src/runtime/BCKernel/main.c src/runtime/BCKernel/make.c src/runtime/BCKernel/mark.c src/runtime/BCKernel/iofuncs.c src/runtime/BCKernel/pretty.c src/runtime/BCKernel/stable.c src/runtime/BCKernel/process.c src/runtime/BCKernel/profile.c src/runtime/BCKernel/thread.c src/runtime/BCKernel/external.c src/runtime/BCKernel/hsffi.c src/runtime/BCKernel/integer.c src/runtime/BCKernel/builtin/Prelude.c src/runtime/BCKernel/builtin/IO.c src/runtime/BCKernel/builtin/FFI.c src/runtime/BCKernel/builtin/Array.c src/runtime/BCKernel/builtin/System.c src/runtime/BCKernel/builtin/PackedString.c src/runtime/BCKernel/builtin/IORef.c src/runtime/BCKernel/builtin/RuntimeAPI.c src/runtime/BCKernel/builtin/Concurrent.c depends/ctypes/libffi/src/prep_cif.c depends/ctypes/libffi/src/cfield.c depends/ctypes/libffi/src/x86/ffi.c depends/ctypes/libffi/src/x86/sysv.S -lm -lpthread -ldl -lgmp -I. -Idepends/ctypes/libffi/include -Idepends/ctypes/libffi/src/x86 -Idepends/ctypes/libffi  -DVERSION=\"0.7.0-20070224144350-custom\" -DX86
stefan at stefans:/usr/local/src/yhc$

IE, less than 6x the time needed to compile a Haskell "hello world"
with comparable optimization settings.  (For those less familiar with
ghc options, -funit-at-a-time means whole program optimization in this
context.) We probably don't need separate compilation, let alone
dependency generation. 


More information about the Yhc mailing list