From e0abc33bea1faf3af7de757b5408d1ffa2438712 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Wed, 20 May 2015 22:52:36 -0400 Subject: [PATCH] Documenting issues with handling library dependencies --- Makefile | 11 +++++------ TODO | 8 +++++++- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index bdcd07d5..773fee09 100644 --- a/Makefile +++ b/Makefile @@ -50,12 +50,11 @@ test: $(TESTFILES) cyclone ############################### ## Temporary testing directives -#.PHONY: test2 -#test2: examples/hello-library/int-test/hello.c libcyclone.a -# ./cyclone scheme/base.sld -# cd examples/hello-library ; ../../cyclone libs/lib1.sld -# cd examples/hello-library ; ../../cyclone libs/lib2.sld -# cd examples/hello-library ; ../../cyclone hello.scm +.PHONY: test2 +test2: examples/hello-library/int-test/hello.c libcyclone.a + cd examples/hello-library ; ../../cyclone libs/lib1.sld + cd examples/hello-library ; ../../cyclone libs/lib2.sld + cd examples/hello-library ; ../../cyclone hello.scm ## gcc examples/hello-library/int-test/lib2.c -I. -g -c -o lib2.o ## gcc examples/hello-library/int-test/hello.c -I. -g -c -o hello.o ## gcc hello.o lib2.o -L. -lcyclone -lm -o hello diff --git a/TODO b/TODO index 426484de..9693d600 100644 --- a/TODO +++ b/TODO @@ -2,7 +2,13 @@ Working TODO list: - Issues with library hello example: - - seems to be working! next step is to get parser, eval, and icyc (in that order) to work with libs + libraries do not handle dependencies correctly. there are at least two issues: + + - cyclic dependencies cause the compiler to hang. will need to keep a running list of deps probably, like the chibi meta-language + - entry_pt inits are not always in the correct order. see icyc broken unless imports are reversed. the deps need to be ordered such that + an import is not placed before another import that it depends upon. may be able to keep track of this info while keeping the running + list in the above bullet + - Reduction in size of generated code is there anything we can do?