On Sun, 25 Aug 2002, Tom Hughes wrote:

> In message <20020825155505$[EMAIL PROTECTED]>
>           Tom Hughes (via RT) <[EMAIL PROTECTED]> wrote:
>
> > Recent changes to imcc make it require a working Parrot_dlopen but
> > unfortunately as things stand it never does work because Configure.pl
> > never sets HAS_DLOPEN so Parrot_dlopen is also stubbed out.
> >
> > There is a second problem in that platform.c only include dlfcn.h if
> > a particular symbol is defined but that symbol is not defined until
> > parrot.h is included which is after the include of dlfcn.h.
>
> Here's a patch that addresses both those issues and makes imcc
> work again.

Here's a patch that hopefully addresses the makefile issue.  imcc.in
belongs in config/gen/makefiles/.  Could you please try it out to see if
it works on your platform?

/s
O = ${o}
RM_F = ${rm_f}

INC=../../include/parrot

H_FILES = $(INC)/parrot.h imc.h imcparser.h stacks.h cfg.h \
        instructions.h cfg.h debug.h sets.h anyop.h


O_FILES = imcparser$(O) imclexer$(O) imc$(O) stacks$(O) symreg$(O) \
        instructions$(O) cfg$(O) sets$(O) debug$(O) anyop$(O) \
        ../../platform$(O)

#DO NOT ADD C COMPILER FLAGS HERE
#Add them in Configure.pl--look for the
#comment 'ADD C COMPILER FLAGS HERE'
CFLAGS = ${ccflags} -I../../include

C_LIBS = ${libs}

CC = ${cc}
PERL = ${perl}
MAKE_F=${make}
YACC = bison -v -y
LEX = flex

all : imcc
        cd ../.. && $(MAKE) shared && $(RM_F) parrot${exe} && $(MAKE)

imcparser.c imcparser.h : imcc.y
        $(YACC) -d -o imcparser.c imcc.y

imclexer.c : imcc.l $(HEADERS)
        $(LEX) imcc.l

.c$(O):
        $(CC) $(CFLAGS) ${cc_exe_out}$@ -c $<

clean:
        $(RM_F) core
        $(RM_F) $(O_FILES)
        $(RM_F) imcparser.output
        $(RM_F) imcc

realclean: clean
        $(RM_F) a.pasm
        $(RM_F) imcparser.*
        $(RM_F) imclexer.*

imcc: $(O_FILES)
        $(CC) ${ld_out}imcc $(LDFLAGS) $(O_FILES) $(C_LIBS)
Index: config/gen/makefiles.pl
===================================================================
RCS file: /cvs/public/parrot/config/gen/makefiles.pl,v
retrieving revision 1.2
diff -u -r1.2 makefiles.pl
--- config/gen/makefiles.pl     29 Jul 2002 04:41:24 -0000      1.2
+++ config/gen/makefiles.pl     25 Aug 2002 20:24:36 -0000
@@ -17,6 +17,7 @@
   genfile('config/gen/makefiles/miniperl.in',  'languages/miniperl/Makefile');
   genfile('config/gen/makefiles/scheme.in',    'languages/scheme/Makefile');
   genfile('config/gen/makefiles/perl6.in',     'languages/perl6/Makefile');
+  genfile('config/gen/makefiles/imcc.in',     'languages/imcc/Makefile');
 }
 
-1;
\ No newline at end of file
+1;

Reply via email to