blob: 613cfbaf910a93b31f3d07a9808d4b9aac37d790 [file] [log] [blame] [edit]
#!/usr/bin/env python3
import os
import shutil
import subprocess
import sys
from check_helpers import CHECK_LIBSTDCXX_LIBS
srcdir = sys.argv[1]
base_srcdir = sys.argv[2]
builddir = sys.argv[3]
os.chdir(srcdir)
ldd = os.getenv("LDD", shutil.which("ldd"))
if not ldd:
otool = os.getenv("OTOOL", shutil.which("otool"))
if otool:
ldd = otool + " -L"
else:
print("check-libstdc++.py: 'ldd' not found; skipping test")
sys.exit(77)
stat = 0
tested = False
for soname in CHECK_LIBSTDCXX_LIBS:
for suffix in ["so", "dylib"]:
so = os.path.join(builddir, "lib%s.%s" % (soname, suffix))
if not os.path.exists(so):
continue
print("Checking that we are not linking to libstdc++ or libc++ in %s" % so)
ldd_result = subprocess.check_output(ldd.split() + [so])
if (b"libstdc++" in ldd_result) or (b"libc++" in ldd_result):
print("Ouch, %s is linked to libstdc++ or libc++" % so)
stat = 1
tested = True
if not tested:
print("check-libstdc++.py: libharfbuzz shared library not found; skipping test")
sys.exit(77)
sys.exit(stat)