Daniel Grunblatt.

Index: Configure.pl
===================================================================
RCS file: /home/perlcvs/parrot/Configure.pl,v
retrieving revision 1.47
diff -u -r1.47 Configure.pl
--- Configure.pl        31 Dec 2001 03:05:59 -0000      1.47
+++ Configure.pl        31 Dec 2001 04:15:15 -0000
@@ -159,6 +159,10 @@
     jitosname     => $jitosname,
     jitarchname   => $jitarchname,
     jitcapable    => $jitcapable,
+    cc_hasjit     => '',
+    jit_h         => '',
+    jit_struct_h  => '',
+    jit_o         => '',
 
     cp            => 'cp',
     slash         => '/',
@@ -183,7 +187,13 @@
    $c{cc_warn} .= " -ansi -pedantic" if $opt_pedantic;
 }
 
-
+# Add the -DHAS_JIT if we're jitcapapable
+if ($jitcapable) {
+    $c{cc_hasjit} = " -DHAS_JIT";
+    $c{jit_h} = "\$(INC)/jit.h";
+    $c{jit_struct_h} = "\$(INC)/jit_struct.h";
+    $c{jit_o} = "jit\$(O)";
+}
 
 #
 # Copy the things from --define foo=bar
Index: Makefile.in
===================================================================
RCS file: /home/perlcvs/parrot/Makefile.in,v
retrieving revision 1.93
diff -u -r1.93 Makefile.in
--- Makefile.in 31 Dec 2001 03:05:59 -0000      1.93
+++ Makefile.in 31 Dec 2001 04:15:16 -0000
@@ -63,7 +63,7 @@
 $(INC)/global_setup.h $(INC)/vtable.h $(INC)/oplib/core_ops.h 
$(INC)/oplib/core_ops_prederef.h \
 $(INC)/runops_cores.h $(INC)/trace.h \
 $(INC)/pmc.h $(INC)/key.h $(INC)/resources.h $(INC)/platform.h \
-$(INC)/interp_guts.h $(INC)/jit.h $(INC)/jit_struct.h
+$(INC)/interp_guts.h ${jit_h} ${jit_struct_h}
 
 CLASS_O_FILES = classes/default$(O) classes/perlint$(O) classes/perlstring$(O) \
 classes/perlnum$(O) classes/perlarray$(O) classes/perlundef$(O)
@@ -76,7 +76,7 @@
 INTERP_O_FILES = global_setup$(O) interpreter$(O) parrot$(O) register$(O) \
 core_ops$(O) core_ops_prederef$(O) memory$(O) packfile$(O) stacks$(O) \
 string$(O) encoding$(O) chartype$(O) runops_cores$(O) trace$(O) pmc$(O) key$(O) \
-platform$(O) jit$(O) resources$(O)
+platform$(O) ${jit_o} resources$(O)
 
 O_FILES = $(INTERP_O_FILES) $(CLASS_O_FILES) $(ENCODING_O_FILES) $(CHARTYPE_O_FILES)
 
@@ -91,7 +91,7 @@
 #
 ###############################################################################
 
-CFLAGS = ${ccflags} ${cc_warn} ${cc_debug} ${cc_inc}
+CFLAGS = ${ccflags} ${cc_warn} ${cc_debug} ${cc_inc} ${cc_hasjit}
 
 C_LIBS = ${libs}
 
Index: interpreter.c
===================================================================
RCS file: /home/perlcvs/parrot/interpreter.c,v
retrieving revision 1.44
diff -u -r1.44 interpreter.c
--- interpreter.c       30 Dec 2001 17:26:55 -0000      1.44
+++ interpreter.c       31 Dec 2001 04:15:17 -0000
@@ -15,7 +15,9 @@
 #include "parrot/oplib/core_ops.h"
 #include "parrot/oplib/core_ops_prederef.h"
 #include "parrot/runops_cores.h"
+#ifdef HAS_JIT
 #include "parrot/jit.h"
+#endif
 
 
 /*=for api interpreter check_fingerprint
@@ -280,8 +282,10 @@
     code_size  = interpreter->code->byte_code_size;
     code_end   = (opcode_t *)(interpreter->code->byte_code + code_size);
 
+#ifdef HAS_JIT
     jit_code = build_asm(interpreter, pc, code_start, code_end);
     ((*(void (*)())jit_code)());
+#endif
 }
 
 

Reply via email to