summaryrefslogtreecommitdiff
path: root/CC/prebuilt/read_pkgconfig.py
diff options
context:
space:
mode:
authorOliver Reiche <oliver.reiche@huawei.com>2023-05-08 17:10:19 +0200
committerOliver Reiche <oliver.reiche@huawei.com>2023-05-09 12:17:24 +0200
commit40d6a2decf29a697a0aaa9ed211aaf5c4102f855 (patch)
treef363ebaeaeafa7d824e2854027c84ecf17fbae34 /CC/prebuilt/read_pkgconfig.py
parent0a11bce4b8f80e8e9041788ccbf383722394872f (diff)
downloadrules-cc-40d6a2decf29a697a0aaa9ed211aaf5c4102f855.tar.gz
rules: prebuilt expr calls pkg-config with --static
... for static prebuilt libraries.
Diffstat (limited to 'CC/prebuilt/read_pkgconfig.py')
-rwxr-xr-xCC/prebuilt/read_pkgconfig.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/CC/prebuilt/read_pkgconfig.py b/CC/prebuilt/read_pkgconfig.py
index cb4154f..f6b5da1 100755
--- a/CC/prebuilt/read_pkgconfig.py
+++ b/CC/prebuilt/read_pkgconfig.py
@@ -27,7 +27,7 @@ def run_pkgconfig(args: list[str], env: dict[str, str]) -> str:
return result.stdout.decode("utf-8").strip()
-def read_ldflags(pkg: str, env: dict[str, str]) -> str:
+def read_ldflags(pkg: str, args: list[str], env: dict[str, str]) -> str:
def libname(filename: str) -> str:
return filename.split(".")[0]
@@ -36,7 +36,7 @@ def read_ldflags(pkg: str, env: dict[str, str]) -> str:
for it in os.walk(".") for f in it[2] if f.startswith("lib")
}
- link_flags = run_pkgconfig(["--libs-only-l", pkg], env).split(" ")
+ link_flags = run_pkgconfig(args + ["--libs-only-l", pkg], env).split(" ")
# deduplicate, keep right-most
seen: set[str] = set()
@@ -55,17 +55,18 @@ def read_ldflags(pkg: str, env: dict[str, str]) -> str:
def read_pkgconfig():
if len(sys.argv) < 3:
- print(f"usage: read_pkgconfig OUT_NAME PC_FILE")
+ print(f"usage: read_pkgconfig OUT_NAME PC_FILE [PC_ARGS...]")
exit(1)
name = sys.argv[1]
pkg = Path(sys.argv[2]).stem
+ args = sys.argv[3:]
env = dict(os.environ, PKG_CONFIG_PATH="./lib/pkgconfig")
if name.endswith(".cflags"):
- data = run_pkgconfig(["--cflags-only-other", pkg], env)
+ data = run_pkgconfig(args + ["--cflags-only-other", pkg], env)
else:
- data = read_ldflags(pkg, env)
+ data = read_ldflags(pkg, args, env)
with open(f"{name}", 'w') as f:
f.write(data)