Commit Graph

131 Commits

Author SHA1 Message Date
Gregory Hainaut 8ca212d142 linux: example how to use clang tidy 2016-03-25 08:23:50 +01:00
Gregory Hainaut 1db5e0c0bf cmake: create a prof build type
It is the same as a release build but with the debug symbol and the
frame pointer.
2016-02-21 16:24:47 +01:00
Gregory Hainaut 3329bc1748 linux: drop wx2.8 support. Only 3.0 is supported
Close #1152
2016-01-30 12:48:35 +01:00
Gregory Hainaut d623453451 build.sh: automatically configure wx-config on debian system
It is easier to alternate between 32/64 bits build
2016-01-16 14:33:49 +01:00
Gregory Hainaut c73d626757 build.sh: separate release/dev/dbg into separated directory
Avoid useless recompilation
2016-01-13 08:58:50 +01:00
Gregory Hainaut c8da280a19 Merge branch 'build_with_spaces' of git://github.com/EmperorArthur/pcsx2 into EmperorArthur-build_with_spaces
Conflicts:
	build.sh
2016-01-13 08:14:46 +01:00
Arthur Moore 6698c5760b Quote all uses of coverity_dir 2015-12-17 19:47:48 -05:00
Arthur Moore 9f87fb16a2 Quote all uses of the build directory 2015-12-17 19:45:23 -05:00
Juha Laukkanen ade57809c1 Darwin/OSX - bash doesn't understand '|&' - alt format for stderr redirect pipe. 2015-12-02 05:00:55 +02:00
Arthur Moore 5252edcd0e Properly handle spaces in the build path
Ex: /usr/local/Console Emulators/pcsx2/
2015-11-30 01:01:11 -05:00
Juha Laukkanen be720b96c1 Added OSX Darwin v13+ cmake files. 2015-11-17 19:25:12 +02:00
Gregory Hainaut 2ef9b732e2 build: reduce the scope of cppcheck
Faster for GSdx analysis
2015-11-08 21:37:03 +01:00
Gregory Hainaut d4e088b726 build: add clang-tidy support
Slow and generate a 100k log!

Better to fix cppcheck/coverity/gcc(/clang) report first.

Anyway, clang-tidy incorporates clang-modernize (port code
to use some C++11 features)
2015-11-06 23:01:58 +01:00
Gregory Hainaut fa487474d2 build: s/\t/ / 2015-11-05 18:24:36 +01:00
Gregory Hainaut 41081e1b40 build: add a nice cppcheck option 2015-11-05 09:49:06 +01:00
Gregory Hainaut ffdc914c71 linux: SDL2
For older distribution you can still use SDL1.2

./build.sh ... --sdl12 ...
or
cmake ... -DSDL2_API=FALSE ...

Note: there is a hard dependency between WxWidget and SDL. If Wx is linked against
SDL1.2, you must use SDL1.2. Crashes are expected otherwise.
2015-10-21 22:35:38 +02:00
Gregory Hainaut 8b2de15096 build: add an option to build a coverity DB 2015-09-10 13:40:45 +02:00
Gregory Hainaut cb6e8a7d6a gsdx-linux: Don't enable EGL by default
I was hoping that EGL become a standard much more faster. Currently it is an useless dep
so let's disable it by default.
2015-05-11 15:33:40 +02:00
Gregory Hainaut 335695bd0e purge GLES from GSdx !
mobile will use vulkan (or any new API) anyway
2015-05-01 20:02:17 +02:00
Gregory Hainaut 14d4b3fe7a build.sh: add a -no-cross-multilib option
(only for developers)
2015-01-06 21:54:55 +01:00
Miguel A. Colón Vélez 7c766e66ad Add the option of cross compiling by default in build.sh.
Revert this or use useCross=0 for normal behaviour.
2015-01-04 01:32:04 -05:00
Miguel A. Colón Vélez 8440d263cd Respect the CC and CXX environment variables when cross building. 2015-01-04 00:56:47 -05:00
Miguel A. Colón Vélez e23e2ac327 Rely on clang autodetection instead of user input. 2015-01-03 22:07:16 -05:00
Miguel A. Colón Vélez 6e28a8e694 Update the archlinux wx fix.
This fixes it for build.sh and when not using build.sh (packaging).
.
Also fix native 32bit build which should also be broken and attempt to
predict the future and fix it for lib32-wx3.0. Worst case the filenames
have to be fixed which is trivial.
.
When wx2.8 support is dropped then only the lib32-wx3.0 IF should remain.
When crosscompilation support gets dropped then the first IF gets deleted
unless we also dropped wx2.8 support then everything gets deleted.
2015-01-03 22:00:47 -05:00
antoine faravelon cdd6598e65 Update build.sh with 64bit support and with wx2.8 forced for archlinux
wx3.0 32bit is not in main repositories, better to avoid the use of aur just for pcsx2
2015-01-03 15:15:07 +01:00
Miguel A. Colón Vélez b03ca5fcf4 Include some rather simple CMAKE_TOOLCHAIN_FILE.
- Update the build.sh and fix some typos.
  + Don't add the OSX ones because I have not tested them and it won't
    even build anyway due to the libaio dependency. Needs to use POSIX AIO
    or something else.
