Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions bazel-registry/modules/wamr/2.4.4.envoy/MODULE.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
module(
name = "wamr",
version = "2.4.4.envoy",
compatibility_level = 1,
)

bazel_dep(name = "bazel_skylib", version = "1.7.0")
bazel_dep(name = "platforms", version = "1.0.0")
bazel_dep(name = "rules_cc", version = "0.1.5")
175 changes: 175 additions & 0 deletions bazel-registry/modules/wamr/2.4.4.envoy/overlay/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,175 @@
load("@rules_cc//cc:defs.bzl", "cc_library")

package(default_visibility = ["//visibility:public"])

licenses(["notice"]) # Apache 2.0 with LLVM exception

cc_library(
name = "iwasm",
srcs = [
# Memory allocator sources (EMS only - tlsf has been removed from upstream)
"core/shared/mem-alloc/ems/ems_alloc.c",
"core/shared/mem-alloc/ems/ems_gc.c",
"core/shared/mem-alloc/ems/ems_hmu.c",
"core/shared/mem-alloc/ems/ems_kfc.c",
"core/shared/mem-alloc/mem_alloc.c",
# Shared utils
"core/shared/utils/bh_assert.c",
"core/shared/utils/bh_bitmap.c",
"core/shared/utils/bh_common.c",
"core/shared/utils/bh_hashmap.c",
"core/shared/utils/bh_leb128.c",
"core/shared/utils/bh_list.c",
"core/shared/utils/bh_log.c",
"core/shared/utils/bh_queue.c",
"core/shared/utils/bh_vector.c",
"core/shared/utils/runtime_timer.c",
# IWASM common sources
"core/iwasm/common/wasm_blocking_op.c",
"core/iwasm/common/wasm_c_api.c",
"core/iwasm/common/wasm_exec_env.c",
"core/iwasm/common/wasm_loader_common.c",
"core/iwasm/common/wasm_memory.c",
"core/iwasm/common/wasm_native.c",
"core/iwasm/common/wasm_runtime_common.c",
"core/iwasm/common/wasm_shared_memory.c",
# Interpreter sources
"core/iwasm/interpreter/wasm_loader.c",
"core/iwasm/interpreter/wasm_runtime.c",
] + select({
# Fast vs classic interpreter
"//bazel:fast_interp_enabled": ["core/iwasm/interpreter/wasm_interp_fast.c"],
"//conditions:default": ["core/iwasm/interpreter/wasm_interp_classic.c"],
}) + select({
# Platform-specific sources
"@platforms//os:linux": [
"core/shared/platform/linux/platform_init.c",
"core/shared/platform/common/posix/posix_malloc.c",
"core/shared/platform/common/posix/posix_memmap.c",
"core/shared/platform/common/posix/posix_thread.c",
"core/shared/platform/common/posix/posix_time.c",
"core/shared/platform/common/posix/posix_sleep.c",
"core/shared/platform/common/posix/posix_blocking_op.c",
],
"@platforms//os:macos": [
"core/shared/platform/darwin/platform_init.c",
"core/shared/platform/common/posix/posix_malloc.c",
"core/shared/platform/common/posix/posix_memmap.c",
"core/shared/platform/common/posix/posix_thread.c",
"core/shared/platform/common/posix/posix_time.c",
"core/shared/platform/common/posix/posix_sleep.c",
"core/shared/platform/common/posix/posix_blocking_op.c",
# macOS doesn't have mremap, use fallback
"core/shared/platform/common/memory/mremap.c",
],
}) + select({
# Architecture-specific native invoke sources
"//bazel:x86_64_simd": ["core/iwasm/common/arch/invokeNative_em64_simd.s"],
"//bazel:x86_64_no_simd": ["core/iwasm/common/arch/invokeNative_em64.s"],
"//bazel:aarch64_simd": ["core/iwasm/common/arch/invokeNative_aarch64_simd.s"],
"//bazel:aarch64_no_simd": ["core/iwasm/common/arch/invokeNative_aarch64.s"],
# Fallback to general C implementation for other architectures
"//conditions:default": ["core/iwasm/common/arch/invokeNative_general.c"],
}),
hdrs = glob([
"core/*.h", # For version.h and config.h
"core/iwasm/include/*.h",
"core/shared/platform/include/*.h",
"core/shared/platform/linux/*.h",
"core/shared/platform/darwin/*.h",
"core/shared/platform/common/posix/*.h",
"core/shared/mem-alloc/*.h",
"core/shared/mem-alloc/ems/*.h",
"core/shared/utils/*.h",
"core/iwasm/common/*.h",
"core/iwasm/interpreter/*.h",
"core/iwasm/aot/*.h",
"core/iwasm/compilation/*.h",
]),
copts = select({
"@platforms//os:windows": [],
"//conditions:default": [
"-std=gnu99",
"-Wno-unused-parameter",
"-Wno-pedantic",
"-Wno-unused-command-line-argument",
],
}),
includes = [
".", # Root for all relative paths
"core",
"core/iwasm", # For relative paths like ../aot/ from common/
"core/iwasm/include",
"core/shared/platform/include",
"core/shared/mem-alloc",
"core/shared/mem-alloc/ems",
"core/shared/utils",
"core/iwasm/common",
"core/iwasm/interpreter",
"core/iwasm/aot",
"core/iwasm/compilation",
] + select({
"@platforms//os:linux": ["core/shared/platform/linux"],
"@platforms//os:macos": ["core/shared/platform/darwin"],
"//conditions:default": [],
}),
linkopts = select({
"@platforms//os:linux": ["-lpthread", "-lm"],
"@platforms//os:macos": ["-lpthread"],
"//conditions:default": [],
}),
local_defines = [
# Core defines
"WASM_ENABLE_INTERP=1",
"BH_MALLOC=wasm_runtime_malloc",
"BH_FREE=wasm_runtime_free",
# Use EMS allocator (tlsf has been removed from upstream WAMR)
"MEM_ALLOCATOR_EMS=0",
"MEM_ALLOCATOR_TLSF=1",
"DEFAULT_MEM_ALLOCATOR=MEM_ALLOCATOR_EMS",
# Disable features we don't need
"WASM_ENABLE_LIBC_WASI=0",
"WASM_ENABLE_LIBC_BUILTIN=0",
"WASM_ENABLE_MULTI_MODULE=0",
"WASM_ENABLE_AOT=0",
"WASM_ENABLE_JIT=0",
] + select({
"@platforms//os:linux": [
"BH_PLATFORM_LINUX",
"_GNU_SOURCE", # Required for mremap and MREMAP_MAYMOVE
"WASM_HAVE_MREMAP=1", # Linux has native mremap syscall
],
"@platforms//os:macos": ["BH_PLATFORM_DARWIN"],
"//conditions:default": [],
}) + select({
"//bazel:fast_interp_enabled": ["WASM_ENABLE_FAST_INTERP=1"],
"//conditions:default": ["WASM_ENABLE_FAST_INTERP=0"],
}) + select({
"//bazel:dump_call_stack_enabled": ["WASM_ENABLE_DUMP_CALL_STACK=1"],
"//conditions:default": ["WASM_ENABLE_DUMP_CALL_STACK=0"],
}) + select({
"//bazel:custom_name_section_enabled": ["WASM_ENABLE_CUSTOM_NAME_SECTION=1"],
"//conditions:default": ["WASM_ENABLE_CUSTOM_NAME_SECTION=0"],
}) + select({
"//bazel:load_custom_section_enabled": ["WASM_ENABLE_LOAD_CUSTOM_SECTION=1"],
"//conditions:default": ["WASM_ENABLE_LOAD_CUSTOM_SECTION=0"],
}) + select({
"//bazel:bulk_memory_enabled": ["WASM_ENABLE_BULK_MEMORY=1"],
"//conditions:default": ["WASM_ENABLE_BULK_MEMORY=0"],
}) + select({
"//bazel:ref_types_enabled": ["WASM_ENABLE_REF_TYPES=1"],
"//conditions:default": ["WASM_ENABLE_REF_TYPES=0"],
}) + select({
"//bazel:tail_call_enabled": ["WASM_ENABLE_TAIL_CALL=1"],
"//conditions:default": ["WASM_ENABLE_TAIL_CALL=0"],
}) + select({
"//bazel:simd_enabled": ["WASM_ENABLE_SIMD=1"],
"//conditions:default": ["WASM_ENABLE_SIMD=0"],
}),
)

