From 6b42eb17649bed9615b6e6cecaefdb2f46990b2c Mon Sep 17 00:00:00 2001 From: INADA Naoki Date: Thu, 29 Jun 2017 15:31:38 +0900 Subject: [PATCH] bpo-29585: Fix sysconfig.get_config_var("PYTHONFRAMEWORK") (GH-2483) `PYTHONFRAMEWORK` is defined in `Makefile` and it shoulnd't be used in `pyconfig.h`. `sysconfig.py --generate-posix-vars` reads config vars from Makefile and `pyconfig.h`. Conflicting variables should be avoided. Especially, string config variables in Makefile are unquoted, but in `pyconfig.h` are keep quoted. So it should be private (starts with underscore). --- PC/pyconfig.h | 2 +- Python/sysmodule.c | 2 +- configure | 2 +- configure.ac | 2 +- pyconfig.h.in | 6 +++--- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/PC/pyconfig.h b/PC/pyconfig.h index a2d024d6db0..bab9d5aef9d 100644 --- a/PC/pyconfig.h +++ b/PC/pyconfig.h @@ -694,6 +694,6 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */ #define HAVE_INET_PTON 1 /* framework name */ -#define PYTHONFRAMEWORK "" +#define _PYTHONFRAMEWORK "" #endif /* !Py_CONFIG_H */ diff --git a/Python/sysmodule.c b/Python/sysmodule.c index 84673e3fed9..ab435c83104 100644 --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -1965,7 +1965,7 @@ _PySys_BeginInit(void) SET_SYS_FROM_STRING("_git", Py_BuildValue("(szz)", "CPython", _Py_gitidentifier(), _Py_gitversion())); - SET_SYS_FROM_STRING("_framework", PyUnicode_FromString(PYTHONFRAMEWORK)); + SET_SYS_FROM_STRING("_framework", PyUnicode_FromString(_PYTHONFRAMEWORK)); SET_SYS_FROM_STRING("api_version", PyLong_FromLong(PYTHON_API_VERSION)); SET_SYS_FROM_STRING("copyright", diff --git a/configure b/configure index ff8152d7d19..3a28cad9678 100755 --- a/configure +++ b/configure @@ -3245,7 +3245,7 @@ fi cat >>confdefs.h <<_ACEOF -#define PYTHONFRAMEWORK "${PYTHONFRAMEWORK}" +#define _PYTHONFRAMEWORK "${PYTHONFRAMEWORK}" _ACEOF diff --git a/configure.ac b/configure.ac index 815769f534b..8253102fc1d 100644 --- a/configure.ac +++ b/configure.ac @@ -355,7 +355,7 @@ AC_SUBST(FRAMEWORKPYTHONW) AC_SUBST(FRAMEWORKUNIXTOOLSPREFIX) AC_SUBST(FRAMEWORKINSTALLAPPSPREFIX) -AC_DEFINE_UNQUOTED(PYTHONFRAMEWORK, "${PYTHONFRAMEWORK}", [framework name]) +AC_DEFINE_UNQUOTED(_PYTHONFRAMEWORK, "${PYTHONFRAMEWORK}", [framework name]) ##AC_ARG_WITH(dyld, ## AS_HELP_STRING([--with-dyld], diff --git a/pyconfig.h.in b/pyconfig.h.in index f7c50eadcaf..b4d1f1b5038 100644 --- a/pyconfig.h.in +++ b/pyconfig.h.in @@ -1247,9 +1247,6 @@ /* Define as the preferred size in bits of long digits */ #undef PYLONG_BITS_IN_DIGIT -/* framework name */ -#undef PYTHONFRAMEWORK - /* Define if you want to coerce the C locale to a UTF-8 based locale */ #undef PY_COERCE_C_LOCALE @@ -1464,6 +1461,9 @@ /* Define if you have POSIX threads, and your system does not define that. */ #undef _POSIX_THREADS +/* framework name */ +#undef _PYTHONFRAMEWORK + /* Define to force use of thread-safe errno, h_errno, and other functions */ #undef _REENTRANT