From d72e2c95e57f04cac7df3e55c049ae2fb0da1b2f Mon Sep 17 00:00:00 2001 From: TakaRikka <38417346+TakaRikka@users.noreply.github.com> Date: Sun, 25 Feb 2024 05:46:55 -0800 Subject: [PATCH] remove dkp dependency (#2078) --- .gitignore | 1 + Makefile | 6 +++--- diff_settings.py | 2 +- tools/tp.py | 27 ++++++++++++++++++++++++++- 4 files changed, 31 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 95be12e84a4..b601a1e93d0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ # Compiler binaries mwcc_compiler/ +binutils/ # Build artifacts build/ diff --git a/Makefile b/Makefile index 8a219186451..34634df8a28 100644 --- a/Makefile +++ b/Makefile @@ -67,9 +67,9 @@ else SHA1SUM := sha1sum endif -AS := $(DEVKITPPC)/bin/powerpc-eabi-as -OBJCOPY := $(DEVKITPPC)/bin/powerpc-eabi-objcopy -STRIP := $(DEVKITPPC)/bin/powerpc-eabi-strip +AS := tools/binutils/powerpc-eabi-as +OBJCOPY := tools/binutils/powerpc-eabi-objcopy +STRIP := tools/binutils/powerpc-eabi-strip CC := $(WINE) tools/mwcc_compiler/$(MWCC_VERSION)/mwcceppc_modded.exe DOLPHIN_LIB_CC := $(WINE) tools/mwcc_compiler/1.2.5n/mwcceppc.exe LD := $(WINE_LD) tools/mwcc_compiler/$(MWCC_VERSION)/mwldeppc.exe diff --git a/diff_settings.py b/diff_settings.py index c7971cb6bef..4e31017373c 100644 --- a/diff_settings.py +++ b/diff_settings.py @@ -17,4 +17,4 @@ def apply(config, args): config['makeflags'].append('DEBUG=1') config['source_directories'] = ['src', 'libs', 'include', 'rel'] config['arch'] = 'ppc' - config['objdump_executable'] = f"{os.environ['DEVKITPPC']}/bin/powerpc-eabi-objdump" + config['objdump_executable'] = f"tools/binutils/powerpc-eabi-objdump" diff --git a/tools/tp.py b/tools/tp.py index 57dac606593..17924048303 100644 --- a/tools/tp.py +++ b/tools/tp.py @@ -122,6 +122,15 @@ def expected_copy(debug: bool, build_path: Path, expected_path: Path): shutil.copytree(build_path, expected_path, dirs_exist_ok=True) +COMPILERS_TAG = "20230715" +BINUTILS_TAG = "2.42-1" +BINUTILS_ZIP = "linux-x86_64" + +if platform.system() == "Windows": + BINUTILS_ZIP = "windows-x86_64" +elif platform.system() == "Darwin": + BINUTILS_ZIP = "macos-universal" + @tp.command(name="setup") @click.option("--debug/--no-debug") @click.option( @@ -171,7 +180,7 @@ def setup(debug: bool, game_path: Path, tools_path: Path, yaz0_encoder: str, for shutil.rmtree(compilers) if not compilers.exists() or not compilers.is_dir(): os.mkdir(compilers) - r = requests.get('https://files.decomp.dev/compilers_20230715.zip') + r = requests.get(f'https://files.decomp.dev/compilers_{COMPILERS_TAG}.zip') z = zipfile.ZipFile(io.BytesIO(r.content)) z.extractall(compilers) gc_path = compilers.joinpath("GC") @@ -183,6 +192,22 @@ def setup(debug: bool, game_path: Path, tools_path: Path, yaz0_encoder: str, for shutil.move(src_path, dst_path) os.rmdir(gc_path) + # + text = Text("--- Fetching binutils") + text.stylize("bold magenta") + CONSOLE.print(text) + + binutils = tools_path.joinpath("binutils") + if force_download: + shutil.rmtree(binutils) + if not binutils.exists() or not binutils.is_dir(): + os.mkdir(binutils) + r = requests.get(f'https://github.com/encounter/gc-wii-binutils/releases/download/{BINUTILS_TAG}/{BINUTILS_ZIP}.zip') + z = zipfile.ZipFile(io.BytesIO(r.content)) + z.extractall(binutils) + if os.name == 'posix': + subprocess.run(['chmod', '+x'] + list(binutils.glob("*"))) + # text = Text("--- Patching compiler") text.stylize("bold magenta")