Commit graph

676 commits

Author SHA1 Message Date
Severin Glöckner
86c4e3c8da Hide warnings from GCC if compiling with LTO
This adds the change from d643edc (in scons) and 941433e (in cmake) to the linking step as well, but only when using LTO

closes  #5350
2021-01-18 23:08:06 +01:00
loonycyborg
18387601d7 scons: correct open() call for lockfile creation with py3 2020-02-23 15:37:46 +03:00
loonycyborg
250849080e scons: fix build failure with --config=force 2020-02-09 17:42:37 +03:00
Pentarctagon
71eeb7e35f
-Werror=non-virtual-dtor is not a valid C flag. 2020-01-09 19:48:53 -06:00
loonycyborg
a323c68068 scons: fix build with forum_user_handler=true + py3 2019-10-13 18:55:28 +03:00
loonycyborg
5a7da7f284 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:27:06 +03:00
V N
1e8ef4963e
backport SConstruct have_fortify change
See 7437b3992e
2019-09-11 12:57:46 +02:00
Pentarctagon
23f74d9781 Remove build options for OpenMP. 2019-07-24 19:45:41 -05:00
josteph
ca34902a30 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.

(cherry picked from commit d76a7ba5d0)
2019-06-11 13:15:55 +00:00
pentarctagon
e3e23f7b4d Scons/Macos: Fix for vorbisfile.h not being found. 2019-01-22 18:43:03 -06:00
Jyrki Vesterinen
d664aaf96e Explicitly link to GObject (should fix #3840) 2019-01-05 16:50:38 +01:00
loonycyborg
52fab0b249 Fix #3809 : add option to control use of autorevision to scons 2018-12-27 14:41:26 +03:00
Victor Sergienko
6a7abea073 After and #3634, #3557, this switch is excess. 2018-10-25 20:10:09 -07:00
Victor Sergienko
14ea6d49f3 #3634, #3557: Port from iOS: Compile with Apple crypto framework instead of OpenSSL. 2018-10-24 22:43:44 -07:00
Pentarctagon
44e7b12af6 Fixes #3518
Certain distro/compiler combinations will apparently warn about not optimizing when _FORTIFY_SOURCE is set.
2018-09-06 18:46:45 -05:00
Martin Hrubý (hrubymar10)
8d8f9acc5e Fix C-Make and Scons builds 2018-08-21 18:56:28 +03:00
loonycyborg
47b902033d scons: fix strict hardened builds on Gentoo 2018-07-27 15:15:09 +03:00
Pentarctagon
c0420aa84e Remove -fstack-protector-strong.
This option was added in GCC 4.9, and 1.14 checks for 4.8+.
2018-07-21 10:22:39 -05:00
Pentarctagon
d304640f05 Adds the opt/OPT option to scons/cmake.
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.
2018-07-01 13:49:21 -05:00
josteph
ebbc2152fe Revert "Excluded data/test/ from tarball"
This reverts commit c934825607.

Keep data/test/ in 'scons dist' tarballs to match official tarballs.
2018-06-23 09:36:42 +03:00
josteph
91586e9a8b 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
(7f85fa000c).

Update src/revision.hpp reference to use src/revision.h.  The former
name is unused since at least 7625b1e079.
2018-06-23 09:36:31 +03:00
Pentarctagon
8de4d81f20 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.
2018-06-22 08:32:14 -05:00
Pentarctagon
ca00829199 Fixup hardening options for Windows. 2018-06-16 13:19:53 -05:00
Pentarctagon
5f4dac29e4 Fixup for osx hardening options. 2018-06-15 01:51:49 -05:00
Pentarctagon
7d180c93e0 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
2018-06-15 00:13:53 -05:00
Pentarctagon
643b4aa0e0 Fix stack protection with LTO. 2018-06-10 20:10:50 -05:00
Pentarctagon
9cacf9f301 Add option to build wesnoth with hardening options. 2018-06-10 19:14:39 -05:00
loonycyborg
8ff65117c5 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:".
2018-06-01 22:45:45 +03:00
loonycyborg
ee638bc892 Typo fix 2018-05-31 11:59:02 +03:00
loonycyborg
8a1d50799e Enable ASLR and NX bit security features for mingw builds 2018-05-31 03:34:40 +03:00
Charles Dang
7904debd14 Remove the CMake/Scons compile-time check for IEEE 754 compliance
Now handled by a static assertion.
2018-05-21 14:40:28 +11:00
Martin Hrubý (hrubymar10)
3352247660
Remove rest of Growl things which I forgot before 2018-04-21 13:05:31 +02:00
Iris Morelle
596731536e cmake, scons: Drop option to enable or disable the removed SDL_SavePNG code
Commit dfc42e8a8d 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.
2018-03-27 18:56:43 -03:00
Iris Morelle
ce759acda2 scons: Sort help text with a custom function that will run on Python 3 2018-03-27 03:52:23 -03:00
Iris Morelle
d1b8e6a50c Sort scons --help output 2018-03-27 03:45:42 -03:00
Iris Morelle
6265181b57 Revert "Bump min Boost version to 1.56.0"
This reverts commit c82c1ff905.
2018-03-24 01:44:05 -03:00
Celtic Minstrel
c82c1ff905 Bump min Boost version to 1.56.0 2018-03-18 01:59:36 -04:00
loonycyborg
0eb314c4b5 scons: reorder boost checks to avoid linker errors with static libboost 2018-03-13 21:51:47 +03:00
loonycyborg
e637c55d50 scons: added a check for icu support in boost locale 2018-03-13 18:23:32 +03:00
Charles Dang
471c9e876a Addressed a large chunk of the whitespace issues from #2613
[ci skip]
2018-03-09 11:37:00 +11:00
pentarctagon
6f02d1bebb Make scons' mysql handling more normal. 2018-03-02 13:55:22 -06:00
Charles Dang
5c570841d3 Bump required Pango version from 1.21.3 to 1.22.0
Just enough to get rid of that conditional use of pango_cairo_font_map_create_context.
2018-02-17 12:18:17 +11:00
Jyrki Vesterinen
1d47c23efe Revert "Enable LTO by default."
This reverts commit 44f567c6a3.

Enabling LTO by default causes too many problems, inclusing build
failures for @doofus-01 and link failures with Clang for me.

Players and packagers can still amanually enable LTO in case it
works fine for them.
2018-02-12 08:11:50 +02:00
Jyrki Vesterinen
a5a9f6ab19 Revert "Fix release builds with Clang and SCons"
This reverts commit a1e821fb95.

This won't be necessary with the next commit.
2018-02-12 08:08:01 +02:00
pentarctagon
bdd5089dd7 CC should be checked for gcc, not CXX. 2018-02-11 10:46:11 +02:00
Jyrki Vesterinen
a1e821fb95 Fix release builds with Clang and SCons
The detection for when Clang is used was incorrect, resulting in GCC-only
parameter being passed to Clang.

In addition, at least on my system LTO+Clang caused linking errors even
with that fixed. As an emergency fix, I completely disabled LTO for Clang.
2018-02-11 01:27:22 +02:00
pentarctagon
c8200093b2 Fixes LTO/PGO options not being used when ccache is enabled.
When ccache is enabled, env["CC"] becomes - 'CC': '$CCACHE gcc'
2018-02-09 19:33:47 +02:00
Severin Glöckner
3777a5b307 add an appdata file for appstream software centers
(closes #1831 & #2160)
2018-02-02 23:46:59 +01:00
pentarctagon
44f567c6a3 Enable LTO by default.
LTO for Windows is disabled for now, as TDM-GCC does not work well with it.
LTO for Travis is also disabled, due to the extra time linking with LTO takes.
2018-02-02 17:56:07 +11:00
pentarctagon
73a3e3cc63 Adds cmake's pedantic option to scons. 2017-12-04 09:23:33 -06:00