Re: goo on Mac OS X
Rob Myers <[email protected]> Fri, 7 Mar 2003 08:53:38 +0000
| Newsgroups | gmane.comp.lang.goo.general |
|---|---|
| Message-ID | <[email protected]> |
On Friday, March 7, 2003, at 02:14 AM, Raffael Cavallaro wrote:
> I noticed from the goo mailing list that you were trying to get it to
> run under Mac OS X. If you've managed to succeeed, could you share
> your experience with me. Specifically, instructions on what one needs
> to do to get it to install properly assuming one has the latest
> developer tools installed.
I've got goo building and running but (use tests) (test alll) fails
because it's having problems calling out to the c compiler. I'm working
on this at the moment. Here's the changes I've had to make so far.
- Rob.
BUILDING GOO on X
(I% Get dlcompat installed: http://www.opendarwin.org/projects/dlcompat/
(I% c/Makefile.in:
CFLAGS = $(CPPFLAGS) -g -O2 -dynamic
LDFLAGS += -Wl,-L/usr/local/lib,-ldl
(I%src/Makefile.in
install: all
$(top_srcdir)/mkinstalldirs $(GOO_MODS)
find . -name ¥*.goo -exec perl -e"system 'mkinstalldirs ' .
('$(GOO_MODS)/{}' =~ /(.+)¥/[^¥/]+/);" ¥;
find . -name ¥*.goo -exec $(INSTALL_DATA) {} $(GOO_MODS)/{} ¥;
(I%c/makefile.in
ifeq ($(build_gc), yes)
cd $(top_srcdir)/gc/include/ && find . -name ¥*.h -exec perl -e"system
'mkinstalldirs ' . ('$(GOO_LIB)/gc/{}' =~ /(.+)¥/[^¥/]+/);" ¥;
cd $(top_srcdir)/gc/include/ && find . -name ¥*.h -exec
$(INSTALL_DATA) {} $(GOO_LIB)/gc/{} ¥;
endif
(I%src/goo/%system.c
(I%c/g2c/goo/%system.c
char *v[] = {"cc", /*"-shared"*/, "-bundle", "-g", "-O", "-fPIC",
buf, "-o", sofile, cfile, NULL};
(I%grt.h:
#if defined()
#define CALLN(args...) _CALLN(regs, args)
#define XCALL0(args...) _CALL0(REGSREF(), args)
#define XCALL1(args...) _CALL1(REGSREF(), args)
#define XCALL2(args...) _CALL2(REGSREF(), args)
#define XCALL3(args...) _CALL3(REGSREF(), args)
#define XCALL4(args...) _CALL4(REGSREF(), args)
#define XCALL5(args...) _CALL5(REGSREF(), args)
#define XCALLN(args...) _CALLN(REGSREF(), args)
#define XXCALL0(args...) _CALL0(REGSREF(), args)
#define XXCALL1(args...) _CALL1(REGSREF(), args)
#define XXCALL2(args...) _CALL2(REGSREF(), args)
#define XXCALL3(args...) _CALL3(REGSREF(), args)
#define XXCALL4(args...) _CALL4(REGSREF(), args)
#define XXCALL5(args...) _CALL5(REGSREF(), args)
#define XXCALLN(args...) _CALLN(REGSREF(), args)
#elif ! defined(_MSC_VER)
// Original headers