Commit graph

93 commits

Author SHA1 Message Date
Richard Goedeken
f89efa27d1 add new solution configuration for Release (New Dynarec) 2015-04-26 13:41:22 -07:00
Conchúr Navid
f0b0a1249e Fix executable bits of files 2015-03-21 10:53:38 +01:00
Richard Goedeken
398b96c3b2 added project/solution file for Visual Studio 2013. removed older MSVS project files. fix code compatilibity problems with MSVC 2015-02-22 07:13:34 -08:00
Nebuleon Fumika
cb4e055c54 Unix Makefile: Discard unnecessary architecture checks
Unlike the Mupen64Plus Core, which is sensitive to the architecture
it's compiled for due to its just-in-time compilers, this project does
not require architecture-specific glue code, only operating system
checks to load dynamic libraries.
2015-01-26 09:22:04 +00:00
Dorian Fevrier
b2bbc856ab Revert "Remove SDL build dependency." 2015-01-14 08:34:08 -05:00
littleguy77
87ef78922a Remove SDL build dependency. 2015-01-13 12:43:58 -05:00
Gillou68310
1b08f8c445 Added project files for MSVC2010 2015-01-07 15:40:29 +01:00
Richard Goedeken
6f0b800cd1 SDL 1.2 is not deprecated for us, and we shouldnt frighten the user with 6 lines of exclamation points 2014-05-04 11:32:31 -07:00
Ursula Abendroth
ad9815f6c4 Switch by default to SDL2 for Mupen64Plus 2.1
The current version of SDL is 2.0.3. All new releases of distributions contain
this library already. Current Linux distributions and OpenBSD even backporting
patches from Mupen64Plus 2.1 repo to use SDL 2. Android and other mobile
platform don't have support for legacy SDL 1.2.

People like Anthony J. Bentley and Riley Labrecque already requested
a new release of Mupen64Plus 2.1 with SDL2
2014-04-23 19:32:56 +02:00
Bobby Smiles
60d72dc650 Add application desktop file and icons.
SVG logo information
source: https://en.wikipedia.org/wiki/File:Mupen64plus.svg
author: Scott 'Tillin9' Knauert
license: Creative Commons Attribution-Share Alike 3.0 Unported
2014-02-15 03:28:59 +01:00
Sven Eckelmann
da9e9b4d3b Force line ending type for specific files
Different operation systems (Unix vs. Windows) use different line ending types.
It can easily happen that users from different systems edit files and replace
all line endings of a file with the system specific version. This screws up
diffs and makes merges harder.

Git can normalize line endings for specific files and avoid this problem.
Binary files should be marked to avoid accidentally normalization.
2013-12-19 14:19:07 +01:00
Sven Eckelmann
212be30f54 Don't fail rebuild when header is removed
The *.d depends files for make just list the files used when building an
object file. Removing a file listed in such a dependency file causes make to
search for a way to recreate it. This usually cannot work because these files
aren't autogenerated.

The gcc option -MP can be used to generate empty rule for these files. Removing
a file in a dependency list will then execute this empty rule and continue with
the execution of the creation of the object file. This compilation process will
then automatically correct the dependency file.
2013-09-20 10:31:48 +02:00
richard42
5d19eca9b5 simplify OSX platform detection in makefile using xcode-select. based on patch from John Pender 2013-07-08 07:39:48 -07:00
Sven Eckelmann
9a3c294a88 Avoid crash caused by missing initial SDL startup
SDL needs to overwrite the main function to initialize the inner state on some
operating systems. Not doing it this way will cause random crashes and
undefined behaviour.

Systems which need a special main function are for example Apple MacOS,
Android, iPhone or Win32. SDL will handle it automatically and keep systems
without such requirement with an untouched main function.
2013-06-25 14:57:05 +02:00
richard42
5bf3cc39f6 update msvc11 solution file to use the moved glide64mk2 project files in 'msvc11' 2013-06-01 08:19:46 -07:00
richard42
d1b19e9893 Update msvc11 project file to visual studio 2012 (msvc11) 2013-06-01 07:58:59 -07:00
Sven Eckelmann
dccdaa03ee Allow to statically set SDL_(CFLAGS|LIBS) without sdl-config
n.pepinpe requested in #540 to allow overwriting the automatically searched
CFLAGS and LIBS for used libraries. This should allow distributors to set the
build configuration without patching the makefile. This is important for
systems were pkg-config or sdl-config aren't normally used.
2013-05-11 12:26:18 +02:00
Sven Eckelmann
ff73a2f421 Enable Link-time optimization by default
The GCC introduced Link-time optimization in GCC 4.5 (2010-04-14). This should
be long enough available that interested users have upgraded to a compiler
supporting it.

The MSVC project already enabled WholeProgramOptimization since a long time.
Enabling it by default in GCC seems to be equally valid.
2013-05-11 11:25:56 +02:00
Sven Eckelmann
ef07d7d1c7 Add CFLAGS to the linker step
The GCC manual states for different parameters that the options for compilation
must also be used when linking. The options for compilation are stored in
CFLAGS and added to LINK.o to fix the behavior.

