mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Update emscripten to 1.39.3
This commit is contained in:
parent
7b038dbd92
commit
edd80a986d
@ -476,7 +476,7 @@ jobs:
|
||||
|
||||
b_ems:
|
||||
docker:
|
||||
- image: trzeci/emscripten:sdk-tag-1.38.22-64bit
|
||||
- image: trzeci/emscripten:sdk-tag-1.39.3-64bit
|
||||
environment:
|
||||
TERM: xterm
|
||||
steps:
|
||||
|
@ -110,7 +110,7 @@ matrix:
|
||||
before_install:
|
||||
- nvm install 8
|
||||
- nvm use 8
|
||||
- docker pull trzeci/emscripten:sdk-tag-1.38.22-64bit
|
||||
- docker pull trzeci/emscripten:sdk-tag-1.39.3-64bit
|
||||
env:
|
||||
- SOLC_EMSCRIPTEN=On
|
||||
- SOLC_INSTALL_DEPS_TRAVIS=Off
|
||||
@ -127,7 +127,7 @@ matrix:
|
||||
#
|
||||
# This key here has no significant on anything, apart from caching. Please keep
|
||||
# it in sync with the version above.
|
||||
- EMSCRIPTEN_VERSION_KEY="1.38.22"
|
||||
- EMSCRIPTEN_VERSION_KEY="1.39.3"
|
||||
|
||||
# OS X Mavericks (10.9)
|
||||
# https://en.wikipedia.org/wiki/OS_X_Mavericks
|
||||
|
@ -11,6 +11,10 @@ Compiler Features:
|
||||
* Yul Optimizer: Perform loop-invariant code motion.
|
||||
|
||||
|
||||
Build System:
|
||||
* Update to emscripten version 1.39.3.
|
||||
|
||||
|
||||
Bugfixes:
|
||||
* SMTChecker: Fix internal error when using ``abi.decode``.
|
||||
|
||||
|
@ -86,7 +86,7 @@ if (("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") OR ("${CMAKE_CXX_COMPILER_ID}" MA
|
||||
elseif(EMSCRIPTEN)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --memory-init-file 0")
|
||||
# Leave only exported symbols as public and aggressively remove others
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdata-sections -ffunction-sections -Wl,--gc-sections -fvisibility=hidden")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdata-sections -ffunction-sections -fvisibility=hidden")
|
||||
# Optimisation level
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
|
||||
# Re-enable exception catching (optimisations above -O1 disable it)
|
||||
@ -110,7 +110,7 @@ if (("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") OR ("${CMAKE_CXX_COMPILER_ID}" MA
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s STRICT=1")
|
||||
# Export the Emscripten-generated auxiliary methods which are needed by solc-js.
|
||||
# Which methods of libsolc itself are exported is specified in libsolc/CMakeLists.txt.
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s EXTRA_EXPORTED_RUNTIME_METHODS=['cwrap','addFunction','removeFunction','Pointer_stringify','lengthBytesUTF8','_malloc','stringToUTF8','setValue']")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s EXTRA_EXPORTED_RUNTIME_METHODS=['cwrap','addFunction','removeFunction','UTF8ToString','lengthBytesUTF8','_malloc','stringToUTF8','setValue']")
|
||||
# Do not build as a WebAssembly target - we need an asm.js output.
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s WASM=0")
|
||||
|
||||
|
@ -34,7 +34,7 @@ else
|
||||
BUILD_DIR="$1"
|
||||
fi
|
||||
|
||||
docker run -v $(pwd):/root/project -w /root/project trzeci/emscripten:sdk-tag-1.38.22-64bit \
|
||||
docker run -v $(pwd):/root/project -w /root/project trzeci/emscripten:sdk-tag-1.39.3-64bit \
|
||||
./scripts/travis-emscripten/install_deps.sh
|
||||
docker run -v $(pwd):/root/project -w /root/project trzeci/emscripten:sdk-tag-1.38.22-64bit \
|
||||
docker run -v $(pwd):/root/project -w /root/project trzeci/emscripten:sdk-tag-1.39.3-64bit \
|
||||
./scripts/travis-emscripten/build_emscripten.sh $BUILD_DIR
|
||||
|
@ -55,11 +55,11 @@ fi
|
||||
WORKSPACE=/root/project
|
||||
|
||||
# Increase nodejs stack size
|
||||
if ! [ -e /emsdk_portable/node/bin/node_orig ]
|
||||
if ! [ -e /emsdk_portable/node/current/bin/node_orig ]
|
||||
then
|
||||
mv /emsdk_portable/node/bin/node /emsdk_portable/node/bin/node_orig
|
||||
echo -e '#!/bin/sh\nexec /emsdk_portable/node/bin/node_orig --stack-size=8192 $@' > /emsdk_portable/node/bin/node
|
||||
chmod 755 /emsdk_portable/node/bin/node
|
||||
mv /emsdk_portable/node/current/bin/node /emsdk_portable/node/current/bin/node_orig
|
||||
echo -e '#!/bin/sh\nexec /emsdk_portable/node/current/bin/node_orig --stack-size=8192 $@' > /emsdk_portable/node/current/bin/node
|
||||
chmod 755 /emsdk_portable/node/current/bin/node
|
||||
fi
|
||||
|
||||
# Boost
|
||||
@ -70,8 +70,8 @@ cd "$WORKSPACE"/boost_1_70_0
|
||||
--with-system --with-filesystem --with-test --with-program_options cxxflags="-Wno-unused-local-typedef -Wno-variadic-macros -Wno-c99-extensions -Wno-all" \
|
||||
--prefix="$WORKSPACE"/boost_1_70_0_install install
|
||||
)
|
||||
ln -sf "$WORKSPACE"/boost_1_70_0_install/lib/* /emsdk_portable/sdk/system/lib
|
||||
ln -sf "$WORKSPACE"/boost_1_70_0_install/include/* /emsdk_portable/sdk/system/include
|
||||
ln -sf "$WORKSPACE"/boost_1_70_0_install/lib/* /emsdk_portable/emscripten/sdk/system/lib
|
||||
ln -sf "$WORKSPACE"/boost_1_70_0_install/include/* /emsdk_portable/emscripten/sdk/system/include
|
||||
echo -en 'travis_fold:end:compiling_boost\\r'
|
||||
|
||||
echo -en 'travis_fold:start:install_cmake.sh\\r'
|
||||
@ -94,8 +94,6 @@ make -j 4
|
||||
|
||||
cd ..
|
||||
mkdir -p upload
|
||||
# Patch soljson.js to provide backwards-compatibility with older emscripten versions
|
||||
echo ";/* backwards compatibility */ Module['Runtime'] = Module;" >> $BUILD_DIR/libsolc/soljson.js
|
||||
cp $BUILD_DIR/libsolc/soljson.js upload/
|
||||
cp $BUILD_DIR/libsolc/soljson.js ./
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# This is a copy of emscripten.jam from https://github.com/tee3/boost-build-emscripten
|
||||
# Modified version of emscripten.jam from https://github.com/tee3/boost-build-emscripten
|
||||
# which is released under the following license:
|
||||
#
|
||||
# Boost Software License - Version 1.0 - August 17th, 2003
|
||||
@ -55,12 +55,8 @@ rule init ( version ? : command * : options * )
|
||||
{
|
||||
command = [ common.get-invocation-command emscripten : em++ : $(command) ] ;
|
||||
|
||||
root = ;
|
||||
if $(command)
|
||||
{
|
||||
root = [ common.get-absolute-tool-path $(command[-1]) ] ;
|
||||
root = $(root:P) ;
|
||||
|
||||
version ?= [ MATCH "^([0-9.]+)" : [ SHELL \""$(command)\" --version" ] ] ;
|
||||
if $(version)
|
||||
{
|
||||
@ -83,15 +79,10 @@ rule init ( version ? : command * : options * )
|
||||
# @todo this seems to be the right way, but this is a list somehow
|
||||
toolset.add-requirements <toolset>emscripten:<testing.launcher>node ;
|
||||
|
||||
if $(.debug-configuration)
|
||||
{
|
||||
ECHO "emscripten: using compiler" $(version) "at" $(root) ;
|
||||
}
|
||||
|
||||
toolset.flags emscripten.compile STDHDRS $(condition) : $(root)/libexec/system/include ;
|
||||
toolset.flags emscripten.link STDLIBPATH $(condition) : $(root)/libexec/system/lib ;
|
||||
toolset.flags emscripten AR $(condition) : $(root)/bin/emar ;
|
||||
toolset.flags emscripten RANLIB $(condition) : $(root)/bin/emranlib ;
|
||||
toolset.flags emscripten.compile STDHDRS $(condition) : /emsdk_portable/emscripten/sdk/system/include ;
|
||||
toolset.flags emscripten.link STDLIBPATH $(condition) : /emsdk_portable/emscripten/sdk/system/lib ;
|
||||
toolset.flags emscripten AR $(condition) : /emsdk_portable/emscripten/sdk/emar ;
|
||||
toolset.flags emscripten RANLIB $(condition) : /emsdk_portable/emscripten/sdk/emranlib ;
|
||||
}
|
||||
|
||||
type.set-generated-target-suffix EXE : <toolset>emscripten : js ;
|
||||
|
@ -37,7 +37,7 @@ function setup_solcjs
|
||||
|
||||
cd "$dir"
|
||||
printLog "Setting up solc-js..."
|
||||
git clone --depth 1 -b v0.5.0 https://github.com/ethereum/solc-js.git solc
|
||||
git clone --depth 1 -b master https://github.com/ethereum/solc-js.git solc
|
||||
|
||||
cd solc
|
||||
npm install
|
||||
@ -107,7 +107,7 @@ function force_solc_truffle_modules
|
||||
if [ -d "$d" ]; then
|
||||
cd $d
|
||||
rm -rf solc
|
||||
git clone --depth 1 -b v0.5.0 https://github.com/ethereum/solc-js.git solc
|
||||
git clone --depth 1 -b master https://github.com/ethereum/solc-js.git solc
|
||||
cp "$1" solc/soljson.js
|
||||
fi
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user