3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-14 12:58:44 +00:00

If ocamlfind is installed, add destdir/stublibs to rpath

This commit is contained in:
Zachary Kincaid 2015-07-26 19:59:17 -04:00
parent fc3e1af4a9
commit eca2488ab4

View file

@ -1478,6 +1478,28 @@ class MLComponent(Component):
get_component(Z3_DLL_COMPONENT).dll_name))
out.write(' %s\n' % (os.path.join(sub_dir, 'z3native_stubs$(OBJ_EXT)')))
out.write('\tocamlmklib -o %s -I %s -ldopt \"-L. -lz3\" ' % (os.path.join(sub_dir, 'z3ml'), sub_dir))
# Add ocamlfind destdir to rpath
if OCAMLFIND != '':
if is_verbose():
print ("Finding ocamlfind destdir")
t = TempFile('output')
null = open(os.devnull, 'wb')
try:
subprocess.call([OCAMLFIND, 'printconf', 'destdir'], stdout=t.fname, stderr=null)
t.commit()
except:
raise MKException('Failed to find Ocamlfind destdir')
t = open('output', 'r')
for line in t:
ocamlfind_destdir = line[:-1]
if is_verbose():
print ('ocamlfind destdir=%s' % ocamlfind_destdir)
t.close()
rmf('output')
out.write("-rpath %s " % os.path.join(ocamlfind_destdir, 'stublibs'))
out.write("-L%s" % os.path.join(ocamlfind_destdir, 'stublibs'))
for m in modules:
out.write(' %s' % (os.path.join(sub_dir, m+'.ml')))
out.write(' %s\n' % (os.path.join(sub_dir, 'z3native_stubs$(OBJ_EXT)')))