pcsx2-sourceforge/INSTALL
2007-12-12 14:14:30 +00:00

88 lines
3.0 KiB
Plaintext

Pcsx2 Compilation Guide
Linux Users
-----------
Make sure you have these packages:
gtk2
opengl
libbz2
libjpeg
glew-dev
libxxf86vm-dev
x11proto-xf86vidmode
automake and autoconf (verion >= 1.9)
Nvidia Cg-Toolkit (http://developer.nvidia.com/object/cg_toolkit.html)
libasound-dev
joystick
When first building, the Pcsx2 programs need to configure the Makefiles for your specific OS. type:
# sh build.sh all
The program and all plugins will be installed in the pcsx2 bin dir. After that, just launch pcsx2 (make sure you have a PS2 bios dump in the bios directory).
To rebuild any changes to the source code type:
# sh build.sh install
Typeing sh build.sh without the install will just build the programs without copying them to the bin dirctory (bin/plugins for all plugins).
To clean all object files type:
# sh build.sh clean
If there is a plugin that is giving you errors and you want to skip it, modify the corresponding build.sh to skip it (otherwise execution of the script will stop until the error is resolved).
Special Options (modify PCSX2OPTIONS in build.sh)
--enable-debug {Build with symbols and no optimizations}
--enable-devbuild {Build with extra tests}
--disable-recbuild {Disables all architecture dependent recompilation code}
--enable-sse2 {Enables x86 SSE2 extensions}
--enable-sse3 {Force enables x86 SSE3 extensions}
For plugin authors: Your Makefile should support the 'install' option.
When debugging, make sure to add
handle SIGSEGV noprint ignore pass
to .gdbinit
Windows Users
-------------
Make sure you have: Nvidia Cg-Toolkit (for ZeroGS)
Open the corresponding Visual Studio sln files for all projects, compile, and move the executables appropriately. Pcsx2 and some plugins require masm to assemble (ml for win32, ml64 for win64).
At the moment, MinGW is not supported, however there's a good chance the cygwin toolset will work.
email zerofrog@gmail.com for any compilation/linking issues in any Linux/Windows distribution.
Global defines
--------------
Pcsx2 uses global defines to detect the OS, architecture, and different compilation options. They are:
_MSC_VER - used to detect Visual Studio's cl compiler
_WIN32 - used to detect windows compilation
__LINUX__ - used to detect linux compilation (a lot of times it is assumed that linux is running when _WIN32 is missing)
__x86_64__ - defined for x86-64 architectures only.
PCSX2_DEVBUILD - used to enable runtime debugging and developer specific features of pcsx2 (disabled on releases)
PCSX2_VIRTUAL_MEM - switches the way pcsx2 handles memory. VM enabled builds are valid for both windows and linux and they speed up games. However, there are less stable than TLB builds.
PCSX2_NORECBUILD - ignore all recompiler code so that Pcsx2 can be built for different architectures. Note that there are a couple of places that use asm code even in interpreter (coroutines in IPU).
_DEBUG - build with extra debug information
NDEBUG - build without absolutely no debug information
ZEROGS_SSE2 - controls sse2 usage in zerogs
compile with -D_FILE_OFFSET_BITS=64 if iso is failing to load large files