Skip to content

Commit b36ade3

Browse files
committed
[CN-Exec/CN-Testing] Split runtimes apart
Cleaner in the long run as more are going to be added
1 parent 47aca59 commit b36ade3

File tree

7 files changed

+86
-53
lines changed

7 files changed

+86
-53
lines changed

backend/cn/lib/testGeneration/buildScript.ml

+2-1
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,8 @@ let link ~filename_base =
115115
""
116116
else
117117
" " ^ filename_base ^ "-exec.o cn.o");
118-
"\"${RUNTIME_PREFIX}/libcn.a\""
118+
"\"${RUNTIME_PREFIX}/libcn_exec.a\"";
119+
"\"${RUNTIME_PREFIX}/libcn_test.a\""
119120
]
120121
@ cc_flags ()))
121122
"Linked C *.o files."

runtime/libcn/dune

-50
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,3 @@
1-
; (include_subdirs unqualified)
2-
3-
(rule
4-
(target libcn.a)
5-
(deps
6-
(:headers
7-
(glob_files include/cn-executable/*.h)
8-
(glob_files include/cn-testing/*.h))
9-
(:src
10-
(glob_files src/cn-executable/*.c)
11-
(glob_files src/cn-testing/*.c)))
12-
(action
13-
(progn
14-
(run cc -Iinclude/ -c -g %{src})
15-
(run
16-
ar
17-
-rcs
18-
%{target}
19-
alloc.o
20-
hash_table.o
21-
utils.o
22-
gen_alloc.o
23-
backtrack.o
24-
uniform.o
25-
urn.o
26-
rand.o
27-
size.o
28-
test.o))))
29-
30-
(install
31-
(files
32-
(include/cn-executable/alloc.h as runtime/include/cn-executable/alloc.h)
33-
(include/cn-executable/hash_table.h
34-
as
35-
runtime/include/cn-executable/hash_table.h)
36-
(include/cn-executable/utils.h as runtime/include/cn-executable/utils.h)
37-
(include/cn-testing/alloc.h as runtime/include/cn-testing/alloc.h)
38-
(include/cn-testing/backtrack.h as runtime/include/cn-testing/backtrack.h)
39-
(include/cn-testing/uniform.h as runtime/include/cn-testing/uniform.h)
40-
(include/cn-testing/urn.h as runtime/include/cn-testing/urn.h)
41-
(include/cn-testing/rand.h as runtime/include/cn-testing/rand.h)
42-
(include/cn-testing/size.h as runtime/include/cn-testing/size.h)
43-
(include/cn-testing/dsl.h as runtime/include/cn-testing/dsl.h)
44-
(include/cn-testing/result.h as runtime/include/cn-testing/result.h)
45-
(include/cn-testing/test.h as runtime/include/cn-testing/test.h)
46-
(include/cn-testing/prelude.h as runtime/include/cn-testing/prelude.h)
47-
(libcn.a as runtime/libcn.a))
48-
(section lib)
49-
(package cn))
50-
511
(install
522
(files
533
(libexec/cn-runtime-single-file.sh

runtime/libcn/include/dune

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
; With Dune >= 3.11
2+
; (install
3+
; (files
4+
; (glob_files
5+
; (cn-executable/*.h with_prefix runtime/include/cn-executable))
6+
; (glob_files
7+
; (cn-testing/*.h with_prefix runtime/include/cn-testing)))
8+
; (section lib)
9+
; (package cn))
10+
11+
(install
12+
(files
13+
;
14+
(cn-executable/alloc.h as runtime/include/cn-executable/alloc.h)
15+
(cn-executable/hash_table.h as runtime/include/cn-executable/hash_table.h)
16+
(cn-executable/utils.h as runtime/include/cn-executable/utils.h)
17+
;
18+
(cn-testing/alloc.h as runtime/include/cn-testing/alloc.h)
19+
(cn-testing/backtrack.h as runtime/include/cn-testing/backtrack.h)
20+
(cn-testing/dsl.h as runtime/include/cn-testing/dsl.h)
21+
(cn-testing/prelude.h as runtime/include/cn-testing/prelude.h)
22+
(cn-testing/rand.h as runtime/include/cn-testing/rand.h)
23+
(cn-testing/result.h as runtime/include/cn-testing/result.h)
24+
(cn-testing/size.h as runtime/include/cn-testing/size.h)
25+
(cn-testing/test.h as runtime/include/cn-testing/test.h)
26+
(cn-testing/uniform.h as runtime/include/cn-testing/uniform.h)
27+
(cn-testing/urn.h as runtime/include/cn-testing/urn.h))
28+
(section lib)
29+
(package cn))

runtime/libcn/lib/dune

+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
(rule
2+
(target libcn_exec.a)
3+
(deps
4+
(:headers
5+
(glob_files ../include/cn-executable/*.h))
6+
(:src
7+
(glob_files ../src/cn-executable/*.c)))
8+
(action
9+
(progn
10+
(run mkdir -p cn-executable)
11+
(chdir
12+
cn-executable
13+
(run cc -I ../../include/ -c -g %{src}))
14+
(run
15+
ar
16+
-rcs
17+
%{target}
18+
cn-executable/alloc.o
19+
cn-executable/hash_table.o
20+
cn-executable/utils.o))))
21+
22+
(rule
23+
(target libcn_test.a)
24+
(deps
25+
(:headers
26+
(glob_files ../include/cn-executable/*.h)
27+
(glob_files ../include/cn-testing/*.h))
28+
(:src
29+
(glob_files ../src/cn-testing/*.c)))
30+
(action
31+
(progn
32+
(run mkdir -p cn-testing)
33+
(chdir
34+
cn-testing
35+
(run cc -I../../include/ -c -g %{src}))
36+
(run
37+
ar
38+
-rcs
39+
%{target}
40+
cn-testing/alloc.o
41+
cn-testing/backtrack.o
42+
cn-testing/rand.o
43+
cn-testing/size.o
44+
cn-testing/test.o
45+
cn-testing/uniform.o
46+
cn-testing/urn.o))))
47+
48+
(install
49+
(files
50+
(libcn_exec.a as runtime/libcn_exec.a)
51+
(libcn_test.a as runtime/libcn_test.a))
52+
(section lib)
53+
(package cn))

runtime/libcn/libexec/cn-runtime-single-file.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ else
7777
fi
7878

7979
# Link
80-
if cc ${UBSAN} "-I${RUNTIME_PREFIX}/include" -o "${INPUT_BASENAME}-exec-output.bin" ./*.o "${RUNTIME_PREFIX}/libcn.a"; then
80+
if cc ${UBSAN} "-I${RUNTIME_PREFIX}/include" -o "${INPUT_BASENAME}-exec-output.bin" ./*.o "${RUNTIME_PREFIX}/libcn_exec.a"; then
8181
[ "${QUIET}" ] || echo "Linked C .o files."
8282
else
8383
echo_and_err "Failed to link .o files in ${EXEC_DIR}."
File renamed without changes.

tests/cn-exec-performance-stats.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ def gen_link_cmd(input_basename, instrumented):
112112
link_cmd += "-I " + "cn_uninstr_defs.h "
113113
link_cmd += "-o " + bin_file + o_files
114114
if instrumented:
115-
link_cmd += runtime_prefix + "/libcn.a"
115+
link_cmd += runtime_prefix + "/libcn_exec.a"
116116
return link_cmd
117117

118118
def gen_exec_cmd(input_basename, instrumented):

0 commit comments

Comments
 (0)