Skip to content

Commit

Permalink
tmp
Browse files Browse the repository at this point in the history
  • Loading branch information
dwightguth committed Dec 6, 2018
1 parent ec4fbfc commit 23b1d31
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 49 deletions.
53 changes: 20 additions & 33 deletions Makefile
Expand Up @@ -205,46 +205,33 @@ haskell-deps:
--hook-namespaces "KRYPTO BLOCKCHAIN" --gen-ml-only -O3 --non-strict $(KOMPILE_FLAGS)
cd .build/$*/iele-testing-kompiled && ocamlfind $(OCAMLC) -c -g constants.ml -package gmp -package zarith -safe-string

PLUGIN=$(abspath plugin)

.build/check/well-formedness-kompiled/interpreter: $(checker_files)
${KOMPILE} --debug --main-module IELE-WELL-FORMEDNESS-STANDALONE \
--syntax-module IELE-SYNTAX .build/standalone/well-formedness.k --directory .build/check \
--gen-ml-only -O3 --non-strict $(KOMPILE_FLAGS)
cd .build/check/well-formedness-kompiled && ocamlfind $(OCAMLC) -c -g -package gmp -package zarith -package uuidm -safe-string constants.ml prelude.ml plugin.ml parser.mli parser.ml lexer.ml run.ml
cd .build/check/well-formedness-kompiled && ocamlfind $(OCAMLC) -c -g -w -11-26 -package gmp -package zarith -package uuidm -safe-string realdef.ml -match-context-rows 2 -thread
cd .build/check/well-formedness-kompiled && ocamlfind $(OCAMLC) $(LIBFLAG) -o realdef.$(DLLEXT) realdef.$(EXT)
cd .build/check/well-formedness-kompiled && ocamlfind $(OCAMLC) -g -o interpreter constants.$(EXT) prelude.$(EXT) plugin.$(EXT) parser.$(EXT) lexer.$(EXT) run.$(EXT) interpreter.ml -package gmp -package dynlink -package zarith -package str -package uuidm -package unix -linkpkg -linkall -safe-string