- They are rather simple and all the magic happens in two lines.
  + First line tells cmake to get ready to compile FOR linux or darwin.
    It also sets CMAKE_CROSSCOMPILING to true which is the only way to
    let cmake known that we are using stuff not from the host.
  + CMAKE_C_COMPILER/CMAKE_CXX_COMPILER are basically used to detect
    the architecture of the target. Since I used generic cc/c++ the
    hardcoded -m32 is needed to ensure we get TARGET=i386. Also
    since I hardcode -m32 and use c++/cc it's to be noted that
    we can only do i386->i386 (trivial), amd64 -> i386, and x32->i386.
    .
    Using something like i586-linux-gnu-{gcc,g++} would also work and
    enable arm -> i386, etc but it's infeasible and impractical to do all
    the combinations. File is simple enough that a distro or user can
    create their own and cross compiling is rather tedious compared
    to using a chroot to compile it.
- I tested it in Debian with "dpkg-buildpackage -ai386" but installing the
  build dependencies was rather tedious.
2015-01-03 14:51:04 +01:00
Miguel A. Colón Vélez d6d06d243c Begin cleaning up the cross build code.
http://www.vtk.org/Wiki/CMake_Cross_Compiling
http://www.cmake.org/cmake/help/v3.0/manual/cmake-toolchains.7.html
.
The official way that cmake does cross compiling is via the use of a
CMAKE_TOOLCHAIN_FILE. This has to be given by the user and can't be
included from within a Cmake file since setting up the toolchain has
to be the first thing that happens.
.
After the file is given and validated cmake behaves nicely and all the
workarounds and hacks are not really needed anymore.
.
The consequence of this change is that without this file cmake will
try to build for the HOST architecture as expected and with the file
it will build for the TARGET architecture of the given toolchain. Due to
this remove 64BIT_BUILD_DONT_WORK and just ERROR out if the user tries
in the same way as before.
2015-01-03 14:51:04 +01:00
Gregory Hainaut 62bda675e0 build.sh: wx30 is the default, the option is useless 2014-12-13 12:28:37 +01:00
Gregory Hainaut 800262fc14 cmake: add a new GTK3.0 option
Thanks #micove for the patch
2014-12-10 22:07:48 +01:00
Gregory Hainaut 5ce4b85edd build.sh: allow to use cmake option directly
It is handy to test option barely used. New options could be added to the script but there are alredy too much of them.
2014-12-08 23:48:00 +01:00
3kinox 30240b4cbf More robust detection of arch64(or any distrib using same path for wxwidget) 2014-11-11 15:55:31 +01:00
3kinox 06f53b2689 use -fabi_version=6 only for GSdx, solve bug with wxwidget
reenable avx build for GSdx
2014-11-11 15:55:31 +01:00
3kinox 4991ef608d add automatic archlinux build detection(wx path can not be found otherwise) 2014-11-11 15:55:31 +01:00
Gregory Hainaut 679fa65b84 cmake: By default optimize for current arch
Note: it requires GCC 4.7. Otherwise use -DDISABLE_ADVANCE_SIMD=OFF to restore
previous behavior. It will impact Ubuntu precise (12.04)
2014-10-26 14:47:35 +01:00
Gregory Hainaut 73433c25f2 linux build: take 3 :p
close issue #300
2014-09-14 13:02:55 +02:00
Gregory Hainaut e101a1d77a linux build: let's be clear that 64 bit is not supported
* rename the cmake option to 64BIT_BUILD_DONT_WORK
* add --64-bit-dont-work to build.sh
2014-09-12 20:10:14 +02:00
Nicolas Hillegeer 57b09c371a build.sh: get number of CPUs on OSX too
The linux way (reading /proc/cpuinfo) doesn't work on OSX.
2014-09-10 19:49:17 +02:00
Gregory Hainaut bf52a4c737 build.sh: allow to replace build directory by a symlink
Use case: redirect the build into a ramdisk (less write on sdd and potentially faster io)
2014-09-02 21:21:46 +02:00
Łukasz Domeradzki cd8d21cf8e Build.sh improvements 2014-08-04 03:58:37 +02:00
Gregory Hainaut d09fee90ad wx3.0: add cmake support (2.8 by default)
use ./build.sh --wx30 for wx3.0
2014-07-29 20:45:43 +02:00
Gregory Hainaut c60fefa1a6 gcc: support address sanitizer 2014-07-12 19:57:26 +02:00
Gregory Hainaut a6d8b3b847 linux build: add an easy option to strip binary 2014-07-10 09:17:39 +02:00
Gregory Hainaut e6e7c95e94 linux: add an option for clang
It will be used on the future with clang/cmake cleaning contribution
2014-07-05 00:08:48 +02:00
Gregory Hainaut 414ce3589a cmake: new option -DEXTRA_PLUGINS=TRUE|FALSE
--extra for ./build.sh script

