Commit graph

71 commits

Author SHA1 Message Date
Jj0YzL5nvJ
f0e8885501 CI/CD: Update to generic scripts, independent schedule, etc 2024-05-24 11:11:45 -06:00
Jj0YzL5nvJ
ed6745bed6 CI/CD: Update 2022-07-10 18:50:53 -06:00
Jj0YzL5nvJ
00bcbade3c CI/CD: Implement GitHub Actions and public nightly builds 2021-12-05 08:58:23 -07:00
Richard Goedeken
82f49c7e2b Revert "Allow non-default compilers without resorting to symbolic links"
This reverts commit 8d140b545a, as it conflicts with GNU make which always defines default values for certain variables
2020-09-16 22:34:35 -07:00
Jj0YzL5nvJ
8d140b545a Allow non-default compilers without resorting to symbolic links 2020-08-30 14:11:04 -06:00
Anthony J. Bentley
2be1ad0063 Update link to bug tracker. 2017-12-28 16:21:50 -07:00
Guillermo Reisch
44cb86856a fix missing SDL2 test 2015-08-12 19:21:52 -03:00
Anthony J. Bentley
29fe93c391 Remove unnecessary OpenBSD warning. 2015-06-08 01:57:47 -06:00
Conchúr Navid
86b7637129 Fix executable bits of files 2015-03-21 10:53:38 +01:00
Sven Eckelmann
a958eddbe1 Merge branches 'makefile' and 'github' 2013-12-19 15:19:49 +01:00
Sven Eckelmann
1b0f7e9e19 Replace references to bitbucket with github 2013-12-19 13:27:14 +01:00
Sven Eckelmann
3afda34f49 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:07:07 +01:00
Sven Eckelmann
096b387f5b Fix error message for missing glew library 2013-12-19 12:06:56 +01:00
Sven Eckelmann
07f54417cf 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:12 +02:00
Sven Eckelmann
f709d91d80 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:31 +02:00
Sven Eckelmann
f6c440d524 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:11 +02:00
Sven Eckelmann
c085e80daf 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:23:00 +02:00
Sven Eckelmann
9e9d1282dd 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:09:02 +01:00
Sven Eckelmann
53d9d4ca5d Enable link time garbage collection when link time optimization is enabled 2013-02-01 10:01:54 +01:00
Sven Eckelmann
f840816788 Introduce WARNFLAGS for default (removable) compiler warning flags 2013-01-02 16:13:46 +01:00
Sven Eckelmann
c9b08f12a7 Disable PIC on MinGW to reduce warnings 2013-01-01 00:30:34 +01:00
n pepinpe
5b72133cf8 Fix path to OSX SDK with XCode >=4.3 2012-12-31 10:43:00 +01:00
veganaize
e5cde0c6c5 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:49 +01:00
Sven Eckelmann
765b5b9c63 Use $(OBJDIR) in clean target instead of hardcoded path 2012-12-13 14:53:05 +01:00
Sven Eckelmann
c07b8977ec 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:38 +01:00
veganaize
583ccfdd11 Add support for MingW32 2012-12-13 13:58:55 +01:00
Sven Eckelmann
fadadfe7cd 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:47 +01:00
Sven Eckelmann
39c2fed1c7 Allow to change names of *-config tools for cross compiles 2012-12-13 11:33:50 +01:00
Sven Eckelmann
f93af93e79 Synchronize usage of environmental variables for UNAME with HOST_CPU 2012-12-13 10:52:49 +01:00
wahrhaft
486321abf9 Merge new platforms in Makefile 2012-11-28 00:34:49 -05:00
Anthony J. Bentley
72790f54d5 Don't use nonportable GNU‐style flag order. 2012-11-12 19:44:14 -07:00
Anthony J. Bentley
03f3436f19 Detect OpenBSD PowerPC platforms macppc and socppc. 2012-11-12 18:30:15 -07:00
Sven Eckelmann
a9baac4731 Add configuration for semi-supported architecture armel 2012-11-04 01:36:59 +01:00
Sven Eckelmann
8713f0b46c Enable experimental support for link-time optimization 2012-06-09 01:40:47 +02:00
Sven Eckelmann
534f2f9f24 Remove additional -O3 on MacOSX 2011-10-14 19:58:42 +02:00
Sven Eckelmann
f66e54cf30 Explicitly disable PIC in case of PIC=0 2011-10-13 00:01:04 +02:00
Sven Eckelmann
e1636bbb3f Replace references to rice with z64 2011-10-09 13:52:31 +02:00
Sven Eckelmann
2cf241f943 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:18 +02:00
Sven Eckelmann
25eef1f210 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
87c89ee049 Enable big endian mode on ppc and ppc64 2011-08-05 10:19:22 +02:00
Sven Eckelmann
1b72794001 Strip binaries during install 2011-07-23 21:22:53 +02:00
Sven Eckelmann
cf84e1d539 Allow to force PIC to remove text relocations 2011-07-10 13:37:55 +02:00
Sven Eckelmann
1bcb83d030 Fix linker search for libstdc++.so 2011-07-08 08:24:39 +00:00
Sven Eckelmann
38f5292bb1 Set changeable default compiler optimization option 2011-07-03 18:03:15 +02:00
Sven Eckelmann
925a39db52 Fix unresolved symbol dlsym on linux 2011-06-27 13:09:33 +02:00
Sven Eckelmann
09f012e86d Synchronize build rules with standard gnu make rules 2011-06-27 13:00:05 +02:00
Sven Eckelmann
2b3fd4fa70 Test for essential build dependencies before getting their cflags/libs 2011-06-27 11:36:11 +02:00
Sven Eckelmann
0f9f690722 Fix call to sdl-config on *BSD 2011-06-26 20:51:33 +02:00
Sven Eckelmann
fd71c73417 Don't use -ldl on *BSD Systems 2011-06-26 20:41:19 +02:00
Sven Eckelmann
dde7119bd9 Add OpenBSD as half-supported OS with FreeBSD userspace tools 2011-06-26 18:37:19 +02:00