diff --git a/build/premake/extern_libs5.lua b/build/premake/extern_libs5.lua index 17a15cec0e..eba9b52673 100644 --- a/build/premake/extern_libs5.lua +++ b/build/premake/extern_libs5.lua @@ -533,9 +533,9 @@ extern_lib_defs = { }, spidermonkey = { compile_settings = function() - if _OPTIONS["with-system-mozjs45"] then + if _OPTIONS["with-system-mozjs52"] then if not _OPTIONS["android"] then - pkgconfig.add_includes("mozjs-45") + pkgconfig.add_includes("mozjs-52") end else if os.istarget("windows") then @@ -553,21 +553,21 @@ extern_lib_defs = { end end, link_settings = function() - if _OPTIONS["with-system-mozjs45"] then + if _OPTIONS["with-system-mozjs52"] then if _OPTIONS["android"] then - links { "mozjs-45" } + links { "mozjs-52" } else - pkgconfig.add_links("mozjs-45") + pkgconfig.add_links("mozjs-52") end else filter { "Debug", "action:vs2015" } - links { "mozjs45-ps-debug-vc140" } + links { "mozjs52-ps-debug-vc140" } filter { "Release", "action:vs2015" } - links { "mozjs45-ps-release-vc140" } + links { "mozjs52-ps-release-vc140" } filter { "Debug", "action:not vs*" } - links { "mozjs45-ps-debug" } + links { "mozjs52-ps-debug" } filter { "Release", "action:not vs*" } - links { "mozjs45-ps-release" } + links { "mozjs52-ps-release" } filter { } add_source_lib_paths("spidermonkey") end diff --git a/build/premake/premake5.lua b/build/premake/premake5.lua index c915b59b5b..5c8fe5e05e 100644 --- a/build/premake/premake5.lua +++ b/build/premake/premake5.lua @@ -6,7 +6,7 @@ newoption { trigger = "icc", description = "Use Intel C++ Compiler (Linux only; newoption { trigger = "jenkins-tests", description = "Configure CxxTest to use the XmlPrinter runner which produces Jenkins-compatible output" } newoption { trigger = "minimal-flags", description = "Only set compiler/linker flags that are really needed. Has no effect on Windows builds" } newoption { trigger = "outpath", description = "Location for generated project files" } -newoption { trigger = "with-system-mozjs45", description = "Search standard paths for libmozjs45, instead of using bundled copy" } +newoption { trigger = "with-system-mozjs52", description = "Search standard paths for libmozjs52, instead of using bundled copy" } newoption { trigger = "with-system-nvtt", description = "Search standard paths for nvidia-texture-tools library, instead of using bundled copy" } newoption { trigger = "without-audio", description = "Disable use of OpenAL/Ogg/Vorbis APIs" } newoption { trigger = "without-lobby", description = "Disable the use of gloox and the multiplayer lobby" } diff --git a/libraries/osx/build-osx-libs.sh b/libraries/osx/build-osx-libs.sh index c24fffe3fb..3a3a064102 100755 --- a/libraries/osx/build-osx-libs.sh +++ b/libraries/osx/build-osx-libs.sh @@ -48,12 +48,11 @@ MINIUPNPC_VERSION="miniupnpc-2.0.20180222" SODIUM_VERSION="libsodium-1.0.18" # -------------------------------------------------------------- # Bundled with the game: -# * SpiderMonkey 45 +# * SpiderMonkey # * NVTT # * FCollada # -------------------------------------------------------------- # We use suffixes here in order to force rebuilding when patching these libs -SPIDERMONKEY_VERSION="mozjs-45.0.2+wildfiregames.2" NVTT_VERSION="nvtt-2.1.1+wildfiregames.1" FCOLLADA_VERSION="fcollada-3.05+wildfiregames.1" # -------------------------------------------------------------- @@ -911,88 +910,16 @@ popd > /dev/null # be customized, so we build and install them from bundled sources # -------------------------------------------------------------------- # SpiderMonkey - bundled, no download -echo -e "Building SpiderMonkey..." - -LIB_VERSION="${SPIDERMONKEY_VERSION}" -LIB_DIRECTORY="mozjs-45.0.2" -LIB_ARCHIVE="$LIB_DIRECTORY.tar.bz2" - pushd ../source/spidermonkey/ > /dev/null -if [[ "$force_rebuild" = "true" ]] || [[ ! -e .already-built ]] || [[ "$(<.already-built)" != "$LIB_VERSION" ]] +if [[ "$force_rebuild" = "true" ]] then - INSTALL_DIR="$(pwd)" - INCLUDE_DIR_DEBUG=$INSTALL_DIR/include-unix-debug - INCLUDE_DIR_RELEASE=$INSTALL_DIR/include-unix-release - rm -f .already-built - rm -f lib/*.a - rm -rf $LIB_DIRECTORY $INCLUDE_DIR_DEBUG $INCLUDE_DIR_RELEASE - tar -xf $LIB_ARCHIVE - - # Apply patches - pushd $LIB_DIRECTORY - . ../patch.sh - popd - - pushd $LIB_DIRECTORY/js/src - - CONF_OPTS="--target=$ARCH-apple-darwin - --prefix=${INSTALL_DIR} - --enable-posix-nspr-emulation - --with-system-zlib=${ZLIB_DIR} - --disable-tests - --disable-shared-js - --disable-jemalloc - --without-intl-api" - # Change the default location where the tracelogger should store its output, which is /tmp/ on OSX. - TLCXXFLAGS='-DTRACE_LOG_DIR="\"../../source/tools/tracelogger/\""' - if [[ $MIN_OSX_VERSION && ${MIN_OSX_VERSION-_} ]]; then - CONF_OPTS="$CONF_OPTS --enable-macos-target=$MIN_OSX_VERSION" - fi - if [[ $SYSROOT && ${SYSROOT-_} ]]; then - CONF_OPTS="$CONF_OPTS --with-macosx-sdk=$SYSROOT" - fi - - # We want separate debug/release versions of the library, so change their install name in the Makefile - perl -i.bak -pe 's/(^STATIC_LIBRARY_NAME\s+=).*/$1'\''mozjs45-ps-debug'\''/' moz.build - mkdir -p build-debug - pushd build-debug - (CC="clang" CXX="clang++" CXXFLAGS="${TLCXXFLAGS}" AR=ar CROSS_COMPILE=1 \ - ../configure $CONF_OPTS \ - --enable-debug \ - --disable-optimize \ - --enable-js-diagnostics \ - --enable-gczeal \ - && make ${JOBS}) || die "SpiderMonkey build failed" - # js-config.h is different for debug and release builds, so we need different include directories for both - mkdir -p $INCLUDE_DIR_DEBUG - cp -R -L dist/include/* $INCLUDE_DIR_DEBUG/ - cp dist/sdk/lib/*.a $INSTALL_DIR/lib - cp js/src/*.a $INSTALL_DIR/lib - popd - mv moz.build.bak moz.build - - perl -i.bak -pe 's/(^STATIC_LIBRARY_NAME\s+=).*/$1'\''mozjs45-ps-release'\''/' moz.build - mkdir -p build-release - pushd build-release - (CC="clang" CXX="clang++" CXXFLAGS="${TLCXXFLAGS}" AR=ar CROSS_COMPILE=1 \ - ../configure $CONF_OPTS \ - --enable-optimize \ - && make ${JOBS}) || die "SpiderMonkey build failed" - # js-config.h is different for debug and release builds, so we need different include directories for both - mkdir -p $INCLUDE_DIR_RELEASE - cp -R -L dist/include/* $INCLUDE_DIR_RELEASE/ - cp dist/sdk/lib/*.a $INSTALL_DIR/lib - cp js/src/*.a $INSTALL_DIR/lib - popd - mv moz.build.bak moz.build - - popd - echo "$LIB_VERSION" > .already-built -else - already_built fi + +# Use the regular build script for SM. +JOBS="$JOBS" ZLIB_DIR="$ZLIB_DIR" ./build.sh + popd > /dev/null # -------------------------------------------------------------- diff --git a/source/scriptinterface/ScriptTypes.h b/source/scriptinterface/ScriptTypes.h index 7a7ff7075e..4aa195e352 100644 --- a/source/scriptinterface/ScriptTypes.h +++ b/source/scriptinterface/ScriptTypes.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2016 Wildfire Games. +/* Copyright (C) 2020 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -71,7 +71,7 @@ # pragma GCC diagnostic pop #endif -#if MOZJS_MAJOR_VERSION != 45 +#if MOZJS_MAJOR_VERSION != 52 #error Your compiler is trying to use an incorrect major version of the \ SpiderMonkey library. The only version that works is the one in the \ libraries/spidermonkey/ directory, and it will not work with a typical \ @@ -79,7 +79,7 @@ system-installed version. Make sure you have got all the right files and \ include paths. #endif -#if MOZJS_MINOR_VERSION != 0 +#if MOZJS_MINOR_VERSION != 9 #error Your compiler is trying to use an untested minor version of the \ SpiderMonkey library. If you are a package maintainer, please make sure \ to check very carefully that this version does not change the behaviour \ diff --git a/source/tools/tracelogger/tracelogger_options.sh b/source/tools/tracelogger/tracelogger_options.sh index 2df65267c1..21613bb45a 100644 --- a/source/tools/tracelogger/tracelogger_options.sh +++ b/source/tools/tracelogger/tracelogger_options.sh @@ -9,13 +9,15 @@ # The last tested version of the tool is 1c67e97e794b5039d0cae95f72ea0c76e4aa4696, # it can be used if more recent versions cause trouble. +export TLDIR="$(dirname $(realpath $0))" + # Use semicolons to separate values on Windows. # If that produces bogus output, you can try with commas instead. if [ "${OS}" = "Windows_NT" ] then - export TLLOG="Defaults;IonCompiler" + export TLLOG="Default;IonCompiler" export TLOPTIONS="EnableMainThread;EnableOffThread;EnableGraph" else - export TLLOG=Defaults,IonCompiler + export TLLOG=Default,IonCompiler export TLOPTIONS=EnableMainThread,EnableOffThread,EnableGraph fi