By default only build the pricipal plugin: GSdx|zzogl/spu2-x/onepad/UsbNull/Dev9Null

Extra plugins are: GsNull|zzogl-cg/Spu2Null|zerospu/PadNull

The purpose is to improve compilation time on linux
2014-04-11 09:18:31 +02:00
Gregory Hainaut b020bd76c6 gsdx-ogl: restore gles build
Add the --gles build option to the linux main script
Ifdef all gl code not supported on gles3 (note some will be reenabled for gles3.1)

Note: it probably doesn't run anymore. My Nvidia driver doesn't support
yet egl/gles so I can't test it. Feel free to contribute.
2014-03-29 11:55:02 +01:00
Gregory Hainaut 8b78551b92 gsdx-ogl: improve debugging capabilities
allow to print memory transfer usage
Check gl call in dev build
2014-03-25 16:36:29 +01:00
gregory.hainaut e24f3585d4 pcsx2: fix window compilation + a couple of extra ;)
* Fix some issue with the new debugger on linux
* Enable the previous tlb miss fix on the interpreter
* disable the building of po by default. It pollute too much my env.



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5914 96395faa-99c1-11dd-bbfe-3dabce05a288
2014-02-23 16:00:55 +00:00
gregory.hainaut 4d3de6e911 gsdx linux:
* allow to control the gl dectection from the gui (+1 for the user-friendliness ;) )
* disable geometry shader by default on Intel driver


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5783 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-12-30 09:30:10 +00:00
gregory.hainaut d5b318b990 zzogl:
* move all remaining glx into the dedicated GLwin object
* rework a bit WGL to separate opengl context and window creation (like linux actually)

gsdx: Allow to control vsync. Not sure I used the good extension.

