Commit Graph

204 Commits

Author SHA1 Message Date
SNMetamorph a520af42e8 wscript: opus subproject set as mandatory 2022-08-18 04:46:11 +03:00
Alibek Omarov 44cd03f464 wscript: refactor opus wscript files, now it builds only if system package wasn't found 2022-08-18 04:46:11 +03:00
Velaron 2b9e050f57 engine: voice support 2022-08-18 04:46:11 +03:00
Alibek Omarov 90c566dde3 wscript: enable GCC's -Wmisleading-indentation 2022-08-06 20:17:42 +03:00
Alibek Omarov 5e4fc64430 filesystem: introduce new module, based on engine filesystem.
The goal is to share filesystem code between engine and
utilities and provide C++ VFileSystem interface in the future
2022-07-28 18:56:02 +03:00
Alibek Omarov 854bfb8673 wscript: woops, msvcrt don't actually have stristr 2022-06-29 04:02:57 +03:00
Alibek Omarov d52b07beac wscript: add stristr/strcasestr presense check 2022-06-29 02:43:09 +03:00
Alibek Omarov c69ea00e79 wscript: better _FILE_OFFSET_BITS check, as suggested by @nekonomicon 2022-06-12 04:25:09 +03:00
Alibek Omarov acffeb1dad wscript: enable gl4es for Android builds 2022-06-12 03:06:31 +03:00
Alibek Omarov 6dbb694fdc wscript: define _FILE_OFFSET_BITS=64 on 32-bit systems if libc (presumably glibc) supports it 2022-02-01 19:42:38 +03:00
Alibek Omarov 5aa6bfee85 engine: first attempts on fuzzing the engine 2022-01-15 06:24:57 +03:00
Alibek Omarov f9d0fba05f wscript: remove duplicated branches diagnostic for good 2022-01-04 09:01:08 +03:00
Alibek Omarov 23e2f4d0cc wscript: fix install on Android 2021-12-18 03:46:21 +03:00
Alibek Omarov aa7bfb4819 engine: check for non-standard alloca header 2021-12-03 09:22:40 +03:00
Alibek Omarov fc665527ae wscript: try to fix install on windows 2021-11-27 06:04:26 +03:00
Alibek Omarov c64b3db6b8 wscript: remove win-style-install option, introduce enable-packaging 2021-11-25 16:52:28 +03:00
Alibek Omarov 67e77ca099 wscript: move setting DOS options where they should be 2021-11-24 23:54:03 +03:00
Alibek Omarov 2939ab8ea4 wscript: allow compiling with disabled warning-as-error 2021-09-06 00:04:27 +03:00
Alibek Omarov 9287a0f5c5 wscript: add some more warnings as errors 2021-07-02 19:27:45 +03:00
Alibek Omarov 9d0c7338ab wscript: make win32 common libraries check faster 2021-06-14 01:13:28 +03:00
Alibek Omarov 4abac92891 wscript: try to fix tgmath detection on freebsd 2021-03-07 00:28:57 +03:00
Alibek Omarov 9b6f26c191 mdldec: build with CONSOLE subsystem on Win32 2021-03-05 17:59:54 +03:00
Alibek Omarov add4cf4232 mdldec: add wscript, disabled by default 2021-03-05 16:00:26 +03:00
Alibek Omarov 14008703f6 wscript: fix tgmath check for old toolchails like GCW0 2021-03-01 21:46:58 +03:00
Alibek Omarov 256284d76f wscript: refactor loading MSVC tools, apply @w23 hack for renaming DEST_CPU 2021-02-26 16:04:45 +03:00
Ivan 'provod' Avdeev 5b597028fe make it reliably compile for amd64 on windows
This makes it possible to just pass `-8` to ./waf configure on Windows
and it will build 64-bit binaries. Yay I guess.

However, it's completely broken conceptually -- it ends up just brute
rewriting `conf.env.DEST_CPU` from `amd64` to `x86_64` at one particular
point in wscript. Why? Because many places in build system expect
`x86_64` as 64-bit DEST_CPU, especially breaking SDL2 lib detection.
Some of these are in waifu and patching that is beyond what I can hold
in my head right now.
Why that particular point? Because it DEST_CPU gets rewritten a few
times before that and no times after it seems.

This does not address `./waf msvs` VS project generation yet -- it will
still produce only Win32 platform that needs to be manually rewritten.

