~ chicken-core (chicken-5) 039fedf4f52eb96e5adef960ea8e33796b02612e


commit 039fedf4f52eb96e5adef960ea8e33796b02612e
Author:     Evan Hanson <evhan@foldling.org>
AuthorDate: Tue Mar 6 17:26:42 2018 +1300
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Tue Mar 6 18:33:29 2018 +0100

    Revert eval-modules changes so unit isn't included in dynamic libchicken
    
    This fixes commits 4f39a4d0 and d35a74ce, which erroneously included the
    eval-modules unit in the dynamic library (i.e. libchicken.so) as well as
    the static one (libchicken.a).
    
    The eval-modules-static.o artifact *should* be included in the list of
    LIBCHICKEN_STATIC_OBJECTS, but not in LIBCHICKEN_SCHEME_OBJECTS_1 since
    that will also put it in LIBCHICKEN_SHARED_OBJECTS where it doesn't
    belong (eval-modules is for static compilation only).
    
    Signed-off-by: felix <felix@call-with-current-continuation.org>

diff --git a/rules.make b/rules.make
index 5f37343a..ee85aa33 100644
--- a/rules.make
+++ b/rules.make
@@ -37,10 +37,11 @@ LIBCHICKEN_SCHEME_OBJECTS_1 = \
        library eval read-syntax repl data-structures pathname port file \
        extras lolevel tcp srfi-4 continuation $(POSIXFILE) internal \
        irregex scheduler debugger-client profiler stub expand modules \
-       chicken-syntax chicken-ffi-syntax build-version eval-modules
+       chicken-syntax chicken-ffi-syntax build-version
 LIBCHICKEN_OBJECTS_1 = $(LIBCHICKEN_SCHEME_OBJECTS_1) runtime
 LIBCHICKEN_SHARED_OBJECTS = $(LIBCHICKEN_OBJECTS_1:=$(O))
-LIBCHICKEN_STATIC_OBJECTS = $(LIBCHICKEN_OBJECTS_1:=-static$(O))
+LIBCHICKEN_STATIC_OBJECTS = $(LIBCHICKEN_OBJECTS_1:=-static$(O)) \
+	eval-modules-static$(O)
 
 COMPILER_OBJECTS_1 = \
 	chicken batch-driver core optimizer lfa2 compiler-syntax scrutinizer support \
@@ -125,6 +126,8 @@ declare-static-libchicken-object = $(declare-static-library-object)
 $(foreach obj, $(LIBCHICKEN_OBJECTS_1),\
           $(eval $(call declare-static-libchicken-object,$(obj))))
 
+$(eval $(call declare-static-libchicken-object,eval-modules))
+
 # import library objects
 
 define declare-import-lib-object
Trap