Skip to content

Commit

Permalink
Update esp-idf platform support in main (bytecodealliance#3304)
Browse files Browse the repository at this point in the history
1. Fix API "futimens" and "utimensat" compiling error in different esp-idf version
2. Update component registry description file

ps. refer to PR bytecodealliance#3296 on branch release/1.3x
  • Loading branch information
donghengqaz authored and victoryang00 committed May 1, 2024
1 parent aad8089 commit f1af93a
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 4 deletions.
22 changes: 20 additions & 2 deletions core/shared/platform/esp-idf/espidf_platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@
#include "platform_api_vmcore.h"
#include "platform_api_extension.h"

#if (ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 0)) \
&& (ESP_IDF_VERSION < ESP_IDF_VERSION_VAL(5, 2, 0))
#define UTIMENSAT_TIMESPEC_POINTER 1
#define FUTIMENS_TIMESPEC_POINTER 1
#endif

int
bh_platform_init()
{
Expand Down Expand Up @@ -234,7 +240,13 @@ unlinkat(int fd, const char *path, int flag)
}

int
utimensat(int fd, const char *path, const struct timespec ts[2], int flag)
utimensat(int fd, const char *path,
#if UTIMENSAT_TIMESPEC_POINTER
const struct timespec *ts,
#else
const struct timespec ts[2],
#endif
int flag)
{
errno = ENOSYS;
return -1;
Expand All @@ -257,7 +269,13 @@ ftruncate(int fd, off_t length)
#endif

int
futimens(int fd, const struct timespec times[2])
futimens(int fd,
#if FUTIMENS_TIMESPEC_POINTER
const struct timespec *times
#else
const struct timespec times[2]
#endif
)
{
errno = ENOSYS;
return -1;
Expand Down
9 changes: 8 additions & 1 deletion idf_component.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,11 @@ repository: https://github.com/bytecodealliance/wasm-micro-runtime.git
documentation: https://wamr.gitbook.io/
issues: https://github.com/bytecodealliance/wasm-micro-runtime/issues
dependencies:
idf: ">=4.4"
idf: ">=4.4"
targets:
- esp32
- esp32s3
- esp32c3
- esp32c6
examples:
- path: product-mini/platforms/esp-idf
2 changes: 1 addition & 1 deletion product-mini/platforms/esp-idf/main/idf_component.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
## IDF Component Manager Manifest File
dependencies:
wasm-micro-runtime:
version: ">=2.0"
version: "^2"
override_path: "../../../.."
idf:
version: ">=4.4"

0 comments on commit f1af93a

Please sign in to comment.