Commit Graph

365 Commits

Author SHA1 Message Date
Matthijs Kooijman
2d5869fc79 Fix: sdl2-config would always be detected as present
The presence of sdl2-config is used go determine whether to look for
sdl2 first, or just sdl1. However, when sdl2-config is *not* present,
`which` returns an empty string. Due to lack of quoting, this produces
`[ -x ]`, rather than `[ -x "" ]` and it turns out the former actually
has a succesful exit status for some reason.

This was not a problem when just running configure, because it would
then just fail to detect sdl2 and fall back to sdl1. However, when
passing `--with-sdl` (without specifying a version), this would only
attempt to detect sdl2, even when sdl2-config was not present, but sdl1
is.

Adding quotes makes the check work as intended.
2020-05-13 08:33:34 +01:00
Michael Lutz
4bfa3ff619 Remove: [OSX] Old QuickTime music driver. 2020-04-12 18:44:43 +02:00
Michael Lutz
0e5be3887c Remove: [OSX] Old fullscreen subdriver for pre 10.7 systems.
Since the move to C++11, building for pre 10.7 is not possible with the native
Apple tools. Also, due to bitrot, the file doesn't even compile anymore. While
this could be fixed, it shows that this subdriver is basically never used anymore.
2020-04-12 18:44:43 +02:00
Michael Lutz
a31cbbf67f Remove: [OSX] QuickDraw video subdriver used for OSX versions up to 10.4.
Since the C++11 move, getting OpenTTD to compile and run for anything
below 10.7 basically requires building a custom compiler and libc++.
Also, the QuickDraw subdriver crashes on more modern OSX version. While this
is fixable, keeping the driver around is probably pointless.
2020-04-12 18:44:43 +02:00
Michael Lutz
e90d065f11 Fix: [OSX] Prepend OSX SDK path to the framework search path if building with a custom SDK sysroot. 2020-04-12 18:44:43 +02:00
Jonathan G Rennison
2b6df2544f Codechange: Don't fail configure if SDL2 is not detected 2020-02-10 08:12:50 +01:00
glx
faaec445d6 Fix: [MinGW] undefined references when _FORTIFY_SOURCE > 0 2019-12-21 20:13:28 +01:00
S. D. Cloudt
13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
Joe Stringer
48fd7b2792 Fix: [MINGW32] Fix launch on Windows 7 x64
Prior to this commit, the following is observed when running openttd.exe
that was compiled using mingw32 on x86_64:

> The procedure entry point ScriptBreak could not be located in the
  dynamic link library GDI32.dll

The MSDN docs at the below link state that modules using Uniscribe must
first link against usp10 before gdi32 to avoid this issue:

https://msdn.microsoft.com/en-us/library/windows/desktop/dd319118(v=vs.85).aspx

Signed-off-by: Joe Stringer <joe@wand.net.nz>
2019-10-07 21:36:00 +02:00
JMcKiern
04f659e768 Fix: Some typos found using codespell 2019-09-29 21:27:32 +01:00
nikolas
2d27e8e685 Add #6173: New SDL 2 based video and sound drivers (#7086) 2019-09-19 17:18:50 +02:00
George Koehler
c655f89d84 Fix: Allow git worktree in version detection; drop svn, hg.
If $ROOT_DIR is a linked working tree from git-worktree(1), then
$ROOT_DIR/.git is a regular file instead of a directory.  Allow this
when deciding whether to use git to detect OpenTTD's version.

Drop checks for svn and hg in config.lib, because findversion.sh
hasn't used svn nor hg since 192770e6da.
2019-08-31 20:11:24 +01:00
Michael Lutz
2675762ae9 Add: [Win32] GDI engine for font glyph rendering as a replacement for including FreeType.
Building with FreeType is still possible and will take precedence over the GDI renderer, but
the project files don't include FreeType anymore by default. Combining GDI rendering with ICU
text layout is untested.
2019-05-14 11:21:36 +01:00
Henry Wilson
31260e6625 Cleanup: Stop OSX compilation complaining about C++11 extensions 2019-03-24 16:10:04 +01:00
Patric Stout
e3c639a09f Remove: ENABLE_NETWORK switch
This switch has been a pain for years. Often disabling broke
compilation, as no developer compiles OpenTTD without, neither do
any of our official binaries.

