[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gcl-devel] Re: OSX port of GCL,
Aurelien Chanudet <=