Skip to content

Commit

Permalink
cpython: changes to make cpython build work
Browse files Browse the repository at this point in the history
  • Loading branch information
csegarragonz committed Feb 19, 2024
1 parent 47be01e commit 0b67978
Show file tree
Hide file tree
Showing 5 changed files with 42 additions and 10 deletions.
1 change: 1 addition & 0 deletions LLVM.makefile
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ $(BUILD_DIR)/llvm.BUILT:
install-llvm-ranlib \
install-llvm-strip \
install-llvm-dwarfdump \
install-llvm-symbolizer \
install-clang-resource-headers \
install-ar \
install-ranlib \
Expand Down
40 changes: 33 additions & 7 deletions faasmtools/build.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@
WASM_CFLAGS = [
"-O3",
# "-mno-atomics",
# TODO: may want to use -mrelaxed-simd instead
"-msimd128",
"--sysroot={}".format(WASM_SYSROOT),
"-m32",
Expand Down Expand Up @@ -329,21 +330,46 @@ def get_dict_as_cmake_vars(env_dict):
]


def build_config_cmd(cmd, shared=False, cxx=False, conf_args=True):
def build_config_cmd(env_vars, cmd, shared=False, cxx=False, conf_args=True):
"""
Wraps an autotools command in the relevant environment variables and
cross-compilation config
cross-compilation config. We need to call this method after we get
the right env. vars using get_faasm_build_env_dict
"""
result = copy(BASE_CONFIG_CMDXX if cxx else BASE_CONFIG_CMD)
base_config_cmd = [
"CC={}".format(env_vars["FAASM_WASM_CC"]),
"CXX={}".format(env_vars["FAASM_WASM_CXX"]),
# "CPP={}".format(env_vars["FAASM_WASM_CXX"]),
"AR={}".format(env_vars["FAASM_WASM_AR"]),
"RANLIB={}".format(env_vars["FAASM_WASM_RANLIB"]),
'CFLAGS="--target={} {}"'.format(env_vars["FAASM_WASM_TRIPLE"], env_vars["FAASM_WASM_CFLAGS"]),
# 'CPPFLAGS="--target={} {}"'.format(env_vars["FAASM_WASM_TRIPLE"], env_vars["FAASM_WASM_CXXFLAGS"]),
'CXXFLAGS="--target={} {}"'.format(env_vars["FAASM_WASM_TRIPLE"], env_vars["FAASM_WASM_CXXFLAGS"]),
'CCSHARED="{}"'.format(env_vars["FAASM_WASM_CFLAGS_SHARED"]),
'CXXSHARED="{}"'.format(env_vars["FAASM_WASM_CXXFLAGS_SHARED"]),
]

if cxx:
base_config_cmd += [
"LD={}".format(env_vars["FAASM_WASM_CXX"]),
'LDFLAGS="-target {} {}"'.format(env_vars["FAASM_WASM_TRIPLE"], env_vars["FAASM_WASM_STATIC_LINKER_FLAGS"])
# 'LDSHARED="{}"'.format(WASM_LDXXSHARED),
]
else:
base_config_cmd += [
"LD={}".format(env_vars["FAASM_WASM_CC"]),
'LDFLAGS="-target {} {}"'.format(env_vars["FAASM_WASM_TRIPLE"], env_vars["FAASM_WASM_STATIC_LINKER_FLAGS"])
# 'LDSHARED="{}"'.format(env_vars["FAASM_WASM_CFLAGS_SHARED"),
]

result += BASE_CONFIG_FLAGS_SHARED if shared else BASE_CONFIG_FLAGS
# result += BASE_CONFIG_FLAGS_SHARED if shared else BASE_CONFIG_FLAGS

result += cmd
base_config_cmd += cmd

if conf_args:
result += _BASE_CONFIG_ARGS_SHARED if shared else _BASE_CONFIG_ARGS
base_config_cmd += _BASE_CONFIG_ARGS_SHARED if shared else _BASE_CONFIG_ARGS

return result
return base_config_cmd


def run_autotools(proj_dir):
Expand Down
5 changes: 5 additions & 0 deletions sysroot_extras/libc.imports
Original file line number Diff line number Diff line change
Expand Up @@ -99,11 +99,16 @@ pthread_cond_destroy
pthread_cond_signal
pthread_cond_timedwait
pthread_cond_init
pthread_condattr_init
pthread_condattr_setclock
pthread_equal
pthread_mutexattr_init
pthread_mutexattr_settype
pthread_mutexattr_destroy
__tls_align
__tls_base
__tls_size
__wasm_init_tls

# Signals
signal
Expand Down
4 changes: 2 additions & 2 deletions tasks/libemscripten.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@


@task(default=True)
def build(ctx, clean=False):
def build(ctx, clean=False, threads=False):
"""
Builds Faasm emscripten support library
"""
build_faasm_lib("libemscripten", clean=clean, native=False, shared=False)
build_faasm_lib("libemscripten", clean=clean, native=False, shared=False, threads=threads)

0 comments on commit 0b67978

Please sign in to comment.