There's a mechanism for msvs extras to be passed a set of platforms, but
I've yet to make it work.
2021-02-26 16:04:45 +03:00
mittorn 6e43f9bdd0 waf: fix wrong message about 32-bit build 2021-02-12 00:05:41 +03:00
Alibek Omarov d6d90f03a0 wscript: refactoring, split optimization flags selection and fpic control into standalone modules 2021-01-29 03:33:14 +03:00
mittorn 341e440c07 public,sprites: fix -Wcast-align, disable -Werror for it 2020-11-18 12:15:54 +03:00
Alibek Omarov 9c6183e6a0 wscript: add some more alignment related diagnostics 2020-09-29 15:42:43 +03:00
Alibek Omarov 64a96b26ad wscript: disable treating uninitialized as error because it gives too much false-positives 2020-05-13 00:24:50 +03:00
Alibek Omarov 92f0bf54f1 wscript: enforce error on uninitialized variables 2020-05-02 18:01:44 +03:00
Alibek Omarov 012a193685 wscript: check for stdint.h and use it, instead use pstdint.h 2020-03-30 00:46:58 +03:00
mittorn 7ad658ee3a wscript: increase stack size for owcc 2020-02-12 17:41:24 +07:00
mittorn 49445f0663 wscript: check for fPIC before removing 2020-02-09 01:00:45 +07:00
mittorn 9b40d91a9b wscript: do not enforce PIC with lib_static 2020-02-08 23:55:56 +07:00
mittorn 51849c6140 platform: DOS4GW port 2020-02-08 23:15:40 +07:00
mittorn bbd033c254 lib: restore dll loader support 2020-01-19 07:38:37 +07:00
mittorn 22dc5b7416 Merge branch 'lib' of https://github.com/FWGS/xash3d-fwgs 2020-01-18 07:15:45 +07:00
Alibek Omarov 32eb42a92f wscript: don't error if uninitialized(old compilers like gcc5 have bad heuristics) 2019-12-24 03:56:07 +03:00
Alibek Omarov 0fe18ae6dc engine: fix -Wmaybe-uninitialized 2019-12-24 02:47:51 +03:00
Alibek Omarov e11a08064d engine: fix implicit-fallthrough, uninitialized, enum-conversation compiler diagnostics 2019-12-23 06:48:17 +03:00
Aimless-Wanderer c57d8995c6 wscript: fix syntax
Same as https://github.com/FWGS/hlsdk-xash3d/pull/116
2019-12-10 14:32:52 +03:00
Alibek Omarov fa90dbbd5e wscript: fix sanitize build 2019-12-03 02:35:23 +03:00
Alibek Omarov fe362a1ab5 wscript: add incompatible-pointer-types only for C 2019-12-02 02:13:23 +03:00
Alibek Omarov c07109e69c engine: fix -Wincompatible-pointer-types, add it to Werror list 2019-11-28 19:18:50 +03:00
mittorn 177f8ed653 platform: introduce lib backends, add static linking, wscript: add optional projects support, add static linking support, scripts: add xshlib for advanced linking options 2019-11-18 03:31:55 +07:00
Alibek Omarov f8b0ec8c4b wscript: tune-up options for magx 2019-11-07 06:56:07 +03:00
Alibek Omarov 5bae732818 scripts: build ref_soft for magx 2019-11-07 05:15:45 +03:00
Alibek Omarov 08b3de08e7 wscript: use SINGLE_BINARY on motomagx 2019-11-07 05:07:28 +03:00
Alibek Omarov 7e4a7ac23d wscript: workaround bug when CC_VERSION is not set for msvc 2019-11-07 04:49:49 +03:00
Alibek Omarov d18cb1f74c wscript: add special options for fast build type for gcc3 2019-11-07 02:20:17 +03:00
Alibek Omarov 13ed8d4529 wscript: move motomagx options to root wscript, disable PIC for this old machine, set default options 2019-11-06 23:14:20 +03:00
Alibek Omarov 39abd82e5d wscript: silence MSVC tgmath nonsense 2019-11-05 09:41:26 +03:00
Alibek Omarov 79adaa11e0 lowmemory: merge 2019-11-05 01:15:31 +03:00
Alibek Omarov d2740f78c1 wscript: refactoring, add waf_unit_test, disable -Wdouble-promotion, rename fast as fastnative and leave fast without -march=native for x-compiling 2019-11-05 01:01:33 +03:00
mittorn b3a5283517 lowmemory: rename waf options 2019-10-28 12:31:29 +07:00
mittorn ba1347a8ce wscript: add options for low memory, async ns resolve and swap allocator 2019-10-26 12:12:59 +07:00
Alibek Omarov 8905e7cbb7 wscript: fix stdin input wasn't enabled for dedicated. Fix single-binary help string 2019-10-23 20:47:49 +03:00
Alibek Omarov 0933261898 wscript: oops, remove trailing colon 2019-10-18 16:46:54 +03:00
Alibek Omarov e93d362391 wscript: explicitly undefine HAVE_TGMATH_H if tests are failed 2019-10-18 16:46:54 +03:00
Alibek Omarov 2b13de80bf wscript: check if tgmath actually compiles, should fix building under freebsd 2019-10-18 16:46:54 +03:00
Alibek Omarov 2c67f4cb39 wscript: fix wrong object method call 2019-10-18 16:46:54 +03:00
Alibek Omarov 4705683ebc wscript: conf.define instead of directly appending to DEFINES 2019-10-18 16:46:54 +03:00
Alibek Omarov 8afb2dbdec wscript: better tgmath check, make double-promotion not an error 2019-10-18 16:46:54 +03:00
Alibek Omarov 0577ecbccf public: initial fix of double promotion 2019-10-18 16:46:54 +03:00
Alibek Omarov 869b684536 wscript: remove multicheck for win32 libs, remove sdl2 checking from main wscript 2019-10-18 06:35:05 +03:00
Alibek Omarov bc56ce754b wscript: move C only flags from common flags, correct multicheck again 2019-10-18 06:20:27 +03:00
Alibek Omarov 32897450fc wscript: declare uselib_store for multicheck 2019-10-18 05:41:56 +03:00
Alibek Omarov fdbd1c5658 wscript: check win32 libraries in parallel 2019-10-18 05:11:18 +03:00
Alibek Omarov eaf983c054 wscript: remove BIT32_ALLOW 2019-10-18 05:06:10 +03:00
Alibek Omarov 11c373a183 waf: upgrade to latest waifu 2019-10-11 07:40:40 +03:00
Alibek Omarov 7782fa09ac wscript: refactor cflags appending, add optional polyhedral optimizations 2019-10-11 04:12:07 +03:00
Alibek Omarov ae624801ac wscript: proper default showing in help 2019-10-11 03:46:17 +03:00
Alibek Omarov 8889bda261 wscript: use ConfigurationContext.define instead of appending to env['DEFINES'] 2019-10-11 03:42:20 +03:00
Alibek Omarov 39ff3b199a wscript: fix LTO check scope 2019-10-06 06:58:45 +03:00
iZarif 4c559a4a08 wscript: add --enable-lto option 2019-10-06 06:10:06 +03:00
Alibek Omarov e6dd4882cc wscript: more paranoic Werrors 2019-10-05 03:06:51 +03:00
mittorn 03c73f56d2 waf: add linkflags before filtering cflags 2019-09-29 01:42:17 +07:00
mittorn faf592adb4 waf: filter_cflags does not work with msvc 2019-09-28 04:59:09 +07:00
mittorn 0aa57854ca waf: fix unwanted required_flags modification 2019-09-28 04:36:08 +07:00
mittorn d633fe5deb waf: add cflags detection, make some warning flags optional 2019-09-28 04:26:19 +07:00
Alibek Omarov b91e97ca53 wscript: remove DEST_OS2 2019-09-19 17:09:18 +03:00
Alibek Omarov 43575b485d wscript: add an option to not strip binaries 2019-09-11 20:26:34 +03:00
Alibek Omarov 67c6cfce71 waf: strip installed binaries to reduce size 2019-09-11 18:47:44 +03:00
Alibek Omarov 5986874be2 wscript: enable clang_compilation_database in options 2019-09-10 10:30:03 +03:00
Alibek Omarov 56938344b8 engine: win32: include shellapi.h 2019-08-09 03:07:56 +03:00
Alibek Omarov b1f23f9ff6 engine: patch dedicated to build 2019-07-27 15:40:57 +03:00
Alibek Omarov 35ae421ac1 wscript: add shortened option for win-style-install 2019-07-27 14:34:59 +03:00
Alibek Omarov 0ce8d92f27 wscript: ease debugging with sanitizers under Clang 2019-07-26 17:10:47 +03:00
Alibek Omarov 8a4239d48d wscript: disallow -Wparentheses 2019-07-13 23:26:19 +03:00
Alibek Omarov 58a747e8ac wscript: proper activation of sanitizer on Clang 2019-07-11 03:59:20 +03:00
Alibek Omarov be98a228a7 wscript: enforce hidden visibility 2019-07-09 04:53:25 +03:00
Alibek Omarov 8d0ea1d03e wscript: disallow int-conversion 2019-07-09 03:48:09 +03:00
Alibek Omarov 7702a7a8d0 wscript: force /MT for msvc explicitly 2019-07-07 00:15:52 +03:00
Alibek Omarov a378379ac5 engine: network: link to Winsock2 directly 2019-06-29 22:01:32 +03:00
Alibek Omarov b1406e8ecd waf: fix multiprocess compilation with msvc 2019-06-26 16:41:58 +03:00
Alibek Omarov ba11b849ed
wscript: disable thread-safe local static initialization for C++11 code, as it cause crashes on Windows XP 2019-06-13 00:49:27 +03:00
Alibek Omarov a8cc5b7cef waf: update to 2.0.17, rename module dir to waifulib, remove some modules, as they moved to waf binary itself(see waifu project) 2019-06-06 03:26:45 +03:00
Alibek Omarov 1ffc593993
wscript: check for 64-bit only for Win/Linux/Mac and only on amd64
It's useless to force 32-bit code for everything, as GoldSrc exists only for Intel CPUs and Windows, Linux or OSX
2019-05-31 02:59:45 +03:00