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