Hi Felix,

On 2018-03-05 14:49, felix.winkelm...@bevuta.com wrote:
> Are you sure this is correct? These commits

Whoops, no, they are not correct. I wanted to put eval-modules-static.o
in the static object list (i.e. LIBCHICKEN_STATIC_OBJECTS), not both.

Please see the attached patch for a correction. This one does what I was
trying to do the first time.

> (BTW, please submit such patches before commiting things to the git repo,
> IIRC this is the process we use)

Mea maxima culpa,

Evan
>From 61bfb33fb4e4ba0c0c3fce7a7807e0748cb883b4 Mon Sep 17 00:00:00 2001
From: Evan Hanson <ev...@foldling.org>
Date: Tue, 6 Mar 2018 17:26:42 +1300
Subject: [PATCH] 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).
---
 rules.make | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

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
-- 
2.11.0

_______________________________________________
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers

Reply via email to