From 7a1a19bd7e8e44c12a292899af594655da5c13f0 Mon Sep 17 00:00:00 2001 From: Udip Pant Date: Wed, 18 Sep 2019 11:54:27 -0700 Subject: [PATCH] add PKG_CONFIG_PATH in the env variable for build cmds Summary: This enables appending PKG_CONFIG_PATH to env variable Reviewed By: wez Differential Revision: D17363236 fbshipit-source-id: 18c6d7a97ba83edf085278bccaafa80821ea8860 --- build/fbcode_builder/getdeps/builder.py | 20 ++++++++++++-------- build/fbcode_builder/getdeps/buildopts.py | 4 ++++ 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/build/fbcode_builder/getdeps/builder.py b/build/fbcode_builder/getdeps/builder.py index fc2ed7a48a..126c9f9068 100644 --- a/build/fbcode_builder/getdeps/builder.py +++ b/build/fbcode_builder/getdeps/builder.py @@ -103,11 +103,19 @@ class MakeBuilder(BuilderBase): self.args = args or [] def _build(self, install_dirs, reconfigure): - cmd = ["make", "-j%s" % self.build_opts.num_jobs] + self.args - self._run_cmd(cmd) + env = self._compute_env(install_dirs) + + # Need to ensure that PREFIX is set prior to install because + # libbpf uses it when generating its pkg-config file + cmd = ( + ["make", "-j%s" % self.build_opts.num_jobs] + + self.args + + ["PREFIX=" + self.inst_dir] + ) + self._run_cmd(cmd, env=env) install_cmd = ["make", "install", "PREFIX=" + self.inst_dir] - self._run_cmd(install_cmd) + self._run_cmd(install_cmd, env=env) class AutoconfBuilder(BuilderBase): @@ -121,11 +129,7 @@ class AutoconfBuilder(BuilderBase): configure_path = os.path.join(self.src_dir, "configure") autogen_path = os.path.join(self.src_dir, "autogen.sh") - env = self.env.copy() - for d in install_dirs: - add_path_entry(env, "PKG_CONFIG_PATH", "%s/lib/pkgconfig" % d) - bindir = os.path.join(d, "bin") - add_path_entry(env, "PATH", bindir, append=False) + env = self._compute_env(install_dirs) if not os.path.exists(configure_path): print("%s doesn't exist, so reconfiguring" % configure_path) diff --git a/build/fbcode_builder/getdeps/buildopts.py b/build/fbcode_builder/getdeps/buildopts.py index 4ddf0cb3b6..4c2dbf5953 100644 --- a/build/fbcode_builder/getdeps/buildopts.py +++ b/build/fbcode_builder/getdeps/buildopts.py @@ -172,6 +172,10 @@ class BuildOptions(object): if os.path.exists(pkgconfig): add_path_entry(env, "PKG_CONFIG_PATH", pkgconfig) + pkgconfig = os.path.join(d, "lib64/pkgconfig") + if os.path.exists(pkgconfig): + add_path_entry(env, "PKG_CONFIG_PATH", pkgconfig) + # Allow resolving shared objects built earlier (eg: zstd # doesn't include the full path to the dylib in its linkage # so we need to give it an assist)