bpo-42613: Fix freeze.py config directory (GH-23792) · python/cpython@829272e
@@ -93,6 +93,7 @@
9393import getopt
9494import os
9595import sys
96+import sysconfig
969797989899# Import the freeze-private modules
@@ -226,7 +227,7 @@ def main():
226227extensions_c = 'frozen_extensions.c'
227228if ishome:
228229print("(Using Python source directory)")
229-binlib = exec_prefix
230+configdir = exec_prefix
230231incldir = os.path.join(prefix, 'Include')
231232config_h_dir = exec_prefix
232233config_c_in = os.path.join(prefix, 'Modules', 'config.c.in')
@@ -235,22 +236,21 @@ def main():
235236if win:
236237frozendllmain_c = os.path.join(exec_prefix, 'Pc\\frozen_dllmain.c')
237238else:
238-binlib = os.path.join(exec_prefix,
239-'lib', 'python%s' % version,
240-'config-%s' % flagged_version)
239+configdir = sysconfig.get_config_var('LIBPL')
241240incldir = os.path.join(prefix, 'include', 'python%s' % flagged_version)
242241config_h_dir = os.path.join(exec_prefix, 'include',
243242'python%s' % flagged_version)
244-config_c_in = os.path.join(binlib, 'config.c.in')
245-frozenmain_c = os.path.join(binlib, 'frozenmain.c')
246-makefile_in = os.path.join(binlib, 'Makefile')
247-frozendllmain_c = os.path.join(binlib, 'frozen_dllmain.c')
243+config_c_in = os.path.join(configdir, 'config.c.in')
244+frozenmain_c = os.path.join(configdir, 'frozenmain.c')
245+makefile_in = os.path.join(configdir, 'Makefile')
246+frozendllmain_c = os.path.join(configdir, 'frozen_dllmain.c')
247+libdir = sysconfig.get_config_var('LIBDIR')
248248supp_sources = []
249249defines = []
250250includes = ['-I' + incldir, '-I' + config_h_dir]
251251252252# sanity check of directories and files
253-check_dirs = [prefix, exec_prefix, binlib, incldir]
253+check_dirs = [prefix, exec_prefix, configdir, incldir]
254254if not win:
255255# These are not directories on Windows.
256256check_dirs = check_dirs + extensions
@@ -457,7 +457,7 @@ def main():
457457458458cflags = ['$(OPT)']
459459cppflags = defines + includes
460-libs = [os.path.join(binlib, '$(LDLIBRARY)')]
460+libs = [os.path.join(libdir, '$(LDLIBRARY)')]
461461462462somevars = {}
463463if os.path.exists(makefile_in):