fix stuff

This commit is contained in:
2025-12-31 01:30:22 +01:00
parent 2bf084d710
commit b99aaefe87
+12 -21
View File
@@ -233,6 +233,7 @@ class Build:
def dspico_wrfuxxed(envfile, tools: Tools, srcdir: Path, filesdir: Path) -> Path: def dspico_wrfuxxed(envfile, tools: Tools, srcdir: Path, filesdir: Path) -> Path:
prjdir = srcdir / "dspico-wrfuxxed" prjdir = srcdir / "dspico-wrfuxxed"
Build.run_with_env(envfile, [tools.make, '-C', str(prjdir), NPROC]) Build.run_with_env(envfile, [tools.make, '-C', str(prjdir), NPROC])
subproc_run([tools.dlditool, filesdir / "DSpico.dldi", prjdir / "uartBufv060.bin"])
return Path(shutil.copy((prjdir / "uartBufv060.bin"), filesdir)) return Path(shutil.copy((prjdir / "uartBufv060.bin"), filesdir))
def dspico_firmware(tools: Tools, srcdir: Path, filesdir: Path, default_nds: Path, uartBufv060=None) -> (Path, Path): def dspico_firmware(tools: Tools, srcdir: Path, filesdir: Path, default_nds: Path, uartBufv060=None) -> (Path, Path):
@@ -246,6 +247,8 @@ class Build:
subproc_run([tools.sed, '--posix', '-i', subproc_run([tools.sed, '--posix', '-i',
's/^.*DSPICO_ENABLE_WRFUXXED.*$/ DSPICO_ENABLE_WRFUXXED/', prjdir / 'CMakeLists.txt']) 's/^.*DSPICO_ENABLE_WRFUXXED.*$/ DSPICO_ENABLE_WRFUXXED/', prjdir / 'CMakeLists.txt'])
else: else:
if (prjdir / 'roms' / 'dsimode.nds').is_file():
(prjdir / 'roms' / 'dsimode.nds').unlink()
subproc_run([tools.sed, '--posix', '-i', subproc_run([tools.sed, '--posix', '-i',
's/^.*DSPICO_ENABLE_WRFUXXED.*$/ #DSPICO_ENABLE_WRFUXXED/', prjdir / 'CMakeLists.txt']) 's/^.*DSPICO_ENABLE_WRFUXXED.*$/ #DSPICO_ENABLE_WRFUXXED/', prjdir / 'CMakeLists.txt'])
@@ -254,26 +257,14 @@ class Build:
if cmake_build.is_dir(): shutil.rmtree(cmake_build) if cmake_build.is_dir(): shutil.rmtree(cmake_build)
cmake_build.mkdir() cmake_build.mkdir()
cmake_ver_str = subprocess.run([tools.cmake, "--version"], check=True, capture_output=True).stdout.decode().splitlines()[0]
if not cmake_ver_str.startswith("cmake version "):
error("Can't parse CMake version output: %s" % cmake_ver_str)
return None
cmake_ver = tuple(int(x) for x in cmake_ver_str[len("cmake version "):].split("."))
cmake_env = dict(os.environ) cmake_env = dict(os.environ)
cmake_env['PICO_SDK_PATH'] = "../pico-sdk" cmake_env['PICO_SDK_PATH'] = "../pico-sdk"
cmake_args = ["-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo", cmake_env['CMAKE_POLICY_VERSION_MINIMUM'] = "3.5"
"-G", "Unix Makefiles", "-B", cmake_build, prjdir] cmake_env['CMAKE_BUILD_PARALLEL_LEVEL'] = "%d" % multiprocessing.cpu_count()
cmake_args = ["-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo", "-B", cmake_build, prjdir]
if cmake_ver >= (4,):
# we are running CMake version 4.x or newer, so we need to fix up some stuff
cmake_args.insert(0, "-DCMAKE_POLICY_VERSION_MINIMUM=3.5")
subproc_run([tools.sed, '--posix', '-i',
's/^cmake_minimum_required(VERSION 3\\..*)/cmake_minimum_required(VERSION 3.13)/',
prjdir / "pico-sdk" / "tools" / "pioasm" / "CMakeLists.txt"])
subproc_run([tools.cmake, *cmake_args], env=cmake_env) subproc_run([tools.cmake, *cmake_args], env=cmake_env)
subproc_run([tools.make, "-C", cmake_build, NPROC]) subproc_run([tools.cmake, "--build", cmake_build], env=cmake_env)
return shutil.copy(cmake_build / 'DSpico.uf2', filesdir / ("DSpico-%s.uf2" % buildname)) return shutil.copy(cmake_build / 'DSpico.uf2', filesdir / ("DSpico-%s.uf2" % buildname))
def dspico_loader(envfile, tools: Tools, srcdir: Path, filesdir: Path, exedir: Path, venvdir: Path) -> Tuple[Path, Path, Path, Path]: def dspico_loader(envfile, tools: Tools, srcdir: Path, filesdir: Path, exedir: Path, venvdir: Path) -> Tuple[Path, Path, Path, Path]:
@@ -299,13 +290,13 @@ class Build:
def install_to_destdir(filesdict: Dict[str, Path], outdir: Path): def install_to_destdir(filesdict: Dict[str, Path], outdir: Path):
if (outdir / '_pîco').is_dir(): shutil.rmtree(outdir / '_pico') if (outdir / '_pico').is_dir(): shutil.rmtree(outdir / '_pico')
shutil.copytree(filesdict['launcher_dir'], outdir / '_pico') shutil.copytree(filesdict['launcher_dir'], outdir / '_pico')
shutil.copy(filesdict['launcher'], outdir / '_picoboot.nds') shutil.copy(filesdict['launcher'], outdir / '_picoboot.nds')
shutil.copy(filesdict['loader_7'], outdir / 'picoLoader7.bin') shutil.copy(filesdict['loader_7'], outdir / '_pico' / 'picoLoader7.bin')
shutil.copy(filesdict['loader_9'], outdir / 'picoLoader9.bin') shutil.copy(filesdict['loader_9'], outdir / '_pico' / 'picoLoader9.bin')
shutil.copy(filesdict['aplist'], outdir / 'aplist.bin') shutil.copy(filesdict['aplist'], outdir / '_pico' / 'aplist.bin')
shutil.copy(filesdict['savelist'], outdir / 'savelist.bin') shutil.copy(filesdict['savelist'], outdir / '_pico' / 'savelist.bin')
def run(args, exedir: Path): def run(args, exedir: Path):