diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2020-12-17 11:40:26 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-17 11:40:26 (GMT) |
commit | 829272e67bbd4b2cc76c01cd20265eb114b392a2 (patch) | |
tree | bf6d13f24f5855cc9dcea524632ed045e6ba899c | |
parent | 4f65907f38339809532bc06ffc1382c2c09180e2 (diff) | |
download | cpython-829272e67bbd4b2cc76c01cd20265eb114b392a2.zip cpython-829272e67bbd4b2cc76c01cd20265eb114b392a2.tar.gz cpython-829272e67bbd4b2cc76c01cd20265eb114b392a2.tar.bz2 |
bpo-42613: Fix freeze.py config directory (GH-23792)
Fix freeze.py tool to use the prope config and library directories.
(cherry picked from commit 1c653f17cb84d81df3a74ab0b42140d2bb68c5c4)
Co-authored-by: Victor Stinner <vstinner@python.org>
-rw-r--r-- | Misc/NEWS.d/next/Tools-Demos/2020-12-16-09-10-32.bpo-42613.J-jnm5.rst | 2 | ||||
-rwxr-xr-x | Tools/freeze/freeze.py | 20 |
2 files changed, 12 insertions, 10 deletions
diff --git a/Misc/NEWS.d/next/Tools-Demos/2020-12-16-09-10-32.bpo-42613.J-jnm5.rst b/Misc/NEWS.d/next/Tools-Demos/2020-12-16-09-10-32.bpo-42613.J-jnm5.rst new file mode 100644 index 0000000..140ff82 --- /dev/null +++ b/Misc/NEWS.d/next/Tools-Demos/2020-12-16-09-10-32.bpo-42613.J-jnm5.rst @@ -0,0 +1,2 @@ +Fix ``freeze.py`` tool to use the prope config and library directories. +Patch by Victor Stinner. diff --git a/Tools/freeze/freeze.py b/Tools/freeze/freeze.py index 83aa508..d66e1e2 100755 --- a/Tools/freeze/freeze.py +++ b/Tools/freeze/freeze.py @@ -93,6 +93,7 @@ import modulefinder import getopt import os import sys +import sysconfig # Import the freeze-private modules @@ -226,7 +227,7 @@ def main(): extensions_c = 'frozen_extensions.c' if ishome: print("(Using Python source directory)") - binlib = exec_prefix + configdir = exec_prefix incldir = os.path.join(prefix, 'Include') config_h_dir = exec_prefix config_c_in = os.path.join(prefix, 'Modules', 'config.c.in') @@ -235,22 +236,21 @@ def main(): if win: frozendllmain_c = os.path.join(exec_prefix, 'Pc\\frozen_dllmain.c') else: - binlib = os.path.join(exec_prefix, - 'lib', 'python%s' % version, - 'config-%s' % flagged_version) + configdir = sysconfig.get_config_var('LIBPL') incldir = os.path.join(prefix, 'include', 'python%s' % flagged_version) config_h_dir = os.path.join(exec_prefix, 'include', 'python%s' % flagged_version) - config_c_in = os.path.join(binlib, 'config.c.in') - frozenmain_c = os.path.join(binlib, 'frozenmain.c') - makefile_in = os.path.join(binlib, 'Makefile') - frozendllmain_c = os.path.join(binlib, 'frozen_dllmain.c') + config_c_in = os.path.join(configdir, 'config.c.in') + frozenmain_c = os.path.join(configdir, 'frozenmain.c') + makefile_in = os.path.join(configdir, 'Makefile') + frozendllmain_c = os.path.join(configdir, 'frozen_dllmain.c') + libdir = sysconfig.get_config_var('LIBDIR') supp_sources = [] defines = [] includes = ['-I' + incldir, '-I' + config_h_dir] # sanity check of directories and files - check_dirs = [prefix, exec_prefix, binlib, incldir] + check_dirs = [prefix, exec_prefix, configdir, incldir] if not win: # These are not directories on Windows. check_dirs = check_dirs + extensions @@ -457,7 +457,7 @@ def main(): cflags = ['$(OPT)'] cppflags = defines + includes - libs = [os.path.join(binlib, '$(LDLIBRARY)')] + libs = [os.path.join(libdir, '$(LDLIBRARY)')] somevars = {} if os.path.exists(makefile_in): |