Skip to content

Commit e32eb2d

Browse files
authored
rabe: support native install outside docker container (#49)
1 parent 9797ec3 commit e32eb2d

File tree

1 file changed

+26
-7
lines changed

1 file changed

+26
-7
lines changed

tasks/rabe.py

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from os.path import exists, join
55
from shutil import copy, rmtree
66
from subprocess import run
7-
from tasks.env import EXAMPLES_DIR
7+
from tasks.env import EXAMPLES_DIR, in_docker
88

99

1010
@task(default=True)
@@ -32,9 +32,15 @@ def build(ctx, clean=False, native=False):
3232
header_dir = build_env["FAASM_WASM_HEADER_INSTALL_DIR"]
3333
else:
3434
if not exists(lib_dir):
35-
makedirs(lib_dir)
35+
if in_docker():
36+
makedirs(lib_dir)
37+
else:
38+
run(f"sudo mkdir -p {lib_dir}", shell=True, check=True)
3639
if not exists(header_dir):
37-
makedirs(header_dir)
40+
if in_docker():
41+
makedirs(header_dir)
42+
else:
43+
run(f"sudo mkdir -p {header_dir}", shell=True, check=True)
3844

3945
if not native:
4046
src_lib = join(
@@ -44,7 +50,10 @@ def build(ctx, clean=False, native=False):
4450
src_lib = join(rabe_dir, "target", "release", "librabe.a")
4551

4652
dst_lib = join(lib_dir, "librabe.a")
47-
copy(src_lib, dst_lib)
53+
if in_docker():
54+
copy(src_lib, dst_lib)
55+
else:
56+
run(f"sudo cp {src_lib} {dst_lib}", shell=True, check=True)
4857

4958
# Build the CPP bindings library, and cross-compile it to WASM
5059
rabe_cpp_dir = join(rabe_dir, "cpp-bindings")
@@ -81,14 +90,24 @@ def build(ctx, clean=False, native=False):
8190
# Install the CPP bindings library
8291
src_lib = join(build_dir, "librabe-cpp.a")
8392
dst_lib = join(lib_dir, "librabe-cpp.a")
84-
copy(src_lib, dst_lib)
93+
if in_docker():
94+
copy(src_lib, dst_lib)
95+
else:
96+
run(f"sudo cp {src_lib} {dst_lib}", shell=True, check=True)
8597

8698
# Install the headers
8799
src_header = join(rabe_cpp_dir, "rabe_bindings.hpp")
88100
dst_header = join(header_dir, "tless_abe.h")
89101
print(f"Installing {src_header} to {dst_header}")
90-
copy(src_header, dst_header)
102+
if in_docker():
103+
copy(src_header, dst_header)
104+
else:
105+
run(f"sudo cp {src_header} {dst_header}", shell=True, check=True)
106+
91107
src_header = join(rabe_cpp_dir, "tless_aes.h")
92108
dst_header = join(header_dir, "tless_aes.h")
93-
copy(src_header, dst_header)
94109
print(f"Installing {src_header} to {dst_header}")
110+
if in_docker():
111+
copy(src_header, dst_header)
112+
else:
113+
run(f"sudo cp {src_header} {dst_header}", shell=True, check=True)

0 commit comments

Comments
 (0)