1
1
forked from 0ad/0ad
Commit Graph

134 Commits

Author SHA1 Message Date
7382a4885b Use pkg-config more extensively in build
We now make use of `pkg-config` on Linux, BSD, and macOS systems to find
the headers and libs for the following dependencies, where we weren't
previously:

* `enet`
* `fmt` (on macOS only)
* `gloox`'s dependencies on macOS:
    * `gnutls`
    * `gmp`
    * `nettle`
* `libcurl`
* `libogg`
* `libsodium`
* `miniupnpc` (on macOS only)
* `openAL`
* `openGL`
* `vorbis`
* `zlib`

Please see revision (https://code.wildfiregames.com/D3611) for details.

NOTE: All those building on macOS will need to rebuild their libraries
(`build-osx-libs.sh --force-rebuild`)


Tested by: Langbart (macOS), Freagarach (Ubuntu 18.04), Jenkins CI
(Debian Buster)
Comments by: Stan, wraitii, Freagarach
Differential Revision: https://code.wildfiregames.com/D3611
This was SVN commit r25938.
2021-09-23 16:10:25 +00:00
bb
080cae147e Remove generated test files, stub_impl_hack on cleanup
At some point make clean should take care of this.

Proposed By: elexis in D256
Approach suggested by: leper
Reviewed By: Freagarach
Differential Revision: D4219
This was SVN commit r25871.
2021-08-28 10:21:03 +00:00
c879308ad6 Use pkgconfig to find libpng
Should hopefully resolve an issue raised on IRC by @spcman and @Xavi92

Reviewed By: wraitii
Differential Revision: https://code.wildfiregames.com/D3610
This was SVN commit r24998.
2021-03-03 16:11:41 +00:00
2e27ece0a0 (2/2) Update premake5 to Alpha 15 - shell scripts
Update build shell scripts to use premake5 `gmake2.*` directories.
(The old `gmake.*` directories have been removed from premake5.)


Differential Revision: https://code.wildfiregames.com/D3219
This was SVN commit r24388.
2020-12-14 02:22:58 +00:00
d38fde3682 Do not attempt to rebuild bundled libs every time, and do not run CMAKE for nvtt everytime. Also pass -fpic for NVTT to prevent build failures on FreeBSD (reported by @nephele).
Unify the build scripts between macOS and Linux.

Reviewed by: @Freagarach, @wraitii
Differential Revision: https://code.wildfiregames.com/D3173
This was SVN commit r24310.
2020-12-01 19:29:21 +00:00
d8332a2938 [SM68 1/2] Upgrade Spidermonkey build system and binaries to 68.12.1
No noteworthy build system changes, however rust is now necessary for
Spidermonkey compilation.
On windows, clang-cl is now necessary.

Tested by: Freagarach, Stan, Subitaneo
Refs #5860

Differential Revision: https://code.wildfiregames.com/D3143
This was SVN commit r24296.
2020-11-30 08:59:49 +00:00
416cc90c3e Drop support for compiling with Visual Studio 2015
Ahead of the SM68 migration, where we will need to use VS17, drop
support for compiling with VS16.

Refs #5862

Differential Revision: https://code.wildfiregames.com/D3158
This was SVN commit r24286.
2020-11-28 16:54:48 +00:00
9a1c7cb8d2 Upgrade Mac OS libraries
All are updated except:
- WxWidgets (not sure about compatibility)
- libogg (doesn't compile)
- zlib/libsodimum which have no update.

This drops supports for 10.11 and earlier, meaning we can now assume
SSE4.1 is present.
Updates the build system to account for this.

Closes #5777 (by virtue of upgrading to SDL 2.12)

Refs #4362

Differential Revision: https://code.wildfiregames.com/D3111
This was SVN commit r24257.
2020-11-26 07:20:10 +00:00
f2cf2c97ad [SM60 1/2] Upgrade Spidermonkey build system and binaries to 60.9.1
This changes VS to use the same library name as other platforms, since
the toolsets are binary-compatible going forward. This makes the build
script slightly more streamlined on windows.
Also enable building NSPR on windows as part of the spidermonkey build,
instead of compiling it separately.

Tested by: SubitaNeo, Stan
Refs #5859

Differential Revision: https://code.wildfiregames.com/D3115
This was SVN commit r24242.
2020-11-24 15:41:52 +00:00
5ef6ff054d Prepare for VS2017 upgrade - workspace updates
This:
- Generates a VS solution for VS17
- Explicits the boost toolset chosen, leveraging ABI compatibility to
avoid recompiling the library (for now).
- Likewise, reuses the Spidermonkey libraries. The SM60 upgrades does
away with putting the toolset in the library name entirely.

Refs #5862

Differential Revision: https://code.wildfiregames.com/D3130
This was SVN commit r24240.
2020-11-24 08:29:21 +00:00
0cbd07b455 [SM52 3/2] Revert static linking change on linux - other fixes.
This reverts static linking on linux from 6bb08fb424, it appears to fail
to link and/or crash, depending.

- Commit the tarball.
- Update update-workspaces.sh

Refs #4893

Differential Revision: https://code.wildfiregames.com/D3114
This was SVN commit r24205.
2020-11-18 19:08:15 +00:00
c9d9b7be83 macOS build fixes and Jenkins pipelines.
This includes:
- some build fixes
- Jenkins pipelines, in use since January
- a revamped DMG build script, including dmgbuild configuration by Tobbi
and a tweak by norsnor (D2650)

Differential Revision: https://code.wildfiregames.com/D2523
This was SVN commit r23676.
2020-05-17 14:12:53 +00:00
782a77f106 Allow using system premake5 (with the flag --with-system-premake5) when running update-workspaces.sh, refs #1518.
Differential Revision: https://code.wildfiregames.com/D2519
This was SVN commit r23675.
2020-05-17 11:41:58 +00:00
601892a2bb Officially drop support for Visual Studio 2013, which stopped working after 3a839517ce, fixes #5379.
This was SVN commit r23382.
2020-01-12 20:04:22 +00:00
8dc425be5d Update update-workspaces.sh and premake5.lua with the with-system-mozjs45 flag from SpiderMonkey 45 in 64b477625d, refs #4893.
Differential Revision: https://code.wildfiregames.com/D2170
This was SVN commit r22660.
2019-08-13 11:30:46 +00:00
64b477625d Upgrade SpiderMonkey to version 45.0.2, refs #4893.
- Various build changes, in particular NSPR is not needed on Unix
anymore
- Add js/Initialization.h to source/scriptinterface/ScriptEngine.h
- Use nullptr instead of JS::NullPtr(), see
https://bugzilla.mozilla.org/show_bug.cgi?id=1164602
- Remove `JS::RuntimeOptionsRef.varObjFix`, see
https://bugzilla.mozilla.org/show_bug.cgi?id=1171177
- Remove uses of `AutoIdArray`, see
https://bugzilla.mozilla.org/show_bug.cgi?id=1191529
- `JS_InternUCStringN` has been renamed, see
https://bugzilla.mozilla.org/show_bug.cgi?id=1178581
- `JS::Evaluate` now takes scope chains explicitly, see
https://bugzilla.mozilla.org/show_bug.cgi?id=1097987
- Array functions (such as `JS_IsArrayObject`) are fallible and output
to params, see https://bugzilla.mozilla.org/show_bug.cgi?id=f3d35d8
- Remove `JSCLASS_CACHED_PROTO_WIDTH` workaround in our code, see
https://bugzilla.mozilla.org/show_bug.cgi?id=1236373
- Remove compile'n go (`setCompileAndGo`) and replace it by
`setIsRunOnce` which will become the default in the future, see
https://bugzilla.mozilla.org/show_bug.cgi?id=679939
- Mark shared memory in direct access operations
(`JS_GetUint16ArrayData` and `JS_GetUint8ArrayData`), see
https://bugzilla.mozilla.org/show_bug.cgi?id=1176214
- Use new `JS::ObjectOpResult`, see
https://bugzilla.mozilla.org/show_bug.cgi?id=1113369

Thanks to wraitii, elexis, Krinkle and historic_bruno for contributions
and comments, and to gentz, madpilot, s0600204 and Stan for testing and
indirect contributions.

Differential Revision: https://code.wildfiregames.com/D1510
This was SVN commit r22627.
2019-08-07 22:37:43 +00:00
d15e7df5de Target build version explicitly for Xcode
Xcode otherwise defaults to the latest Mac OS version.

Reviewed By: Wraitii
Differential Revision: https://code.wildfiregames.com/D1482
This was SVN commit r22295.
2019-05-25 08:28:35 +00:00
46ddffdd3f Drop premake4 support, refs #3729. premake4 has been unused for a long time now, and was only left available as a safety net.
Differential Revision: https://code.wildfiregames.com/D1275
This was SVN commit r21955.
2018-12-26 16:00:53 +00:00
7115e4f9c7 Target 10.9 as minimal OSX version in all scripts, in order to match the libraries build script.
Differential Revision: https://code.wildfiregames.com/D1685
Tested By: trompetin17
This was SVN commit r21942.
2018-12-03 11:07:00 +00:00
2b847a520a Small changes to the macOS build scripts.
Patch By: smiley, Tobbi and trompetin17.
Differential Revision: https://code.wildfiregames.com/D1609
This was SVN commit r21931.
2018-11-13 16:09:35 +00:00
f22dfba717 Support Visual Studio 2015 (MSVC 14.0), fixes #3439.
VS 2013 stays the default Windows compiler, but support for it will be
dropped as soon as possible.
Tested By: Stan
This was SVN commit r20562.
2017-11-29 21:16:10 +00:00
7d1f56e617 Migrate to premake5, fixes #3729.
Make pyrogenesis and tests depend on Collada, fixes #404.

This commit includes custom modules for CxxTest and pkg-config support
that can be improved upon in the future. It also includes all necessary
changes to the build scripts, but the new premake5 features are not
fully exploited yet.

With this change, premake5 becomes the default, but CI scripts on Unix
will continue using premake4 for a while, in order to avoid regressions.

Includes code by zsol.
Reviewed by: wraitii, leper
Differential Revision: https://code.wildfiregames.com/D72
This was SVN commit r20381.
2017-10-30 13:52:05 +00:00
6680dd14ef Small updates to build scripts, refs #4419.
Tweak the coverage script.
Update the clean-workspaces script to be able to avoid rebuilding
libraries.

Differential Revision: https://code.wildfiregames.com/D2
This was SVN commit r19074.
2016-12-27 09:49:41 +00:00
fc0e2a2f72 Fixes [18916]. Obviously I left over some code from my bundling of OSX. Update copyright to 2016.
This was SVN commit r18917.
2016-11-10 22:56:16 +00:00
12ad190a51 Allow .Deleted to work on directories. Fixes #2641. Patch by leper.
This was SVN commit r18916.
2016-11-10 22:52:39 +00:00
72a26857e9 Use the current OS X version instead of a hardcoded value in the path to the OSX development tools, when building the OSX bundle.
Patch by jurgemaister, plus some little fixes, fixes #3884.
Tested on OSX 10.11.

This was SVN commit r18726.
2016-09-15 13:41:16 +00:00
ca80797dcc SpiderMonkey 38 upgrade: 05/35
Update premake scripts.

This was SVN commit r18659.
2016-09-02 16:18:57 +00:00
674f49f1a8 Remove generated test files during clean-workspaces.sh. Patch by otero. Fixes #3275.
Also remove two generated and disabled test files.

This was SVN commit r16921.
2015-08-19 01:30:09 +00:00
47b4530245 Replaces usage of readlink -f in update-workspaces.sh with a perl one-liner, for compatibility with BSD and OS X, fixes #916
This was SVN commit r16767.
2015-06-14 20:43:12 +00:00
502e1a3960 Use SDL2 by default everywhere.
SDL1 can still be forced passing --sdl1 to update-workspaces.sh.
Eventually, if no blocking issues arise, SDL1 support could be dropped
after next release.

This was SVN commit r16586.
2015-04-27 08:49:16 +00:00
46d17483db Remove --with-system-miniupnpc.
It was deprecated in 776567d9b2. Either use a system provided miniupnpc,
or use --without-miniupnpc.

This was SVN commit r16442.
2015-03-16 04:35:01 +00:00
1a4176ebcf Updates OS X icon with multiple sizes and slightly reduced transparency to make it more easily clickable.
Updates OS X bundle build script, disables broken testing, refs #2780

This was SVN commit r16408.
2015-03-09 00:24:15 +00:00
e48e330db7 Sets SDL2 as default and only build option on Windows.
Removes remnants of WSDL. Refs #2041

This was SVN commit r16357.
2015-02-20 05:52:18 +00:00
c61981793c Fixes some missing replacements of mozjs24 with mozjs31
This has caused the bundled library to be built even if
--with-system-mozjs31 is specified (but actually it has still correctly
used the system library after building the bundled library).
Refs #2462

This was SVN commit r16235.
2015-01-26 18:19:24 +00:00
c02a7e1a7b SpiderMonkey 31 upgrade
This upgrade also introduces exact stack rooting (see to the wiki:
JSRootingGuide) and fixes problems with moving GC. This allows us to
enable generational garbage collection (GGC).
Measurements a few months ago have shown a performance improvement of a
non-visual replay of around 13.5%. This probably varies quite a bit, but
it should be somewhere between 5-20%. Memory usage has also been
improved. Check the forum thread for details.

Thanks to everyone from the team who helped with this directly or
indirectly (review, finding and fixing issues, the required C++11
upgrade, the new autobuilder etc.)! Also thanks to the SpiderMonkey
developers who helped on the #jsapi channel or elsewhere!

Fixes #2462, #2415, #2428, #2684, #1374
Refs #2973, #2669

This was SVN commit r16214.
2015-01-24 14:46:52 +00:00
09bbc9c35c Enable C++11 by default.
Don't generate workspaces and remove checks for unsupported compier/IDE
version$

Refs #2669

This was SVN commit r16160.
2015-01-18 13:44:03 +00:00
3c33a8a072 Add back the VS2013 project files to the files generated by update-workspaces.bat on Windows, as Boost libs were updated to 1.56.
Fixes #2271, addresses d672d9625d.

This was SVN commit r15883.
2014-10-17 17:50:53 +00:00
c981dc4e9d Adds missing l10n folder to OS X bundle build script, fixes #2689
This was SVN commit r15878.
2014-10-17 02:59:11 +00:00
f5179930f5 Remove leftovers from bundled miniupnpc. Refs #2552.
Fix cleanup of SM24.

This was SVN commit r15873.
2014-10-15 15:34:32 +00:00
776567d9b2 Removes bundled MiniUPnPc source, it is now a required system library on *nix. NOTE: update-workspaces must be run. See the updated BuildInstructions for details.
Adds precompiled MiniUPnPc 1.9 libs for win32, fixes #2552.
Updates build-osx-libs.sh for these changes, including patch to fix
clang symbol visibility (fixed upstream).
Updates LICENSE.txt.
Fixes bug in build-osx-libs.sh where downloaded files might not have the
expected filename.
Fixes problem with building wxWidgets for 32-bit OS X targets,
apparently ARCH is ignored sometimes, but --enable-macosx_arch works.

This was SVN commit r15870.
2014-10-15 03:47:13 +00:00
9c92f45c61 Fixes typo in OS X bundle build script.
Changes SDL2 version in build-osx-libs.sh to Hg snapshot SDL-2.0.4-9134,
refs #2852

This was SVN commit r15849.
2014-10-06 23:45:34 +00:00
a86231240d Fixes some bugs in OS X bundle build script.
Logs most build output to file using simple redirects for now.
Hides output of pushd/popd commands

This was SVN commit r15828.
2014-09-29 04:33:51 +00:00
2afeec0c01 Unify removal of incomplete translations in packaging scripts. Fixes #2825.
This was SVN commit r15826.
2014-09-28 21:51:48 +00:00
8f039bfb44 Fixes translation inclusion regex for build-osx-bundle.sh, fixes #2764
This was SVN commit r15808.
2014-09-26 01:06:21 +00:00
b155d4f7e3 Updates OS X bundle build script. Adds --release flag which can be used to build a proper release bundle, including SVN export, at the expense of time and disk space. Moves SVN-specific logic to this mode, otherwise the script works with git or no source control at all.
Removes obsolete instructions for building a 32-bit 10.5 bundle.

This was SVN commit r15801.
2014-09-25 02:18:19 +00:00
5ad07045e2 Sets OS X build to use SDL2 by default, refs #2041
This was SVN commit r15799.
2014-09-25 01:54:58 +00:00
3f75e5db0e Adds --sdl2 flag to update-workspaces.bat, making SDL2 the default on Windows, refs #2041
This was SVN commit r15786.
2014-09-22 19:42:55 +00:00
8f61e36352 Adds SDL2 to build-osx-libs.sh, but leave SDL1 as the default while we test, refs #2041.
Note: SDL2_CONFIG is now the variable to override the path to
sdl2-config, SDL_CONFIG remains to override the path to sdl-config

This was SVN commit r15774.
2014-09-20 19:02:24 +00:00
6bec648833 Removes bundled ENet source. NOTE: system libenet (1.3) is now required on *nix, see BuildInstructions for updates. This change requires running update-workspaces. Fixes #1568.
Updates update-workspaces.sh and build-osx-libs.sh for this change.
Updates precompiled win32 ENet to 1.3.12, built with VC++ 2010, and
moves it to libraries/win32, refs #864.

This was SVN commit r15457.
2014-06-28 05:48:51 +00:00
fd6b199606 Fix compiling on Mavericks. Users on older systems will need to change a few lines in either of those scripts, but it should not break their build. For now, I'm saying it Fixes #2304 .
This was SVN commit r15447.
2014-06-25 18:01:00 +00:00