5 Sep 00:06
-library equivalent of "-Xlinker --whole-archive"
From: Todd Dukes <tdukes <at> freescale.com>
Subject: -library equivalent of "-Xlinker --whole-archive"
Newsgroups: gmane.lisp.scheme.bigloo
Date: 2008-09-04 22:07:35 GMT
Expires: This article expires on 2008-09-19
Subject: -library equivalent of "-Xlinker --whole-archive"
Newsgroups: gmane.lisp.scheme.bigloo
Date: 2008-09-04 22:07:35 GMT
Expires: This article expires on 2008-09-19
I have a library that among other things defines a class called graph. My first program creates a data structure that includes instances of this class and writes them to a binary data file. Another program loads this data structure and prints a summary report. This program does not actually need the data in the graph class so there is no code for creating or accessing graph class instances in the code of the program. I use the (library utility) statement in the module clause of my second program to say that it is using the library. At runtime I get an error saying the the class 'graph' cannot be found. I have eliminated the error by putting. (make-graph #f #f) into my summary report program. There should be a better way. I have resolved this in the past with C++ programs by using the --whole-archive flag. Is there a way to do this with libraries in bigloo? Let me know if this makes no sense to anyone and I'll try to clarify. Thanks, Todd.
) with
> the latest bigloo (bigloo3.1b-alpha18Aug08), and got the following:
>
> (Mac OSX 10.5.4; i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build
> 5465); ./configure --dotnet=no --jvm=no --bee=full --enable-srfi1
> --finalization=yes --emacs=/Applications/Emacs.app/Contents/MacOS/Emacs
> --lispdir=/Applications/Emacs.app/Contents/Resources/site-lisp)
>
> as ever,
> Rembrandt
>
>
> 529 bigloo3.1b> make compile-bee
> >>> (cd src; make)
> if [ "yes" = "yes" ]; then \
> make lib_s.dylib; \
> fi
> make[3]: Nothing to be done for `lib_s.dylib'.
> make[2]: `/Users/local/Bigloo/bigloo3.1b/bin/cigloo' is up to date.
> (expr=load-path; \
> for p in . ude bee cee bug lee dbg; do \
> expr="(cons \"../$p\" (cons \"$p\" $expr))"; \
> done; \
> make elc EFLAGS="-no-site-file -eval '(setq load-path $expr)' -batch -q
> -f batch-byte-compile")
> make[2]: Nothing to be done for `elc'.
> make[3]: Nothing to be done for `all'.
> make[4]: Nothing to be done for `main'.
RSS Feed