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: |   b_ems: | ||||||
|     docker: |     docker: | ||||||
|       - image: trzeci/emscripten:sdk-tag-1.38.22-64bit |       - image: trzeci/emscripten:sdk-tag-1.39.3-64bit | ||||||
|     environment: |     environment: | ||||||
|       TERM: xterm |       TERM: xterm | ||||||
|     steps: |     steps: | ||||||
|  | |||||||
| @ -110,7 +110,7 @@ matrix: | |||||||
|           before_install: |           before_install: | ||||||
|               - nvm install 8 |               - nvm install 8 | ||||||
|               - nvm use 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: |           env: | ||||||
|               - SOLC_EMSCRIPTEN=On |               - SOLC_EMSCRIPTEN=On | ||||||
|               - SOLC_INSTALL_DEPS_TRAVIS=Off |               - SOLC_INSTALL_DEPS_TRAVIS=Off | ||||||
| @ -127,7 +127,7 @@ matrix: | |||||||
|               # |               # | ||||||
|               # This key here has no significant on anything, apart from caching. Please keep |               # This key here has no significant on anything, apart from caching. Please keep | ||||||
|               # it in sync with the version above. |               # it in sync with the version above. | ||||||
|               - EMSCRIPTEN_VERSION_KEY="1.38.22" |               - EMSCRIPTEN_VERSION_KEY="1.39.3" | ||||||
| 
 | 
 | ||||||
|         # OS X Mavericks (10.9) |         # OS X Mavericks (10.9) | ||||||
|         # https://en.wikipedia.org/wiki/OS_X_Mavericks |         # https://en.wikipedia.org/wiki/OS_X_Mavericks | ||||||
|  | |||||||
| @ -11,6 +11,10 @@ Compiler Features: | |||||||
|  * Yul Optimizer: Perform loop-invariant code motion. |  * Yul Optimizer: Perform loop-invariant code motion. | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | Build System: | ||||||
|  |  * Update to emscripten version 1.39.3. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| Bugfixes: | Bugfixes: | ||||||
|  * SMTChecker: Fix internal error when using ``abi.decode``. |  * 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) | 		elseif(EMSCRIPTEN) | ||||||
| 			set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --memory-init-file 0") | 			set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --memory-init-file 0") | ||||||
| 			# Leave only exported symbols as public and aggressively remove others | 			# 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 | 			# Optimisation level | ||||||
| 			set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3") | 			set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3") | ||||||
| 			# Re-enable exception catching (optimisations above -O1 disable it) | 			# 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") | 			set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s STRICT=1") | ||||||
| 			# Export the Emscripten-generated auxiliary methods which are needed by solc-js. | 			# 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. | 			# 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. | 			# Do not build as a WebAssembly target - we need an asm.js output. | ||||||
| 			set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s WASM=0") | 			set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s WASM=0") | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -34,7 +34,7 @@ else | |||||||
| 	BUILD_DIR="$1" | 	BUILD_DIR="$1" | ||||||
| fi | 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 |     ./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 |     ./scripts/travis-emscripten/build_emscripten.sh $BUILD_DIR | ||||||
|  | |||||||
| @ -55,11 +55,11 @@ fi | |||||||
| WORKSPACE=/root/project | WORKSPACE=/root/project | ||||||
| 
 | 
 | ||||||
| # Increase nodejs stack size | # Increase nodejs stack size | ||||||
| if ! [ -e /emsdk_portable/node/bin/node_orig ] | if ! [ -e /emsdk_portable/node/current/bin/node_orig ] | ||||||
| then | then | ||||||
|   mv /emsdk_portable/node/bin/node /emsdk_portable/node/bin/node_orig |   mv /emsdk_portable/node/current/bin/node /emsdk_portable/node/current/bin/node_orig | ||||||
|   echo -e '#!/bin/sh\nexec /emsdk_portable/node/bin/node_orig --stack-size=8192 $@' > /emsdk_portable/node/bin/node |   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/bin/node |   chmod 755 /emsdk_portable/node/current/bin/node | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
| # Boost | # 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" \ |        --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 |        --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/lib/* /emsdk_portable/emscripten/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/include/* /emsdk_portable/emscripten/sdk/system/include | ||||||
| echo -en 'travis_fold:end:compiling_boost\\r' | echo -en 'travis_fold:end:compiling_boost\\r' | ||||||
| 
 | 
 | ||||||
| echo -en 'travis_fold:start:install_cmake.sh\\r' | echo -en 'travis_fold:start:install_cmake.sh\\r' | ||||||
| @ -94,8 +94,6 @@ make -j 4 | |||||||
| 
 | 
 | ||||||
| cd .. | cd .. | ||||||
| mkdir -p upload | 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 upload/ | ||||||
| cp $BUILD_DIR/libsolc/soljson.js ./ | 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: | # which is released under the following license: | ||||||
| # | # | ||||||
| # Boost Software License - Version 1.0 - August 17th, 2003 | # 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) ] ; |   command = [ common.get-invocation-command emscripten : em++ : $(command) ] ; | ||||||
| 
 | 
 | ||||||
|   root = ; |  | ||||||
|   if $(command) |   if $(command) | ||||||
|   { |   { | ||||||
|     root = [ common.get-absolute-tool-path $(command[-1]) ] ; |  | ||||||
|     root = $(root:P) ; |  | ||||||
| 
 |  | ||||||
|     version ?= [ MATCH "^([0-9.]+)" : [ SHELL \""$(command)\" --version" ] ] ; |     version ?= [ MATCH "^([0-9.]+)" : [ SHELL \""$(command)\" --version" ] ] ; | ||||||
|     if $(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 |   # @todo this seems to be the right way, but this is a list somehow | ||||||
|   toolset.add-requirements <toolset>emscripten:<testing.launcher>node ; |   toolset.add-requirements <toolset>emscripten:<testing.launcher>node ; | ||||||
| 
 | 
 | ||||||
|   if $(.debug-configuration) |   toolset.flags emscripten.compile STDHDRS $(condition) : /emsdk_portable/emscripten/sdk/system/include ; | ||||||
|   { |   toolset.flags emscripten.link STDLIBPATH $(condition) : /emsdk_portable/emscripten/sdk/system/lib ; | ||||||
|     ECHO "emscripten: using compiler" $(version) "at" $(root) ; |   toolset.flags emscripten AR $(condition) : /emsdk_portable/emscripten/sdk/emar ; | ||||||
|   } |   toolset.flags emscripten RANLIB $(condition) : /emsdk_portable/emscripten/sdk/emranlib ; | ||||||
| 
 |  | ||||||
|   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 ; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type.set-generated-target-suffix EXE : <toolset>emscripten : js ; | type.set-generated-target-suffix EXE : <toolset>emscripten : js ; | ||||||
|  | |||||||
| @ -37,7 +37,7 @@ function setup_solcjs | |||||||
| 
 | 
 | ||||||
|     cd "$dir" |     cd "$dir" | ||||||
|     printLog "Setting up solc-js..." |     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 |     cd solc | ||||||
|     npm install |     npm install | ||||||
| @ -107,7 +107,7 @@ function force_solc_truffle_modules | |||||||
|         if [ -d "$d" ]; then |         if [ -d "$d" ]; then | ||||||
|             cd $d |             cd $d | ||||||
|             rm -rf solc |             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 |             cp "$1" solc/soljson.js | ||||||
|         fi |         fi | ||||||
|     ) |     ) | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user