3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-10 19:27:06 +00:00

ML API build fix

Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
This commit is contained in:
Christoph M. Wintersteiger 2014-04-15 18:49:05 +01:00
parent d0588c0565
commit 3228c3ff5c

View file

@ -35,6 +35,7 @@ JNI_HOME=getenv("JNI_HOME", None)
OCAMLC=getenv("OCAMLC", "ocamlc")
OCAMLOPT=getenv("OCAMLOPT", "ocamlopt")
OCAML_LIB=getenv("OCAML_LIB", None)
OCAMLFIND=getenv("OCAMLFIND", "ocamlfind")
CXX_COMPILERS=['g++', 'clang++']
C_COMPILERS=['gcc', 'clang']
@ -357,6 +358,15 @@ def check_ml():
rmf('hello.cmx')
rmf('a.out')
find_ml_lib()
find_ocaml_find()
def find_ocaml_find():
global OCAMLFIND
if is_verbose():
print "Testing %s..." % OCAMLFIND
r = exec_cmd([OCAMLFIND, 'printconf'])
if r != 0:
OCAMLFIND=''
def find_ml_lib():
global OCAML_LIB
@ -1387,13 +1397,14 @@ class MLComponent(Component):
out.write('\n')
# Generate META file and package installation commands
self.mk_ml_meta(os.path.join('src/api/ml/META'), os.path.join(BUILD_DIR, sub_dir, 'META'), VER_MAJOR, VER_MINOR, VER_BUILD, VER_REVISION)
out.write('ocamlfind_install: api/ml/z3.cma api/ml/z3.cmxa\n')
out.write('\tocamlfind remove Z3\n')
out.write('\tocamlfind install Z3 api/ml/META api/ml/z3.cma api/ml/z3.cmxa api/ml/z3$(LIB_EXT) api/ml/libz3ml$(LIB_EXT) libz3$(SO_EXT)')
if IS_WINDOWS:
out.write(' libz3$(LIB_EXT)')
out.write('\n')
out.write('\n')
if OCAMLFIND != '':
out.write('ocamlfind_install: api/ml/z3.cma api/ml/z3.cmxa\n')
out.write('\t%s remove Z3\n' % (OCAMLFIND))
out.write('\t%s install Z3 api/ml/META api/ml/z3.cma api/ml/z3.cmxa api/ml/z3$(LIB_EXT) api/ml/libz3ml$(LIB_EXT) libz3$(SO_EXT)' % (OCAMLFIND))
if IS_WINDOWS:
out.write(' libz3$(LIB_EXT)')
out.write('\n')
out.write('\n')
def main_component(self):
return is_ml_enabled()
@ -1821,7 +1832,7 @@ def mk_install(out):
for c in get_components():
c.mk_install_deps(out)
out.write(' ')
if is_ml_enabled():
if is_ml_enabled() and OCAMLFIND != '':
out.write('ocamlfind_install')
out.write('\n')
out.write('\t@mkdir -p %s\n' % os.path.join('$(PREFIX)', 'bin'))