Updated Compilation guide (Windows) (markdown)

Themaister 2013-04-30 04:54:31 -07:00
parent 9f5bcceb77
commit c7ee4e2b69
1 changed files with 8 additions and 11 deletions

@ -26,16 +26,12 @@ https://github.com/downloads/Themaister/RetroArch/RetroArch-win32-headers.zip (3
https://github.com/downloads/Themaister/RetroArch/RetroArch-win64-headers.zip (64-bit)<br/> https://github.com/downloads/Themaister/RetroArch/RetroArch-win64-headers.zip (64-bit)<br/>
https://github.com/downloads/Themaister/RetroArch/RetroArch-win64-libs.zip (64-bit)<br/> https://github.com/downloads/Themaister/RetroArch/RetroArch-win64-libs.zip (64-bit)<br/>
Note that you might have to install `dsound.h` and `dinput.h` DirectX headers in a place where MinGW can see them. This is typically `C:/MinGW/include` or something like that.
Now build: Now build:
mingw32-make -f Makefile.win # If your compiler isn't called gcc/g++, you can set the proper compiler name with CC= and CXX=, standard Unix fare. You will also need to set WINDRES=. mingw32-make -f Makefile.win # If your compiler isn't called gcc/g++, you can set the proper compiler name with CC= and CXX=, standard Unix fare. You will also need to set WINDRES=.
By default, D3D9 support is compiled in. If your MinGW has D3D headers/libs properly installed, it will work. If you however are unable to build D3D9 using your toolchain, you can disable D3D9 by adding HAVE_D3D9=0 to the make commandline. Recent MinGW-w64/i686-w64 builds are able to compile D3D9 without any fuss.
### Building GUI ### Building GUI
Since the command-line isn't very comfortable on Windows, you will most likely want RetroArch-Phoenix unless you're planning to launch via XBMC or something like that. Since the command-line isn't very comfortable on Windows, you will most likely want RetroArch-Phoenix or [[RGUI]]. To build Phoenix:
git clone git://github.com/Themaister/RetroArch-Phoenix.git git clone git://github.com/Themaister/RetroArch-Phoenix.git
cd RetroArch-Phoenix cd RetroArch-Phoenix
@ -44,30 +40,31 @@ Since the command-line isn't very comfortable on Windows, you will most likely w
Then you can move the `retroarch-phoenix.exe` into the folder you built RetroArch to make your life easier :) Then you can move the `retroarch-phoenix.exe` into the folder you built RetroArch to make your life easier :)
### Building libretro implementation ### Building libretro implementation
RetroArch does not include a libretro implementation by default. Refer to a libretro implementation how to build the DLL. RetroArch does not include a libretro implementation by default. Refer to a libretro implementation how to build the DLL or [libretro-super](https://github.com/libretro/libretro-super).
## Building on Linux with MinGW cross chain ## Building on Linux with MinGW cross chain
Building with a cross chain on Linux is probably the most convenient option. You should have `unzip` and `wget` installed for maximum laziness! :D Building with a cross chain on Linux is probably the most convenient option. You should have `unzip` and `wget` installed for maximum laziness! :D
You might need to install DirectX headers (`dinput.h`, `dsound.h`) properly. You might need to install DirectX headers (`dinput.h`, `dsound.h`) properly.
It is also here strongly recommended to use MinGW-w64 cross compilers (x86_64-w64-mingw32 and i686-w64-mingw32).
git clone git://github.com/Themaister/RetroArch.git git clone git://github.com/Themaister/RetroArch.git
cd RetroArch cd RetroArch
make -f Makefile.win libs_x86 # libs_x86_64 if you're cross building for x64 Windows. make -f Makefile.win libs_x86 # libs_x86_64 if you're cross building for x64 Windows.
make -f Makefile.win CC=i486-mingw32-gcc CXX=i486-mingw32-g++ # Cross-chain might be called differently on your distro. make -f Makefile.win CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ # Cross-chain might be called differently on your distro.
### Building GUI ### Building GUI
Nothing unexpected here: Nothing unexpected here:
git clone git://github.com/Themaister/RetroArch-Phoenix.git git clone git://github.com/Themaister/RetroArch-Phoenix.git
cd RetroArch-Phoenix cd RetroArch-Phoenix
make -f Makefile.win CC=i486-mingw32-gcc CXX=i486-mingw32-g++ WINDRES=i486-mingw32-windres # Will work for 64-bit compilers as well :) make -f Makefile.win CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ WINDRES=i686-w64-mingw32-windres # Will work for 64-bit compilers as well :)
### Distributing readily usable .zip packages. ### Distributing readily usable .zip packages.
If you want to make distribution builds you can use the `ssnes-mingw-build.sh` script included in the top directory. If you want to make distribution builds you can use the `retroarch-mingw-build.sh` script included in the top directory.
It will checkout the latest sources, download libraries, and build distributable .zip files for both 32-bit and 64-bit in "slim" and "full" variants as found in the downloads section. It will also include the GUI: It will checkout the latest sources, download libraries, and build distributable .zip files for both 32-bit and 64-bit in "slim" and "full" variants as found in the downloads section. It will also include the GUI:
NOBUILD_64BIT=1 MINGW32_BASE=i486-mingw32 ./retroarch-mingw-build.sh # Build for just 32-bit. NOBUILD_64BIT=1 MINGW32_BASE=i686-w64-mingw32 ./retroarch-mingw-build.sh # Build for just 32-bit.
NOBUILD_32BIT=1 MINGW64_BASE=x86_64-w64-mingw32 ./retroarch-mingw-build.sh # Build for just 64-bit. NOBUILD_32BIT=1 MINGW64_BASE=x86_64-w64-mingw32 ./retroarch-mingw-build.sh # Build for just 64-bit.
MINGW32_BASE=i486-mingw32 MINGW64_BASE=x86_64-w64-mingw32 ./retroarch-mingw32-build.sh # Build for both. MINGW32_BASE=i686-w64-mingw32 MINGW64_BASE=x86_64-w64-mingw32 ./retroarch-mingw-build.sh # Build for both.
The names of the cross chains vary from distro to distro. The names of the cross chains vary from distro to distro.