Option which need this are for example -fPIC/-fPIE or -flto.
2013-05-11 10:51:36 +02:00
Richard Goedeken
d048eee443 add glide64mk2 to the solution file 2013-03-20 22:31:21 -07:00
Richard Goedeken
d0cebb5307 add msvc11 project and solution files from mudlord 2013-03-20 22:25:20 -07:00
richard42
f7532d62cd OSX build fix 2013-02-02 22:16:48 -08:00
Sven Eckelmann
aa3e838d0a Introduce WARNFLAGS for default (removable) compiler warning flags 2013-01-02 16:13:45 +01:00
n pepinpe
f8827b148a Fix path to OSX SDK with XCode >=4.3 2012-12-31 10:43:00 +01:00
Richard Goedeken
b7ce0a97a4 merged heads 2012-12-30 15:48:49 -08:00
Anthony J. Bentley
c17d2bae69 Decompress the manual page. 2012-12-24 02:43:03 -07:00
Sven Eckelmann
42f26b8a03 Use $(OBJDIR) in clean target instead of hardcoded path 2012-12-13 14:53:05 +01:00
Sven Eckelmann
14af485493 Allow to add a postfix for each build
The POSTFIX make option is useful for distributions to compile different
versions of the plugin in parallel. The object files will be stored in a
directory with the postfix appended and the linker result will also have this
postfix appended.
2012-12-13 14:47:33 +01:00
Sven Eckelmann
25217eacdd Fix clean of mupen64plus.exe 2012-12-13 14:19:37 +01:00
Sven Eckelmann
3b7bee6a33 Add CROSS_COMPILE make option
The CROSS_COMPILE make option can be used to automatically prepend the prefix
to all build relevant tools to seamlessly allow cross compilation without
setting each tool name separately.

Cross compiling for MinGW32 would can be done using
$ make -C projects/unix/ CROSS_COMPILE=i686-pc-mingw32- HOST_CPU=i686 UNAME=MINGW
2012-12-13 12:25:38 +01:00
Sven Eckelmann
10b90e4647 Allow to change names of *-config tools for cross compiles 2012-12-13 11:33:49 +01:00
Sven Eckelmann
08b53f2444 Synchronize usage of environmental variables for UNAME with HOST_CPU 2012-12-13 10:52:49 +01:00
Sven Eckelmann
68a5b42c15 Remove duplicated definition of CC for MinGW 2012-12-13 10:46:17 +01:00
Sven Eckelmann
bbe021bc01 Really build mupen64plus.exe on MinGW 2012-12-12 23:19:39 +01:00
veganaize
b65642a899 Add support for MingW32 2012-12-04 21:17:52 +01:00
Anthony J. Bentley
79e0f12a6a Detect OpenBSD PowerPC platforms macppc and socppc. 2012-11-12 18:03:52 -07:00
Sven Eckelmann
b05ff7522a Add configuration for semi-supported architecture armel 2012-11-04 01:26:41 +01:00
Sven Eckelmann
56159acc29 Enable experimental support for link-time optimization 2012-06-09 01:11:18 +02:00
richard42
ce7b345509 1. add project dependencies to solution file
2. bugfix: forgot newlines in warning messages
2012-03-06 20:48:41 -08:00
Sven Eckelmann
e24f33b2c7 Remove additional -O3 on MacOSX 2011-10-14 19:58:42 +02:00
Sven Eckelmann
042700252e Explicitly disable PIC in case of PIC=0 2011-10-13 00:01:02 +02:00
Sven Eckelmann
db675f1052 Enable ppc(64) as experimental target
nogagplz tested mupen64plus on 32-bit ppc and didn't detect any big show
stoppers with interpreter cores and the mupen64plus example rom. This makes the
PowerPC an interesting target for further tests and may reveal other endianness
problems.
2011-08-05 10:46:16 +02:00
Sven Eckelmann
2894af52e3 Enable big endian mode on ppc and ppc64 2011-08-05 10:19:21 +02:00
Sven Eckelmann
c33e0725b1 Strip binaries during install 2011-07-23 21:22:52 +02:00
Sven Eckelmann
a755ced05a Allow PIE similar to PIC in the plugins 2011-07-10 13:23:40 +02:00
Sven Eckelmann
71b99273f8 Fix linker search for libstdc++.so 2011-07-08 08:24:36 +00:00
Sven Eckelmann
414ba078a3 Inform user about the possibility to make the build verbose 2011-07-03 18:04:48 +02:00
Sven Eckelmann
851ba40977 Set changeable default compiler optimization option 2011-07-03 18:03:15 +02:00
Sven Eckelmann
9772c338a2 Remove mupen64plus.6.gz in uninstall target 2011-06-27 13:21:45 +02:00
Sven Eckelmann
2acfd02362 Synchronize build rules with standard gnu make rules 2011-06-27 13:00:04 +02:00