[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