#!/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)