Additionaly, it has grown so hugely in our codebase, that it
clearly shows that the current solution was a poor one. 350+
instances of "#ifdef ENABLE_NETWORK" were in the code, of which
only ~30 in the networking code itself. The rest were all around
the code to do the right thing, from GUI to NewGRF.

A more proper solution would be to stub all the functions, and
make sure the rest of the code can simply assume network is
available. This was also partially done, and most variables were
correct if networking was disabled. Despite that, often the #ifdefs
were still used.

With the recent removal of DOS, there is also no platform anymore
which we support where networking isn't working out-of-the-box.

All in all, it is time to remove the ENABLE_NETWORK switch. No
replacement is planned, but if you feel we really need this option,
we welcome any Pull Request which implements this in a way that
doesn't crawl through the code like this diff shows we used to.
2019-03-20 19:24:55 +01:00
Patric Stout
72c5f2b3ee Remove: DOS support
In 10 years there was no active development on DOS. Although it
turned out to still work, the FPS was very bad. There is little
interest in the current community to look into this.

Further more, we like to switch to c++11 functions for threads,
which are not implemented by DJGPP, the only current compiler
for DOS.

Additionally, DOS is the only platform which does not support
networking. It is the reason we have tons of #ifdefs to support
disabling networking.

By removing DOS support, we can both use c++11 functions for threads,
and remove all the code related to disabling network. Sadly, this
means we have to see DOS go.

Of course, if you feel up for the task, simply revert this commit,
and implement stub c++11 functions for threads and stub functions
for networking. We are more than happy to accept such Pull Request.
2019-03-19 23:22:51 +01:00
Patric Stout
36105841b9 Codechange: ICU_SORT is in reality ICU_I18N (according to their CMake files)
By naming it in a different way, things get a bit confusing.
Especially if we are switching to CMake, which autodetects these
things, we need to use the name the authors of ICU gave it; not
our interpertation of that name.
2019-03-11 10:16:00 +01:00
Patric Stout
52d7e7d45e Codechange: ICU_LAYOUT is in reality ICU_LX (according to their CMake files)
By naming it in a different way, things get a bit confusing.
Especially if we are switching to CMake, which autodetects these
things, we need to use the name the authors of ICU gave it; not
our interpertation of that name.
2019-03-11 10:16:00 +01:00
Patric Stout
7adae09897 Codechange: liblzma is called liblzma, how ever strange that might be
It is the only library we use that calls itself with 'lib' in the
name. This might be confusing, but with the arrival of cmake a lot
of these things are automated. And detection will find 'liblzma',
not 'lzma', like with 'lzo', 'zlib', ..
2019-03-11 10:16:00 +01:00
Patric Stout
aa350528df Remove: libtimidity support (NOT timidity support)
libtimidity was introduced with the support for PSP. PSP has been
dropped almost a year ago, but this music driver was not. This
corrects that oversight.

timidity (via extmidi) still works fine. This purely removes the
libtimidity support, which was only really available for PSP.
2019-03-05 22:03:00 +01:00
Patric Stout
f58db44ff2 Remove: BeOS support (deprecated by Haiku)
In 10 years there is no commit to change how BeOS works, and we
have no active maintainer for it. It is unlikely it works in its
current state (but not impossible).

With the arrival of SDL2 (and removal of SDL), BeOS is no longer
support. SDL2 suggests to use Haiku instead of BeOS.
2019-03-05 22:03:00 +01:00
Patric Stout
7784d77713 Remove: MorphOS / AmigaOS support
In 10 years there is no commit to change how MorphOS works, and we
have no active maintainer for it. It is unlikely it works in its
current state (but not impossible).

With the arrival of SDL2 (and removal of SDL), MorphOS is no longer
support. There is an SDL2 port for MorphOS, but it is not maintained
by upstream SDL2, and nobody can currently test it out.

