[svn:parrot] r44876 - in trunk: . compilers/data_json compilers/imcc compilers/json compilers/nqp compilers/pct compilers/pge compilers/tge config/auto/sizes config/gen config/gen/makefiles docs/book/draft docs/book/pct docs/dev docs/pdds examples/embed examples/languages/abc examples/languages/squaak examples/pge ext/nqp-rx include/parrot lib/Parrot lib/Parrot/Configure/Step lib/Parrot/Ops2c ports/cpan ports/cygwin ports/debian ports/fedora ports/mandriva ports/suse runtime/parrot/languages runtime/parrot/library runtime/parrot/library/Math src/call src/dynoplibs src/gc src/interp src/runcore t/compilers/tge t/oo t/pmc t/src t/steps/init/hints tools/build tools/dev tools/util

darbelo at svn.parrot.org darbelo at svn.parrot.org
Thu Mar 11 14:24:46 UTC 2010


Author: darbelo
Date: Thu Mar 11 14:24:43 2010
New Revision: 44876
URL: https://trac.parrot.org/parrot/changeset/44876

Log:
Merge rm_dynoplibs_make to trunk.

Added:
   trunk/src/dynoplibs/Defines.in
      - copied unchanged from r44875, branches/rm_dynoplibs_make/src/dynoplibs/Defines.in
   trunk/src/dynoplibs/Rules.in
      - copied unchanged from r44875, branches/rm_dynoplibs_make/src/dynoplibs/Rules.in
Deleted:
   trunk/config/gen/makefiles/dynoplibs.in
Modified:
   trunk/   (props changed)
   trunk/MANIFEST
   trunk/MANIFEST.SKIP
   trunk/compilers/data_json/Rules.mak   (props changed)
   trunk/compilers/imcc/Rules.in   (props changed)
   trunk/compilers/json/Rules.mak   (props changed)
   trunk/compilers/nqp/Rules.mak   (props changed)
   trunk/compilers/pct/Rules.mak   (props changed)
   trunk/compilers/pge/Rules.mak   (props changed)
   trunk/compilers/tge/Rules.mak   (props changed)
   trunk/config/auto/sizes/intval_maxmin_c.in   (props changed)
   trunk/config/gen/makefiles.pm
   trunk/config/gen/makefiles/root.in
   trunk/docs/book/draft/README   (props changed)
   trunk/docs/book/draft/appa_glossary.pod   (props changed)
   trunk/docs/book/draft/appb_patch_submission.pod   (props changed)
   trunk/docs/book/draft/appc_command_line_options.pod   (props changed)
   trunk/docs/book/draft/appd_build_options.pod   (props changed)
   trunk/docs/book/draft/appe_source_code.pod   (props changed)
   trunk/docs/book/draft/ch01_introduction.pod   (props changed)
   trunk/docs/book/draft/ch02_getting_started.pod   (props changed)
   trunk/docs/book/draft/ch07_dynpmcs.pod   (props changed)
   trunk/docs/book/draft/ch08_dynops.pod   (props changed)
   trunk/docs/book/draft/ch10_opcode_reference.pod   (props changed)
   trunk/docs/book/draft/ch11_directive_reference.pod   (props changed)
   trunk/docs/book/draft/ch12_operator_reference.pod   (props changed)
   trunk/docs/book/draft/chXX_hlls.pod   (props changed)
   trunk/docs/book/draft/chXX_library.pod   (props changed)
   trunk/docs/book/draft/chXX_testing_and_debugging.pod   (props changed)
   trunk/docs/book/pct/ch01_introduction.pod   (props changed)
   trunk/docs/book/pct/ch02_getting_started.pod   (props changed)
   trunk/docs/book/pct/ch03_compiler_tools.pod   (props changed)
   trunk/docs/book/pct/ch04_pge.pod   (props changed)
   trunk/docs/book/pct/ch05_nqp.pod   (props changed)
   trunk/docs/dev/c_functions.pod   (props changed)
   trunk/docs/pdds/pdd30_install.pod   (props changed)
   trunk/examples/embed/cotorra.c   (props changed)
   trunk/examples/languages/abc/   (props changed)
   trunk/examples/languages/squaak/   (props changed)
   trunk/examples/pge/demo.pir   (props changed)
   trunk/ext/nqp-rx/Rules.mak   (props changed)
   trunk/include/parrot/call.h   (props changed)
   trunk/include/parrot/gc_api.h   (props changed)
   trunk/include/parrot/runcore_api.h   (props changed)
   trunk/include/parrot/runcore_profiling.h   (props changed)
   trunk/include/parrot/runcore_trace.h   (props changed)
   trunk/lib/Parrot/Configure/Step/Test.pm   (props changed)
   trunk/lib/Parrot/H2inc.pm   (props changed)
   trunk/lib/Parrot/Ops2c/Utils.pm
   trunk/ports/cpan/pause_guide.pod   (props changed)
   trunk/ports/cygwin/parrot-1.0.0-1.cygport   (props changed)
   trunk/ports/debian/libparrot-dev.install.in   (props changed)
   trunk/ports/debian/libparrot.install.in   (props changed)
   trunk/ports/debian/parrot-doc.install.in   (props changed)
   trunk/ports/debian/parrot.install.in   (props changed)
   trunk/ports/fedora/parrot.spec.fedora   (props changed)
   trunk/ports/mandriva/parrot.spec.mandriva   (props changed)
   trunk/ports/suse/parrot.spec.suse   (props changed)
   trunk/runtime/parrot/languages/   (props changed)
   trunk/runtime/parrot/library/Math/Rand.pir   (props changed)
   trunk/runtime/parrot/library/Rules.mak   (props changed)
   trunk/src/call/ops.c   (props changed)
   trunk/src/call/pcc.c   (props changed)
   trunk/src/dynoplibs/   (props changed)
   trunk/src/dynoplibs/README
   trunk/src/gc/alloc_memory.c   (props changed)
   trunk/src/gc/alloc_resources.c   (props changed)
   trunk/src/gc/api.c   (props changed)
   trunk/src/gc/malloc.c   (props changed)
   trunk/src/gc/malloc_trace.c   (props changed)
   trunk/src/gc/mark_sweep.c   (props changed)
   trunk/src/gc/system.c   (props changed)
   trunk/src/interp/inter_cb.c   (props changed)
   trunk/src/interp/inter_create.c   (props changed)
   trunk/src/interp/inter_misc.c   (props changed)
   trunk/src/runcore/cores.c   (props changed)
   trunk/src/runcore/main.c   (props changed)
   trunk/src/runcore/profiling.c   (props changed)
   trunk/src/runcore/trace.c   (props changed)
   trunk/t/compilers/tge/NoneGrammar.tg   (props changed)
   trunk/t/oo/root_new.t   (props changed)
   trunk/t/pmc/namespace-old.t   (props changed)
   trunk/t/src/embed.t   (props changed)
   trunk/t/steps/init/hints/linux-01.t   (props changed)
   trunk/tools/build/h2inc.pl   (props changed)
   trunk/tools/dev/fetch_languages.pl   (props changed)
   trunk/tools/dev/mk_gitignore.pl   (props changed)
   trunk/tools/util/perlcritic-cage.conf   (props changed)

