1
0
mirror of https://github.com/facebook/proxygen.git synced 2025-08-08 18:02:05 +03:00

update python to 3.8

Summary:
Update to a newer python that builds on macOS Big Sur, make eden_scm depend on it and use it from PATH

python 3.8 requires libffi which is reference via its pkg-config setup,  however python's pkg-config libffi detection is broken (https://bugs.python.org/issue34823) with the documented workaround requiring an environment variable to be passed into its ./configure step, which is why this change also adds a feature to AutoconfBuilder

With the updated python in place I was able to remove disable_env_override_pkgconfig = 1
disable_env_override_path = 1 from the eden_scm config so that it actually uses the pkg-configs, PATHs and other settings from its dependencies. This should make future python and other dependency upgrades much simpler.

Reviewed By: HarveyHunt

Differential Revision: D32231261

fbshipit-source-id: a2b6addbe22f38e3d71618c802d2c6f836fdd86c
This commit is contained in:
Alex Hornby
2021-11-26 00:01:14 -08:00
committed by Facebook GitHub Bot
parent 487d4abb0f
commit e357474839
7 changed files with 96 additions and 35 deletions

View File

@@ -69,8 +69,6 @@ SCHEMA = {
"builder": REQUIRED,
"subdir": OPTIONAL,
"build_in_src_dir": OPTIONAL,
"disable_env_override_pkgconfig": OPTIONAL,
"disable_env_override_path": OPTIONAL,
},
},
"msbuild": {"optional_section": True, "fields": {"project": REQUIRED}},
@@ -84,6 +82,7 @@ SCHEMA = {
},
"cmake.defines": {"optional_section": True},
"autoconf.args": {"optional_section": True},
"autoconf.envcmd.LDFLAGS": {"optional_section": True},
"rpms": {"optional_section": True},
"debs": {"optional_section": True},
"preinstalled.env": {"optional_section": True},
@@ -101,6 +100,7 @@ SCHEMA = {
# using the expression syntax to enable/disable sections
ALLOWED_EXPR_SECTIONS = [
"autoconf.args",
"autoconf.envcmd.LDFLAGS",
"build",
"cmake.defines",
"dependencies",
@@ -469,8 +469,19 @@ class ManifestParser(object):
if builder == "autoconf":
args = self.get_section_as_args("autoconf.args", ctx)
conf_env_args = {}
ldflags_cmd = self.get_section_as_args("autoconf.envcmd.LDFLAGS", ctx)
if ldflags_cmd:
conf_env_args["LDFLAGS"] = ldflags_cmd
return AutoconfBuilder(
build_options, ctx, self, src_dir, build_dir, inst_dir, args
build_options,
ctx,
self,
src_dir,
build_dir,
inst_dir,
args,
conf_env_args,
)
if builder == "boost":