If anyone wants to re-add MorphOS, please do (revert this patch,
fix the problems, and create a Pull Request). If you need any help
doing so, let us know! It is not that we don't like MorphOS, it is
that we don't have anyone fixing the problems :(
2019-03-05 22:03:00 +01:00
Charles Pigott
4ac81b3ebb Fix #7308: SDL linker flags were not added on MinGW 2019-03-03 18:04:36 +00:00
Charles Pigott
d9b4ada7e9 Fix 95ccddd6: SDL static library flags was not updated to use pkg-config format 2019-03-03 18:04:36 +00:00
Charles Pigott
1a663d9efc Fix: Wrong variable was used in zlib detection 2019-03-03 18:04:36 +00:00
Charles Pigott
6535abb88b Codechange: Don't explicitly link with -lstdc++, causes linking issues with freetype on MinGW 2019-01-17 21:55:15 +00:00
glx
ee84f98f1e Fix: deps calculation call could fail due to command line length 2019-01-16 19:27:06 +00:00
glx
5a09337c20 Fix: make reconfigure warning 2019-01-16 19:27:06 +00:00
Charles Pigott
4fbfe34e36 Codechange: Always compile with C++11 2019-01-05 17:39:11 +01:00
Charles Pigott
175829b8b5 Fix #6880: [OSX] Clang version detection 2019-01-05 17:39:11 +01:00
Charles Pigott
0e7af55ef7 Fix: [OSX] Check all search paths for iconv.h 2019-01-05 17:39:11 +01:00
Michael Lutz
32ce1ce347 Add: [OSX] Text layout using the native CoreText API.
By default, the native API will be used instead of ICU, but if ICU is
forced in using configure, it will take precedence.
2018-12-08 20:13:27 +01:00
Charles Pigott
0c619b7c4b Add: Fluidsynth music driver support (jmak) 2018-11-01 18:06:38 +01:00
glx
d418d30947 Fix: dmusic detection 2018-07-24 21:39:21 +02:00
Jonathan G Rennison
8fc1517515 Codechange: detect native Apple clang correctly in config.lib #6773
Fixes: 00c1603256
2018-07-22 15:15:54 +01:00
Charles Pigott
a3d1950b65 Codechange: Ensure that -lfreetype is always last when linking statically
Fixes weird bug with MinGW
2018-07-19 20:24:17 +02:00
glx
10d8b83038 Fix: library detection on MSYS2 file system 2018-06-17 21:56:46 +02:00
Michael Lutz
cd966f3810 Add: [Win32] Uniscribe configure options for MinGW targets. 2018-06-06 21:37:09 +02:00
Owen Rudge
7bd2fa3516 Feature: Add XAudio2 driver 2018-05-17 15:06:37 +01:00
Patric Stout
0165fe1283
Codechange: remove endian_check in favour of __BYTE_ORDER macro (Rubidium) (#6762) 2018-04-29 19:01:28 +02:00
Patric Stout
aef69443e7 Remove: WinCE support 2018-04-29 15:32:16 +02:00
Patric Stout
85adde7485 Remove: PSP support 2018-04-29 15:32:16 +02:00
Charles Pigott
00c1603256 Fix e614357: Ask the compiler who it is, instead of using symlinks (#6727)
This fixes #6723
2018-04-15 23:07:17 +02:00
Patric Stout
aaf7e98c77
Fix 6ac0790: don't show the location to / failure of 'realpath' every time (#6719) 2018-04-14 22:05:39 +02:00
Patric Stout
ae5628e903
Change: [Build] prioritize cc-build over build (based on patch by woutershep2) (#6716)
This closes #6414
2018-04-14 20:12:05 +02:00
Patric Stout
f06061aa3b
Change: [Build] use flags set by env at the end, not at the start (based on patch by adf88) (#6715)
This closes #6433
2018-04-14 20:11:49 +02:00
Victor Sergienko
6ac079020b Fix e614357: MingW/MacOS/MacPorts don't have realpath, use reallink in those cases (#6710) 2018-04-12 23:46:09 +02:00
Charles Pigott
e47f646cb3 Fix e61435774b: Some systems don't have realpath (#6705) 2018-04-11 22:50:23 +02:00
Charles Pigott
e61435774b Fix: Resolve symlinks when working out which compiler is being used 2018-04-11 18:24:19 +02:00
Charles Pigott
4b1a42c703 Codechange: Remove outdated assumption about FreeBSD's C compiler 2018-04-11 18:24:19 +02:00