Modified: trunk/MANIFEST
==============================================================================
--- trunk/MANIFEST	Thu Mar 11 11:38:13 2010	(r44875)
+++ trunk/MANIFEST	Thu Mar 11 14:24:43 2010	(r44876)
@@ -1,7 +1,7 @@
 # ex: set ro:
 # $Id$
 #
-# generated by tools/dev/mk_manifest_and_skip.pl Wed Mar  3 19:59:01 2010 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Mon Mar  8 22:07:22 2010 UT
 #
 # See below for documentation on the format of this file.
 #
@@ -318,7 +318,6 @@
 config/gen/crypto/digest_t.in                               []
 config/gen/makefiles.pm                                     []
 config/gen/makefiles/docs.in                                []
-config/gen/makefiles/dynoplibs.in                           []
 config/gen/makefiles/dynpmc.in                              []
 config/gen/makefiles/editor.in                              []
 config/gen/makefiles/ext.in                                 []
@@ -1307,7 +1306,9 @@
 src/datatypes.c                                             []
 src/debug.c                                                 []
 src/dynext.c                                                []
+src/dynoplibs/Defines.in                                    []
 src/dynoplibs/README                                        []doc
+src/dynoplibs/Rules.in                                      []
 src/dynoplibs/math.ops                                      []
 src/dynoplibs/obscure.ops                                   []
 src/dynpmc/README.pod                                       []doc

Modified: trunk/MANIFEST.SKIP
==============================================================================
--- trunk/MANIFEST.SKIP	Thu Mar 11 11:38:13 2010	(r44875)
+++ trunk/MANIFEST.SKIP	Thu Mar 11 14:24:43 2010	(r44876)
@@ -1,6 +1,6 @@
 # ex: set ro:
 # $Id$
