gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gcl-devel] Re: OSX port of GCL


From: Aurelien Chanudet
Subject: [Gcl-devel] Re: OSX port of GCL
Date: Fri, 5 Sep 2003 00:04:22 +0200

Hi,

You might want to try the following steps to build GCL on Mac OS X. Note that this port is premature and that I haven't tested it with Axiom. Stratified garbage collection is not yet fully supported (need to retrieve the page fault address).

Please, keep me posted on how this goes !

Aurelien

---

1- Get the latest CVS release (2.7.0).

2- Assuming bash, configure your shell as follows :

ulimit -n 512

if [ -z "$LIBRARY_PATH" ]; then
   export LIBRARY_PATH=/sw/lib
else
   export LIBRARY_PATH=/sw/lib:$LIBRARY_PATH
fi
export LIBRARY_PATH

if [ -z "$C_INCLUDE_PATH" ]; then
    C_INCLUDE_PATH=/sw/include
else
    C_INCLUDE_PATH=/sw/include:$C_INCLUDE_PATH
fi
export C_INCLUDE_PATH

export CPPFLAGS="-no-cpp-precomp"

The /sw tricks are used to enable readline support (/sw is Fink's root).

3- Apply the following patches :

--- o/main.c      4 Sep 2003 03:09:39 -0000       1.30
+++ o/main.c      4 Sep 2003 21:52:28 -0000
@@ -111,6 +111,11 @@
     struct rlimit rl;
 #endif

+#if defined(DARWIN)
+        extern void init_darwin_zone_compat ();
+        init_darwin_zone_compat ();
+#endif
+
 #ifdef RECREATE_HEAP
     RECREATE_HEAP
 #endif

--- o/unixfasl.c  15 Feb 2003 00:38:28 -0000      1.4
+++ o/unixfasl.c  4 Sep 2003 21:53:16 -0000
@@ -282,7 +282,7 @@
 static int
 faslink(object faslfile, object ldargstring)
 {
-#if defined(__linux__) && defined(__ELF__)
+#if (defined(__linux__) && defined(__ELF__)) || defined(DARWIN)
   FEerror("faslink() not supported for ELF yet",0);
   return 0;
 #else

--- unixport/makefile    4 Sep 2003 03:09:39 -0000       1.45
+++ unixport/makefile    4 Sep 2003 21:54:00 -0000
@@ -17,6 +17,7 @@

 libgclp.a: $(ODIR)/gcllib.a
        cp $< $@
+       ranlib $@

 gmpfiles: $(shell find ../$(GMPDIR) -name "*.o" |grep -v '\.lib')
        rm -rf gmp
@@ -80,15 +81,15 @@
 init_%.lsp: init_%.lsp.tmp

        cat $< | sed \
- -e "s,@LI-VERS@,(`cat ../majvers`.`cat ../minvers`) `date`,1" \
-               -e "s,@LI-MINVERS@,`cat ../minvers`,1" \
-               -e "s,@LI-MAJVERS@,`cat ../majvers`,1" \
-               -e "s,@LI-CC@,\"$(CC) -c $(FINAL_CFLAGS)\",1" \
-               -e "s,@LI-LD@,\"$(CC) -o \",1" \
- -e "s,@LI-LD-LIBS@,\"$(LD_LIBS_PRE) -l$* $(LD_LIBS_POST)\",1" \
-               -e "s,@LI-OPT-THREE@,\"$(O3FLAGS)\",1" \
-               -e "s,@LI-OPT-TWO@,\"$(O2FLAGS)\",1" \
-               -e "s,@LI-INIT-LSP@,\"address@hidden",1" >$@
+ -e "s,@LI-VERS@,(`cat ../majvers`.`cat ../minvers`) `date`," \
+               -e "s,@LI-MINVERS@,`cat ../minvers`," \
+               -e "s,@LI-MAJVERS@,`cat ../majvers`," \
+               -e "s,@LI-CC@,\"$(CC) -c $(FINAL_CFLAGS)\"," \
+               -e "s,@LI-LD@,\"$(CC) -o \"," \
+ -e "s,@LI-LD-LIBS@,\"$(LD_LIBS_PRE) -l$* $(LD_LIBS_POST)\"," \
+               -e "s,@LI-OPT-THREE@,\"$(O3FLAGS)\"," \
+               -e "s,@LI-OPT-TWO@,\"$(O2FLAGS)\"," \
+               -e "s,@LI-INIT-LSP@,\"address@hidden"," >$@

 saved_%:raw_% $(RSYM) init_%.lsp \
                $(CMPDIR)/cmpmain.lsp \
@@ -108,21 +109,21 @@

libgcl.a: $(FIRST_FILE) $(OBJS) sys_gcl.o $(LAST_FILE) gmpfiles bfdfiles
        rm -rf $@
-       ar rs $@ $(filter %.o,$^) $(shell find gmp bfd -name "*.o")
+ libtool -static -o $@ $(filter %.o,$^) $(shell find gmp bfd -name "*.o")

 libxgcl.a: libgcl.a
        ln -snf $< $@

libansi_gcl.a: $(FIRST_FILE) $(OBJS) $(ANSIOBJS) sys_ansi_gcl.o $(LAST_FILE) gmpfiles bfdfiles
        rm -rf $@
-       ar rs $@ $(filter %.o,$^) $(shell find gmp bfd -name "*.o")
+ libtool -static -o $@ $(filter %.o,$^) $(shell find gmp bfd -name "*.o")

libpcl_gcl.a: $(FIRST_FILE) $(OBJS) $(PCLOBJS) sys_pcl_gcl.o $(LAST_FILE) gmpfiles bfdfiles
        rm -rf $@
-       ar rs $@ $(filter %.o,$^) $(shell find gmp bfd -name "*.o")
+ libtool -static -o $@ $(filter %.o,$^) $(shell find gmp bfd -name "*.o")

 raw_%: lib%.a libgclp.a $(SYSTEM_OBJS) $(EXTRAS)
-       $(CC) -o raw_$*$(EXE) $(filter %.o,$^) \
+       $(CC) -Wl,-headerpad,1f000 -o raw_$*$(EXE) $(filter %.o,$^) \
                -L. $(EXTRA_LD_LIBS) $(LD_LIBS_PRE) -l$* $(LD_LIBS_POST)

 clean:

4- Configure with :

./configure --enable-debug --enable-machine=powerpc-macosx --disable-statsysbfd --enable-custreloc





reply via email to

[Prev in Thread] Current Thread [Next in Thread]