Просмотр исходного кода

fix wasm-c-api sample AOT mode. (#636)

doujiang 4 лет назад
Родитель
Сommit
631838cfd9

+ 15 - 0
samples/wasm-c-api/CMakeLists.txt

@@ -119,6 +119,21 @@ foreach(EX ${EXAMPLES})
     VERBATIM
     SOURCES ${SRC}
   )
+
+  # generate .aot file
+  if(${WAMR_BUILD_AOT} EQUAL 1)
+    if(EXISTS ${WAMRC})
+      add_custom_target(${EX}_AOT ALL
+        COMMAND ${WAMRC} -o ${PROJECT_BINARY_DIR}/${EX}.aot
+          ${PROJECT_BINARY_DIR}/${EX}.wasm
+        DEPENDS ${PROJECT_BINARY_DIR}/${EX}.wasm
+        BYPRODUCTS ${PROJECT_BINARY_DIR}/${EX}.aot
+        VERBATIM
+        SOURCES ${SRC}
+        COMMENT "generate a aot file ${PROJECT_BINARY_DIR}/${EX}.aot"
+      )
+    endif()
+  endif()
 endforeach()
 
 if (CMAKE_BUILD_TYPE STREQUAL "Debug")

+ 4 - 0
samples/wasm-c-api/src/callback.c

@@ -68,7 +68,11 @@ int main(int argc, const char* argv[]) {
 
   // Load binary.
   printf("Loading binary...\n");
+#if WASM_ENABLE_AOT != 0 && WASM_ENABLE_INTERP == 0
+  FILE* file = fopen("callback.aot", "rb");
+#else
   FILE* file = fopen("callback.wasm", "rb");
+#endif
   if (!file) {
     printf("> Error loading module!\n");
     return 1;

+ 4 - 0
samples/wasm-c-api/src/global.c

@@ -53,7 +53,11 @@ int main(int argc, const char* argv[]) {
 
   // Load binary.
   printf("Loading binary...\n");
+#if WASM_ENABLE_AOT != 0 && WASM_ENABLE_INTERP == 0
+  FILE* file = fopen("global.aot", "rb");
+#else
   FILE* file = fopen("global.wasm", "rb");
+#endif
   if (!file) {
     printf("> Error loading module!\n");
     return 1;

+ 4 - 0
samples/wasm-c-api/src/hello.c

@@ -25,7 +25,11 @@ int main(int argc, const char* argv[]) {
 
   // Load binary.
   printf("Loading binary...\n");
+#if WASM_ENABLE_AOT != 0 && WASM_ENABLE_INTERP == 0
+  FILE* file = fopen("hello.aot", "rb");
+#else
   FILE* file = fopen("hello.wasm", "rb");
+#endif
   if (!file) {
     printf("> Error loading module!\n");
     return 1;

+ 4 - 0
samples/wasm-c-api/src/reflect.c

@@ -90,7 +90,11 @@ int main(int argc, const char* argv[]) {
 
   // Load binary.
   printf("Loading binary...\n");
+#if WASM_ENABLE_AOT != 0 && WASM_ENABLE_INTERP == 0
+  FILE* file = fopen("reflect.aot", "rb");
+#else
   FILE* file = fopen("reflect.wasm", "rb");
+#endif
   if (!file) {
     printf("> Error loading module!\n");
     return 1;

+ 4 - 0
samples/wasm-c-api/src/trap.c

@@ -27,7 +27,11 @@ int main(int argc, const char* argv[]) {
 
   // Load binary.
   printf("Loading binary...\n");
+#if WASM_ENABLE_AOT != 0 && WASM_ENABLE_INTERP == 0
+  FILE* file = fopen("trap.aot", "rb");
+#else
   FILE* file = fopen("trap.wasm", "rb");
+#endif
   if (!file) {
     printf("> Error loading module!\n");
     return 1;