From c7ee4e2b6912dcad0a5211aaa8ff46392154d99c Mon Sep 17 00:00:00 2001 From: Themaister Date: Tue, 30 Apr 2013 04:54:31 -0700 Subject: [PATCH] Updated Compilation guide (Windows) (markdown) --- Compilation-guide-(Windows).md | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/Compilation-guide-(Windows).md b/Compilation-guide-(Windows).md index fa8f21a..77f97e4 100644 --- a/Compilation-guide-(Windows).md +++ b/Compilation-guide-(Windows).md @@ -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)
https://github.com/downloads/Themaister/RetroArch/RetroArch-win64-libs.zip (64-bit)
-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: 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 -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 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 :) ### 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 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. +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 cd RetroArch 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 Nothing unexpected here: git clone git://github.com/Themaister/RetroArch-Phoenix.git 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. -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: - 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. - 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. \ No newline at end of file