From 3228c3ff5ca5784e948b5ceea873ea013d3e80d0 Mon Sep 17 00:00:00 2001 From: "Christoph M. Wintersteiger" Date: Tue, 15 Apr 2014 18:49:05 +0100 Subject: [PATCH] ML API build fix Signed-off-by: Christoph M. Wintersteiger --- scripts/mk_util.py | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/scripts/mk_util.py b/scripts/mk_util.py index 41efe90f1..c74836a27 100644 --- a/scripts/mk_util.py +++ b/scripts/mk_util.py @@ -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'))