On Tue, Jul 15, 2008 at 12:11 AM, Peter Bex <[EMAIL PROTECTED]> wrote: > I don't think this can be solved automatically (unless we want to > recreate Autotools or CMake) so what is needed is a way to override or > add to existing search paths by passing switches to chicken-setup, > which it then can pass on to the compiler. Example: > > chicken-setup foo.egg -I /opt/foo/include -L /opt/foo/lib
I just ran into this, so now I agree with you whole-heartedly. :-) While trying to cross-compile endian-port.egg... I found that it has #include "ansidecl.h" (if it was me I'd have put that in <> brackets to indicate that it's a system requirement rather than a local include, but anyway...) and my toolchain has ansidecl.h, but chicken-setup doesn't know to pass the extra -I option on to the cross-compiling version of csc. [proton][09:54:30 PM] DESTDIR=/opt/arm-chicken /opt/arm-cross-chicken/bin/arm-chicken-setup endian-port The extension endian-port does not exist. Do you want to download it ? (yes/no/abort) [yes] downloading endian-port.egg from (www.call-with-current-continuation.org eggs/3 80) gzip -d -c /tmp/chicken-setup-3-rutledge/downloads/endian-port.egg | tar xf - swig -chicken endian_lowio.i /opt/arm-cross-chicken/bin/arm-csc -feature compiling-extension -O2 -d0 -s -o endian-port.so -check-imports -emit-exports endian-port.exports endian-port.scm endian_lowio_wrap.c endian_lowio_lib.c floatformat.c endian_lowio.scm -lchicken -ldl -lm <some warnings...> In file included from endian_lowio_lib.c:41: floatformat.h:24:22: error: ansidecl.h: No such file or directory *** Shell command terminated with exit status 1: arm-angstrom-linux-gnueabi-gcc endian_lowio_lib.c -o endian_lowio_lib.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I/opt/arm-chicken/include Error: shell invocation failed with non-zero return status "/opt/arm-cross-chicken/bin/arm-csc -feature compiling-extension -O2 -d0 -s -o e... I fixed it by going into the temp directory and running arm-csc myself, with the extra -I option. Of course it would be even nicer if when setting up the cross-chicken, you could specify that it should always use the same -I, since in that case it's in the expected subdirectory relative to the toolchain: /usr/local/openmoko/arm/include Now for the next problem with this same egg: it requires eggdoc (the .meta file has (needs eggdoc ...)). I don't really want to install that on my phone. So I guess we need a way to distinguish compile-time requirements from runtime ones. _______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users