Commit graph

96 commits

Author SHA1 Message Date
wahrhaft
0356e10c53 Bump version to 2.0.0 2013-07-04 21:37:19 -04:00
Sven Eckelmann
83562fd5e5 Remove invalid texture initialization for unknown texture types
LoadNone cannot initialize n-bytes of the texture where n is the size of a
pointer on an architecture. It is most likely too small to initialize a big
texture but it can be too big and overwrite unrelated parts of the memory.
2013-06-17 20:42:44 +02:00
Sven Eckelmann
e1dcae94c1 Update video extension API version to 3.0.0 and video plugin API version to 2.2.0 2013-05-28 21:17:06 +02:00
Sven Eckelmann
82efbfda17 Allow to statically set *_(CFLAGS|LIBS) without pkg-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 15:00:03 +02:00
Sven Eckelmann
4c99cd2966 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:21 +02:00
Sven Eckelmann
ac6e8f94de 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-09 22:50:07 +02:00
Sven Eckelmann
3d0b4b553c Add CXXFLAGS 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
CXXFLAGS and added to LINK.o to fix the behavior.

Option which need this are for example -fPIC/-fPIE or -flto.
2013-05-09 22:22:56 +02:00
Sven Eckelmann
8ddd70cece Revert "Enable link time garbage collection when link time optimization is enabled"
Some linker on different platforms don't handle the garbage collection
correctly and create extreme bloated binaries. Therefore, leave it to the user
to enable this feature or not.
2013-03-14 08:07:27 +01:00
wahrhaft
b14e070da9 Merged in ecsv/mupen64plus-video-glide64-fixes (pull request #6)
MinGW/Cross compilation and related fixes
2013-02-05 19:40:12 -05:00
Sven Eckelmann
878eefc132 Enable link time garbage collection when link time optimization is enabled 2013-02-01 10:01:54 +01:00
Sven Eckelmann
072b5397c6 Introduce WARNFLAGS for default (removable) compiler warning flags 2013-01-02 16:13:46 +01:00
n pepinpe
d75faf078a Define FX_ENTRY and FX_CALL on OSX 2013-01-01 17:36:40 +01:00
Sven Eckelmann
9bba3373f0 Remove mini assembler code for byte swapping
The byte swapping was realized using inline assembler code using the bswap
instruction. This was less portable and even resulted in build failures when
compiling for OSX. It also reduced the effectivness of the optimizer slightly.

Instead the builtin functions of the compiler can be used to do the same.
2013-01-01 17:25:29 +01:00
Sven Eckelmann
2498ef1240 Disable PIC on MinGW to reduce warnings 2013-01-01 00:30:34 +01:00
n pepinpe
6aa1bb3c04 Include SDL header without SDL/ directory 2012-12-31 10:52:25 +01:00
n pepinpe
dae4ee7e93 Fix path to OSX SDK with XCode >=4.3 2012-12-31 10:43:00 +01:00
veganaize
271be99a1b Don't try to find OpenGL libraries on MacOSX and MinGW using pkg-config
MacOSX and MinGW don't provide gl.pc or glu.pc to find the cflags or libs using
pkg-config. Removing this search and replacing it with an hardcoded value is
easier on these platforms.
2012-12-19 21:57:43 +01:00
Sven Eckelmann
a52cbf4672 Use $(OBJDIR) in clean target instead of hardcoded path 2012-12-13 14:53:05 +01:00
Sven Eckelmann
97d05e9b49 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:35 +01:00
veganaize
134ca3d5d6 Add support for MingW32 2012-12-13 13:58:55 +01:00
Sven Eckelmann
5f4da38317 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:42 +01:00
Sven Eckelmann
e7170cded8 Allow to change names of *-config tools for cross compiles 2012-12-13 11:33:49 +01:00
Sven Eckelmann
9a01ba4d65 Synchronize usage of environmental variables for UNAME with HOST_CPU 2012-12-13 10:52:49 +01:00
Sven Eckelmann
17f3c474f6 Add configuration for semi-supported architecture armel 2012-12-13 09:02:58 +01:00
Anthony J. Bentley
e9b725e260 Detect OpenBSD PowerPC platforms macppc and socppc. 2012-11-12 18:28:57 -07:00
wahrhaft
b09c79690c Added tag 1.99.5 for changeset 28a2ec2ca14c 2012-08-09 23:13:02 -04:00
Sven Eckelmann
ea884986ad Enable experimental support for link-time optimization 2012-06-09 01:26:22 +02:00
wahrhaft
5642c1f1aa Support compiling against video plugin API 2.1.0
(TODO: properly set the redraw flag)
2012-03-06 19:49:13 -05:00
wahrhaft
389de79d5a Fix for VS2010 2012-02-04 14:20:30 -05:00
wahrhaft
539999d661 Win32 build fixes 2012-02-04 12:15:03 -05:00
Sven Eckelmann
54edbf5c52 Remove additional -O3 on MacOSX 2011-10-14 19:58:42 +02:00
Sven Eckelmann
9d02185f47 Explicitly disable PIC in case of PIC=0 2011-10-13 00:01:03 +02:00
Sven Eckelmann
3c69d524d0 Replace references to rice with glide64 2011-10-09 13:52:54 +02:00
wahrhaft
11a86ef7b1 move CoreVideo_Init() to RomOpen and add CoreVideo_Quit to RomClosed, should allow the plugin to start and stop multiple times 2011-09-08 22:00:50 -04:00
Sven Eckelmann
7d9c531d57 Fix some -Wformat related warnings 2011-09-04 13:35:49 +02:00
Sven Eckelmann
b26853f05d Ignore generated files in hg-status 2011-08-29 14:30:48 +02:00
Sven Eckelmann
0e1120d3d1 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:17 +02:00
Sven Eckelmann
8411c4b67c Enable PIC depending on architecture instead of bits only
nogagplz noticed on ppc32 that PIC is necessary to compile everything as shared
object. Therefore, it seems to be a better idea to have architecture specific
PIC default settings instead of checking only whether it is a 32 or 64 bit
architecture.
2011-08-05 10:32:08 +02:00
Sven Eckelmann
2b6ede8e76 Enable big endian mode on ppc and ppc64 2011-08-05 10:19:22 +02:00
Sven Eckelmann
4f62132acd Strip binaries during install 2011-07-23 21:22:53 +02:00
Sven Eckelmann
1ff3c958dd Remove extraneous parentheses around comparison which could hide GCC warnings 2011-07-10 22:47:26 +02:00
Sven Eckelmann
9e4edd6781 Use more portable _mm_store_ps instead of GCC specific __builtin_ia32_shufps 2011-07-10 22:07:11 +02:00
Sven Eckelmann
fefb5e825e Allow to force PIC to remove text relocations 2011-07-10 13:37:55 +02:00
Sven Eckelmann
01c5c21e6c Fix linker search for libstdc++.so 2011-07-08 08:24:37 +00:00
Sven Eckelmann
8a0b7a3fb0 Set changeable default compiler optimization option 2011-07-03 18:03:15 +02:00
Sven Eckelmann
e5a4fcbf50 Synchronize build rules with standard gnu make rules 2011-06-27 13:00:05 +02:00
Sven Eckelmann
aa0fc59799 Test for essential build dependencies before getting their cflags/libs 2011-06-27 11:36:11 +02:00
Sven Eckelmann
2348ca3888 Fix call to sdl-config on *BSD 2011-06-26 20:51:19 +02:00
Sven Eckelmann
33556f2e1b Don't use -ldl on *BSD Systems 2011-06-26 20:41:19 +02:00
Sven Eckelmann
37233d5801 Add OpenBSD as half-supported OS with FreeBSD userspace tools 2011-06-26 18:37:19 +02:00