diff options
| author | John "Lameguy" Wilbert Villamor <lameguy64@gmail.com> | 2021-10-15 09:22:45 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-10-15 09:22:45 +0800 |
| commit | dd0f088aaa4c6bf013643be2d1d8621dbffdb000 (patch) | |
| tree | d848d6ce007d8bb9357c8b99d6a0a39ec41d244e /toolchain.txt | |
| parent | 9e08d1047fa8deeb3ccb3ce9bb11d69e25a52d56 (diff) | |
| parent | eb719a424e6a16fb64209139a32c9f8a7235a929 (diff) | |
| download | psn00bsdk-dd0f088aaa4c6bf013643be2d1d8621dbffdb000.tar.gz | |
Merge pull request #38 from spicyjpeg/cmake
Full CMake support (in place of makefiles)
Diffstat (limited to 'toolchain.txt')
| -rw-r--r-- | toolchain.txt | 42 |
1 files changed, 23 insertions, 19 deletions
diff --git a/toolchain.txt b/toolchain.txt index e67cfe1..d34d54b 100644 --- a/toolchain.txt +++ b/toolchain.txt @@ -20,12 +20,8 @@ the libgcc.a library from it to the Windows build. Make sure the following packages are installed prior to building: * make -* texinfo -* mpfr (development libs, if your distro offers it in a separate package) -* isl (development libs, if your distro offers it in a separate package) -* gmp (development libs, if your distro offers it in a separate package) -* mpc (development libs, if your distro offers it in a separate package) -* build-essential or build-essentials, if you don't have GCC installed yet. +* build-essential or build-essentials, if you don't have GCC installed yet + (a host toolchain is required to build the rest of the SDK anyway). Building binutils: @@ -38,16 +34,17 @@ mipsel-unknown-elf. wish to use with PSn00bSDK. The reference version that PSn00bSDK is tested with most is 2.31. -* Extract the contents of the archive, preferably in a directory named gcc. +* Extract the contents of the archive, preferably in a directory named + "toolchain" (or whatever). -* Create a directory named binutils-build inside the gcc directory. Do not - create it inside the binutils directory with the source files. +* Create a directory named binutils-build inside the toolchain directory. Do + not create it inside the binutils directory with the source files. * Enter the binutils-build directory and configure binutils from there with the following command line: ../binutils-<version>/configure --prefix=/usr/local/mipsel-unknown-elf \ ---target=mipsel-unknown-elf --with-float=soft +--target=mipsel-unknown-elf --disable-docs --disable-nls --with-float=soft Replace <version> with the version of binutils you wish to use. You may also want to change the prefix argument to a path you prefer to have the toolchain @@ -73,17 +70,23 @@ longer so it's going to take a longer while to build this. wish to use with PSn00bSDK. The reference version that PSn00bSDK is tested with most is 7.4.0. -* Extract it to the same gcc directory you extracted binutils in. +* Extract it to the same toolchain directory you extracted binutils in. -* Create a directory named gcc-build inside the gcc directory. +* Enter the extracted "gcc-<version>" folder and run the following command + from there to download the required dependencies: + +./contrib/download_prerequisites + +* Go back and create a directory named gcc-build inside the toolchain + directory. * Enter the gcc-build directory and configure gcc from there with the following command line: -../gcc-<version>/configure --disable-nls --disable-libada --disable-libssp \ ---disable-libquadmath --disable-libstdc++-v3 --target=mipsel-unknown-elf \ ---prefix=/usr/local/mipsel-unknown-elf --with-float=soft \ ---enable-languages=c,c++ --with-gnu-as --with-gnu-ld +../gcc-<version>/configure --prefix=/usr/local/mipsel-unknown-elf \ +--target=mipsel-unknown-elf --disable-docs --disable-nls --disable-libada \ +--disable-libssp --disable-libquadmath --disable-libstdc++-v3 \ +--with-float=soft --enable-languages=c,c++ --with-gnu-as --with-gnu-ld Replace <version> with the version of gcc you downloaded. The prefix path must match to what you've specified for binutils earlier, if you've decided @@ -109,9 +112,10 @@ through System Properties. Note regarding C++ support: -C++ support in PSn00bSDK only goes as far as basic classes, namespaces and -the ability to dynamically create and delete class objects at any point of -the program. The required dependencies are supplied by libc of libpsn00b. +C++ support in PSn00bSDK, besides compile-time features like constexpr, only +goes as far as basic classes, namespaces and the ability to dynamically create +and delete class objects at any point of the program. The required dependencies +are supplied by libc of libpsn00b. Standard C++ libraries are not implemented and likely never going to be implemented due to bloat concerns that it may introduce. Besides, the official |
