Commit graph

167 commits

Author SHA1 Message Date
Richard Goedeken
327e6b8045 Merge pull request #3 from ecsv/noasm
Remove ASM-only parts
2014-02-10 22:34:59 -08:00
Sven Eckelmann
b344f7d6b0 Use pure C version of Load32bRGBA
The asm versions seem to fail to build on OpenBSD when PIC is enabled on i386
because more registered are used in the asm part then there are available.
2014-01-11 04:26:28 +01:00
Sven Eckelmann
3e293236ab Use pure C version of textureCRC from glide64mk2
The asm versions seem to fail to build on OpenBSD when PIC is enabled on i386
because more registered are used in the asm part then there are available.
2014-01-11 02:31:37 +01:00
Sven Eckelmann
90f0d70e43 Add NO_ASM fallback for idiv16 2014-01-11 02:08:43 +01:00
Sven Eckelmann
ad7b7e7aa3 Use pure C version of MiClWr8b.h from glide64mk2
The asm versions seem to fail to build on OpenBSD when PIC is enabled on i386
because more registered are used in the asm part then there are available.
2014-01-11 02:04:02 +01:00
Sven Eckelmann
25753d2145 Use pure C version of MiClWr16b.h from glide64mk2
The asm versions seem to fail to build on OpenBSD when PIC is enabled on i386
because more registered are used in the asm part then there are available.
2014-01-11 02:02:54 +01:00
Sven Eckelmann
e0ab6145bb Use pure C version of TexLoad16b.h from glide64mk2
The asm versions seem to fail to build on OpenBSD when PIC is enabled on i386
because more registered are used in the asm part then there are available.
2014-01-11 01:59:29 +01:00
Sven Eckelmann
f54047e158 Use pure C version of TexLoad8b.h from glide64mk2
The asm versions seem to fail to build on OpenBSD when PIC is enabled on i386
because more registered are used in the asm part then there are available.
2014-01-11 01:59:29 +01:00
Sven Eckelmann
256cc8636b Use pure C version of TexLoad4b.h from glide64mk2
The asm versions seem to fail to build on OpenBSD when PIC is enabled on i386
because more registered are used in the asm part then there are available.
2014-01-11 01:59:29 +01:00
Sven Eckelmann
b92dbc01cf Use pure C version of TexConv.h from glide64mk2
The asm versions seem to fail to build on OpenBSD when PIC is enabled on i386
because more registered are used in the asm part then there are available.
2014-01-11 01:59:28 +01:00
Sven Eckelmann
615a8b7ce9 Define binary helper functions used in pure C TexLoad* 2014-01-11 01:59:28 +01:00
Richard Goedeken
81503ecff5 Merge pull request #2 from ecsv/llvm
Use SSE intrinsics instead of GCC specific __builtin functions
2014-01-09 19:11:10 -08:00
Sven Eckelmann
96f51afcf4 Use SSE intrinsics instead of GCC specific __builtin functions
The __builtin_ia32_loadups and __builtin_ia32_storeups functions are GCC
specific and are not supported by compilers like LLVM. Instead use the more
often supported SSE intrinsics.
2014-01-09 10:32:33 +01:00
Sven Eckelmann
b8aac63be8 Merge pull request #1 from bentley/bswap
Unify byteswapping functions, and avoid nonportable versions.
2013-12-20 01:46:45 -08:00
Anthony J. Bentley
0681356b2b Unify byteswapping functions, and avoid nonportable versions. 2013-12-20 01:30:12 -07:00
Sven Eckelmann
3945a43bce Merge branches 'makefile' and 'github' 2013-12-19 13:48:38 +01:00
Sven Eckelmann
b88cca5da2 Replace references to bitbucket with github 2013-12-19 13:27:14 +01:00
Sven Eckelmann
b70604d554 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 13:15:43 +01:00
Sven Eckelmann
c7b9a5b926 Convert .hgignore to .gitignore 2013-12-19 13:09:20 +01:00
Sven Eckelmann
f5c94255f0 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-12-19 12:54:43 +01:00
wahrhaft
bb49ff9807 Added tag 2.0.0 for changeset 309bb7dc0e32 2013-07-04 22:18:45 -04:00
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