-# generated by tools/dev/mk_manifest_and_skip.pl Fri Mar  5 16:49:09 2010 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Mon Mar  8 22:07:22 2010 UT
 #
 # This file should contain a transcript of the svn:ignore properties
 # of the directories in the Parrot subversion repository. (Needed for
@@ -709,8 +709,10 @@
 ^src/dynoplibs/.*\.pdb/
 ^src/dynoplibs/.*\.so$
 ^src/dynoplibs/.*\.so/
-^src/dynoplibs/Makefile$
-^src/dynoplibs/Makefile/
+^src/dynoplibs/Defines\.mak$
+^src/dynoplibs/Defines\.mak/
+^src/dynoplibs/Rules\.mak$
+^src/dynoplibs/Rules\.mak/
 # generated from svn:ignore of 'src/dynpmc/'
 ^src/dynpmc/.*\.bundle$
 ^src/dynpmc/.*\.bundle/

Modified: trunk/config/gen/makefiles.pm
==============================================================================
--- trunk/config/gen/makefiles.pm	Thu Mar 11 11:38:13 2010	(r44875)
+++ trunk/config/gen/makefiles.pm	Thu Mar 11 14:24:43 2010	(r44876)
@@ -36,6 +36,12 @@
         'compilers/imcc/Rules.mak' => {
              SOURCE => 'compilers/imcc/Rules.in',
         },