# Alias for compatibility
alias(
name = "wamr_lib",
actual = ":iwasm",
)
52 changes: 52 additions & 0 deletions bazel-registry/modules/wamr/2.4.4.envoy/overlay/bazel/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
load("@bazel_skylib//rules:common_settings.bzl", "bool_flag")

package(default_visibility = ["//visibility:public"])

# Debug/dev features - default OFF for production
bool_flag(name = "dump_call_stack", build_setting_default = False)
bool_flag(name = "custom_name_section", build_setting_default = False)
bool_flag(name = "load_custom_section", build_setting_default = False)

# Runtime mode
bool_flag(name = "fast_interp", build_setting_default = True)

# Wasm features
bool_flag(name = "bulk_memory", build_setting_default = True)
bool_flag(name = "ref_types", build_setting_default = True)
bool_flag(name = "tail_call", build_setting_default = True)
bool_flag(name = "simd", build_setting_default = False)

# Config settings for selects
config_setting(name = "dump_call_stack_enabled", flag_values = {":dump_call_stack": "True"})
config_setting(name = "custom_name_section_enabled", flag_values = {":custom_name_section": "True"})
config_setting(name = "load_custom_section_enabled", flag_values = {":load_custom_section": "True"})
config_setting(name = "fast_interp_enabled", flag_values = {":fast_interp": "True"})
config_setting(name = "bulk_memory_enabled", flag_values = {":bulk_memory": "True"})
config_setting(name = "ref_types_enabled", flag_values = {":ref_types": "True"})
config_setting(name = "tail_call_enabled", flag_values = {":tail_call": "True"})
config_setting(name = "simd_enabled", flag_values = {":simd": "True"})

