44from os .path import exists , join
55from shutil import copy , rmtree
66from 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