8000 bpo-42613: Fix freeze.py config directory (GH-23792) · python/cpython@829272e · GitHub
[go: up one dir, main page]

Skip to content

Commit 829272e

Browse files
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 1c653f1) Co-authored-by: Victor Stinner <vstinner@python.org>
1 parent 4f65907 commit 829272e

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Fix ``freeze.py`` tool to use the prope config and library directories.
2+
Patch by Victor Stinner.

Tools/freeze/freeze.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@
9393
import getopt
9494
import os
9595
import sys
96+
import sysconfig
9697

9798

9899
# Import the freeze-private modules
@@ -226,7 +227,7 @@ def main():
226227
extensions_c = 'frozen_extensions.c'
227228
if ishome:
228229
print("(Using Python source directory)")
229-
binlib = exec_prefix
230+
configdir = exec_prefix
230231
incldir = os.path.join(prefix, 'Include')
231232
config_h_dir = exec_prefix
232233
config_c_in = os.path.join(prefix, 'Modules', 'config.c.in')
@@ -235,22 +236,21 @@ def main():
235236
if win:
236237
frozendllmain_c = os.path.join(exec_prefix, 'Pc\\frozen_dllmain.c')
237238
else:
238-
binlib = os.path.join(exec_prefix,
239-
'lib', 'python%s' % version,
240-
'config-%s' % flagged_version)
239+
configdir = sysconfig.get_config_var('LIBPL')
241240
incldir = os.path.join(prefix, 'include', 'python%s' % flagged_version)
242241
config_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')
248248
supp_sources = []
249249
defines = []
250250
includes = ['-I' + incldir, '-I' + config_h_dir]
251251

252252
# sanity check of directories and files
253-
check_dirs = [prefix, exec_prefix, binlib, incldir]
253+
check_dirs = [prefix, exec_prefix, configdir, incldir]
254254
if not win:
255255
# These are not directories on Windows.
256256
check_dirs = check_dirs + extensions
@@ -457,7 +457,7 @@ def main():
457457

458458
cflags = ['$(OPT)']
459459
cppflags = defines + includes
460-
libs = [os.path.join(binlib, '$(LDLIBRARY)')]
460+
libs = [os.path.join(libdir, '$(LDLIBRARY)')]
461461

462462
somevars = {}
463463
if os.path.exists(makefile_in):

0 commit comments

Comments
 (0)
0