aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt2
-rw-r--r--ReleaseChecklist.md6
-rw-r--r--cmake/EthCompilerSettings.cmake8
-rw-r--r--cmake/EthToolchains.cmake8
-rw-r--r--cmake/toolchains/default.cmake4
-rw-r--r--cmake/toolchains/emscripten.cmake2
-rw-r--r--docs/frequently-asked-questions.rst11
-rwxr-xr-xscripts/travis-emscripten/build_emscripten.sh3
8 files changed, 22 insertions, 22 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 745ec597..1db1d052 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,6 +3,8 @@ cmake_minimum_required(VERSION 3.0.0)
set(ETH_CMAKE_DIR "${CMAKE_CURRENT_LIST_DIR}/cmake" CACHE PATH "The the path to the cmake directory")
list(APPEND CMAKE_MODULE_PATH ${ETH_CMAKE_DIR})
+include(EthToolchains)
+
# Set cmake_policies
include(EthPolicy)
eth_policy()
diff --git a/ReleaseChecklist.md b/ReleaseChecklist.md
index 04734544..c10db742 100644
--- a/ReleaseChecklist.md
+++ b/ReleaseChecklist.md
@@ -4,11 +4,13 @@ Checklist for making a release:
- [ ] Check that all issues and pull requests from the Github project to be released are merged to ``develop``.
- [ ] Create a commit in ``develop`` that updates the ``Changelog`` to include a release date (run ``./scripts/tests.sh`` to update the bug list). Sort the changelog entries alphabetically and correct any errors you notice.
- [ ] Create a pull request and wait for the tests, merge it.
+ - [ ] Thank voluntary contributors in the Github release page (use ``git shortlog -s -n -e origin/release..origin/develop``).
- [ ] Create a pull request from ``develop`` to ``release``, wait for the tests, then merge it.
- - [ ] Make a final check that there are no platform-dependency issues in the ``solc-test-bytecode`` repository.
+ - [ ] Make a final check that there are no platform-dependency issues in the ``solidity-test-bytecode`` repository.
- [ ] Wait for the tests for the commit on ``release``, create a release in Github, creating the tag.
- - [ ] Thank voluntary contributors in the Github release page (use ``git shortlog -s -n -e origin/release..origin/develop``).
- [ ] Wait for the CI runs on the tag itself (they should push artifacts onto the Github release page).
+ - [ ] Run ``scripts/create_source_tarball.sh`` while being on the tag to create the source tarball.
+ - [ ] Upload the source tarball (in the upload directory) to the release page.
- [ ] Run ``scripts/release_ppa.sh release`` to create the PPA release (you need the relevant openssl key).
- [ ] Once the ``~ethereum/ubuntu/ethereum-static`` PPA build is finished and published for all platforms (make sure not to do this earlier), copy the static package to the ``~ethereum/ubuntu/ethereum`` PPA for the destination series ``Trusty`` while selecting ``Copy existing binaries``.
- [ ] Check that the Docker release was pushed to Docker Hub (this still seems to have problems, run ``./scripts/docker_deploy_manual.sh release``).
diff --git a/cmake/EthCompilerSettings.cmake b/cmake/EthCompilerSettings.cmake
index b5cfd09d..c45ecba6 100644
--- a/cmake/EthCompilerSettings.cmake
+++ b/cmake/EthCompilerSettings.cmake
@@ -24,10 +24,6 @@ endif()
eth_add_cxx_compiler_flag_if_supported(-Wimplicit-fallthrough)
if (("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") OR ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang"))
-
- # Use ISO C++14 standard language.
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
-
# Enables all the warnings about constructions that some users consider questionable,
# and that are easy to avoid. Also enable some extra warning flags that are not
# enabled by -Wall. Finally, treat at warnings-as-errors, which forces developers
@@ -78,10 +74,8 @@ if (("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") OR ("${CMAKE_CXX_COMPILER_ID}" MA
# into errors, which makes sense.
# http://stackoverflow.com/questions/21617158/how-to-silence-unused-command-line-argument-error-with-clang-without-disabling-i
add_compile_options(-Qunused-arguments)
- endif()
- if (EMSCRIPTEN)
- # Do not emit a separate memory initialiser file
+ 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")
diff --git a/cmake/EthToolchains.cmake b/cmake/EthToolchains.cmake
new file mode 100644
index 00000000..a4263b7d
--- /dev/null
+++ b/cmake/EthToolchains.cmake
@@ -0,0 +1,8 @@
+if(NOT CMAKE_TOOLCHAIN_FILE)
+ # Use default toolchain file if none is provided.
+ set(
+ CMAKE_TOOLCHAIN_FILE
+ "${CMAKE_CURRENT_LIST_DIR}/toolchains/default.cmake"
+ CACHE FILEPATH "The CMake toolchain file"
+ )
+endif()
diff --git a/cmake/toolchains/default.cmake b/cmake/toolchains/default.cmake
new file mode 100644
index 00000000..baf859b7
--- /dev/null
+++ b/cmake/toolchains/default.cmake
@@ -0,0 +1,4 @@
+# Require C++14.
+set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
+set(CMAKE_CXX_EXTENSIONS OFF)
diff --git a/cmake/toolchains/emscripten.cmake b/cmake/toolchains/emscripten.cmake
new file mode 100644
index 00000000..6c29074f
--- /dev/null
+++ b/cmake/toolchains/emscripten.cmake
@@ -0,0 +1,2 @@
+include("${CMAKE_CURRENT_LIST_DIR}/default.cmake")
+include("$ENV{EMSCRIPTEN}/cmake/Modules/Platform/Emscripten.cmake")
diff --git a/docs/frequently-asked-questions.rst b/docs/frequently-asked-questions.rst
index d263e0c6..ae25b935 100644
--- a/docs/frequently-asked-questions.rst
+++ b/docs/frequently-asked-questions.rst
@@ -16,11 +16,6 @@ Enums are not supported by the ABI, they are just supported by Solidity.
You have to do the mapping yourself for now, we might provide some help
later.
-How do structs work?
-====================
-
-See `struct_and_for_loop_tester.sol <https://github.com/fivedogit/solidity-baby-steps/blob/master/contracts/65_struct_and_for_loop_tester.sol>`_.
-
What are some examples of basic string manipulation (``substring``, ``indexOf``, ``charAt``, etc)?
==================================================================================================
@@ -71,12 +66,6 @@ arguments for you.
See `ping.sol <https://github.com/fivedogit/solidity-baby-steps/blob/master/contracts/45_ping.sol>`_ and
`pong.sol <https://github.com/fivedogit/solidity-baby-steps/blob/master/contracts/45_pong.sol>`_.
-Are comments included with deployed contracts and do they increase deployment gas?
-==================================================================================
-
-No, everything that is not needed for execution is removed during compilation.
-This includes, among others, comments, variable names and type names.
-
What happens if you send ether along with a function call to a contract?
========================================================================
diff --git a/scripts/travis-emscripten/build_emscripten.sh b/scripts/travis-emscripten/build_emscripten.sh
index 32899903..d1978a7c 100755
--- a/scripts/travis-emscripten/build_emscripten.sh
+++ b/scripts/travis-emscripten/build_emscripten.sh
@@ -79,9 +79,8 @@ cd $WORKSPACE
mkdir -p build
cd build
cmake \
- -DCMAKE_TOOLCHAIN_FILE=$EMSCRIPTEN/cmake/Modules/Platform/Emscripten.cmake \
+ -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/emscripten.cmake \
-DCMAKE_BUILD_TYPE=Release \
- -DEMSCRIPTEN=1 \
-DBoost_FOUND=1 \
-DBoost_USE_STATIC_LIBS=1 \
-DBoost_USE_STATIC_RUNTIME=1 \