summaryrefslogtreecommitdiff
path: root/src/bindings/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'src/bindings/Makefile.am')
-rw-r--r--src/bindings/Makefile.am139
1 files changed, 86 insertions, 53 deletions
diff --git a/src/bindings/Makefile.am b/src/bindings/Makefile.am
index ca09fc3d5..bfc116fd6 100644
--- a/src/bindings/Makefile.am
+++ b/src/bindings/Makefile.am
@@ -12,99 +12,139 @@
#
LIBCVC4BINDINGS_VERSION = @CVC4_BINDINGS_LIBRARY_VERSION@
+AUTOMAKE_OPTIONS = subdir-objects
+
AM_CPPFLAGS = \
-D__BUILDING_CVC4BINDINGSLIB \
-I@srcdir@/../include -I@srcdir@/.. -I@builddir@/..
AM_CXXFLAGS = -Wall
-SUBDIRS = . compat
+SUBDIRS = compat
+
+# any binding-specific flags to pass to swig
+java_cpp_SWIGFLAGS = -package edu.nyu.acsys.CVC4
lib_LTLIBRARIES =
bin_PROGRAMS =
javadatadir = $(datadir)/java
+javalibdir = $(datadir)/java
ocamldatadir = $(libdir)/ocaml/cvc4
+ocamllibdir = $(libdir)/ocaml/cvc4
+perldatadir = $(datadir)/perl5
+perllibdir = $(libdir)/perl5
+phpdatadir = $(datadir)/php
+phplibdir = $(libdir)/php
+pythondatadir = $(datadir)/pyshared
+pythonlibdir = $(libdir)/pyshared
+csharpdatadir = $(datadir)/csharp
+csharplibdir = $(libdir)/csharp
+rubylibdir = $(libdir)/ruby
+tcllibdir = $(libdir)/tcltk
javadata_DATA =
+javalib_LTLIBRARIES=
ocamldata_DATA =
+ocamllib_LTLIBRARIES=
+perldata_DATA =
+perllib_LTLIBRARIES =
+phpdata_DATA =
+phplib_LTLIBRARIES =
+pythondata_DATA =
+pythonlib_LTLIBRARIES =
+csharpdata_DATA =
+csharplib_LTLIBRARIES =
+rubylib_LTLIBRARIES =
+tcllib_LTLIBRARIES =
if CVC4_LANGUAGE_BINDING_JAVA
-lib_LTLIBRARIES += libcvc4bindings_java.la
+javalib_LTLIBRARIES += java/CVC4.la
javadata_DATA += cvc4.jar
-libcvc4bindings_java_la_LDFLAGS = \
+java_CVC4_la_LDFLAGS = \
+ -module \
-version-info $(LIBCVC4BINDINGS_VERSION)
-libcvc4bindings_java_la_LIBADD = \
+java_CVC4_la_LIBADD = \
-L@builddir@/.. -lcvc4 \
-L@builddir@/../parser -lcvc4parser
endif
if CVC4_LANGUAGE_BINDING_CSHARP
-lib_LTLIBRARIES += libcvc4bindings_csharp.la
-libcvc4bindings_csharp_la_LDFLAGS = \
+csharplib_LTLIBRARIES += csharp/CVC4.la
+csharp_CVC4_la_LDFLAGS = \
+ -module \
-version-info $(LIBCVC4BINDINGS_VERSION)
-libcvc4bindings_csharp_la_LIBADD = \
+csharp_CVC4_la_LIBADD = \
-L@builddir@/.. -lcvc4 \
-L@builddir@/../parser -lcvc4parser
endif
if CVC4_LANGUAGE_BINDING_PERL
-lib_LTLIBRARIES += libcvc4bindings_perl.la
-libcvc4bindings_perl_la_LDFLAGS = \
+perllib_LTLIBRARIES += perl/CVC4.la
+perl_CVC4_la_LDFLAGS = \
+ -module \
-version-info $(LIBCVC4BINDINGS_VERSION)
-libcvc4bindings_perl_la_LIBADD = \
+perl_CVC4_la_LIBADD = \
-L@builddir@/.. -lcvc4 \
-L@builddir@/../parser -lcvc4parser
+perldata_DATA += perl/CVC4.pm
endif
if CVC4_LANGUAGE_BINDING_PHP
-lib_LTLIBRARIES += libcvc4bindings_php.la
-libcvc4bindings_php_la_LDFLAGS = \
+phplib_LTLIBRARIES += php/CVC4.la
+php_CVC4_la_LDFLAGS = \
+ -module \
-version-info $(LIBCVC4BINDINGS_VERSION)
-libcvc4bindings_php_la_LIBADD = \
+php_CVC4_la_LIBADD = \
-L@builddir@/.. -lcvc4 \
-L@builddir@/../parser -lcvc4parser
+phpdata_DATA += php/CVC4.php
endif
if CVC4_LANGUAGE_BINDING_PYTHON
-lib_LTLIBRARIES += libcvc4bindings_python.la
-libcvc4bindings_python_la_LDFLAGS = \
+pythonlib_LTLIBRARIES += python/CVC4.la
+python_CVC4_la_LDFLAGS = \
+ -module \
-version-info $(LIBCVC4BINDINGS_VERSION)
-libcvc4bindings_python_la_LIBADD = \
+python_CVC4_la_LIBADD = \
-L@builddir@/.. -lcvc4 \
-L@builddir@/../parser -lcvc4parser
+pythondata_DATA += python/CVC4.py
endif
if CVC4_LANGUAGE_BINDING_OCAML
-lib_LTLIBRARIES += libcvc4bindings_ocaml.la
+ocamllib_LTLIBRARIES += ocaml/CVC4.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 = \
+ocaml_CVC4_la_LDFLAGS = \
+ -module \
-version-info $(LIBCVC4BINDINGS_VERSION)
-libcvc4bindings_ocaml_la_LIBADD = \
+ocaml_CVC4_la_LIBADD = \
-L@builddir@/.. -lcvc4 \
-L@builddir@/../parser -lcvc4parser
endif
if CVC4_LANGUAGE_BINDING_RUBY
-lib_LTLIBRARIES += libcvc4bindings_ruby.la
-libcvc4bindings_ruby_la_LDFLAGS = \
+rubylib_LTLIBRARIES += ruby/CVC4.la
+ruby_CVC4_la_LDFLAGS = \
+ -module \
-version-info $(LIBCVC4BINDINGS_VERSION)
-libcvc4bindings_ruby_la_LIBADD = \
+ruby_CVC4_la_LIBADD = \
-L@builddir@/.. -lcvc4 \
-L@builddir@/../parser -lcvc4parser
endif
if CVC4_LANGUAGE_BINDING_TCL
-lib_LTLIBRARIES += libcvc4bindings_tcl.la
-libcvc4bindings_tcl_la_LDFLAGS = \
+tcllib_LTLIBRARIES += tcl/CVC4.la
+tcl_CVC4_la_LDFLAGS = \
+ -module \
-version-info $(LIBCVC4BINDINGS_VERSION)
-libcvc4bindings_tcl_la_LIBADD = \
+tcl_CVC4_la_LIBADD = \
-L@builddir@/.. -lcvc4 \
-L@builddir@/../parser -lcvc4parser
endif
-nodist_libcvc4bindings_java_la_SOURCES = java.cpp
-libcvc4bindings_java_la_CXXFLAGS = -fno-strict-aliasing
-nodist_libcvc4bindings_csharp_la_SOURCES = csharp.cpp
-nodist_libcvc4bindings_perl_la_SOURCES = perl.cpp
-nodist_libcvc4bindings_php_la_SOURCES = php.cpp
-nodist_libcvc4bindings_python_la_SOURCES = python.cpp
-nodist_libcvc4bindings_ocaml_la_SOURCES = ocaml.cpp
-nodist_libcvc4bindings_ruby_la_SOURCES = ruby.cpp
-nodist_libcvc4bindings_tcl_la_SOURCES = tcl.cpp
+nodist_java_CVC4_la_SOURCES = java.cpp
+java_CVC4_la_CXXFLAGS = -fno-strict-aliasing
+nodist_csharp_CVC4_la_SOURCES = csharp.cpp
+nodist_perl_CVC4_la_SOURCES = perl.cpp
+nodist_php_CVC4_la_SOURCES = php.cpp
+nodist_python_CVC4_la_SOURCES = python.cpp
+nodist_ocaml_CVC4_la_SOURCES = ocaml.cpp
+nodist_ruby_CVC4_la_SOURCES = ruby.cpp
+nodist_tcl_CVC4_la_SOURCES = tcl.cpp
CLEANFILES = \
java.cpp \
@@ -123,7 +163,7 @@ MOSTLYCLEANFILES = \
$(patsubst %,%.d,$(filter-out c c++,$(CVC4_LANGUAGE_BINDINGS))) \
cvc4.jar
-libcvc4bindings_java_la-java.lo java.lo: java.cpp
+java_CVC4_la-java.lo java.lo: java.cpp
$(AM_V_CXX)$(LTCXXCOMPILE) -c $(JAVA_CPPFLAGS) -o $@ $<
cvc4.jar: java.cpp
$(AM_V_GEN) \
@@ -133,16 +173,17 @@ cvc4.jar: java.cpp
$(JAVAC) -classpath . -d classes `find . -name '*.java'`; \
cd classes); \
$(JAR) cf $@ -C java/classes .
-java.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:;
+perl/CVC4.pm: 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 $@ $<
ocaml.lo: ocaml.cpp
@@ -155,26 +196,18 @@ 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 libcvc4bindings_ocaml.la
+#ocaml.cpp:;
+cvc4_ocaml_top: ocaml/CVC4.la ocaml/swig.cmo ocaml/swig.cmi ocaml/swigp4.cmo ocaml/CVC4.cmo ocaml/CVC4.cmi
$(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++
+ $(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 ocaml/.libs/CVC4.so -cclib -lstdc++
ruby.lo: ruby.cpp
$(AM_V_CXX)$(LTCXXCOMPILE) -c $(RUBY_CPPFLAGS) -o $@ $<
tcl.lo: tcl.cpp
$(AM_V_CXX)$(LTCXXCOMPILE) -c $(TCL_CPPFLAGS) -o $@ $<
-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
+#tcl.cpp:;
+$(patsubst %,%.cpp,$(filter-out c c++,$(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 $@ $<
+ $(AM_V_GEN)$(SWIG) -Wall -I@srcdir@/../include -I@srcdir@/.. -I@builddir@/.. -c++ -$(patsubst %.cpp,%,$@) -outdir $(patsubst %.cpp,%,$@) $($(subst .,_,$@)_SWIGFLAGS) -o $@ $<
$(patsubst %,%.d,$(filter-out c c++,$(CVC4_LANGUAGE_BINDINGS))): %.d: @srcdir@/../cvc4.i
$(AM_V_GEN)$(SWIG) -I@srcdir@/../include -I@srcdir@/.. -I@builddir@/.. -c++ -MM -o $(patsubst %.d,%.cpp,$@) $<
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback