diff options
author | Morgan Deters <mdeters@gmail.com> | 2011-11-16 14:19:16 +0000 |
---|---|---|
committer | Morgan Deters <mdeters@gmail.com> | 2011-11-16 14:19:16 +0000 |
commit | ebba5e92588a500a7384f7337968758386db7888 (patch) | |
tree | 6a24e20b557e7359c1b10db24aa7cf48a9578974 /src/bindings | |
parent | f55dfd4df98fbecbd0ef0f86da79d537457109d6 (diff) |
Fix "make dist". Fixes to python and ruby bindings; ruby example written. They should both work out of the box, now, with swig 2.0.4 at least. "make install" likely still needs to be adjusted to install them sensibly.
Diffstat (limited to 'src/bindings')
-rw-r--r-- | src/bindings/Makefile.am | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/src/bindings/Makefile.am b/src/bindings/Makefile.am index 2a2754c37..ca09fc3d5 100644 --- a/src/bindings/Makefile.am +++ b/src/bindings/Makefile.am @@ -69,6 +69,9 @@ endif if CVC4_LANGUAGE_BINDING_OCAML lib_LTLIBRARIES += libcvc4bindings_ocaml.la bin_PROGRAMS += cvc4_ocaml_top +# We provide a make rule below, but we have to tell automake to lay off, too, +# otherwise it tries (and fails) to package the nonexistent cvc4_ocaml_top.c! +cvc4_ocaml_top_SOURCES = ocamldata_DATA += ocaml/swig.cmo ocaml/swig.cmi ocaml/swigp4.cmo ocaml/swigp4.cmi ocaml/CVC4.cmo ocaml/CVC4.cmi libcvc4bindings_ocaml_la_LDFLAGS = \ -version-info $(LIBCVC4BINDINGS_VERSION) @@ -130,19 +133,18 @@ cvc4.jar: java.cpp $(JAVAC) -classpath . -d classes `find . -name '*.java'`; \ cd classes); \ $(JAR) cf $@ -C java/classes . -java.cpp: -perl.lo: csharp.cpp +java.cpp:; +csharp.lo: csharp.cpp $(AM_V_CXX)$(LTCXXCOMPILE) -c $(CSHARP_CPPFLAGS) -o $@ $< -csharp.cpp: +csharp.cpp:; perl.lo: perl.cpp $(AM_V_CXX)$(LTCXXCOMPILE) -c $(PERL_CPPFLAGS) -o $@ $< -perl.cpp: +perl.cpp:; php.lo: php.cpp $(AM_V_CXX)$(LTCXXCOMPILE) -c $(PHP_CPPFLAGS) -Iphp -o $@ $< -php.cpp: +php.cpp:; python.lo: python.cpp $(AM_V_CXX)$(LTCXXCOMPILE) -c $(PYTHON_CPPFLAGS) -o $@ $< -python.cpp: ocaml.lo: ocaml.cpp $(AM_V_CXX)$(LTCXXCOMPILE) -c $(OCAML_CPPFLAGS) -o $@ $< ocaml/swig.cmo: ocaml/swig.ml ocaml/swig.cmi; $(AM_V_GEN)$(OCAMLC) -I ocaml -c -o $@ $< @@ -153,19 +155,23 @@ ocaml/swigp4.cmo: ocaml/swigp4.ml; $(AM_V_GEN)$(OCAMLFIND) ocamlc -package camlp ocaml/swig.ml:; $(AM_V_GEN)cd ocaml && $(SWIG) -ocaml -co swig.ml ocaml/swig.mli:; $(AM_V_GEN)cd ocaml && $(SWIG) -ocaml -co swig.mli ocaml/swigp4.ml:; $(AM_V_GEN)cd ocaml && $(SWIG) -ocaml -co swigp4.ml -ocaml.cpp: -cvc4_ocaml_top: libcvc4bindings_ocaml.la ocaml/swig.cmo ocaml/swig.cmi ocaml/swigp4.cmo ocaml/CVC4.cmo ocaml/CVC4.cmi +ocaml.cpp:; +cvc4_ocaml_top: libcvc4bindings_ocaml.la ocaml/swig.cmo ocaml/swig.cmi ocaml/swigp4.cmo ocaml/CVC4.cmo ocaml/CVC4.cmi libcvc4bindings_ocaml.la $(AM_V_GEN)\ $(OCAMLFIND) ocamlmktop -I $(ocamldatadir) -custom -o cvc4_ocaml_top -package camlp4 dynlink.cma camlp4o.cma ocaml/swig.cmo ocaml/swigp4.cmo ocaml/CVC4.cmo -cclib -L.libs -cclib -L. -cclib -lcvc4bindings_ocaml -cclib -lstdc++ ruby.lo: ruby.cpp $(AM_V_CXX)$(LTCXXCOMPILE) -c $(RUBY_CPPFLAGS) -o $@ $< -ruby.cpp: tcl.lo: tcl.cpp $(AM_V_CXX)$(LTCXXCOMPILE) -c $(TCL_CPPFLAGS) -o $@ $< -tcl.cpp: +tcl.cpp:; java.cpp: @srcdir@/../cvc4.i $(AM_V_at)mkdir -p $(patsubst %.cpp,%,$@) $(AM_V_GEN)$(SWIG) -Wall -I@srcdir@/../include -I@srcdir@/.. -I@builddir@/.. -c++ -$(patsubst %.cpp,%,$@) -outdir $(patsubst %.cpp,%,$@) -package edu.nyu.acsys.CVC4 -o $@ $< +# somehow, NULL gets translated to ((void*)0) prematurely, and this causes compiler errors ?! +ruby.cpp python.cpp: @srcdir@/../cvc4.i + $(AM_V_at)mkdir -p $(patsubst %.cpp,%,$@) + $(AM_V_GEN)$(SWIG) -Wall -I@srcdir@/../include -I@srcdir@/.. -I@builddir@/.. -c++ -$(patsubst %.cpp,%,$@) -outdir $(patsubst %.cpp,%,$@) -o $@ $< + $(AM_V_at)mv $@ $@.old && sed 's,((void\*) 0),NULL,g' $@.old > $@ $(patsubst %,%.cpp,$(filter-out c c++ java,$(CVC4_LANGUAGE_BINDINGS))): %.cpp: @srcdir@/../cvc4.i $(AM_V_at)mkdir -p $(patsubst %.cpp,%,$@) $(AM_V_GEN)$(SWIG) -Wall -I@srcdir@/../include -I@srcdir@/.. -I@builddir@/.. -c++ -$(patsubst %.cpp,%,$@) -outdir $(patsubst %.cpp,%,$@) -o $@ $< |