Skip to content

Commit d9650d9

Browse files
committed
chore: Replace setting env vars for Makefile in bash script
1 parent 9a1be39 commit d9650d9

File tree

6 files changed

+88
-20
lines changed

6 files changed

+88
-20
lines changed

_SETUP.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -555,8 +555,8 @@ git submodule update --init --recursive
555555
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
556556
brew install llvm
557557
llvm-config --version
558-
echo 'export AR=/opt/homebrew/opt/llvm/bin/llvm-ar' >> ~/.zshrc
559-
echo 'export CC=/opt/homebrew/opt/llvm/bin/clang' >> ~/.zshrc
558+
echo "export AR=$(which llvm-ar)" >> ~/.zshrc
559+
echo "export CC=$(which clang)" >> ~/.zshrc
560560
source ~/.zshrc
561561
```
562562

packages/secret-contracts/my-counter-contract/Makefile

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,26 @@ unit-test:
1919
.PHONY: build _build
2020
build: _build compress-wasm
2121
_build:
22-
RUSTFLAGS='-C link-arg=-s' cargo build --release --target wasm32-unknown-unknown
22+
cargo clean && \
23+
. ../../../set-env.sh && \
24+
cargo build --release --target wasm32-unknown-unknown
2325

2426
# This is a build suitable for uploading to mainnet.
2527
# Calls to `debug_print` get removed by the compiler.
2628
.PHONY: build-mainnet _build-mainnet
2729
build-mainnet: _build-mainnet compress-wasm
2830
_build-mainnet:
29-
RUSTFLAGS='-C link-arg=-s' cargo build --release --target wasm32-unknown-unknown
31+
cargo clean && \
32+
. ../../../set-env.sh && \
33+
cargo build --release --target wasm32-unknown-unknown
3034

3135
# like build-mainnet, but slower and more deterministic
3236
# https://hub.docker.com/r/enigmampc/secret-contract-optimizer/tags
3337
.PHONY: build-mainnet-reproducible _build-mainnet-reproducible
3438
build-mainnet-reproducible: _build-mainnet-reproducible
3539
_build-mainnet-reproducible:
36-
cargo clean && AR=/opt/homebrew/opt/llvm/bin/llvm-ar CC=/opt/homebrew/opt/llvm/bin/clang RUSTFLAGS='-C link-arg=-s' && \
40+
cargo clean && \
41+
. ../../../set-env.sh && \
3742
docker buildx build --label "sco" --tag "sco" -f "../../../docker/secret-contract-optimizer.Dockerfile" . && \
3843
docker run --rm -v "$$(pwd)":/contract \
3944
--mount type=volume,source="$$(basename "$$(pwd)")_cache",target=/contract/target \

packages/secret-contracts/nunya-contract/Makefile

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ unit-test:
2222
.PHONY: build _build
2323
build: _build compress-wasm
2424
_build:
25-
cargo clean && AR=/opt/homebrew/opt/llvm/bin/llvm-ar CC=/opt/homebrew/opt/llvm/bin/clang RUSTFLAGS='-C link-arg=-s' cargo build --release --target wasm32-unknown-unknown
25+
cargo clean && \
26+
. ../../../set-env.sh && \
27+
cargo build --release --target wasm32-unknown-unknown
2628

2729
# This is a build suitable for uploading to mainnet.
2830
# Calls to `debug_print` get removed by the compiler.
@@ -31,14 +33,17 @@ _build:
3133
.PHONY: build-mainnet _build-mainnet
3234
build-mainnet: _build-mainnet compress-wasm
3335
_build-mainnet:
34-
cargo clean && AR=/opt/homebrew/opt/llvm/bin/llvm-ar CC=/opt/homebrew/opt/llvm/bin/clang RUSTFLAGS='-C link-arg=-s' cargo build --release --target wasm32-unknown-unknown
36+
cargo clean && \
37+
. ../../../set-env.sh && \
38+
cargo build --release --target wasm32-unknown-unknown
3539

3640
# like build-mainnet, but slower and more deterministic
3741
# https://hub.docker.com/r/enigmampc/secret-contract-optimizer/tags
3842
.PHONY: build-mainnet-reproducible _build-mainnet-reproducible
3943
build-mainnet-reproducible: _build-mainnet-reproducible
4044
_build-mainnet-reproducible:
41-
cargo clean && AR=/opt/homebrew/opt/llvm/bin/llvm-ar CC=/opt/homebrew/opt/llvm/bin/clang RUSTFLAGS='-C link-arg=-s' && \
45+
cargo clean && \
46+
. ../../../set-env.sh && \
4247
docker buildx build --label "sco" --tag "sco" -f "../../../docker/secret-contract-optimizer.Dockerfile" . && \
4348
docker run --rm -v "$$(pwd)":/contract \
4449
--mount type=volume,source="$$(basename "$$(pwd)")_cache",target=/contract/target \

packages/secret-contracts/secret-gateway/Makefile

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,25 @@ unit-test:
1919
.PHONY: build _build
2020
build: _build compress-wasm
2121
_build:
22-
cargo clean && AR=/opt/homebrew/opt/llvm/bin/llvm-ar CC=/opt/homebrew/opt/llvm/bin/clang RUSTFLAGS='-C link-arg=-s' cargo build --release --target wasm32-unknown-unknown
22+
cargo clean && \
23+
. ../../../set-env.sh && \
24+
cargo build --release --target wasm32-unknown-unknown
2325

2426
# This is a build suitable for uploading to mainnet.
2527
# Calls to `debug_print` get removed by the compiler.
2628
.PHONY: build-mainnet _build-mainnet
2729
build-mainnet: _build-mainnet compress-wasm
2830
_build-mainnet:
29-
cargo clean && AR=/opt/homebrew/opt/llvm/bin/llvm-ar CC=/opt/homebrew/opt/llvm/bin/clang RUSTFLAGS='-C link-arg=-s' cargo build --release --target wasm32-unknown-unknown
31+
cargo clean && \
32+
. ../../../set-env.sh && \
33+
cargo build --release --target wasm32-unknown-unknown
3034

3135
# like build-mainnet, but slower and more deterministic
3236
.PHONY: build-mainnet-reproducible _build-mainnet-reproducible
3337
build-mainnet-reproducible: _build-mainnet-reproducible
3438
_build-mainnet-reproducible:
35-
cargo clean && AR=/opt/homebrew/opt/llvm/bin/llvm-ar CC=/opt/homebrew/opt/llvm/bin/clang RUSTFLAGS='-C link-arg=-s' && \
39+
cargo clean && \
40+
. ../../../set-env.sh && \
3641
docker buildx build --label "sco" --tag "sco" -f "../../../docker/secret-contract-optimizer.Dockerfile" . && \
3742
docker run --rm -v "$$(pwd)":/contract \
3843
--mount type=volume,source="$$(basename "$$(pwd)")_cache",target=/contract/target \

packages/secret-contracts/secret-gateway/tests/example-private-contract/Makefile

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,29 +19,37 @@ unit-test:
1919
.PHONY: build _build
2020
build: _build compress-wasm
2121
_build:
22-
RUSTFLAGS='-C link-arg=-s' cargo build --release --target wasm32-unknown-unknown
22+
cargo clean && \
23+
. ../../../../../set-env.sh && \
24+
cargo build --release --target wasm32-unknown-unknown
2325

2426
# This is a build suitable for uploading to mainnet.
2527
# Calls to `debug_print` get removed by the compiler.
2628
.PHONY: build-mainnet _build-mainnet
2729
build-mainnet: _build-mainnet compress-wasm
2830
_build-mainnet:
29-
RUSTFLAGS='-C link-arg=-s' cargo build --release --target wasm32-unknown-unknown
31+
cargo clean && \
32+
. ../../../../../set-env.sh && \
33+
cargo build --release --target wasm32-unknown-unknown
3034

3135
# like build-mainnet, but slower and more deterministic
32-
.PHONY: build-mainnet-reproducible
33-
build-mainnet-reproducible:
36+
.PHONY: build-mainnet-reproducible _build-mainnet-reproducible
37+
build-mainnet-reproducible: _build-mainnet-reproducible
38+
_build-mainnet-reproducible:
39+
cargo clean && \
40+
. ../../../../../set-env.sh && \
41+
docker buildx build --label "sco" --tag "sco" -f "../../../../../docker/secret-contract-optimizer.Dockerfile" . && \
3442
docker run --rm -v "$$(pwd)":/contract \
3543
--mount type=volume,source="$$(basename "$$(pwd)")_cache",target=/contract/target \
3644
--mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \
3745
enigmampc/secret-contract-optimizer:1.0.9
3846

3947
.PHONY: compress-wasm
4048
compress-wasm:
41-
cp ./target/wasm32-unknown-unknown/release/*.wasm ./contract.wasm
49+
cp ./target/wasm32-unknown-unknown/release/*.wasm ./secret-gateway-contract.wasm
4250
@## The following line is not necessary, may work only on linux (extra size optimization)
43-
wasm-opt -Os ./contract.wasm -o ./contract.wasm --enable-threads --enable-bulk-memory --all-features
44-
cat ./contract.wasm | gzip -9 > ./contract.wasm.gz
51+
wasm-opt -Os ./secret-gateway-contract.wasm -o ./secret-gateway-contract.wasm --enable-threads --enable-bulk-memory --all-features
52+
cat ./secret-gateway-contract.wasm | gzip -9 > ./secret-gateway-contract.wasm.gz
4553

4654
.PHONY: schema
4755
schema:
@@ -60,9 +68,11 @@ start-server: # CTRL+C to stop
6068
# by using `docker exec secretdev secretcli`.
6169
.PHONY: store-contract-local
6270
store-contract-local:
63-
sudo docker exec secretdev secretcli tx compute store -y --from a --gas 3000000 /root/code/contract.wasm.gz
71+
sudo docker exec secretdev secretcli tx compute store -y --from a --gas 3000000 /root/code/secret-gateway-contract.wasm.gz
6472

6573
.PHONY: clean
6674
clean:
6775
cargo clean
68-
-rm -f ./contract.wasm ./contract.wasm.gz
76+
-rm -f ./secret-gateway-contract.wasm ./secret-gateway-contract.wasm.gz
77+
sudo docker exec secretdev rm -rf /root/code/secret-gateway-contract.wasm
78+
sudo docker exec secretdev rm -rf /root/code/secret-gateway-contract.wasm.gz

set-env.sh

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
#!/bin/bash
2+
3+
# Reference: https://getsubstrate.io/
4+
5+
if [[ "$OSTYPE" == "linux-gnu" ]]; then
6+
set -e
7+
if [[ $(whoami) == "root" ]]; then
8+
MAKE_ME_ROOT=
9+
else
10+
MAKE_ME_ROOT=sudo
11+
fi
12+
13+
if [ -f /etc/debian_version ]; then
14+
echo "Ubuntu/Debian Linux detected."
15+
# $MAKE_ME_ROOT apt update
16+
$MAKE_ME_ROOT apt install -y cmake pkg-config libssl-dev git gcc build-essential git protobuf-compiler clang libclang-dev
17+
export AR="$(which llvm-ar)" CC="$(which clang)" RUSTFLAGS='-C link-arg=-s'
18+
else
19+
echo "Unknown Linux distribution."
20+
echo "This OS is not supported with this script at present. Sorry."
21+
exit 1
22+
fi
23+
elif [[ "$OSTYPE" == "darwin"* ]]; then
24+
echo "Mac OS (Darwin) detected."
25+
26+
if ! which brew >/dev/null 2>&1; then
27+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
28+
fi
29+
30+
brew update
31+
brew install openssl cmake llvm
32+
# export AR=/opt/homebrew/opt/llvm/bin/llvm-ar CC=/opt/homebrew/opt/llvm/bin/clang RUSTFLAGS='-C link-arg=-s' && \
33+
export AR="$(which llvm-ar)" CC="$(which clang)" RUSTFLAGS='-C link-arg=-s'
34+
else
35+
echo "Unknown operating system."
36+
echo "This OS is not supported with this script at present. Sorry."
37+
exit 1
38+
fi
39+
40+
echo "Configured: "
41+
echo $AR
42+
echo $CC
43+
echo $RUSTFLAGS

0 commit comments

Comments
 (0)