This is depressing. It basically means that you can't do separate compilation
when using my test code. Since I want this code highly portable, I can't
make small additions into the chicken libraries.
Basically, people are going to have to do:
file top.scm:
(include "test-infrastructure.scm") ;; 3000 lines of code
(include "test0.scm") ;; 400 lines of code
(include "test1.scm") ;; 900 lines of code
(include "test2.scm") ;; 1400 lines of code
(include "test3.scm") ;; 2800 lines of code
(include "test4.scm") ;; 4000 lines of code
(include "run-tests.scm") ;; 10 lines of code
(run-tests)
And _wait_ while chicken and gcc try to compile a 12,510(before macro
expansion!) line scheme file. It already takes more than two minutes
to compile my GNU MP interface and that is only 2600 lines of code.
Am I going to have to split the testing infrastructure file into two
files, one pure macros and functions, and the other toplevel defines? You
can include one is all of your test code, but the other one only once?