# New Ticket Created by  JÃrgen BÃmmels 
# Please include the string:  [perl #24701]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=24701 >


Hi,

the *.ops files are lying in the ops/ directory, but the generated
c-files go to the src/ directory. This is completly different from
classes/, imcc/ etc. where the generated c-files go to the same
directory. Is this difference intentional?

Otherwise does the attached patch creates the core_ops.[co] etc. in
the ops/directory.

bye
bÃ

Index: config/gen/makefiles/root.in
===================================================================
RCS file: /cvs/public/parrot/config/gen/makefiles/root.in,v
retrieving revision 1.175
diff -u -r1.175 root.in
--- config/gen/makefiles/root.in	18 Dec 2003 12:20:30 -0000	1.175
+++ config/gen/makefiles/root.in	19 Dec 2003 16:31:50 -0000
@@ -233,9 +233,6 @@
     $(SRC)/global_setup$(O) \
     $(SRC)/interpreter$(O)  \
     $(SRC)/register$(O) \
-    $(SRC)/core_ops$(O) \
-    $(SRC)/core_ops_prederef$(O) \
-    $(SRC)/core_ops_switch$(O) \
     $(SRC)/memory$(O) \
     $(SRC)/objects$(O) \
     $(SRC)/packfile$(O) \
@@ -283,6 +280,9 @@
     $(SRC)/mmd$(O) \
     $(SRC)/extend$(O) \
     pf/pf_items$(O) \
+    $(OPS)/core_ops$(O) \
+    $(OPS)/core_ops_prederef$(O) \
+    $(OPS)/core_ops_switch$(O) \
     ${asmfun_o} \
     ${cg_o} \
     ${exec_o} \
@@ -726,8 +726,6 @@
 
 $(SRC)/embed$(O) : $(GENERAL_H_FILES) $(INC)/debug.h
 
-$(SRC)/core_ops$(O) : $(GENERAL_H_FILES) $(SRC)/core_ops.c
-
 $(SRC)/dataypes$(O) : $(GENERAL_H_FILES) $(SRC)/dataypes.c
 
 $(SRC)/exit$(O) : $(GENERAL_H_FILES) $(SRC)/exit.c
@@ -741,33 +739,35 @@
 $(SRC)/nci.c : $(SRC)/call_list.txt $(BUILD_TOOL)/build_nativecall.pl
 	$(PERL) $(BUILD_TOOL)/build_nativecall.pl $(SRC)/call_list.txt
 
+$(SRC)/warnings$(O) : $(GENERAL_H_FILES)
+
+$(SRC)/misc$(O) : $(GENERAL_H_FILES)
+
+$(SRC)/utils$(O) : $(GENERAL_H_FILES)
+
+$(SRC)/spf_render$(O) : $(GENERAL_H_FILES)
+
+$(SRC)/spf_vtable$(O) : $(GENERAL_H_FILES)
+
+$(OPS)/core_ops$(O) : $(GENERAL_H_FILES) $(OPS)/core_ops.c
+
 #core_ops depends upon config.h so that it gets updated along with updates to config.h's version numbers
-$(SRC)/core_ops.c $(INC)/oplib/core_ops.h : $(OPS_FILES) $(BUILD_TOOL)/ops2c.pl lib/Parrot/OpsFile.pm lib/Parrot/Op.pm $(INC)/config.h lib/Parrot/OpLib/core.pm
+$(OPS)/core_ops.c $(INC)/oplib/core_ops.h : $(OPS_FILES) $(BUILD_TOOL)/ops2c.pl lib/Parrot/OpsFile.pm lib/Parrot/Op.pm $(INC)/config.h lib/Parrot/OpLib/core.pm
 	$(PERL) $(BUILD_TOOL)/ops2c.pl C --core
 
-$(SRC)/core_ops_prederef$(O) : $(GENERAL_H_FILES) $(SRC)/core_ops_prederef.c
+$(OPS)/core_ops_prederef$(O) : $(GENERAL_H_FILES) $(OPS)/core_ops_prederef.c
 
-$(SRC)/core_ops_prederef.c $(INC)/oplib/core_ops_prederef.h : $(OPS_FILES) $(BUILD_TOOL)/ops2c.pl lib/Parrot/OpsFile.pm lib/Parrot/Op.pm $(INC)/config.h lib/Parrot/OpLib/core.pm
+$(OPS)/core_ops_prederef.c $(INC)/oplib/core_ops_prederef.h : $(OPS_FILES) $(BUILD_TOOL)/ops2c.pl lib/Parrot/OpsFile.pm lib/Parrot/Op.pm $(INC)/config.h lib/Parrot/OpLib/core.pm
 	$(PERL) $(BUILD_TOOL)/ops2c.pl CPrederef --core
 
-$(SRC)/core_ops_switch$(O) : $(GENERAL_H_FILES) $(SRC)/core_ops_switch.c
+$(OPS)/core_ops_switch$(O) : $(GENERAL_H_FILES) $(OPS)/core_ops_switch.c
 
