From ab642d1295eb4d350404f4402387c166c8f60894 Mon Sep 17 00:00:00 2001 From: William Deegan Date: Tue, 20 Jun 2023 16:10:13 +0000 Subject: [PATCH] Use pathlib to get file stem to build D interface filename. Add new DINTFOR and variables to gdc --- SCons/Tool/DCommon.py | 4 ++-- SCons/Tool/gdc.py | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/SCons/Tool/DCommon.py b/SCons/Tool/DCommon.py index d0c07a3ed..3cd3dab11 100644 --- a/SCons/Tool/DCommon.py +++ b/SCons/Tool/DCommon.py @@ -29,8 +29,8 @@ Coded by Russel Winder (russel@winder.org.uk) 2012-09-06 """ +from pathlib import Path import os.path -import SCons.Util def isD(env, source) -> int: if not source: @@ -62,7 +62,7 @@ def DObjectEmitter(target,source,env): # TODO: Verify sane DI_FILE_DIR? if di_file_dir: di_file_suffix = env.subst('$DI_FILE_SUFFIX', target=target, source=source) - file_base = os.path.basename(target[0].get_path()) + file_base = Path(target[0].get_path()).stem # print(f'DObjectEmitter: {di_file_dir}/*{file_base}*{di_file_suffix}') target.append(env.fs.File(f"{file_base}{di_file_suffix}", di_file_dir)) # print("New Target:%s"%" ".join([str(t) for t in target])) diff --git a/SCons/Tool/gdc.py b/SCons/Tool/gdc.py index e0f988897..4a99edc3f 100644 --- a/SCons/Tool/gdc.py +++ b/SCons/Tool/gdc.py @@ -67,7 +67,7 @@ def generate(env) -> None: env['_DINCFLAGS'] = '${_concat(DINCPREFIX, DPATH, DINCSUFFIX, __env__, RDirs, TARGET, SOURCE)}' env['_DVERFLAGS'] = '${_concat(DVERPREFIX, DVERSIONS, DVERSUFFIX, __env__)}' env['_DDEBUGFLAGS'] = '${_concat(DDEBUGPREFIX, DDEBUG, DDEBUGSUFFIX, __env__)}' - env['_DINTFDIR'] = '${_concat(DINTFDIRPREFIX, DINTFDIR, DINTFDIRSUFFIX, __env__, Dirs, TARGET, SOURCE)}' + env['_DINTFDIR'] = "${DI_FILE_DIR and DINTFDIRPREFIX+DI_FILE_DIR+DINTFDIRSUFFIX}" env['_DFLAGS'] = '${_concat(DFLAGPREFIX, DFLAGS, DFLAGSUFFIX, __env__)}' env['SHDC'] = '$DC' @@ -91,7 +91,8 @@ def generate(env) -> None: env['DFLAGPREFIX'] = '-' env['DFLAGSUFFIX'] = '' env['DFILESUFFIX'] = '.d' - env['DIFILESUFFIX'] = '.di' + env['DI_FILE_DIR'] = '' + env['DI_FILE_SUFFIX'] = '.di' env['DINTFDIRPREFIX'] = '-Hd' env['DINTFDIRSUFFIX'] = '' -- 2.11.4.GIT