Hey guys,
A friend and I were playing with this a few weeks back. It wasn't meant to be publicly released for multiple reasons (mainly, because of the requirements needed for each build). It was just meant to be for quick, private use. Anyway, we thought some people might get a kick out of it so I decided to share it and hopefully it would be beneficial.
Don't expect anything fancy. It's just supposed to "do the job" in the easiest way possible. It was tested on Windows 7 and Windows 10, 64-bit. No idea if it works on any other OS (It shouldn't I think..)
Here are a few screenshots of the program:
As I said earlier, the reason that it wasn't going to be publicly released was mainly due to the fact that each build has different requirements. As a result, please research the requirements for each repo you are trying to compile. The batch file's purpose is to automate the build process. It won't magically build something if you don't have the necessary requirement installed. However, I'll try to include whatever I can remember in the requirement section below.
- Requirement:
- Creating MKLink:
- PATH config:
After installing all of the above, you need to make sure sure that all of the above is included in PATH. To do this, open cmd, and type "PATH"
You will probably see a lot of stuff. What you need to make sure is that the following are there:
IMPORTANT: DO NOT DELETE ANYTHING FROM PATH! Just add whatever is missing..
The above assumes the correct location of each entry. If you have them somewhere else, you need to modify the above.
To modify PATH, do the following:
- Update Libs:
- Final Notes & Credits:
A friend and I were playing with this a few weeks back. It wasn't meant to be publicly released for multiple reasons (mainly, because of the requirements needed for each build). It was just meant to be for quick, private use. Anyway, we thought some people might get a kick out of it so I decided to share it and hopefully it would be beneficial.
Don't expect anything fancy. It's just supposed to "do the job" in the easiest way possible. It was tested on Windows 7 and Windows 10, 64-bit. No idea if it works on any other OS (It shouldn't I think..)
Here are a few screenshots of the program:
As I said earlier, the reason that it wasn't going to be publicly released was mainly due to the fact that each build has different requirements. As a result, please research the requirements for each repo you are trying to compile. The batch file's purpose is to automate the build process. It won't magically build something if you don't have the necessary requirement installed. However, I'll try to include whatever I can remember in the requirement section below.
- Requirement:
- Install "git"
- Install "Python 2.7": Once you get to the "Customize Python 2.7" screen, make sure you select "add python.exe to patch".
- Install "Devkitpro": While we only need to install devkitarm, I suggest installing everything.
- Install "Make"
- Install "Visual C++ Runtime Libraries x86": Make sure you install x86, not x64
- Install "ImageMagicK": This version I linked to (6.9.2) is old. Version 6.9.3 had a problem. The current latest is 7.0.1, but I have no idea if that works ok. So better use this link to avoid any problems.
- Install "Info-Zip"
- Install "CMake"
- Install "Python 3.5": Personally, I customized installation, and chose to install for all users, and to add python to environment variables. After installation, go the installed folder and rename "Python.exe" to "Python3.exe"
- Install "Visual C++ Compilers For Python 2.7": Restart PC after installing.
- Install "wget Binaries & Dependencies": unzip the wget.exe and dll files from the 2 links to "C:\devkitpro\devkitarm\bin\" folder, assuming C: drive is where you have your devkitpro folder.
- Install "curl": Unzip curl.exe to "C:\devkitpro\devkitarm\bin\" folder, assuming C: drive is where you have your devkitpro folder.
- Install "bin2c": Unzip bin2c.exe to "C:\devkitpro\devkitarm\bin\" folder, assuming C: drive is where you have your devkitpro folder.
- Install "MinGW": After installing, right-click the package "mingw32-base" and choose "mark for installation", open the "installation" tab and choose "apply changes".
- Install "Cygwin": Make sure you select developer mode in installation. Installation will take A LONG TIME. Make sure the references in PATH (mention in section below) are after MinGW, or you'll have problems
- Install "PyCrypto": After installing, go to C:/Python27/scripts folder. Hold shift + right-click and open command prompt. Type "easy_install pycrypto" and click enter
- Install "3dstools": Unzip all 3 files to "C:\devkitpro\devkitarm\bin\" folder, assuming C: drive is where you have your devkitpro folder. Replace the existing ones. This is necessary for windows 7 users, or else FBI building WILL crash!
- Install "armips" (Attached): Unzip, and place the .exe inside in ""C:\devkitPro\msys\bin" folder, assuming C: drive is where you have your devkitpro folder. If one already exists, replace it.
- Install "makerom" (Attached): Unzip, and place the .exe inside in ""C:\devkitPro\devkitarm\bin" folder, assuming C: drive is where you have your devkitpro folder. If one already exists, replace it.
- Install "Picasso" (Attached): Unzip, and place the .exe inside in ""C:\devkitPro\devkitarm\bin" folder, assuming C: drive is where you have your devkitpro folder. If one already exists, replace it.
- Install "HBKB" (Attached): Unzip, and place the hbkb.h inside in "C:\devkitPro\libctru\include\" folder, and place the libhbkb.a inside in ""C:\devkitPro\libctru\lib\" folder, assuming C: drive is where you have your devkitpro folder.
- Install files required to "Zip & Unzip" (Attached): Unzip, and place both .exe inside in ""C:\devkitPro\devkitarm\bin" folder, assuming C: drive is where you have your devkitpro folder.
- Install "PyYAML-3.11-cp35-cp35m-win32": In the same folder you have this file. right-click, open cmd, and type "pip install PyYAML-3.11-cp35-cp35m-win32.whl". If pip is out of date, it will give you instruction on how to update it, then run the above command again to install it.
- Creating MKLink:
Some builds require the usage of python2 instead of python. Here is what you can do to fix it:
- Run command prompt as admin and go to python27 directory ("cd.." to move one directory back, "cd xyz" where xyz is the directory you want to advance to).
- Type: "mklink python2.exe c:\python2x\python.exe". This will create a 0byte python2.exe file.
Note: The same process can be done for python3, instead of renaming python.exe to python3.exe (mentioned in the requirements: Install Python 3.5 section above)
- Run command prompt as admin and go to python27 directory ("cd.." to move one directory back, "cd xyz" where xyz is the directory you want to advance to).
- Type: "mklink python2.exe c:\python2x\python.exe". This will create a 0byte python2.exe file.
Note: The same process can be done for python3, instead of renaming python.exe to python3.exe (mentioned in the requirements: Install Python 3.5 section above)
- PATH config:
After installing all of the above, you need to make sure sure that all of the above is included in PATH. To do this, open cmd, and type "PATH"
You will probably see a lot of stuff. What you need to make sure is that the following are there:
C:\Python3\Scripts\;C:\Python3\;c:\devkitPro\msys\bin;C:\devkitPro\devkitARM\bin;C:\MinGW\bin;C:\Program Files\ImageMagick-6.9.2-Q16;C:\Python27\;C:\Python27\;C:\Python27\Scripts;C:\devkitPro\devkitARM\arm-none-eabi\bin;C:\Program Files (x86)\CMake\bin;C:\Program Files (x86)\GnuWin32\;C:\Program Files\Git\cmd;C:\DevkitPro\libctru;C:\DevkitPro\infozip;C:\DevkitPro\citrus;C:\cygwin64\;C:\cygwin64\bin\
IMPORTANT: DO NOT DELETE ANYTHING FROM PATH! Just add whatever is missing..
The above assumes the correct location of each entry. If you have them somewhere else, you need to modify the above.
To modify PATH, do the following:
- Right-click your computer icon
- Click "Proprieties" -> "advanced system settings" -> "environment variables"
- In "system variable", scroll to the bottom to see the "PATH". Double click it to modify it.
- Update Libs:
- Download the latest release of AIO, unzip and fetch the AIO.bat
- Create a folder where you want to compile repos.
- Run the AIO.bat, and press "D" to go to Libs menu
- Install Libctru (Smea's fork)
- Install Citrus
- Install Citro3d
- Install Portlibs
- Final Notes & Credits:
- My github repo for AIO can be found here: https://github.com/Madridi7/AIO
- I may have missed some stuff in the requirements, but this is the majority of them. If a specific source is not compiling for you. Please check it's respective repository for what's required before posting here.
- A9LH forks that require input files such as OTP, are not fully automated. It will pause and ask you to supply these files before continuing.
- Sometimes, FBI will not build with the setup above, as it sometimes requires Steveice10's libctru. That branch of libctru is included in AIO, but you can either have Smea's branch or Steveice10's branch. Since his branch is only used for FBI, we chose to go with Smea's branch. At the moment, Steveice10's libctru is private as FBI builds fine with Smea's branch.
- You might need to update libctru regularly. More likely than not, when something fails to build, it's because of an outdated lib - which in most cases is libctru. However, do not update if things are working fine. In some cases, the update breaks some other projects, until that projects updates the usage of latest libctru as well.
- I am not a programmer. This was just something I was playing with. So if you feel there is something that could be done in a better way, feel free to modify it.
- As usual, USE THIS AT YOUR OWN RISK!!
- @Rohul1997: For his help in this mini project, ideas, fixes, tests, etc..
- @WhoAmI? : For his base .bat for a single source. I was able to understand that source and expand it to the way it is now based on what he wrote.
- @DjoeN : For testing, giving me a better way for the choice menu, and general ideas. He also supplied the MKLink section.
- @173210 @AlbertoSONIC @Aurora Wright @capito27 @cearp @chaoskagami @cpasjuste @d0k3 @DanTheMan827 @dark_samus3 @delebile @duke_srg @JK_ @Joel16 @mid-kid @motezazer @RednaxelaNnamtra @Reisyukaku @Shadowhand @Shadowtrance @smealum @Steveice10 @Wolfvak @Wolvan @yifan_lu .. and all devs working behind the scenes, or the ones I have forgot to mention. Without them, None of this would have been possible.
Attachments
Last edited by Madridi,