743 Commits

Author SHA1 Message Date
Steve Cotton
935fa41379
Final part of the Python 2 removal, including updating install-pytools (#5027)
Update the list of files installed by "scons install-pytools", dropping Python2
versions and adding their Python3 replacements. This doesn't update any
`import` statements, as the tools have already been ported to use the Python3
modules - the scons script was out of date and was still bundling the wrong
versions.

Note for anyone looking at the history - although most of the current
tools have a '3' in the name just to indicate that they're the Python 3 version,
there's a double-meaning to that number in wmlparser3.py's name. There was a
`wmlparser2.py`, where the `2` indicates a redesign of the original.

The data/tools/README.md file was renamed from plain README without being
converted to Markdown format. This commit touches about half of that file;
headings in that half are updated to be Markdown, but to reduce the diff the
other headings aren't updated.
2020-08-05 21:56:12 +02:00
Pentarctagon
f662cad825 Fix the source_lists not being found when using the -Y/--srcdir option. 2020-08-01 03:50:52 -05:00
pentarctagon
7f9eebdf49 Add mariadbpp as a submodule.
This has been added as a submodule for convenience of use, since mariadbpp isn't included in any repositories (linux distros, vcpkg, etc) aside from an Arch AUR.
2020-07-30 13:17:22 -05:00
Pentarctagon
e6e01341f4
Allow specifying c++20. 2020-03-24 14:44:13 -05:00
loonycyborg
a0229523b8 scons: correct open() call for lockfile creation with py3 2020-02-23 02:41:45 +03:00
loonycyborg
9424069298 scons: fix build failure with --config=force 2020-02-09 14:59:38 +03:00
Pentarctagon
48fc3ce58b
-Werror=non-virtual-dtor is not a valid C flag. 2020-01-09 19:34:31 -06:00
loonycyborg
1d80308325 Revert "Remove check for boost.thread from buildsystems since it's not used anymore"
This reverts commit 4c7497722700f40fb9aa807dcbc4b6dfe75457bf.
Explicit linking against boost_thread is required when using boost as
static libraries.
2019-10-25 19:05:28 +03:00
loonycyborg
4aba57b369 scons: fix build with forum_user_handler=true + py3 2019-10-13 19:54:25 +03:00
loonycyborg
4c74977227 Remove check for boost.thread from buildsystems since it's not used anymore 2019-09-28 14:21:04 +03:00
loonycyborg
c7271646b7 Remove config check for gobject
It's not supposed to be required and was mandatory only for particular
pango version(s) due to bug
2019-09-24 12:07:48 +03:00
loonycyborg
7437b3992e Fix issue #4306
prevent a KeyError from missing "have_fortify" env variable
2019-09-02 13:01:26 +03:00
josteph
d76a7ba5d0 Disable -Wunused-lambda-capture on clang.
In a nutshell, capturing a local "const constexpr int foo;" variable
with [foo](){} warns on clang that the program would be valid even if
the square brackets had been left empty, but making them so warns on
VC15.  See
https://stackoverflow.com/questions/52416362/unused-lambda-capture-warning-when-capture-is-actually-used

Disable the warning since explicitly capturing foo is good practice.
2019-06-05 10:31:09 +00:00
loonycyborg
83da28b4aa No longer install .mo files for manual and manpages textdomains
But still build them just to check those po files for errors.
This fixes #3522
2019-03-30 15:40:03 +03:00
loonycyborg
798e809512 Rename appdata and desktop files to contain D-Bus well-known name
as per freedesktop spec
2019-03-27 22:18:01 +03:00
pentarctagon
23375f07df Scons/Macos: Fix for vorbisfile.h not being found. 2019-01-22 18:34:21 -06:00
loonycyborg
d1ed0dccd1 scons: improved error handling for sql client lib and added support for mariadb_config 2019-01-15 14:23:47 +03:00
Jyrki Vesterinen
4147df7efc Explicitly link to GObject (should fix #3840) 2019-01-05 17:31:00 +02:00
pentarctagon
e273684f66 Disable requirements for OpenGL/GLEW. 2018-12-31 13:26:48 -06:00
loonycyborg
5164cd030f Fix #3809 : add option to control use of autorevision to scons 2018-12-27 14:39:31 +03:00
Martin Hrubý (hrubymar10)
ca7f7a2e93 Fix C-Make and Scons builds 2018-10-30 07:16:42 +02:00
Victor Sergienko
8716b8f9d0 #3634, #3557: Port from iOS: Compile with Apple crypto framework instead of OpenSSL. 2018-10-25 23:20:04 -07:00
Pentarctagon
6714ef32e0 Fixes #3518
Certain distro/compiler combinations will apparently warn about not optimizing when _FORTIFY_SOURCE is set.

(cherry-picked from commit 09fcc6b0519d458cbc3e16788576000a8484020b)
2018-10-07 03:24:57 +00:00
loonycyborg
790d13e937 scons: fix strict hardened builds on Gentoo
(cherry-picked from commit 0c3ba36d68754acc2328fd704e1b8df17383e8cd)
2018-10-07 03:23:46 +00:00
josteph
2b2b08431e Revert "Excluded data/test/ from tarball"
This reverts commit c93482560779c0e137d9598b9e7185338afe2b82.

Keep data/test/ in 'scons dist' tarballs to match official tarballs.

(cherry-picked from commit bad6897cbc75225624814b66c9226cf6233e95cf)
2018-10-07 03:22:54 +00:00
josteph
0b633badc5 Fix 'scons dist'
This makes 'scons dist' work, although the resulting tarballs are not
yet identical to cmake tarballs.

Remove awk usage made obsolete by the git transition
(7f85fa000c836c27cfe9d829db3b0e8aaeb49821).

Update src/revision.hpp reference to use src/revision.h.  The former
name is unused since at least 7625b1e079b470119d72ea67ce955104f464e4b8.

(cherry-picked from commit 0ee485415710288d27f7b766e48fe7451b03c9a4)
2018-10-07 03:22:53 +00:00
Pentarctagon
e405dc2bff Disabling hardening on Windows due to tdm-gcc's poor support.
As per sigurd's trial and error: RELRO's options are unknown entirely and -fstack-protector-strong results in compile errors.  Building with just PIE and _FORTIFY_SOURCE enabled does then compile, but results in a broken executable.

(cherry-picked from commit c9541176776aeb676e99f1804d123552430582ee)
2018-10-07 03:22:51 +00:00
Pentarctagon
9e78232e0e Fixup hardening options for Windows.
(cherry-picked from commit 277158222200d4131bbbb385e45a8c6993020b44)
2018-10-07 03:22:43 +00:00
Pentarctagon
bc3ad71f03 Fixup for osx hardening options.
(cherry-picked from commit da6ebc7423ea7b2e8a242ceb44f7bc72f2d08426)
2018-10-07 03:22:37 +00:00
Pentarctagon
6be6646a4e Enabled hardened executables by default.
The result of running "hardening-check wesnoth" now shows:
* Position Independent Executable: yes
* Stack protected: yes
* Fortify Source functions: yes (some protected functions found)
* Read-only relocations: yes
* Immediate binding: yes

(cherry-picked from commit 3290961db2eb00221c94f88f02f77ab640f497a4)
2018-10-07 03:22:36 +00:00
Pentarctagon
39785177e2 Fix stack protection with LTO.
(cherry-picked from commit 5a2d1bc992a4527eeee60f8624880a34d84be57c)
2018-10-07 03:22:33 +00:00
loonycyborg
b3bd32a936 scons: add missing winapi lib dependencies to mingw build
(cherry-picked from commit d96d5c506c2d8c8f47984b2e1d4bf13111e195a2)
2018-10-07 03:22:10 +00:00
loonycyborg
ffb078c119 scons: don't let pkg-config to add prefix on msys2
This is workaround for windows style path confusing scons if they appear
in CPPATH etc. Paths without prefix still happen to be valid and they
start with "/", not "c:".

(cherry-picked from commit b347bc70b163a572751b7ac72f23e472c3ac9238)
2018-10-07 03:22:09 +00:00
loonycyborg
f7ad6de3fd Enable ASLR and NX bit security features for mingw builds
(cherry-picked from commit 8b1a5c0dde9e1a36531e6d104737b40531e59cd0)
2018-10-07 03:22:06 +00:00
Charles Dang
848062fde6 Remove the CMake/Scons compile-time check for IEEE 754 compliance
Now handled by a static assertion.

(cherry-picked from commit d9315199ee44dfa8a36e4e01a9332ef21505df3c)
2018-10-07 03:21:31 +00:00
Charles Dang
ee2b9d242e Bump min required Windows version to 7
Technically, all this code should work on Vista, (including the recent switch to using
SHGetKnownFolderPath), but since we're also considering requiring Visual Studio 2017
for building, we need Windows 7.

(cherry-picked from commit 2a585118d8b6c4b37d0ff9446a72ca20419ff7f7)
2018-10-07 03:20:45 +00:00
Pentarctagon
e2501940a0 Warn about use of trampolines for nested functions.
Use of this feature with GCC in particular causes the stack to become marked as executable.

(cherry-picked from commit 96b43a9af4ec76882afe6924e9c3dafb5b8beac5)
2018-10-07 03:20:41 +00:00
pentarctagon
36eae8c771 Add option to build wesnoth with hardening options.
(cherry-picked from commit 6c5fc82b1baa0fc7b40beaccd975d595c5db728f)
2018-10-07 03:20:23 +00:00
pentarctagon
a040d521a4 Updates cmake and scons to be able to compile with OGL.
Scons OpenGL/GLEW test taken mostly verbatim from 3e2eba22a96cb2c6c69ee5109059b806f22a372f

(cherry-picked from commit 5e36a90039ddde3625690ace5259198e1932a7f8)
2018-10-07 03:20:04 +00:00
Matthias Krüger
4c5e74b2da cmake/scons: if sanitizers are enabled, also add -fno-omit-frame-pointer and -fno-optimize-sibling-calls.
Otherwise, if we build with sanitizers and optimizations, the sanitizer stacktraces can become quite hard to read.

(cherry-picked from commit 29089a47369c32d4eabb93ac7f5b33222c047670)
2018-10-07 03:19:54 +00:00
Martin Hrubý (hrubymar10)
75d6df374d Remove rest of Growl things which I forgot before
(cherry-picked from commit 783738b2f52f12c998a94ae9483803eeace89b38)
2018-10-07 03:19:36 +00:00
pentarctagon
754b8a6221 Print the value of STRICT and build_timeout.
(cherry-picked from commit 96c41271d80937da778d05477b0e1caadc6def10)
2018-10-07 03:19:35 +00:00
pentarctagon
1ef1704fd9 Adds the opt/OPT option to scons/cmake.
Travis now also makes use of this to set the optimization level for the -O0 builds, rather than extra_flags_*.  This additionally fixes an issue where using -O0 in the release build with LTO resulted in the individual *.o files being compiled with -O0, but LTO then still linked with release's default -O3.

(cherry-picked from commit 63ff641662d4192401a49f9a002d7872000a3f02)
2018-10-07 03:19:35 +00:00
Charles Dang
31e6c40653 Removed OpenMP-related code
After some discussion, we concluded that this code was unmaintained, not even used in
some places (display.cpp, units/frame.cpp), leaving the only area that really used it
at all the image surface cache. Considering there was never really a conclusive benchmark
of its benefits and because said surface cache will be used a lot less going forward,
we're just removing it and simplifying everything for everyone.

Closes #1260 since it's now irrelevant.

(cherry-picked from commit 3792612fb759942e6eb5de51364c2cca4ed16b40)
2018-10-07 03:19:30 +00:00
loonycyborg
a0c91ac41e Fix build against static libboost
(cherry-picked from commit c51065e39c85bfd8e4705cefa381451385c29bf8)
2018-10-07 03:19:28 +00:00
pentarctagon
b32ce37de5 Allow setting c++17 in scons.
(cherry-picked from commit 7aeca70cb04f1990aeef0213b88ec80b0f4d24f8)
2018-10-07 03:19:14 +00:00
Charles Dang
32da54b059 Removed Boost Thread as a built-time dependency
We use std::thread now.

(cherry-picked from commit 9de7aff9044b1aae7fc56c4b78a400d93c0f6750)
2018-10-07 03:19:10 +00:00
Iris Morelle
6f5f1482d2 cmake, scons: Drop option to enable or disable the removed SDL_SavePNG code
Commit dfc42e8a8dd550ca04ae16e2d2d7ebffbba0bc21 removed said code since
Wesnoth can use IMG_SavePNG() from SDL_image 2.0 instead. However, the
author left the build-time configuration options intact, and also part
of the necessary code for CMake to link Wesnoth against libpng.

Note that this change also eliminates an unnecessary direct link-time
dependency on libpng when using both CMake and SCons.

(cherry-picked from commit 4799ca05fe40838c41814433780d0464d9b8f071)
2018-10-07 03:18:33 +00:00
Iris Morelle
cdae5011bf scons: Sort help text with a custom function that will run on Python 3
(cherry-picked from commit 6b67c18d8927cf7f982a1feac867c301211a186e)
2018-10-07 03:18:30 +00:00
Iris Morelle
2584a21716 Sort scons --help output
(cherry-picked from commit a31b5ebcba90787eb9d0de8ceecfbc5293dd2eb3)
2018-10-07 03:18:30 +00:00