.build/plugin-%/semantics.$(LIBEXT): $(wildcard plugin/plugin/*.ml plugin/plugin/*.mli) .build/%/iele-testing-kompiled/constants.$(EXT)
mkdir -p .build/plugin-$*
cp plugin/plugin/*.ml plugin/plugin/*.mli .build/plugin-$*
ocp-ocamlres -format ocaml plugin/plugin/proto/VERSION -o .build/plugin-$*/apiVersion.ml
ocaml-protoc plugin/plugin/proto/*.proto -ml_out .build/plugin-$*
cd .build/plugin-$* && ocamlfind $(OCAMLC) -c -g -I ../$*/iele-testing-kompiled msg_types.mli msg_types.ml msg_pb.mli msg_pb.ml apiVersion.ml world.mli world.ml caching.mli caching.ml BLOCKCHAIN.ml KRYPTO.ml -package cryptokit -package secp256k1 -package bn128 -package ocaml-protoc $(BISECT) -safe-string -thread
cd .build/plugin-$* && ocamlfind $(OCAMLC) -a -o semantics.$(LIBEXT) KRYPTO.$(EXT) msg_types.$(EXT) msg_pb.$(EXT) apiVersion.$(EXT) world.$(EXT) caching.$(EXT) BLOCKCHAIN.$(EXT) -thread
ocamlfind remove iele-semantics-plugin-$*
ocamlfind install iele-semantics-plugin-$* plugin/plugin/META .build/plugin-$*/semantics.* .build/plugin-$*/*.cmi .build/plugin-$*/*.$(EXT)

.build/%/iele-testing-kompiled/interpreter: .build/plugin-%/semantics.$(LIBEXT)
cd .build/$*/iele-testing-kompiled && ocamllex lexer.mll
cd .build/$*/iele-testing-kompiled && ocamlyacc parser.mly
cd .build/$*/iele-testing-kompiled && ocamlfind $(OCAMLC) -c -g -package gmp -package zarith -package uuidm -safe-string prelude.ml plugin.ml parser.mli parser.ml lexer.ml run.ml -thread
cd .build/$*/iele-testing-kompiled && ocamlfind $(OCAMLC) -c -g -w -11-26 -package gmp -package zarith -package uuidm -package iele-semantics-plugin-$* -safe-string realdef.ml -match-context-rows 2 -thread
cd .build/$*/iele-testing-kompiled && ocamlfind $(OCAMLC) $(LIBFLAG) -o realdef.$(DLLEXT) realdef.$(EXT)
cd .build/$*/iele-testing-kompiled && ocamlfind $(OCAMLC) -g -o interpreter constants.$(EXT) prelude.$(EXT) plugin.$(EXT) parser.$(EXT) lexer.$(EXT) run.$(EXT) interpreter.ml -package gmp -package dynlink -package zarith -package str -package uuidm -package unix -package iele-semantics-plugin-$* -linkpkg -linkall -thread -safe-string $(PREDICATES)

.build/vm/iele-test-vm: .build/node/iele-testing-kompiled/interpreter $(wildcard plugin/vm/*.ml plugin/vm/*.mli)
--backend llvm -ccopt ${PLUGIN}/plugin-c/crypto.cpp -ccopt ${PLUGIN}/plugin-c/blockchain.cpp -ccopt ${PLUGIN}/plugin-c/world.cpp -ccopt ${PLUGIN}/plugin-c/proto/msg.pb.cc -ccopt -I -ccopt ${PLUGIN}/plugin-c \
-ccopt -lprotobuf -ccopt -lff -ccopt -lcryptopp -ccopt -lsecp256k1 -ccopt -lprocps -ccopt -g -ccopt -std=c++11 -ccopt -O2 $(KOMPILE_FLAGS)

.build/%/iele-testing-kompiled/interpreter: $(defn_files)
@echo "== kompile: $@"
${KOMPILE} --debug --main-module IELE-TESTING --verbose \
--syntax-module IELE-SYNTAX .build/$*/iele-testing.k --directory .build/$* \
--backend llvm -ccopt ${PLUGIN}/plugin-c/crypto.cpp -ccopt ${PLUGIN}/plugin-c/blockchain.cpp -ccopt ${PLUGIN}/plugin-c/world.cpp -ccopt ${PLUGIN}/plugin-c/proto/msg.pb.cc -ccopt -I -ccopt ${PLUGIN}/plugin-c \
-ccopt -lprotobuf -ccopt -lff -ccopt -lcryptopp -ccopt -lsecp256k1 -ccopt -lprocps -ccopt -g -ccopt -std=c++11 -ccopt -O2 $(KOMPILE_FLAGS)

.build/vm/iele-test-vm: $(wildcard plugin/vm/*.ml plugin/vm/*.mli)
mkdir -p .build/vm
cp plugin/vm/*.ml plugin/vm/*.mli .build/vm
cd .build/vm && ocamlfind $(OCAMLC) -g -I ../node/iele-testing-kompiled -o iele-test-vm constants.$(EXT) prelude.$(EXT) plugin.$(EXT) parser.$(EXT) lexer.$(EXT) realdef.$(EXT) run.$(EXT) VM.mli VM.ml ieleClientUtils.ml ieleVmTest.ml -package gmp -package dynlink -package zarith -package str -package uuidm -package unix -package iele-semantics-plugin-node -package rlp -package yojson -package hex -linkpkg -linkall -thread -safe-string $(PREDICATES)
cp ${PLUGIN}/vm/*.ml ${PLUGIN}/vm/*.mli .build/vm
cd .build/vm && ocamlfind $(OCAMLC) -g -I ../node/iele-testing-kompiled -o iele-test-vm ieleClientUtils.ml ieleVmTest.ml -package gmp -package dynlink -package zarith -package str -package uuidm -package unix -package iele-semantics-plugin-node -package rlp -package yojson -package hex -linkpkg -linkall -thread -safe-string $(PREDICATES)

.build/vm/iele-vm: .build/node/iele-testing-kompiled/interpreter $(wildcard plugin/vm/*.ml plugin/vm/*.mli)
.build/vm/iele-vm: .build/node/iele-testing-kompiled/interpreter $(wildcard plugin/vm-c/*.cpp plugin/vm-c/*.h)
mkdir -p .build/vm
cp plugin/vm/*.ml plugin/vm/*.mli .build/vm
cd .build/vm && ocamlfind $(OCAMLC) -g -I ../node/iele-testing-kompiled -o iele-vm constants.$(EXT) prelude.$(EXT) plugin.$(EXT) parser.$(EXT) lexer.$(EXT) realdef.$(EXT) run.$(EXT) VM.mli VM.ml vmNetworkServer.ml -package gmp -package dynlink -package zarith -package str -package uuidm -package unix -package iele-semantics-plugin-node -package rlp -package yojson -package hex $(BISECT) -linkpkg -linkall -thread -safe-string $(PREDICATES)
llvm-kompile .build/node/iele-testing-kompiled/definition.kore IELE-TESTING library ${PLUGIN}/vm-c/main.cpp ${PLUGIN}/vm-c/vm.cpp -I ${PLUGIN}/plugin-c/ ${PLUGIN}/plugin-c/*.cpp ${PLUGIN}/plugin-c/proto/msg.pb.cc -lff -lprotobuf -lgmp -lprocps -lcryptopp -lsecp256k1 -I ${PLUGIN}/vm-c/ -I ${PLUGIN}/vm-c/iele/ ${PLUGIN}/vm-c/iele/semantics.cpp -o .build/vm/iele-vm -g -O2

.build/vm/iele-test-client: .build/node/iele-testing-kompiled/interpreter $(wildcard plugin/vm/*.ml plugin/vm/*.mli)
.build/vm/iele-test-client: $(wildcard plugin/vm/*.ml plugin/vm/*.mli)
mkdir -p .build/vm
cp plugin/vm/*.ml plugin/vm/*.mli .build/vm
cd .build/vm && ocamlfind $(OCAMLC) -g -I ../node/iele-testing-kompiled -o iele-test-client constants.$(EXT) prelude.$(EXT) plugin.$(EXT) parser.$(EXT) lexer.$(EXT) realdef.$(EXT) run.$(EXT) VM.mli VM.ml ieleClientUtils.ml ieleApi.mli ieleApi.ml ieleApiClient.ml -package gmp -package dynlink -package zarith -package str -package uuidm -package unix -package iele-semantics-plugin-node -package rlp -package yojson -package hex -linkpkg -linkall -thread -safe-string $(PREDICATES)
cp ${PLUGIN}/vm/*.ml ${PLUGIN}/vm/*.mli .build/vm
cd .build/vm && ocamlfind $(OCAMLC) -g -I ../node/iele-testing-kompiled -o iele-test-client ieleClientUtils.ml ieleApi.mli ieleApi.ml ieleApiClient.ml -package gmp -package dynlink -package zarith -package str -package uuidm -package unix -package iele-semantics-plugin-node -package rlp -package yojson -package hex -linkpkg -linkall -thread -safe-string $(PREDICATES)


10 changes: 4 additions & 6 deletions blockchaintest
Expand Up @@ -3,18 +3,16 @@ interpreter="$(dirname "$0")/.build/standalone/iele-testing-kompiled/interpreter
assembled="$(mktemp)"
kast="$(mktemp)"
output="$(mktemp)"
kast_output="$(mktemp)"
trap "rm -rf $kast $output $kast_output $assembled" INT TERM EXIT
trap "rm -rf $kast $output $assembled" INT TERM EXIT
"$(dirname "$0")/assemble-iele-test" "$1" > "$assembled" || exit $?
"$(dirname "$0")/kast-json.py" "$assembled" > "$kast"
"$(dirname "$0")/kore-json.py" "$assembled" '`DEFAULT_IELE-GAS_`(.KList)' '`NORMAL`(.KList)' > "$kast"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
shift 1
$interpreter "$(dirname "$0")/.build/standalone/iele-testing-kompiled/realdef.cma" -c PGM "$kast" textfile -c SCHEDULE '`DEFAULT_IELE-GAS`(.KList)' text -c MODE '`NORMAL`(.KList)' text --output-file "$output" "$@"
$interpreter "$kast" -1 "$output" "$@"
exit=$?
if [ $exit -eq 0 ]; then
exit 0
fi
"$(dirname "$0")"/.build/rv-k/k-distribution/target/release/k/bin/k-bin-to-text "$output" "$kast_output"
cat "$kast_output"
cat "$output"
printf "\n"
exit $exit
3 changes: 2 additions & 1 deletion check-iele
Expand Up @@ -3,7 +3,8 @@ interpreter="$(dirname "$0")/.build/check/well-formedness-kompiled/interpreter"
kast="$(mktemp)"
trap "rm -rf $kast" INT TERM EXIT
"$(dirname "$0")/.build/rv-k/k-distribution/target/release/k/bin/kast" -s Contract --expand-macros -d "$(dirname "$0")/.build/check" "$1" > "$kast"
$interpreter "$(dirname "$0")/.build/check/well-formedness-kompiled/realdef.cma" -c PGM "$kast" textfile -c SCHEDULE '`DANSE_IELE-CONSTANTS`(.KList)' text "$@"
shift
"$(dirname "$0")/.build/rv-k/k-distribution/target/release/k/bin/krun" -cPGM="$kast" -pPGM=cat -cSCHEDULE=DANSE --output none -d "$(dirname "$0")/.build/check" "$@"
exit=$?
if [ $exit -eq 0 ]; then
exit 0
Expand Down
1 change: 0 additions & 1 deletion data.md
Expand Up @@ -16,7 +16,6 @@ module IELE-DATA
imports BYTES
imports IELE-CONSTANTS
imports IELE-COMMON
imports DOMAINS
imports COLLECTIONS
syntax KResult ::= Int
Expand Down
13 changes: 6 additions & 7 deletions vmtest
Expand Up @@ -3,17 +3,16 @@ interpreter="$(dirname "$0")/.build/standalone/iele-testing-kompiled/interpreter
assembled="$(mktemp)"
kast="$(mktemp)"
output="$(mktemp)"
kast_output="$(mktemp)"
trap "rm -rf $kast $output $kast_output $assembled" INT TERM EXIT
"$(dirname "$0")/assemble-iele-test" "$1" > "$assembled"
"$(dirname "$0")/kast-json.py" "$assembled" > "$kast"
trap "rm -rf $kast $output $assembled" INT TERM EXIT
"$(dirname "$0")/assemble-iele-test" "$1" > "$assembled" || exit $?
"$(dirname "$0")/kore-json.py" "$assembled" '`DEFAULT_IELE-GAS_`(.KList)' '`VMTESTS_IELE-CONSTANTS_`(.KList)' > "$kast"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
$interpreter "$(dirname "$0")/.build/standalone/iele-testing-kompiled/realdef.cma" -c PGM "$kast" textfile -c SCHEDULE '`DEFAULT_IELE-GAS`(.KList)' text -c MODE '`VMTESTS_IELE-CONSTANTS`(.KList)' text --output-file "$output"
shift 1
$interpreter "$kast" -1 "$output" "$@"
exit=$?
if [ $exit -eq 0 ]; then
exit 0
fi
.build/rv-k/k-distribution/target/release/k/bin/k-bin-to-text "$output" "$kast_output"
cat "$kast_output"
cat "$output"
printf "\n"
exit $exit
1 change: 0 additions & 1 deletion well-formedness.md
Expand Up @@ -28,7 +28,6 @@ module IELE-WELL-FORMEDNESS
imports IELE-COMMON
imports IELE-DATA
imports IELE-CONSTANTS
imports DOMAINS
imports DEFAULT-CONFIGURATION
```

Expand Down

0 comments on commit 23b1d31

Please sign in to comment.