+        'src/dynoplibs/Rules.mak' => {
+             SOURCE => 'src/dynoplibs/Rules.in',
+        },
+        'src/dynoplibs/Defines.mak' => {
+             SOURCE => 'src/dynoplibs/Defines.in',
+        },
 
         'ext/Parrot-Embed/Makefile.PL' => {
             SOURCE            => 'config/gen/makefiles/parrot_embed_pl.in',
@@ -46,8 +52,6 @@
             { SOURCE => 'compilers/ncigen/config/makefiles/ncigen.in' },
         'src/dynpmc/Makefile'        =>
             { SOURCE => 'config/gen/makefiles/dynpmc.in' },
-        'src/dynoplibs/Makefile'     =>
-            { SOURCE => 'config/gen/makefiles/dynoplibs.in' },
         'editor/Makefile'            =>
             { SOURCE => 'config/gen/makefiles/editor.in' },
 

Deleted: trunk/config/gen/makefiles/dynoplibs.in
==============================================================================
--- trunk/config/gen/makefiles/dynoplibs.in	Thu Mar 11 14:24:43 2010	(r44875)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,153 +0,0 @@
-# Copyright (C) 2003-2009, Parrot Foundation.
-# $Id$
-
-PERL          = @perl@
-RM_F          = @rm_f@
-CP            = @cp@
-CHMOD         = @chmod@
-LOAD_EXT      = @load_ext@
-BUILD_DIR     = @build_dir@
-RECONFIGURE   = $(PERL) $(BUILD_DIR)/tools/dev/reconfigure.pl
-INSTALL_DIR   = $(BUILD_DIR)/runtime/parrot/dynext
-O             = @o@
-CC            = @cc@
-LD            = @ld@
-LDFLAGS       = @ldflags@ @ld_debug@ @rpath_blib@ @linkflags@
-LD_LOAD_FLAGS = @ld_load_flags@
-CFLAGS        = @ccflags@ @cc_shared@ @cc_debug@ @ccwarn@ @cc_hasjit@ @cg_flag@ @gc_flag@ @optimize@
-LIBPARROT     = @libparrot_ldflags@
-
-BUILD_TOOLS_DIR = $(BUILD_DIR)/tools/build
-OPS2C           = $(PERL) -I$(BUILD_DIR)/lib $(BUILD_TOOLS_DIR)/ops2c.pl
-INCLUDES        = -I$(BUILD_DIR)/include -I at build_dir@/src/pmc
-LINKARGS        = $(LDFLAGS) $(LD_LOAD_FLAGS) $(LIBPARROT) @icu_shared@ @libs@
-
-OPS_TARGETS = \
-#IF(cg_flag):  obscure_ops_cg$(LOAD_EXT) \
-#IF(cg_flag):  obscure_ops_cgp$(LOAD_EXT) \
-  obscure_ops$(LOAD_EXT) \
-  obscure_ops_switch$(LOAD_EXT) \
-#IF(cg_flag):  math_ops_cg$(LOAD_EXT) \
-#IF(cg_flag):  math_ops_cgp$(LOAD_EXT) \
-  math_ops$(LOAD_EXT) \
-  math_ops_switch$(LOAD_EXT)
-
-CLEANUPS = \
-  "*.c" \
-  "*.h" \
-#IF(o):  "*@o@" \
-#IF(win32):  "*.lib" \
-#IF(win32):  "*.pdb" \
-#IF(win32):  "*.ilk" \
-#IF(win32):  "*.exp" \
-#IF(win32):  "*.def" \
-#IF(win32):  "*.manifest" \
-#IF(load_ext):  "*@load_ext@"
-
-
-all : $(OPS_TARGETS)
-#IF(cygwin or hpux):	$(CHMOD) 0775 *$(LOAD_EXT)
-	$(CP) *$(LOAD_EXT) $(INSTALL_DIR)
-#IF(cygwin or hpux):	$(CHMOD) 0775 $(INSTALL_DIR)/*$(LOAD_EXT)
-
-Makefile: ../../config/gen/makefiles/dynoplibs.in
-	cd $(BUILD_DIR) && $(RECONFIGURE) --step=gen::makefiles --target=src/dynoplibs/Makefile
-
-obscure_ops$(LOAD_EXT): obscure_ops$(O)
-	$(LD) @ld_out at obscure_ops$(LOAD_EXT) obscure_ops$(O) $(LINKARGS)
-#IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
-
-obscure_ops$(O): obscure_ops.c
-	$(CC) -c @cc_o_out at obscure_ops$(O) $(INCLUDES) $(CFLAGS) obscure_ops.c
-
-obscure_ops.c: obscure.ops
-	$(OPS2C) C --dynamic obscure.ops
-
-obscure_ops_switch$(LOAD_EXT): obscure_ops_switch$(O)
-	$(LD) @ld_out at obscure_ops_switch$(LOAD_EXT) obscure_ops_switch$(O) $(LINKARGS)
-#IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
-
-obscure_ops_switch$(O): obscure_ops_switch.c
-	$(CC) -c @cc_o_out at obscure_ops_switch$(O) $(INCLUDES) $(CFLAGS) obscure_ops_switch.c
-
-obscure_ops_switch.c: obscure.ops
-	$(OPS2C) CSwitch --dynamic obscure.ops
-
-obscure_ops_cg$(LOAD_EXT): obscure_ops_cg$(O)
-	$(LD) @ld_out at obscure_ops_cg$(LOAD_EXT) obscure_ops_cg$(O) $(LINKARGS)
-#IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
-
-obscure_ops_cg$(O): obscure_ops_cg.c
-	$(CC) -c @cc_o_out at obscure_ops_cg$(O) $(INCLUDES) $(CFLAGS) obscure_ops_cg.c
-
-obscure_ops_cg.c: obscure.ops
-	$(OPS2C) CGoto --dynamic obscure.ops
-
-obscure_ops_cgp$(LOAD_EXT): obscure_ops_cgp$(O)
-	$(LD) @ld_out at obscure_ops_cgp$(LOAD_EXT) obscure_ops_cgp$(O) $(LINKARGS)
-#IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
-
-obscure_ops_cgp$(O): obscure_ops_cgp.c
-	$(CC) -c @cc_o_out at obscure_ops_cgp$(O) $(INCLUDES) $(CFLAGS) obscure_ops_cgp.c
-
-obscure_ops_cgp.c: obscure.ops
-	$(OPS2C) CGP --dynamic obscure.ops
-
-math_ops$(LOAD_EXT): math_ops$(O)
-	$(LD) @ld_out at math_ops$(LOAD_EXT) math_ops$(O) $(LINKARGS)
-#IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
-
-math_ops$(O): math_ops.c
-	$(CC) -c @cc_o_out at math_ops$(O) $(INCLUDES) $(CFLAGS) math_ops.c
-
-math_ops.c: math.ops
-	$(OPS2C) C --dynamic math.ops
-
-math_ops_switch$(LOAD_EXT): math_ops_switch$(O)
-	$(LD) @ld_out at math_ops_switch$(LOAD_EXT) math_ops_switch$(O) $(LINKARGS)
-#IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
-
-math_ops_switch$(O): math_ops_switch.c
-	$(CC) -c @cc_o_out at math_ops_switch$(O) $(INCLUDES) $(CFLAGS) math_ops_switch.c
-
-math_ops_switch.c: math.ops
-	$(OPS2C) CSwitch --dynamic math.ops
-
-math_ops_cg$(LOAD_EXT): math_ops_cg$(O)
-	$(LD) @ld_out at math_ops_cg$(LOAD_EXT) math_ops_cg$(O) $(LINKARGS)
-#IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
-
-math_ops_cg$(O): math_ops_cg.c
-	$(CC) -c @cc_o_out at math_ops_cg$(O) $(INCLUDES) $(CFLAGS) math_ops_cg.c
-
-math_ops_cg.c: math.ops
-	$(OPS2C) CGoto --dynamic math.ops
-
-math_ops_cgp$(LOAD_EXT): math_ops_cgp$(O)
-	$(LD) @ld_out at math_ops_cgp$(LOAD_EXT) math_ops_cgp$(O) $(LINKARGS)
-#IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
-
-math_ops_cgp$(O): math_ops_cgp.c
-	$(CC) -c @cc_o_out at math_ops_cgp$(O) $(INCLUDES) $(CFLAGS) math_ops_cgp.c
-
-math_ops_cgp.c: math.ops
-	$(OPS2C) CGP --dynamic math.ops
-
-test : all
-	cd ../.. && $(PERL) -Ilib t/harness t/dynoplibs/*.t
-
-testclean :
-	$(RM_F) "../../t/dynoplibs/*.pir" "../../t/dynoplibs/*.pasm"
-
-clean :
-	$(RM_F) $(CLEANUPS)
-
-realclean:
-	$(RM_F) $(CLEANUPS) Makefile
-
-distclean: realclean
-
-# Local variables:
-#   mode: makefile
-# End:
-# vim: ft=make:

Modified: trunk/config/gen/makefiles/root.in
==============================================================================
--- trunk/config/gen/makefiles/root.in	Thu Mar 11 11:38:13 2010	(r44875)
+++ trunk/config/gen/makefiles/root.in	Thu Mar 11 14:24:43 2010	(r44876)
@@ -109,10 +109,12 @@
 A                = @a@
 LD_SHARE_FLAGS   = @ld_share_flags@
 LD_LOAD_FLAGS    = @ld_load_flags@
+LINKARGS         = $(LDFLAGS) $(LD_LOAD_FLAGS) $(LIBPARROT) @icu_shared@ @libs@
 
 # generated by config/init/headers.pm
 NONGEN_HEADERS   = @TEMP_nongen_headers@
 
+include src/dynoplibs/Defines.mak
 include compilers/imcc/Defines.mak
 include compilers/pirc/Defines.mak
 include compilers/tge/Defines.mak
@@ -141,7 +143,8 @@
     compilers/ncigen/Makefile \
     editor/Makefile \
     ext/Makefile \
-    src/dynoplibs/Makefile \
+    src/dynoplibs/Rules.mak \
+    src/dynoplibs/Defines.mak \
     src/dynpmc/Makefile \
     compilers/imcc/Rules.mak
 
@@ -629,7 +632,7 @@
     runtime/parrot/include/config.fpmc \
     $(LIBRARY_DIR)/Test/More.pbc \
     dynpmc \
-    dynoplibs
+    $(DYNOPLIBS_TARGETS)
 
 $(GEN_LIBRARY) : $(PARROT) $(GEN_PASM_INCLUDES)
 
@@ -771,11 +774,6 @@
 	@echo "  dynpmc-test:       Proxy for target 'test' of src/dynpmc/Makefile"
 	@echo "  dynpmc-clean:      Proxy for target 'clean' of src/dynpmc/Makefile"
 	@echo ""
-	@echo "Dynamic oplibs:"
-	@echo "  dynoplibs:         Proxy for default target of src/dynoplibs/Makefile"
-	@echo "  dynoplibs-test:    Proxy for target 'test' of src/dynoplibs/Makefile"
-	@echo "  dynoplibs-clean:   Proxy for target 'clean' of src/dynoplibs/Makefile"
-	@echo ""
 	@echo "Fetch from source repository:"
 	@echo "  update:            svn update."
 	@echo "  status:            svn status."
@@ -1129,6 +1127,8 @@
 # ops.h is built by ops2pm.pl after it builds core.pm
 $(INC_DIR)/oplib/ops.h:  lib/Parrot/OpLib/core.pm
 
+$(BUILD_TOOLS_DIR)/ops2c.pl: lib/Parrot/OpLib/core.pm
+
 lib/Parrot/OpLib/core.pm : $(OPS_FILES) $(BUILD_TOOLS_DIR)/ops2pm.pl \
     lib/Parrot/OpsFile.pm lib/Parrot/Op.pm src/ops/ops.num src/ops/ops.skip
 	$(PERL) $(BUILD_TOOLS_DIR)/ops2pm.pl @no_lines_flag@ $(OPS_FILES)
@@ -1589,24 +1589,6 @@
 
 ###############################################################################
 #
-# dynamic oplibs targets:
-#
-###############################################################################
-
-dynoplibs : dynoplibs.dummy
-
-# XXX this dependancy is too broad, and should be narrowed down
-dynoplibs.dummy : $(PARROT) $(INC_DIR)/dynext.h
-	$(MAKE) src/dynoplibs
-
-dynoplibs-test : $(PARROT) $(INC_DIR)/dynext.h
-	$(MAKE) src/dynoplibs test
-
-dynoplibs-clean :
-	$(MAKE) src/dynoplibs clean
-
-###############################################################################
-#
 # compiler implementation targets:
 #
 ###############################################################################
@@ -1837,7 +1819,6 @@
 #IF(has_perldoc):    docs-clean \
 #IF(has_perldoc):    html-clean \
     dynpmc-clean \
-    dynoplibs-clean \
     examples-clean \
     ext-clean \
 #UNLESS(win32):    cover-clean \
@@ -1850,7 +1831,7 @@
 	$(RM_RF) lib/Parrot/OpLib
 	$(RM_F) $(NQP_CLEANUPS) $(PGE_CLEANUPS) $(TGE_CLEANUPS) $(JSON_CLEANUPS)
 	$(RM_F) $(PIRC_CLEANUPS) $(PCT_CLEANUPS) $(DATA_JSON_CLEANUPS)
-	$(RM_F) $(GEN_PASM_INCLUDES) $(GEN_PM_INCLUDES)
+	$(RM_F) $(GEN_PASM_INCLUDES) $(GEN_PM_INCLUDES) $(DYNOPLIBS_CLEANUPS)
 
 prog-clean :
 	$(RM_F) \
@@ -1894,7 +1875,7 @@
     src/string/private_cstring.h "src/pmc/*.c" "include/pmc/pmc_*.h" \
     "src/pmc/*.dump" vtable.dump "*.def" "*.lib" "*.exp"
 
-archclean: dynoplibs-clean dynpmc-clean dynext-clean
+archclean: dynpmc-clean dynext-clean
 	$(RM_F) \
     $(O_FILES) \
     $(GEN_CONFIGS) \
@@ -2546,6 +2527,7 @@
 malloclist: src/core_pmcs.c
 	$(PERL) $(BUILD_TOOLS_DIR)/headerizer.pl --macro=PARROT_MALLOC $(HEADERIZER_O_FILES)
 
+include src/dynoplibs/Rules.mak
 include runtime/parrot/library/Rules.mak
 include compilers/imcc/Rules.mak
 include compilers/pirc/Rules.mak

Modified: trunk/lib/Parrot/Ops2c/Utils.pm
==============================================================================
--- trunk/lib/Parrot/Ops2c/Utils.pm	Thu Mar 11 11:38:13 2010	(r44875)
+++ trunk/lib/Parrot/Ops2c/Utils.pm	Thu Mar 11 14:24:43 2010	(r44876)
@@ -123,11 +123,15 @@
     my $source = "src/ops/$base_ops_stub.c.temp";
 
     if ( $flagref->{dynamic} ) {
+        $flagref->{dynamic} = 1;
+
         $source =~ s!src/ops/!!;
         $header = $base_ops_h;
         $base =~ s!^.*[/\\]!!;
-        $include = $base_ops_h;
-        $flagref->{dynamic} = 1;
+
+        # the compiler invocation has -Ipath/to/dir, so only include by name.
+        use File::Basename qw(fileparse);
+        $include = (fileparse($base_ops_h))[0];
     }
 
     my $sym_export =

Copied: trunk/src/dynoplibs/Defines.in (from r44875, branches/rm_dynoplibs_make/src/dynoplibs/Defines.in)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/src/dynoplibs/Defines.in	Thu Mar 11 14:24:43 2010	(r44876, copy of r44875, branches/rm_dynoplibs_make/src/dynoplibs/Defines.in)
@@ -0,0 +1,19 @@
+DYNOPLIBS_TARGETS = \
+#IF(cg_flag):    $(DYNEXT_DIR)/obscure_ops_cg$(LOAD_EXT) \
+#IF(cg_flag):    $(DYNEXT_DIR)/obscure_ops_cgp$(LOAD_EXT) \
+    $(DYNEXT_DIR)/obscure_ops$(LOAD_EXT) \
+    $(DYNEXT_DIR)/obscure_ops_switch$(LOAD_EXT) \
+#IF(cg_flag):    $(DYNEXT_DIR)/math_ops_cg$(LOAD_EXT) \
+#IF(cg_flag):    $(DYNEXT_DIR)/math_ops_cgp$(LOAD_EXT) \
+    $(DYNEXT_DIR)/math_ops$(LOAD_EXT) \
+    $(DYNEXT_DIR)/math_ops_switch$(LOAD_EXT)
+
+DYNOPLIBS_CLEANUPS = \
+    src/dynoplibs/*.c \
+    src/dynoplibs/*.h \
+    src/dynoplibs/*.lib \
+    src/dynoplibs/*.pdb \
+    src/dynoplibs/*.ilk \
+    src/dynoplibs/*.def \
+    src/dynoplibs/*.manifest \
+    src/dynoplibs/*$(O) \

Modified: trunk/src/dynoplibs/README
==============================================================================
--- trunk/src/dynoplibs/README	Thu Mar 11 11:38:13 2010	(r44875)
+++ trunk/src/dynoplibs/README	Thu Mar 11 14:24:43 2010	(r44876)
@@ -4,11 +4,6 @@
 
 1) edit/create your foo.ops source (s. myops.ops)
 
-2) edit Makefile and append your ops target(s)
+2) edit the .mak files and append your ops targets and rules.
 
-$ export LD_LIBRARY_PATH=.:blib/lib
-$ make -s
-$ make shared
-$ make dynoplibs
-
-For tests and thus examples see t/dynoplibs/*.t.
+For tests and examples see t/dynoplibs/*.t.

Copied: trunk/src/dynoplibs/Rules.in (from r44875, branches/rm_dynoplibs_make/src/dynoplibs/Rules.in)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/src/dynoplibs/Rules.in	Thu Mar 11 14:24:43 2010	(r44876, copy of r44875, branches/rm_dynoplibs_make/src/dynoplibs/Rules.in)
@@ -0,0 +1,99 @@
+#
+# Each opslib must be compiled with several variants.
+#
+
+$(DYNEXT_DIR)/obscure_ops$(LOAD_EXT): src/dynoplibs/obscure_ops$(O) $(LIBPARROT)
+	$(LD) @ld_out@$@ src/dynoplibs/obscure_ops$(O) $(LINKARGS)
+#IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
+#IF(cygwin or hpux):	$(CHMOD) 0775 $@
+
+src/dynoplibs/obscure_ops$(O): include/pmc/pmc_parrotlibrary.h include/pmc/pmc_callcontext.h src/dynoplibs/obscure_ops.c $(PARROT_H_HEADERS)
+
+src/dynoplibs/obscure_ops.h: src/dynoplibs/obscure_ops.c
+
+src/dynoplibs/obscure_ops.c: src/dynoplibs/obscure.ops $(BUILD_TOOLS_DIR)/ops2c.pl
+	$(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl C --dynamic src/dynoplibs/obscure.ops
+
+$(DYNEXT_DIR)/obscure_ops_switch$(LOAD_EXT): src/dynoplibs/obscure_ops_switch$(O) $(LIBPARROT)
+	$(LD) @ld_out@$@ src/dynoplibs/obscure_ops_switch$(O) $(LINKARGS)
+#IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
+#IF(cygwin or hpux):	$(CHMOD) 0775 $@
+
+src/dynoplibs/obscure_ops_switch$(O): include/pmc/pmc_parrotlibrary.h include/pmc/pmc_callcontext.h src/dynoplibs/obscure_ops_switch.c $(PARROT_H_HEADERS)
+
+src/dynoplibs/obscure_ops_switch.h: src/dynoplibs/obscure_ops_switch.c
+
+src/dynoplibs/obscure_ops_switch.c: src/dynoplibs/obscure.ops $(BUILD_TOOLS_DIR)/ops2c.pl
+	$(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl CSwitch --dynamic src/dynoplibs/obscure.ops
+
+$(DYNEXT_DIR)/obscure_ops_cg$(LOAD_EXT): src/dynoplibs/obscure_ops_cg$(O) $(LIBPARROT)
+	$(LD) @ld_out@$@ src/dynoplibs/obscure_ops_cg$(O) $(LINKARGS)
+#IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
+#IF(cygwin or hpux):	$(CHMOD) 0775 $@
+
+src/dynoplibs/obscure_ops_cg$(O): include/pmc/pmc_parrotlibrary.h include/pmc/pmc_callcontext.h src/dynoplibs/obscure_ops_cg.c $(PARROT_H_HEADERS)
+
+src/dynoplibs/obscure_ops_cg.h: src/dynoplibs/obscure_ops_cg.c
+
+src/dynoplibs/obscure_ops_cg.c: src/dynoplibs/obscure.ops $(BUILD_TOOLS_DIR)/ops2c.pl
+	$(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl CGoto --dynamic src/dynoplibs/obscure.ops
+
+$(DYNEXT_DIR)/obscure_ops_cgp$(LOAD_EXT): src/dynoplibs/obscure_ops_cgp$(O) $(LIBPARROT)
+	$(LD) @ld_out@$@ src/dynoplibs/obscure_ops_cgp$(O) $(LINKARGS)
+#IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
+#IF(cygwin or hpux):	$(CHMOD) 0775 $@
+
+src/dynoplibs/obscure_ops_cgp$(O): include/pmc/pmc_parrotlibrary.h include/pmc/pmc_callcontext.h src/dynoplibs/obscure_ops_cgp.c $(PARROT_H_HEADERS)
+
+src/dynoplibs/obscure_ops_cgp.h: src/dynoplibs/obscure_ops_cgp.c
+
+src/dynoplibs/obscure_ops_cgp.c: src/dynoplibs/obscure.ops $(BUILD_TOOLS_DIR)/ops2c.pl
+	$(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl CGP --dynamic src/dynoplibs/obscure.ops
+
+$(DYNEXT_DIR)/math_ops$(LOAD_EXT): src/dynoplibs/math_ops$(O) $(LIBPARROT)
+	$(LD) @ld_out@$@ src/dynoplibs/math_ops$(O) $(LINKARGS)
+#IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
+#IF(cygwin or hpux):	$(CHMOD) 0775 $@
+
+src/dynoplibs/math_ops.c: src/dynoplibs/math.ops $(BUILD_TOOLS_DIR)/ops2c.pl
+	$(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl C --dynamic src/dynoplibs/math.ops
+
+src/dynoplibs/math_ops$(O): include/pmc/pmc_parrotlibrary.h include/pmc/pmc_callcontext.h src/dynoplibs/math_ops.c $(PARROT_H_HEADERS)
+
+src/dynoplibs/math_ops.h: src/dynoplibs/math_ops.c
+
+$(DYNEXT_DIR)/math_ops_switch$(LOAD_EXT): src/dynoplibs/math_ops_switch$(O) $(LIBPARROT)
+	$(LD) @ld_out@$@ src/dynoplibs/math_ops_switch$(O) $(LINKARGS)
+#IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
+#IF(cygwin or hpux):	$(CHMOD) 0775 $@
+
+src/dynoplibs/math_ops_switch$(O): include/pmc/pmc_parrotlibrary.h include/pmc/pmc_callcontext.h src/dynoplibs/math_ops_switch.c $(PARROT_H_HEADERS)
+
+src/dynoplibs/math_ops_switch.h: src/dynoplibs/math_ops_switch.c
+
+src/dynoplibs/math_ops_switch.c: src/dynoplibs/math.ops $(BUILD_TOOLS_DIR)/ops2c.pl
+	$(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl CSwitch --dynamic src/dynoplibs/math.ops
+
+$(DYNEXT_DIR)/math_ops_cg$(LOAD_EXT): src/dynoplibs/math_ops_cg$(O) $(LIBPARROT)
+	$(LD) @ld_out@$@ src/dynoplibs/math_ops_cg$(O) $(LINKARGS)
+#IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
+#IF(cygwin or hpux):	$(CHMOD) 0775 $@
+
+src/dynoplibs/math_ops_cg$(O): include/pmc/pmc_parrotlibrary.h include/pmc/pmc_callcontext.h src/dynoplibs/math_ops_cg.c $(PARROT_H_HEADERS)
+
+src/dynoplibs/math_ops_cg.h: src/dynoplibs/math_ops_cg.c
+
+src/dynoplibs/math_ops_cg.c: src/dynoplibs/math.ops $(BUILD_TOOLS_DIR)/ops2c.pl
+	$(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl CGoto --dynamic src/dynoplibs/math.ops
+
+$(DYNEXT_DIR)/math_ops_cgp$(LOAD_EXT): src/dynoplibs/math_ops_cgp$(O) $(LIBPARROT)
+	$(LD) @ld_out@$@ src/dynoplibs/math_ops_cgp$(O) $(LINKARGS)
+#IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
+#IF(cygwin or hpux):	$(CHMOD) 0775 $@
+
+src/dynoplibs/math_ops_cgp$(O): include/pmc/pmc_parrotlibrary.h include/pmc/pmc_callcontext.h src/dynoplibs/math_ops_cgp.c $(PARROT_H_HEADERS)
+
+src/dynoplibs/math_ops_cgp.h: src/dynoplibs/math_ops_cgp.c
+
+src/dynoplibs/math_ops_cgp.c: src/dynoplibs/math.ops $(BUILD_TOOLS_DIR)/ops2c.pl
+	$(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl CGP --dynamic src/dynoplibs/math.ops


More information about the parrot-commits mailing list