-$(SRC)/core_ops_switch.c $(INC)/oplib/core_ops_switch.h : $(OPS_FILES) $(BUILD_TOOL)/ops2c.pl lib/Parrot/OpsFile.pm lib/Parrot/Op.pm $(INC)/config.h lib/Parrot/OpLib/core.pm
+$(OPS)/core_ops_switch.c $(INC)/oplib/core_ops_switch.h : $(OPS_FILES) $(BUILD_TOOL)/ops2c.pl lib/Parrot/OpsFile.pm lib/Parrot/Op.pm $(INC)/config.h lib/Parrot/OpLib/core.pm
 	$(PERL) $(BUILD_TOOL)/ops2c.pl CSwitch --core
 
 ${cg_c}
 
 ${gc_c}
-
-$(SRC)/warnings$(O) : $(GENERAL_H_FILES)
-
-$(SRC)/misc$(O) : $(GENERAL_H_FILES)
-
-$(SRC)/utils$(O) : $(GENERAL_H_FILES)
-
-$(SRC)/spf_render$(O) : $(GENERAL_H_FILES)
-
-$(SRC)/spf_vtable$(O) : $(GENERAL_H_FILES)
 
 # $(STICKY_FILES) : Configure.pl
 #	$(PERL) Configure.pl
Index: config/auto/cgoto.pl
===================================================================
RCS file: /cvs/public/parrot/config/auto/cgoto.pl,v
retrieving revision 1.9
diff -u -r1.9 cgoto.pl
--- config/auto/cgoto.pl	10 Dec 2003 11:44:17 -0000	1.9
+++ config/auto/cgoto.pl	19 Dec 2003 16:31:50 -0000
@@ -27,17 +27,17 @@
     Configure::Data->set(
       cg_h          => '$(INC)/oplib/core_ops_cg.h $(INC)/oplib/core_ops_cgp.h',
       cg_c          => <<'EOF',
-$(SRC)/core_ops_cg$(O): $(GENERAL_H_FILES) $(SRC)/core_ops_cg.c
-$(SRC)/core_ops_cgp$(O): $(GENERAL_H_FILES) $(SRC)/core_ops_cgp.c
+$(OPS)/core_ops_cg$(O): $(GENERAL_H_FILES) $(OPS)/core_ops_cg.c
+$(OPS)/core_ops_cgp$(O): $(GENERAL_H_FILES) $(OPS)/core_ops_cgp.c
 
-$(SRC)/core_ops_cg.c $(INC)/oplib/core_ops_cg.h: $(OPS_FILES) $(BUILD_TOOL)/ops2c.pl lib/Parrot/OpsFile.pm lib/Parrot/Op.pm lib/Parrot/OpTrans/CGoto.pm
+$(OPS)/core_ops_cg.c $(INC)/oplib/core_ops_cg.h: $(OPS_FILES) $(BUILD_TOOL)/ops2c.pl lib/Parrot/OpsFile.pm lib/Parrot/Op.pm lib/Parrot/OpTrans/CGoto.pm
 	$(PERL) $(BUILD_TOOL)/ops2c.pl CGoto --core
-$(SRC)/core_ops_cgp.c $(INC)/oplib/core_ops_cgp.h: $(OPS_FILES) $(BUILD_TOOL)/ops2c.pl lib/Parrot/OpsFile.pm lib/Parrot/Op.pm lib/Parrot/OpTrans/CGP.pm
+$(OPS)/core_ops_cgp.c $(INC)/oplib/core_ops_cgp.h: $(OPS_FILES) $(BUILD_TOOL)/ops2c.pl lib/Parrot/OpsFile.pm lib/Parrot/Op.pm lib/Parrot/OpTrans/CGP.pm
 	$(PERL) $(BUILD_TOOL)/ops2c.pl CGP --core
 EOF
-      cg_o          => '$(SRC)/core_ops_cg$(O) $(SRC)/core_ops_cgp$(O)',
-      cg_r          => '$(RM_F) $(INC)/oplib/core_ops_cg.h $(SRC)/core_ops_cg.c \
-                                $(INC)/oplib/core_ops_cgp.h $(SRC)/core_ops_cgp.c',
+      cg_o          => '$(OPS)/core_ops_cg$(O) $(OPS)/core_ops_cgp$(O)',
+      cg_r          => '$(RM_F) $(INC)/oplib/core_ops_cg.h $(OPS)/core_ops_cg.c \
+                                $(INC)/oplib/core_ops_cgp.h $(OPS)/core_ops_cgp.c',
       cg_flag       => '-DHAVE_COMPUTED_GOTO'
     );
   }
Index: build_tools/ops2c.pl
===================================================================
RCS file: /cvs/public/parrot/build_tools/ops2c.pl,v
retrieving revision 1.64
diff -u -r1.64 ops2c.pl
--- build_tools/ops2c.pl	19 Nov 2003 15:29:04 -0000	1.64
+++ build_tools/ops2c.pl	19 Dec 2003 16:31:50 -0000
@@ -64,10 +64,10 @@
 my $incdir  = "include/parrot/oplib";
 my $include = "parrot/oplib/${base}_ops${suffix}.h";
 my $header  = "include/$include";
-my $source  = "src/${base}_ops${suffix}.c";
+my $source  = "ops/${base}_ops${suffix}.c";
 
 if ($base =~ m!^dynoplibs/! || $dynamic) {
-    $source  =~ s!src/!!;
+    $source  =~ s!ops/!!;
     $header = "${base}_ops${suffix}.h";
     $base =~ s!^.*[/\\]!!;
     $include = "${base}_ops${suffix}.h";

Reply via email to