Change emscripten default build dir to "emscriptenBuild"

Avoids complications with local build directory when building.
This commit is contained in:
Mathias Baumann 2019-02-25 14:58:54 +01:00
parent 97d3b88f65
commit 98b7dc2881
6 changed files with 36 additions and 11 deletions

View File

@ -56,10 +56,10 @@ jobs:
paths: paths:
- boost_1_68_0 - boost_1_68_0
- store_artifacts: - store_artifacts:
path: build/libsolc/soljson.js path: emscripten_build/libsolc/soljson.js
destination: soljson.js destination: soljson.js
- run: mkdir -p workspace - run: mkdir -p workspace
- run: cp build/libsolc/soljson.js workspace/soljson.js - run: cp emscripten_build/libsolc/soljson.js workspace/soljson.js
- run: scripts/get_version.sh > workspace/version.txt - run: scripts/get_version.sh > workspace/version.txt
- persist_to_workspace: - persist_to_workspace:
root: workspace root: workspace

1
.gitignore vendored
View File

@ -32,6 +32,7 @@ prerelease.txt
# Build directory # Build directory
build/ build/
emscripten_build/
docs/_build docs/_build
docs/utils/__pycache__ docs/utils/__pycache__
docs/utils/*.pyc docs/utils/*.pyc

View File

@ -28,7 +28,13 @@
set -e set -e
if test -z "$1"; then
BUILD_DIR="emscripten_build"
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.38.22-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.38.22-64bit \
./scripts/travis-emscripten/build_emscripten.sh ./scripts/travis-emscripten/build_emscripten.sh $BUILD_DIR

View File

@ -29,6 +29,12 @@ set -e
REPO_ROOT="$(dirname "$0")"/../.. REPO_ROOT="$(dirname "$0")"/../..
if test -z "$1"; then
BUILD_DIR="build"
else
BUILD_DIR="$1"
fi
echo "Compiling all test contracts into bytecode..." echo "Compiling all test contracts into bytecode..."
TMPDIR=$(mktemp -d) TMPDIR=$(mktemp -d)
( (
@ -43,7 +49,7 @@ TMPDIR=$(mktemp -d)
# npm install solc # npm install solc
git clone --depth 1 https://github.com/ethereum/solc-js.git solc-js git clone --depth 1 https://github.com/ethereum/solc-js.git solc-js
( cd solc-js; npm install ) ( cd solc-js; npm install )
cp "$REPO_ROOT/build/libsolc/soljson.js" solc-js/ cp "$REPO_ROOT/emscripten_build/libsolc/soljson.js" solc-js/
cat > solc <<EOF cat > solc <<EOF
#!/usr/bin/env node #!/usr/bin/env node
var process = require('process') var process = require('process')
@ -93,7 +99,7 @@ EOF
chmod +x solc chmod +x solc
./solc *.sol > report.txt ./solc *.sol > report.txt
else else
$REPO_ROOT/scripts/bytecodecompare/prepare_report.py $REPO_ROOT/build/solc/solc $REPO_ROOT/scripts/bytecodecompare/prepare_report.py $REPO_ROOT/$BUILD_DIR/solc/solc
fi fi
if [ "$TRAVIS_SECURE_ENV_VARS" = "true" ] if [ "$TRAVIS_SECURE_ENV_VARS" = "true" ]

View File

@ -28,8 +28,14 @@
set -e set -e
if test -z "$1"; then
BUILD_DIR="emscripten_build"
else
BUILD_DIR="$1"
fi
REPO_ROOT=$(cd $(dirname "$0")/.. && pwd) REPO_ROOT=$(cd $(dirname "$0")/.. && pwd)
SOLJSON="$REPO_ROOT/build/libsolc/soljson.js" SOLJSON="$REPO_ROOT/$BUILD_DIR/libsolc/soljson.js"
VERSION=$("$REPO_ROOT"/scripts/get_version.sh) VERSION=$("$REPO_ROOT"/scripts/get_version.sh)
echo "Running solcjs tests...." echo "Running solcjs tests...."

View File

@ -34,6 +34,12 @@
set -ev set -ev
if test -z "$1"; then
BUILD_DIR="emscripten_build"
else
BUILD_DIR="$1"
fi
if ! type git &>/dev/null; then if ! type git &>/dev/null; then
# We need git for extracting the commit hash # We need git for extracting the commit hash
apt-get update apt-get update
@ -76,8 +82,8 @@ echo -en 'travis_fold:end:install_cmake.sh\\r'
# Build dependent components and solidity itself # Build dependent components and solidity itself
echo -en 'travis_fold:start:compiling_solidity\\r' echo -en 'travis_fold:start:compiling_solidity\\r'
cd $WORKSPACE cd $WORKSPACE
mkdir -p build mkdir -p $BUILD_DIR
cd build cd $BUILD_DIR
cmake \ cmake \
-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/emscripten.cmake \ -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/emscripten.cmake \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
@ -97,9 +103,9 @@ make -j 4
cd .. cd ..
mkdir -p upload mkdir -p upload
# Patch soljson.js to provide backwards-compatibility with older emscripten versions # Patch soljson.js to provide backwards-compatibility with older emscripten versions
echo ";/* backwards compatibility */ Module['Runtime'] = Module;" >> build/libsolc/soljson.js echo ";/* backwards compatibility */ Module['Runtime'] = Module;" >> $BUILD_DIR/libsolc/soljson.js
cp build/libsolc/soljson.js upload/ cp $BUILD_DIR/libsolc/soljson.js upload/
cp build/libsolc/soljson.js ./ cp $BUILD_DIR/libsolc/soljson.js ./
OUTPUT_SIZE=`ls -la soljson.js` OUTPUT_SIZE=`ls -la soljson.js`