# Combined arch + simd config settings
config_setting(
name = "x86_64_simd",
constraint_values = ["@platforms//cpu:x86_64"],
flag_values = {":simd": "True"},
)

config_setting(
name = "x86_64_no_simd",
constraint_values = ["@platforms//cpu:x86_64"],
flag_values = {":simd": "False"},
)

config_setting(
name = "aarch64_simd",
constraint_values = ["@platforms//cpu:aarch64"],
flag_values = {":simd": "True"},
)

config_setting(
name = "aarch64_no_simd",
constraint_values = ["@platforms//cpu:aarch64"],
flag_values = {":simd": "False"},
)
15 changes: 15 additions & 0 deletions bazel-registry/modules/wamr/2.4.4.envoy/presubmit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
matrix:
platform:
- debian11
- ubuntu2404
- macos
bazel:
- 8.x

tasks:
verify_targets:
name: Verify build targets
platform: ${{ platform }}
bazel: ${{ bazel }}
build_targets:
- "@wamr//..."
9 changes: 9 additions & 0 deletions bazel-registry/modules/wamr/2.4.4.envoy/source.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"url": "https://github.com/bytecodealliance/wasm-micro-runtime/archive/refs/tags/WAMR-2.4.4.tar.gz",
"integrity": "sha256-A61RA38GI1V3t2XuBCpGIybYkZMAEHr0VGcZw1Ulspg=",
"strip_prefix": "wasm-micro-runtime-WAMR-2.4.4",
"overlay": {
"BUILD.bazel": "sha256-15Kvn7oeE1LzysysQNzR8wmweMhfB/VsVuWRJpPR/GA=",
"bazel/BUILD.bazel": "sha256-zlpzIe/So0vrWA7sGML4CI5E1k5UOe8ebJ77XK4h8xc="
}
}
11 changes: 11 additions & 0 deletions bazel-registry/modules/wamr/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"homepage": "https://github.com/bytecodealliance/wasm-micro-runtime",
"maintainers": [],
"repository": [
"github:bytecodealliance/wasm-micro-runtime"
],
"versions": [
"2.4.4.envoy"
],
"yanked_versions": []
}