Commit acfdd925 authored by Camil Staps's avatar Camil Staps 🚀

Merge branch 'drop-clm-fork-dependency' into 'master'

Remove dependency on clm fork in CI; use cpm's PrelinkByteCode

See merge request !107
parents d6cbbdcf 8fe2707d
Pipeline #24449 passed with stages
in 19 minutes and 8 seconds
......@@ -9,9 +9,8 @@
*.tcl
*.opt.abc
*.obc
*.bc
*.ubc
*.pbc
*.graph
......
......@@ -10,7 +10,9 @@ stages:
- ln -s "$PWD/src/abcopt" /opt/clean/lib/exe/abcopt
- ln -s "$PWD/src/bcgen" /opt/clean/lib/exe/bcgen
- ln -s "$PWD/src/bclink" /opt/clean/lib/exe/bclink
- ln -s "$PWD/src/bcprelink" /opt/clean/lib/exe/bcprelink
- ln -s "$PWD/src/bcstrip" /opt/clean/lib/exe/bcstrip
- sed -i '/^import code from library/d' lib/ABC/Interpreter/Util.icl
- make -C src
build:
......
......@@ -27,7 +27,4 @@ RUN apt-get install -y -qq --no-install-recommends curl unzip libnspr4 &&\
RUN install_clean_nightly.sh base lib-argenv lib-directory lib-dynamics lib-graphcopy lib-platform lib-stdlib
RUN git clone https://gitlab.science.ru.nl/cstaps/clean-tools /tmp/clean-tools &&\
make -C /tmp/clean-tools/clm -f Makefile.linux64 &&\
mv /tmp/clean-tools/clm/clm /opt/clean/bin &&\
cd /tmp && rm -r clean-tools
RUN sed -i 's%lib/exe/linker%/usr/bin/gcc:--gc-sections%' /opt/clean/etc/IDEEnvs
Version: 1.5
Global
ProjectRoot: .
Target: StdEnv
Exec: {Project}*compiler
ByteCode: {Project}*compiler.bc
CodeGen
CheckStacks: False
CheckIndexes: True
OptimiseABC: True
GenerateByteCode: True
Application
HeapSize: 20971520
StackSize: 512000
ExtraMemory: 8192
IntialHeapSize: 204800
HeapSizeMultiplier: 4096
ShowExecutionTime: False
ShowGC: False
ShowStackSize: False
MarkingCollector: False
DisableRTSFlags: False
StandardRuntimeEnv: True
Profile
Memory: False
MemoryMinimumHeapSize: 0
Time: False
Stack: False
Dynamics: False
GenericFusion: False
DescExL: True
Output
Output: ShowConstructors
Font: Monaco
FontSize: 9
WriteStdErr: False
Link
LinkMethod: Static
GenerateRelocations: False
GenerateSymbolTable: True
GenerateLinkMap: False
LinkResources: False
ResourceSource:
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: False
Paths
Path: {Project}
Path: {Project}*..*..*lib
Path: {Application}*lib*ArgEnv
Path: {Application}*lib*GraphCopy
Path: {Application}*lib*Platform
Precompile:
Postlink:
MainModule
Name: Compiler
Dir: {Project}
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
StrictnessAnalysis: True
ListTypes: StrictExportTypes
ListAttributes: True
Warnings: True
Verbose: True
ReadableABC: False
ReuseUniqueNodes: True
Fusion: False
CLM:=clm
CLMFLAGS:=\
-I ../../lib\
-IL ArgEnv\
-IL Platform\
-IL GraphCopy\
-nt\
-desc -exl\
-optabc -bytecode\
-no-opt-link -ns\
-h 10m
BIN:=compiler
MAIN:=Compiler
$(BIN): .FORCE
$(CLM) $(CLMFLAGS) $(MAIN) -o $@
clean:
$(RM) -r $(BIN) $(BIN).bc Clean\ System\ Files
.FORCE:
.PHONY: .FORCE clean
......@@ -7,12 +7,11 @@ make -C ../src\
bclink\
library
clm -O -bytecode _system
for dir in *; do
[ -d "$dir" ] || continue
echo -e "\033[0;33mTesting $dir\033[0m"
(cd "$dir"
make
for f in *.prj.default; do cp "$f" "${f/.default/}"; done
cpm make
./"$dir")
done
Version: 1.5
Global
ProjectRoot: .
Target: StdEnv
Exec: {Project}*CodeSharing
ByteCode: {Project}*CodeSharing.bc
CodeGen
CheckStacks: False
CheckIndexes: True
OptimiseABC: False
GenerateByteCode: False
Application
HeapSize: 2097152
StackSize: 512000
ExtraMemory: 8192
IntialHeapSize: 204800
HeapSizeMultiplier: 4096
ShowExecutionTime: False
ShowGC: False
ShowStackSize: False
MarkingCollector: False
DisableRTSFlags: False
StandardRuntimeEnv: True
Profile
Memory: False
MemoryMinimumHeapSize: 0
Time: False
Stack: False
Dynamics: False
GenericFusion: False
DescExL: False
Output
Output: ShowConstructors
Font: Monaco
FontSize: 9
WriteStdErr: False
Link
LinkMethod: Static
GenerateRelocations: False
GenerateSymbolTable: True
GenerateLinkMap: False
LinkResources: False
ResourceSource:
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: False
Paths
Path: {Project}
Path: {Project}*..*lib
Path: {Application}*lib*GraphCopy
Path: {Application}*lib*Platform
Precompile:
Postlink:
MainModule
Name: CodeSharing
Dir: {Project}
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
StrictnessAnalysis: True
ListTypes: StrictExportTypes
ListAttributes: True
Warnings: True
Verbose: True
ReadableABC: False
ReuseUniqueNodes: True
Fusion: False
......@@ -2,8 +2,8 @@ Version: 1.4
Global
ProjectRoot: .
Target: StdEnv
Exec: {Project}\GraphTest.exe
ByteCode: {Project}\GraphTest.bc
Exec: {Project}*GraphTest
ByteCode: {Project}*GraphTest.bc
CodeGen
CheckStacks: False
CheckIndexes: True
......@@ -43,11 +43,14 @@ Global
ResourceSource:
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: False
Paths
Path: {Project}
Path: {Project}*..*src
Path: {Application}*Libraries*GraphCopy
Path: {Application}*Libraries*Platform
Path: {Project}*..*lib
Path: {Application}*lib*GraphCopy
Path: {Application}*lib*Platform
Precompile:
Postlink:
MainModule
......
CLM:=clm
override CLMFLAGS+=-I ../lib -IL ArgEnv -IL Platform -IL GraphCopy -ns
ifneq ($(OS),Mac)
override CLMFLAGS+=-no-opt-link
endif
CPM:=cpm
TESTS:=CodeSharing GraphTest
RUNTESTS:=$(addprefix test-,$(TESTS))
all: $(TESTS)
CodeSharing: library .FORCE
$(CLM) $(CLMFLAGS) $@ -o $@
$(TESTS): %: %.prj library .FORCE
$(CPM) $<
GraphTest: library .FORCE
$(CLM) -O -bytecode _system
$(CLM) $(CLMFLAGS) -exl -desc -bytecode -optabc -h 10m $@ -o $@
%.prj: %.prj.default
cp $< $@
test: $(RUNTESTS)
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Path: {Application}*lib*Platform
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Path: {Application}*lib*Platform
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: False
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Path: {Application}*lib*Dynamics
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Path: {Application}*lib*Platform
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -102,7 +102,7 @@ while true; do
WASM=1
IP="js --test-wasm-await-tier2 ../src-js/interpret.js"
SRCMAKETARGETS="abcopt bcgen bclink bcprelink bcstrip"
BC_EXTENSION="ubc"
BC_EXTENSION="pbc"
shift;;
-b)
......@@ -223,8 +223,6 @@ do
[ $BENCHMARK -gt 0 ] && mv "$MODULE.icl.nobm" "$MODULE.icl"
[ $WASM -gt 0 ] && ../src/bcprelink "$MODULE.bc" -o "$MODULE.ubc"
if [ $BENCHMARK -gt 0 ]; then
/usr/bin/time -p $IP $MODULE_RUNFLAGS $RUNFLAGS $MODULE.$BC_EXTENSION 2>bm-tmp >$MODULE.result
WALL_TIME="$(grep user bm-tmp | sed 's/user[[:space:]]*//' | head -n 1)"
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
OtherPaths
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
......@@ -44,6 +44,8 @@ Global
GenerateDLL: False
ExportedNames:
StripByteCode: True
KeepByteCodeSymbols: True
PrelinkByteCode: True
Paths
Path: {Project}
Precompile:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment