bpo-42613: Fix freeze.py config directory (GH-23792) · python/cpython@829272e

@@ -93,6 +93,7 @@

9393

import getopt

9494

import os

9595

import sys

96+

import sysconfig

969797989899

# 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]

251251252252

# 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():

457457458458

cflags = ['$(OPT)']

459459

cppflags = defines + includes

460-

libs = [os.path.join(binlib, '$(LDLIBRARY)')]

460+

libs = [os.path.join(libdir, '$(LDLIBRARY)')]

461461462462

somevars = {}

463463

if os.path.exists(makefile_in):