Transitioned to using CTCE for Kraken compile information
This commit is contained in:
11
captain.sh
11
captain.sh
@@ -1,12 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
kraken="kraken"
|
kraken="kraken"
|
||||||
bootstrap_commits=(cf46fb13afe66ba475db9725e9269c9c1cd3bbc3 2cd43e5a217318c70097334b3598d2924f64b362 2051f54b559ac5edf67277d4f1134aca2cb9215d ecbbcb4eda56e2467efb0a04e7d668b95856aa4b d126cbf24ba8b26e3814e2260d555ecaee86508c 947384cced5397a517a71963edc8f47e668d734f cfcaff7887a804fe77dadaf2ebb0251d6e8ae8e2 12dfa837e31bf09adb1335219473b9a7e6db9eac acb0e48324f353d30d148eb11d1bf2843d83b51a 29eff2a23e5c8afc59dc71a9ecd74cedbd5663c3 0f2ac1421a4da5ff63a2df94efa2bcb37eec40b8)
|
bootstrap_commits=(cf46fb13afe66ba475db9725e9269c9c1cd3bbc3 2cd43e5a217318c70097334b3598d2924f64b362 2051f54b559ac5edf67277d4f1134aca2cb9215d ecbbcb4eda56e2467efb0a04e7d668b95856aa4b d126cbf24ba8b26e3814e2260d555ecaee86508c 947384cced5397a517a71963edc8f47e668d734f cfcaff7887a804fe77dadaf2ebb0251d6e8ae8e2 12dfa837e31bf09adb1335219473b9a7e6db9eac acb0e48324f353d30d148eb11d1bf2843d83b51a 29eff2a23e5c8afc59dc71a9ecd74cedbd5663c3 0f2ac1421a4da5ff63a2df94efa2bcb37eec40b8 f71b5f3576b5ddbb19b8df4e5d786f0147160c13)
|
||||||
|
|
||||||
|
|
||||||
# Echo version string to a file included by kraken.krak
|
|
||||||
# There is a default version string in the file in case kraken is not built with captain
|
|
||||||
echo "var version_string = \"Self-hosted Kraken compiler \\\"Kalypso\\\" - revision $(git rev-list HEAD | wc -l), commit: $(git rev-parse HEAD)\";" > compiler_version.krak
|
|
||||||
|
|
||||||
if ! [ -s "cached_builds" ]
|
if ! [ -s "cached_builds" ]
|
||||||
then
|
then
|
||||||
@@ -107,14 +102,14 @@ else
|
|||||||
echo "commit hash: ${bootstrap_commits[$i]}"
|
echo "commit hash: ${bootstrap_commits[$i]}"
|
||||||
mv ./krakenGrammer.kgm krakenGrammer.kgm_old
|
mv ./krakenGrammer.kgm krakenGrammer.kgm_old
|
||||||
git checkout ${bootstrap_commits[$i]}
|
git checkout ${bootstrap_commits[$i]}
|
||||||
echo "var version_string = \"Self-hosted Kraken compiler \\\"Kalypso\\\" - revision $(git rev-list HEAD | wc -l), commit: $(git rev-parse HEAD)\";" > compiler_version.krak
|
echo "var version_string = \"BOOTSTRAPPING VERSION - Self-hosted Kraken compiler \\\"Kalypso\\\" - revision $(git rev-list HEAD | wc -l), commit: $(git rev-parse HEAD)\";" > compiler_version.krak
|
||||||
mv ./krakenGrammer.kgm krakenGrammer.kgm_new
|
mv ./krakenGrammer.kgm krakenGrammer.kgm_new
|
||||||
mv ./krakenGrammer.kgm_old krakenGrammer.kgm
|
mv ./krakenGrammer.kgm_old krakenGrammer.kgm
|
||||||
# Quick fix - I made a commit that actually depends on it's own grammer to be built
|
# Quick fix - I made a commit that actually depends on it's own grammer to be built
|
||||||
if [[ ${bootstrap_commits[$i]} == "12dfa837e31bf09adb1335219473b9a7e6db9eac" ]]
|
if [[ ${bootstrap_commits[$i]} == "12dfa837e31bf09adb1335219473b9a7e6db9eac" ]]
|
||||||
then
|
then
|
||||||
echo "Hot fixing mistake - using new grammer instead of old"
|
echo "Hot fixing mistake - using new grammer instead of old"
|
||||||
mv ./krakenGrammer.kgm_new krakenGrammer.kgm
|
cp ./krakenGrammer.kgm_new krakenGrammer.kgm
|
||||||
fi
|
fi
|
||||||
./${kraken}_bootstrap kraken.krak ${kraken}_bootstrap
|
./${kraken}_bootstrap kraken.krak ${kraken}_bootstrap
|
||||||
mkdir "../cached_builds/${bootstrap_commits[$i]}"
|
mkdir "../cached_builds/${bootstrap_commits[$i]}"
|
||||||
|
|||||||
16
kraken.krak
16
kraken.krak
@@ -15,7 +15,6 @@ import defer_lower:*
|
|||||||
import ctce_lower:*
|
import ctce_lower:*
|
||||||
import c_line_control:*
|
import c_line_control:*
|
||||||
import c_generator:*
|
import c_generator:*
|
||||||
import compiler_version
|
|
||||||
|
|
||||||
fun main(argc: int, argv: **char):int {
|
fun main(argc: int, argv: **char):int {
|
||||||
// delay construction until we either load it or copy construct it
|
// delay construction until we either load it or copy construct it
|
||||||
@@ -34,14 +33,13 @@ fun main(argc: int, argv: **char):int {
|
|||||||
file_contents = string("RealGoal = boolean_expression ;\n") + file_contents
|
file_contents = string("RealGoal = boolean_expression ;\n") + file_contents
|
||||||
doing_repl = true
|
doing_repl = true
|
||||||
} else if (string(argv[1]) == "-v" || string(argv[1]) == "--version") {
|
} else if (string(argv[1]) == "-v" || string(argv[1]) == "--version") {
|
||||||
println(compiler_version::version_string)
|
var version_c_string = #ctce(fun(): *char {
|
||||||
/*var version_c_string = #ctce(fun(): *char {*/
|
var version_string = string("Self-hosted Kraken compiler \"Kalypso\" - revision ") + from_system_command(string("git rev-list HEAD | wc -l"), 100) +
|
||||||
/*var version_string = string("Self-hosted Kraken compiler \"Kalypso\" - revision ") + from_system_command(string("git rev-list HEAD | wc -l"), 100) +*/
|
", commit: " + from_system_command(string("git rev-parse HEAD"), 100) +
|
||||||
/*", commit: " + from_system_command(string("git rev-parse HEAD"), 100) +*/
|
", compile date: " + from_system_command(string("date"), 100)
|
||||||
/*", compile date: " + from_system_command(string("date"), 100) */
|
return version_string.toCharArray()
|
||||||
/*return version_string.toCharArray()*/
|
}())
|
||||||
/*}())*/
|
println(version_c_string)
|
||||||
/*println(version_c_string)*/
|
|
||||||
exit(0)
|
exit(0)
|
||||||
}
|
}
|
||||||
var input_file_offset = 1
|
var input_file_offset = 1
|
||||||
|
|||||||
Reference in New Issue
Block a user