Changes between Version 356 and Version 357 of BuildInstructions


Ignore:
Timestamp:
Aug 8, 2019, 12:39:20 AM (5 years ago)
Author:
Itms
Comment:

SpiderMonkey upgrade

Legend:

Unmodified
Added
Removed
Modified
  • BuildInstructions

    v356 v357  
    3131If you want to develop, the only supported IDEs are:
    3232
    33  * Visual C++ 2013 (default compiler, used in official builds of the game)
    34  * Visual C++ 2015 (compiler used to build development version of the game since https://code.wildfiregames.com/rP22348)
     33 * Visual C++ 2013
     34 * Visual C++ 2015 (default compiler)
    3535
    3636'''Important notes:'''
     
    9393 * CMake (only needed if you use bundled NVTT)
    9494 * GCC (at least 4.8.1, required by C++11 features)
    95  * Python 2.7 (required for cxxtest and non-system SpiderMonkey 38)
     95 * Python 2.7 (required for cxxtest and non-system SpiderMonkey 45)
    9696 * libcurl (at least 7.32)
    9797 * libenet (1.3, the older 1.2 is not compatible)
    9898 * libgloox (needed for the lobby; at least 1.0.10, previous versions are know to have connection problems; pass `--without-lobby` to `update-workspaces.sh` to exclude the lobby)
    9999 * libicu
    100  * libnspr4
    101100 * libogg
    102101 * libpng
     
    118117To use shared system libraries instead of bundled copies (default) of libraries (pass the flag `--with-system-$COMPONENT` to `update-workspaces.sh` to use the non-bundled copy):
    119118
    120  * [https://developer.mozilla.org/docs/SpiderMonkey/38 SpiderMonkey 38] (`--with-system-mozjs38`)
     119 * [https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Releases/45 SpiderMonkey 45] (`--with-system-mozjs45`)
    121120 * [https://github.com/castano/nvidia-texture-tools NVTT] (`--with-system-nvtt`)
    122121
     
    129128sudo apt-get install build-essential cmake libboost-dev libboost-filesystem-dev   \
    130129    libcurl4-gnutls-dev libenet-dev libgloox-dev libicu-dev    \
    131     libminiupnpc-dev libnspr4-dev libnvtt-dev libogg-dev libopenal-dev   \
     130    libminiupnpc-dev libnvtt-dev libogg-dev libopenal-dev   \
    132131    libpng-dev libsdl2-dev libvorbis-dev libwxgtk3.0-dev libxcursor-dev  \
    133132    libxml2-dev python subversion zlib1g-dev
     
    137136 * On all versions **except Ubuntu 18.04**, you will need to [https://download.libsodium.org/doc/installation/ install libsodium manually].
    138137   * On **Ubuntu 18.04**, `sudo apt-get install libsodium-dev`.
    139  * If you want to use a packaged **mozjs38**, available for example in [https://launchpad.net/~wfg/+archive/ubuntu/0ad.dev/+packages 0ad.dev PPA]:
    140    * you should replace `libnspr4-dev` with `libmozjs-38-dev` and run `update-workspace.sh` with `--with-system-mozjs38`.
     138 * If you want to use a packaged **mozjs45**, which will be made available for example in [https://launchpad.net/~wfg/+archive/ubuntu/0ad.dev/+packages 0ad.dev PPA]:
     139   * you should add `libmozjs-45-dev` and run `update-workspace.sh` with `--with-system-mozjs45`.
    141140 * When not using system nvidia-texture-tools, `libnvtt-dev` can be omitted, but `cmake` is needed to build the bundled NVTT.
    142141 * You can also use `libcurl4-openssl-dev` instead of `libcurl4-gnutls-dev` (it's not possible to install both at once), but [http://lintian.debian.org/tags/possible-gpl-code-linked-with-openssl.html note that openssl is not GPL compatible and the resulting binaries could not be redistributed].
     
    161160    boost-devel libcurl-devel enet-devel libpng-devel libsodium-devel libvorbis-devel \
    162161    libxml2-devel openal-soft-devel pkgconfig SDL2-devel wxGTK3-devel  \
    163     gloox-devel libicu-devel miniupnpc-devel nspr-devel
     162    gloox-devel libicu-devel miniupnpc-devel
    164163}}}
    165164
     
    180179{{{
    181180#!sh
    182 pacman -S --needed boost cmake curl enet gcc gloox icu libgl libogg libpng libsodium libvorbis libxcursor libxml2 miniupnpc patch sdl2 subversion wxgtk zip zlib make python python2 pkg-config nspr grep awk
     181pacman -S --needed boost cmake curl enet gcc gloox icu libgl libogg libpng libsodium libvorbis libxcursor libxml2 miniupnpc patch sdl2 subversion wxgtk zip zlib make python python2 pkg-config grep awk
    183182}}}
    184183
     
    186185{{{
    187186#!sh
    188 sudo eopkg install libboost-devel libnspr-devel curl-devel enet-devel gloox-devel libicu-devel libnspr-devel libogg-devel libpng-devel libsodium-devel libvorbis-devel libxcursor-devel libxml2-devel miniupnpc-devel openal-soft-devel mesalib-devel sdl2-devel zlib-devel wxwidgets-devel
     187sudo eopkg install libboost-devel curl-devel enet-devel gloox-devel libicu-devel libogg-devel libpng-devel libsodium-devel libvorbis-devel libxcursor-devel libxml2-devel miniupnpc-devel openal-soft-devel mesalib-devel sdl2-devel zlib-devel wxwidgets-devel
    189188}}}
    190189
     
    205204 * OpenAL
    206205 * SDL2
    207 
    208 ''note about libnspr4:'' The [https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR nspr library], also a requirement, is in the `mozilla-nss` package, which is shipped with Slackware.
    209206
    210207Required to build Atlas:
     
    252249libzip-1.0.1-x86_64-3_slack14.2.txz
    253250miniupnpc-2.0-x86_64-1_slonly.txz
    254 mozilla-nss-3.40.1-x86_64-1_slack14.2.txz
    255251pip-9.0.3-x86_64-1_slonly.txz
    256252pkg-config-0.29.2-x86_64-1_slack14.2.txz
     
    2972933. Install the 0AD dependencies that are available directly from repos:
    298294   {{{ #!sh
    299    yum install cmake gcc-c++ enet-devel libglvnd-devel gloox-devel libicu-devel nspr-devel \
     295   yum install cmake gcc-c++ enet-devel libglvnd-devel gloox-devel libicu-devel \
    300296        libogg-devel libpng-devel libsodium-devel libvorbis-devel libXcursor-devel libxml2-devel \
    301297        miniupnpc-devel openal-soft-devel subversion wxGTK3-devel zlib-devel SDL2-devel
     
    346342{{{
    347343#!sh
    348 sudo xbps-install -Syv base-devel boost-devel cmake curl gcc icu-devel libcurl-devel libenet-devel libogg-devel libopenal-devel libpng-devel libsodium-devel libvorbis-devel libXcursor libxml2 MesaLib-devel miniupnpc-devel nspr-devel patch pkg-config SDL2-devel wxWidgets-devel zip zlib
     344sudo xbps-install -Syv base-devel boost-devel cmake curl gcc icu-devel libcurl-devel libenet-devel libogg-devel libopenal-devel libpng-devel libsodium-devel libvorbis-devel libXcursor libxml2 MesaLib-devel miniupnpc-devel patch pkg-config SDL2-devel wxWidgets-devel zip zlib
    349345}}}
    350346If there are issues, install more header files depending on the compiler's error message.
    351 `nspr-devel` is required for building SpiderMonkey and pyrogenesis requires `MesaLib-devel` to provide header files for libGL.
     347pyrogenesis requires `MesaLib-devel` to provide header files for libGL.
    352348Custom compile `gloox` for the Lobby or use xbps source packages or use `update-workspaces.sh --without-lobby` or wait until https://github.com/voidlinux/void-packages/pull/5102 is merged.
    353349If there are unresolved shlibs or an update breaks a package, then e.g.
     
    444440   * If you want to build a distributable app bundle as described below, you will need Xcode.
    445441   * '''Note:''' As of Mavericks (10.9) and Xcode 5, Apple [https://developer.apple.com/library/mac/releasenotes/DeveloperTools/RN-Xcode/xc5_release_notes/xc5_release_notes.html#//apple_ref/doc/uid/TP40001051-CH2-SW302 no longer supports] llvm-gcc, instead it is required to use clang. Additionally, the default C++ library is now libc++ instead of libstdc++. If you've upgraded and previously built the game, you should pass the `--force-rebuild` flag to `build-osx-libs.sh`.
    446  * As of Alpha 21, the game uses SpiderMonkey 38 which requires a Python 2.7 version later than 2.7.3. If you're on Mountain Lion (10.8) or earlier, you will need to first update your Python installation with the latest 2.7.x installer from [https://www.python.org/downloads/release/python-279/ here].
     442 * As of Alpha 21, the game uses SpiderMonkey 45 which requires a Python 2.7 version later than 2.7.3. If you're on Mountain Lion (10.8) or earlier, you will need to first update your Python installation with the latest 2.7.x installer from [https://www.python.org/downloads/release/python-279/ here].
    447443 * Obtain CMake:
    448444   * You can download a prebuilt macOS package [https://cmake.org/download/ here].
     
    544540   * libxml2
    545541   * miniupnpc
    546    * nspr
    547542   * openal
    548543   * png
     
    563558#!sh
    564559pkg install boost-libs cmake curl enet gloox gmake iconv libGL libogg          \
    565      libsodium libvorbis libxml2 miniupnpc nspr openal pkgconf png sdl2 subversion        \
     560     libsodium libvorbis libxml2 miniupnpc openal pkgconf png sdl2 subversion        \
    566561     wx30-gtk2 zip
    567562}}}
     
    591586#!sh
    592587pkg_add -i boost cmake curl enet g++ gcc gloox gmake icu4c libexecinfo libogg libsodium \
    593     libxml miniupnpc nspr openal png sdl2 subversion zip
     588    libxml miniupnpc openal png sdl2 subversion zip
    594589}}}
    595590 * As OpenBSD's packaged libxml isn't build with threading support, building Atlas is not possible so you should run `update-workspaces.sh` with the `--disable-atlas` option.