diff --git a/INSTALL.md b/INSTALL.md index ccebfe2e3..beb52d0f7 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -10,6 +10,8 @@ The build system requires the use of the Metrowerks C Compiler versions 2.0/sp2p In the future, a GCC option will be available so MWCC is not required to build, however it is required for a matching ROM. +(Note: if running the exe's doesn't work, you can run the .bat file. A GUI window should pop up for you to select the license.dat) + ### 2. Install Nitro SDK As with the compiler, the Nitro SDK is proprietary and cannot be distributed here. Download the "NitroSDK-4_2-071210-jp.7z" file pinned in the PRET discord. Extract and copy the folder `tools/bin` from the Nitro SDK into the folder `tools` in your pokeheartgold clone. At the end of this operation, you should have i.e. the file `tools/bin/makelcf.exe` inside your pokeheartgold clone. Finally, copy include/nitro/specfiles/ARM7-TS.lcf.template into the subdirectory `sub`, and include/nitro/specfiles/ARM9-TS.lcf.template and include/nitro/specfiles/mwldarm.response.template into the project root. @@ -36,22 +38,17 @@ Currently WSL2 has an issue with mwldarm not being able to locate it's executabl #### Windows -Before following the respective guides, please install devkitARM and ensure the DEVKITPRO and DEVKITARM variables are added to bashrc such that: -Msys2: -```console -export DEVKITPRO=C:/devkitPro -export DEVKITARM=${DEVKITPRO}/devkitARM -``` +##### devkitARM +The windows dev environment requires devkitARM. devkitARM is a specialized toolchain used to build the rom. It contains `arm-none-eabi-gcc`, which is a compiler that can compile code for the DS. -Cygwin: -```console -export DEVKITPRO=/cygdrive/c/devkitPro -export DEVKITARM=${DEVKITPRO}/devkitARM -``` +**Ensure you select the "Nintendo DS" or "NDS" workload during the devkitPro installation.** -You will still require the following packages: +##### A linux like environment +The windows dev environment also uses linux-like automation. Because of this, you will need a linux style terminal. Some popular options are `Cygwin` and `Mysys2`. The environment will provide the manager tools like `make` that co-ordinate the build process. + +The following packages are required: * make * git * build-essentials @@ -61,8 +58,38 @@ You will still require the following packages: Install them using either the Cygwin package manager or using pacman on Msys2. +To install the packages on cygwin, select the following packages in the cygwin package manager +| Requirement | Cygwin Package Name | Notes | +| :--- | :--- | :--- | +| **make** | `make` | The standard GNU version. | +| **git** | `git` | You might also want `git-completion` for convenience. | +| **build-essential** | `gcc-g++`, `binutils` | This provides your C/C++ compilers and linker. | +| **libpng-devel** | `libpng-devel` | Includes headers for PNG manipulation. | +| **pugixml** | `libpugixml-devel` | The development files for the XML parser. | +| **pkg-config** | `pkg-config` | Helps your compiler find library paths automatically. | + **NOTE FOR MSYS2:** You will need to compile and install [libpng](https://www.libpng.org/pub/png/libpng.html) from source. +After the packages are installed, add the following variables to your .bashrc to tell your terminal where devkitARM lives: + +If using Msys2: +```console +export DEVKITPRO=C:/devkitPro +export DEVKITARM=${DEVKITPRO}/devkitARM +``` + +If using Cygwin: +```console +export DEVKITPRO=/cygdrive/c/devkitPro +export DEVKITARM=${DEVKITPRO}/devkitARM +``` + +You can verify these are set correctly by running: +```bash +echo $DEVKITPRO +# This should print out the path where devkitPro lives on your windows machine +``` + #### macOS macOS 10.15 Catalina and later is supported on Intel and ARM64 hardware configurations. On ARM64, Rosetta 2 must be installed, as well as the following dependencies: