On Wed, May 14, 2008 at 04:52:17PM +0200, felix winkelmann wrote:
> Hi!
> 
> 
> It's silent in here.... So, let me use this moment to give
> some progress info on the state of the "hygienic"
> chicken that I'm currently working on. In
> 
> https://chicken.wiki.br/svn/chicken-eggs/chicken/branches/hygienic
> 
> you'll find a modified version of chicken that has been completely
> converted to hygienic macros (syntax-rules + explicit-renaming).

> Built-in modules are currently "scheme" (r5rs), "chicken" (library unit)
> and one module for each library unit. I had to touch the build, as
> the import libraries for these modules are compiled as dynamically
> loadable modules - I hope I didn't break anything for the less
> popular platforms.

I've just tested on NetBSD and it didn't build at first.  It gave me
this error:

gcc  -shared \
          -shared chicken.import.o -o chicken.import.so \
          -lchicken -lm
ld: cannot find -lchicken
gmake[1]: *** [chicken.import.so] Error 1

I managed to fix it, but I'm unsure if my fix is the correct one so
I didn't commit it. See the attachment for the patch.

After applying this patch, it works great and all tests pass, too!
Excellent work Felix. Three hurrays!

Cheers,
Peter
-- 
http://sjamaan.ath.cx
--
"The process of preparing programs for a digital computer
 is especially attractive, not only because it can be economically
 and scientifically rewarding, but also because it can be an aesthetic
 experience much like composing poetry or music."
                                                        -- Donald Knuth
Index: Makefile.bsd
===================================================================
--- Makefile.bsd        (revision 10820)
+++ Makefile.bsd        (working copy)
@@ -37,7 +37,7 @@
 else
 C_COMPILER_OPTIMIZATION_OPTIONS ?= -Os -fomit-frame-pointer
 endif
-LINKER_LINK_SHARED_LIBRARY_OPTIONS = -shared
+LINKER_LINK_SHARED_LIBRARY_OPTIONS = -shared -Wl,-L.
 LINKER_LINK_SHARED_PROGRAM_OPTIONS = -Wl,-R$(LIBDIR)
 LIBRARIES = -lm
 
Index: rules.make
===================================================================
--- rules.make  (revision 10820)
+++ rules.make  (working copy)
@@ -775,7 +775,8 @@
 .SUFFIXES: .import.so
 
 %.import.so: %.import.o
-       $(LINKER) $(LINKER_OPTIONS) $(LINKER_LINK_DLOADABLE_OPTIONS) $^ 
$(LINKER_OUTPUT_OPTION) $@ \
+       $(LINKER) $(LINKER_OPTIONS) $(LINKER_LINK_SHARED_LIBRARY_OPTIONS) \
+         $(LINKER_LINK_DLOADABLE_OPTIONS) $^ $(LINKER_OUTPUT_OPTION) $@ \
          $(LINKER_LIBRARY_PREFIX)chicken$(LINKER_LIBRARY_SUFFIX) $(LIBRARIES)
 
 # executables

Attachment: pgpu1CU27Rd26.pgp
Description: PGP signature

_______________________________________________
Chicken-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to