chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-users] Include path when compiling an Egg.


From: David Ireland
Subject: [Chicken-users] Include path when compiling an Egg.
Date: Fri, 13 Oct 2017 13:26:46 +1000

Hi there,

This might be a trivial, but  several  Eggs (including mine) won't compile on BSD based OS's. It seems include flags for external libraries aren't being set when compiling the final C code.

Here's an example error message:

  '/usr/local/bin/csc' -feature compiling-extension -setup-mode    -J -v -s -O3 -d1 -llink-grammar -emit-type-file link-grammar.types link-grammar.scm
'/usr/local/bin/chicken' 'link-grammar.scm' -output-file 'link-grammar.c' -dynamic -feature chicken-compile-shared -feature compiling-extension -setup-mode -emit-all-import-libraries -verbose -optimize-level 3 -debug-level 1 -emit-type-file link-grammar.types
generating import library `link-grammar.import.scm' for module `link-grammar' ...
'gcc' 'link-grammar.c' -o 'link-grammar.o' -c  -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I/usr/local/include/chicken

link-grammar.c:13:40: error: link-grammar/link-includes.h: No such file or directory
link-grammar.c:14:40: error: link-grammar/link-features.h: No such file or directory

I'm not sure where to add the correct flags in the setup/meta files of the Egg i.e. /usr/local/include/

I would appreciate any suggestions. Here is my compile procedure for the above Egg:

(define (compile-module module #!optional (extra-flags-list '("-I/usr/local/include/")))
  (newline)
  (printf "COMPILING MODULE: ~A~N~%" module)
  (compile -J -v -s -O3 -d1 ,@extra-flags-list
           ,@(if emit-types?
               `(-emit-type-file ,(module-file module ".types"))
               '())
           ,(module-file module ".scm"))
  (compile -v -s -O3 -d0 ,(module-file module ".import.scm") "-I/usr/local/include/" ,@extra-flags-list)
  (newline))


Thanks.
David





reply via email to

[Prev in Thread] Current Thread [Next in Thread]