diff -u -N -r empty/m/m1.scm test/m/m1.scm --- empty/m/m1.scm 1970-01-01 02:00:00.000000000 +0200 +++ test/m/m1.scm 2018-10-15 11:38:42.154807702 +0300 @@ -0,0 +1,11 @@ +(module + m1 + (foo) + (import scheme) + (cond-expand + (chicken-5 (import (chicken base))) + (else (import chicken))) + + (define (foo) (print "foo called")) + + ) diff -u -N -r empty/main2.scm test/main2.scm --- empty/main2.scm 1970-01-01 02:00:00.000000000 +0200 +++ test/main2.scm 2018-10-15 11:59:59.238468035 +0300 @@ -0,0 +1,5 @@ +(cond-expand + (chicken-5 (import (chicken base)) + (import-for-syntax m1)) + (else (import chicken) + (use-for-syntax m1))) diff -u -N -r empty/main.scm test/main.scm --- empty/main.scm 1970-01-01 02:00:00.000000000 +0200 +++ test/main.scm 2018-10-15 11:48:54.574302899 +0300 @@ -0,0 +1,7 @@ +(cond-expand + (chicken-5 (import (chicken base)) + (import m1)) + (else (import chicken) + (use m1))) + +(foo) diff -u -N -r empty/run.sh test/run.sh --- empty/run.sh 1970-01-01 02:00:00.000000000 +0200 +++ test/run.sh 2018-10-15 11:56:47.272108332 +0300 @@ -0,0 +1,53 @@ +#!/usr/bin/env bash +set -e +set -o pipefail + +( + cd m + csc -s -J m1.scm +) + +csc -I m main.scm + +echo "Running main" +( + cd m + ../main +) + +echo "Building main2" +csc -I m main2.scm + +echo "Running main2" +( + cd m + ../main2 +) + +# $ ./run.sh +# +# Warning: the following extensions are not currently installed: m1 +# Running main +# foo called +# Building main2 +# +# Error: (require) cannot load extension: m1 +# +# Call history: +# +# (scheme#list) +# (quote ((foo . m1#foo))) +# (##core#quote ((foo . m1#foo))) +# (scheme#list) +# (scheme#list) +# (##sys#register-compiled-module (quote m1) (quote m1) (scheme#list) (quote ((foo . m1#foo))) (scheme... +# (scheme#list) +# (scheme#list) +# (scheme#list) +# (##core#begin (##core#require m1 m1#)) +# (##core#require m1 m1#) +# (chicken.load#load-extension (##core#quote m1) (##core#quote (m1#)) (##core#quote require)) +# (##core#quote m1) +# (##core#quote (m1#)) +# (##core#quote require) +# (chicken.load#load-extension (##core#quote m1) (##core#quote (m1#)) (##core#quote require)) <--