cmake: 
* check that EGL opengl context creation
* Shut up gcc warning when force inline might not work...



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5437 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-10-21 18:10:13 +00:00
gregory.hainaut 81cc4d51da GSdx, linux: remove some letf-overs
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5408 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-08 16:06:44 +00:00
gregory.hainaut ef976706f6 debian: don't ship null plugins
build.sh: fix shell bug & update the help


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5263 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-02 08:01:04 +00:00
gregory.hainaut 333b74c2a5 zzogl glsl: used the fog parameter correctly...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5256 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-01 14:26:37 +00:00
gregory.hainaut 300ea42977 gsdx-ogl: sync from trunk 5179:5091
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5180 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-26 19:51:07 +00:00
gregory.hainaut 3a12cc0589 linux build: use turbo ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5174 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-23 18:58:03 +00:00
gregory.hainaut ea98450eb0 copyright again:
* add some missing copyright header
* (l)GPLv* requires to have a full copy of the license. We already have them in various sub-directory but files in source root are easier to find


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5161 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-04-18 14:09:18 +00:00
gregory.hainaut 0ad5982364 gsdx-ogl: linux only (merge from trunk 5022:5068)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5069 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-15 14:51:49 +00:00
arcum42 9de050a51f gsdx-ogl: Revise build.sh script, redoing the command line options.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5055 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-07 22:20:50 +00:00
arcum42 bffde4fd5e Get rid of some irritating warnings in Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5037 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-31 18:50:17 +00:00
arcum42 fa5fcf47de Linux-only: Quick fix to the last commit.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5014 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-24 11:25:44 +00:00
arcum42 48afd2c274 Linux-only: Removed a few obsolete files. Copied in a build script to make rebuilding the project a bit easier.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5013 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-24 11:15:42 +00:00
arcum42 cda84b6455 Got rid of various obsolete files, and moved the codeblocks workspace file.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1797 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-09 10:02:12 +00:00
arcum42 ecfed766cd ZeroPad: Refactor a bunch of code. Escape now sets the key value to 'Unknown' when configuring. Work some more on the hat code (still disabled).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1245 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-23 11:57:28 +00:00
arcum42 0391b76015 Linux: Fix the exeption check up a bit, and mess with the configure.ac file. It should now be possible to compile with versions of gcc lower then 4.3, though I haven't tested that.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1210 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-17 09:23:32 +00:00
arcum42 6083e3a643 Linux: Add -m32 to the compiler flags of pcsx2 and all plugins.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1169 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-11 10:44:12 +00:00
arcum42 d8617c1ee8 Get rid of duplicated code in PS2Etypes.h. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1088 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-29 11:47:05 +00:00
arcum42 71c4561f86 Linux: memcpy_fast seems stable enough on Linux, so I'm removing the switch, and turning it on by default.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@759 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-13 01:39:54 +00:00
arcum42 cef77785cb Fix the yuv2rgb.cpp issues, per Zeydlitz's patch in issue 100. fast_memcpy works in Linux now as of r727, so I'll leave it enabled for a while, and if it seems stable, I'll remove the switch for it, and have it permanently enabled.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@735 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-10 12:25:45 +00:00
arcum42 9deff96c78 A few minor changes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@646 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 11:38:05 +00:00
arcum42 abbaa90a7d Get the Linux side of things ready for when cotton's done with microVU. I'm sure I'll have to make significant changes at that point, but it's good to have the framework in place...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@645 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 09:47:16 +00:00
arcum42 2270ba4eee Finish the Linux implementation of memcpy_fast_. I've disabled it by default until I'm sure it's working right, but it can easily be enabled in build.sh. Should be a speed boost in Linux (which Windows already had), but I haven't tested it enough to be able to tell yet.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@643 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 08:21:14 +00:00
arcum42 ad0705de56 90% of an implementation of memcpy_fast_ for Linux. And fix debug mode.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@642 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 06:31:33 +00:00
arcum42 0acef23784 Clean up Jakes commit in r634, and get rid of some dead code in the assembly files.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@635 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-01 01:03:16 +00:00
arcum42 b528ef29b2 Remove forceinlining on a few functions that won't inline, a few minor tweaks, and add a warning in the build file for Linux x64 people trying to compile.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@624 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-27 04:54:07 +00:00
arcum42 f412c38547 Plugins: Devbuild and Debug should be separate, and let's use ZEROGS_DEVBUILD and not RELEASE_TO_PUBLIC in ZeroGS.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@544 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-20 03:22:19 +00:00
arcum42 ec3a17d9cc A few minor changes to the Linux port, and a minor ZeroGS bugfix.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@523 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-18 12:51:36 +00:00
arcum42 5252d45ed7 Linux: A bit of work on memcard support in Linux. Disabled for the moment because it seemed like the emulator wasn't seeing memcards being swapped till after restarting pcsx2, and I was worried about memcard corruption. I also made it put in default values for memcards if you didn't have them in preferences already.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@486 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-13 12:50:01 +00:00
arcum42 a0da3ee37a Linux/Plugins: Use spu2ghz's noise rng in ZeroSPU2, clean various plugins before compiling them, put in better default values for the Linux port when configuring, and go into pcsx2 after configuring for the first time, rather then quitting. Oh, and disable the debugger for the moment in Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@485 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-13 09:57:15 +00:00
arcum42 595c08df88 Work on getting everything compiling properly in Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@432 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-06 21:58:59 +00:00
refraction aa94c30dc3 Should be the last of the trunk, gotta finish the branches/tags, but thats the main bulk transferred.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@426 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-06 20:04:37 +00:00
refraction 43198a7e84 git-svn-id: http://pcsx2.googlecode.com/svn/trunk@409 96395faa-99c1-11dd-bbfe-3dabce05a288 2009-02-06 19:04:13 +00:00
laurence.muller a2791d843e Using standard SVN folder structure
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@398 96395faa-99c1-11dd-bbfe-3dabce05a288
2008-11-06 23:27:06 +00:00