From 9eac7a77cac4cdd73a827fadd1e4303d7ec7c05d Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Mon, 16 Sep 2024 17:48:58 +0200 Subject: [PATCH 1/5] ci: update various actions to v4 actions/checkout, actions/upload-artifact, actions/download-artifact --- .github/workflows/build_and_run_examples.yml | 20 +++++++------ .github/workflows/build_and_run_test_app.yml | 31 ++++---------------- .github/workflows/clang-tidy.yml | 4 +-- .github/workflows/issue_comment.yml | 2 +- .github/workflows/new_issues.yml | 2 +- .github/workflows/new_prs.yml | 2 +- .github/workflows/pre-commit.yml | 2 +- .github/workflows/test_sbom.yml | 2 +- .github/workflows/upload_component.yml | 2 +- 9 files changed, 24 insertions(+), 43 deletions(-) diff --git a/.github/workflows/build_and_run_examples.yml b/.github/workflows/build_and_run_examples.yml index 57a99c2b3d..49dee66ac0 100644 --- a/.github/workflows/build_and_run_examples.yml +++ b/.github/workflows/build_and_run_examples.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-20.04 container: espressif/idf:${{ matrix.idf_ver }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: 'true' - name: Build Examples @@ -30,9 +30,9 @@ jobs: export EXTRA_CXXFLAGS="${PEDANTIC_FLAGS}" idf-build-apps find --config sdkconfig.ci idf-build-apps build --ignore-warning-file .ignore_build_warnings.txt --config sdkconfig.ci --parallel-index ${{ matrix.parallel_index }} - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: - name: example_binaries_${{ matrix.idf_ver }} + name: example_binaries_${{ matrix.idf_ver }}_${{ matrix.parallel_index }} path: | */examples/*/build_esp*/bootloader/bootloader.bin */examples/*/build_esp*/partition_table/partition-table.bin @@ -56,10 +56,11 @@ jobs: image: python:3.7-buster options: --privileged # Privileged mode has access to serial ports steps: - - uses: actions/checkout@v3 - - uses: actions/download-artifact@v3 + - uses: actions/checkout@v4 + - uses: actions/download-artifact@v4 with: - name: example_binaries_${{ matrix.idf_ver }} + pattern: example_binaries_${{ matrix.idf_ver }}_* + merge-multiple: true - name: Install Python packages env: PIP_EXTRA_INDEX_URL: "https://dl.espressif.com/pypi/" @@ -87,10 +88,11 @@ jobs: image: python:3.7-buster options: --privileged # Privileged mode has access to serial ports steps: - - uses: actions/checkout@v3 - - uses: actions/download-artifact@v3 + - uses: actions/checkout@v4 + - uses: actions/download-artifact@v4 with: - name: example_binaries_${{ matrix.idf_ver }} + pattern: example_binaries_${{ matrix.idf_ver }}_* + merge-multiple: true - name: Install Python packages env: PIP_EXTRA_INDEX_URL: "https://dl.espressif.com/pypi/" diff --git a/.github/workflows/build_and_run_test_app.yml b/.github/workflows/build_and_run_test_app.yml index 7004593b16..633bf068f3 100644 --- a/.github/workflows/build_and_run_test_app.yml +++ b/.github/workflows/build_and_run_test_app.yml @@ -31,7 +31,7 @@ jobs: export EXTRA_CFLAGS="${PEDANTIC_FLAGS} -Wstrict-prototypes" export EXTRA_CXXFLAGS="${PEDANTIC_FLAGS}" idf.py build - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v4 with: name: test_app_bin_${{ matrix.idf_target }}_${{ matrix.idf_ver }} path: | @@ -41,27 +41,6 @@ jobs: test_app/build/idf_extra_test_app.elf test_app/build/flasher_args.json - # Keeping this here for future reference. QEMU tests are not passing now - #run-qemu: - # name: Run Test App in QEMU - # needs: build - # strategy: - # matrix: - # idf_ver: ["release-v4.4", "latest"] #FIXME: QEMU is crashing with v4.3 build - # runs-on: ubuntu-20.04 - # container: ageon/pytest_env - # steps: - # - uses: actions/checkout@v2 - # with: - # fetch-depth: 0 - # - uses: actions/download-artifact@v2 - # with: - # name: test_app_bin_esp32_${{ matrix.idf_ver }} - # path: test_app/build - # - name: Run Test App in QEMU - # working-directory: test_app - # run: pytest -s --junit-xml=./test_app_results.xml --embedded-services qemu - run-target: name: Run Test App on target if: ${{ github.repository_owner == 'espressif' }} @@ -78,8 +57,8 @@ jobs: image: python:3.7-buster options: --privileged # Privileged mode has access to serial ports steps: - - uses: actions/checkout@v3 - - uses: actions/download-artifact@v2 + - uses: actions/checkout@v4 + - uses: actions/download-artifact@v4 with: name: test_app_bin_${{ matrix.idf_target }}_${{ matrix.idf_ver }} path: test_app/build @@ -90,7 +69,7 @@ jobs: - name: Run Test App on target working-directory: test_app run: pytest --junit-xml=./test_app_results_${{ matrix.idf_target }}_${{ matrix.idf_ver }}.xml --target=${{ matrix.idf_target }} - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v4 if: always() with: name: test_app_results_${{ matrix.idf_target }}_${{ matrix.idf_ver }} @@ -103,7 +82,7 @@ jobs: runs-on: ubuntu-20.04 steps: - name: Download Test results - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v4 with: path: test_results - name: Publish Test Results diff --git a/.github/workflows/clang-tidy.yml b/.github/workflows/clang-tidy.yml index 133c9ed78a..7f890cad63 100644 --- a/.github/workflows/clang-tidy.yml +++ b/.github/workflows/clang-tidy.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-20.04 container: espressif/idf:latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: 'true' - name: Install esp-clang @@ -41,7 +41,7 @@ jobs: export PATH=$PWD:$PATH ./clang-tidy-sarif -o results.sarif.raw warnings.txt python3 $GITHUB_WORKSPACE/.github/filter_sarif.py -o results.sarif --include-prefix ${GITHUB_WORKSPACE}/ results.sarif.raw - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v4 with: path: | warnings.txt diff --git a/.github/workflows/issue_comment.yml b/.github/workflows/issue_comment.yml index cbb69e018d..6b65f7fac7 100644 --- a/.github/workflows/issue_comment.yml +++ b/.github/workflows/issue_comment.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest if: ${{ github.repository_owner == 'espressif' }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Sync issue comments to JIRA uses: espressif/github-actions/sync_issues_to_jira@master env: diff --git a/.github/workflows/new_issues.yml b/.github/workflows/new_issues.yml index 35fa65cbf6..5d6f900a61 100644 --- a/.github/workflows/new_issues.yml +++ b/.github/workflows/new_issues.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest if: ${{ github.repository_owner == 'espressif' }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Sync GitHub issues to Jira project uses: espressif/github-actions/sync_issues_to_jira@master env: diff --git a/.github/workflows/new_prs.yml b/.github/workflows/new_prs.yml index 5604e5cb5e..52244c0b87 100644 --- a/.github/workflows/new_prs.yml +++ b/.github/workflows/new_prs.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest if: ${{ github.repository_owner == 'espressif' }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Sync PRs to Jira project uses: espressif/github-actions/sync_issues_to_jira@master with: diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 739c97402a..bfd0538a38 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -8,6 +8,6 @@ jobs: pre-commit: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: actions/setup-python@v2 - uses: pre-commit/action@v2.0.3 diff --git a/.github/workflows/test_sbom.yml b/.github/workflows/test_sbom.yml index 5ac9e51c4f..e482c10f87 100644 --- a/.github/workflows/test_sbom.yml +++ b/.github/workflows/test_sbom.yml @@ -9,7 +9,7 @@ jobs: name: Run SBOM manifests validation test runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - run: | git config --global safe.directory $(pwd) pip install esp-idf-sbom diff --git a/.github/workflows/upload_component.yml b/.github/workflows/upload_component.yml index 7b579f8884..d01b9c1310 100644 --- a/.github/workflows/upload_component.yml +++ b/.github/workflows/upload_component.yml @@ -14,7 +14,7 @@ jobs: upload_components: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: 'recursive' - run: | From 4b27521963a50a1092080e7060856bb5c59900e6 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Tue, 17 Sep 2024 12:01:12 +0200 Subject: [PATCH 2/5] ci: upgrade python image used for target tests Fixes inability to run node due to higher glibcxx version requirement: /__e/node20/bin/node: /usr/lib/arm-linux-gnueabihf/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /__e/node20/bin/node) --- .github/workflows/build_and_run_examples.yml | 8 ++------ .github/workflows/build_and_run_test_app.yml | 4 +--- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build_and_run_examples.yml b/.github/workflows/build_and_run_examples.yml index 49dee66ac0..63e2af5474 100644 --- a/.github/workflows/build_and_run_examples.yml +++ b/.github/workflows/build_and_run_examples.yml @@ -50,10 +50,8 @@ jobs: idf_ver: ["release-v5.0", "release-v5.1", "release-v5.2", "release-v5.3", "latest"] idf_target: ["esp32"] runs-on: [self-hosted, linux, docker, "${{ matrix.idf_target }}"] - env: - ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true container: - image: python:3.7-buster + image: python:3.11-bookworm options: --privileged # Privileged mode has access to serial ports steps: - uses: actions/checkout@v4 @@ -82,10 +80,8 @@ jobs: idf_ver: ["release-v5.0", "release-v5.1", "release-v5.2", "release-v5.3", "latest"] idf_target: ["esp32"] runs-on: [self-hosted, ESP32-ETHERNET-KIT] - env: - ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true container: - image: python:3.7-buster + image: python:3.11-bookworm options: --privileged # Privileged mode has access to serial ports steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/build_and_run_test_app.yml b/.github/workflows/build_and_run_test_app.yml index 633bf068f3..efe9a3b87d 100644 --- a/.github/workflows/build_and_run_test_app.yml +++ b/.github/workflows/build_and_run_test_app.yml @@ -51,10 +51,8 @@ jobs: idf_ver: ["release-v5.0", "release-v5.1", "release-v5.2", "release-v5.3", "latest"] idf_target: ["esp32", "esp32c3", "esp32s3"] runs-on: [self-hosted, linux, docker, "${{ matrix.idf_target }}"] - env: - ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true container: - image: python:3.7-buster + image: python:3.11-bookworm options: --privileged # Privileged mode has access to serial ports steps: - uses: actions/checkout@v4 From e35d3f2aeba4cecde6c47366706277edbcbed713 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Tue, 17 Sep 2024 11:15:36 +0200 Subject: [PATCH 3/5] fix(coap): compatibility with LWIP 2.2.0 --- coap/idf_component.yml | 2 +- coap/port/include/coap_config_posix.h | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/coap/idf_component.yml b/coap/idf_component.yml index 737900502d..a17ed3abd9 100644 --- a/coap/idf_component.yml +++ b/coap/idf_component.yml @@ -1,4 +1,4 @@ -version: "4.3.5" +version: "4.3.5~1" description: Constrained Application Protocol (CoAP) C Library url: https://github.com/espressif/idf-extra-components/tree/master/coap dependencies: diff --git a/coap/port/include/coap_config_posix.h b/coap/port/include/coap_config_posix.h index 49f3f88d31..4053bea1ff 100644 --- a/coap/port/include/coap_config_posix.h +++ b/coap/port/include/coap_config_posix.h @@ -23,6 +23,7 @@ #include #include #include +#include "lwip/init.h" #define HAVE_SYS_SOCKET_H #define HAVE_MALLOC @@ -40,10 +41,13 @@ struct in6_pktinfo { struct in6_addr ipi6_addr; /* src/dst IPv6 address */ unsigned int ipi6_ifindex; /* send/recv interface index */ }; + +#if LWIP_VERSION < 0x02020000 #define IN6_IS_ADDR_V4MAPPED(a) \ ((((__const uint32_t *) (a))[0] == 0) \ && (((__const uint32_t *) (a))[1] == 0) \ && (((__const uint32_t *) (a))[2] == htonl (0xffff))) +#endif // LWIP_VERSION < 0x02020000 /* As not defined, just need to define is as something innocuous */ #define IPV6_PKTINFO IPV6_CHECKSUM From 44a12c93d31c84469cad2b4d355a9124a8f2eea1 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Tue, 17 Sep 2024 11:36:31 +0200 Subject: [PATCH 4/5] fix(spi_nand_flash): correct calloc call arguments for GCC14 compat --- spi_nand_flash/idf_component.yml | 2 +- spi_nand_flash/src/nand.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/spi_nand_flash/idf_component.yml b/spi_nand_flash/idf_component.yml index 0827276fdf..0d4f316cc6 100644 --- a/spi_nand_flash/idf_component.yml +++ b/spi_nand_flash/idf_component.yml @@ -1,4 +1,4 @@ -version: "0.3.0" +version: "0.3.1" description: Driver for accessing SPI NAND Flash url: https://github.com/espressif/idf-extra-components/tree/master/spi_nand_flash issues: https://github.com/espressif/idf-extra-components/issues diff --git a/spi_nand_flash/src/nand.c b/spi_nand_flash/src/nand.c index 515cc4b584..7415551eee 100644 --- a/spi_nand_flash/src/nand.c +++ b/spi_nand_flash/src/nand.c @@ -203,7 +203,7 @@ esp_err_t spi_nand_flash_init_device(spi_nand_flash_config_t *config, spi_nand_f config->gc_factor = 45; } - *handle = calloc(sizeof(spi_nand_flash_device_t), 1); + *handle = calloc(1, sizeof(spi_nand_flash_device_t)); if (*handle == NULL) { return ESP_ERR_NO_MEM; } From 83ac6d6604045600bb959c9db40bdd91ed29964a Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Tue, 17 Sep 2024 16:37:45 +0200 Subject: [PATCH 5/5] fix(thorvg): compatibility with IDF v5.4-dev IDF has started detecting sections generated when compiling with -fPIC and reports that as an error. We were already passing b_staticpic=false to Meson, however turns out this had no effect, because Meson always turns on fPIC when building for android platform, and we have been setting platform to "android" in our cross_file.txt. After digging a bit, it seems that the choice of "android" platform was a hack to bypass pthread library detection which Thorvg does for other platforms, but skips for android and windows. This commit changes cross_file.txt to contain the absolute path of the directory where libpthread.a is built, so now thorvg can correctly detect pthread, and there is no need to pretend that we are building for android anymore. This commit also refactors the way cross_file.txt is generated: - started using a template in cross_file.txt.in, to be able to expand generator expressions using file(GENERATE) - replaced manual list concatenation with list(JOIN) - removed "replace_tool_name" since all the absolute tool paths are already known --- thorvg/CMakeLists.txt | 124 +++++++----------- thorvg/cross_file.txt.in | 17 +++ .../thorvg-example/main/CMakeLists.txt | 3 - thorvg/idf_component.yml | 2 +- 4 files changed, 64 insertions(+), 82 deletions(-) create mode 100644 thorvg/cross_file.txt.in diff --git a/thorvg/CMakeLists.txt b/thorvg/CMakeLists.txt index 424d0564b5..f683b7e41b 100644 --- a/thorvg/CMakeLists.txt +++ b/thorvg/CMakeLists.txt @@ -4,88 +4,52 @@ set(TVG_INC_DIR thorvg/src/bindings/capi) set(TVG_SUBDIR "${CMAKE_CURRENT_SOURCE_DIR}/thorvg") set(TVG_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/thorvg_build") set(TVG_CROSS_CFG "${CMAKE_CURRENT_BINARY_DIR}/thorvg_build/cross_file.txt") - -idf_component_register(SRCS dummy.c - INCLUDE_DIRS "${TVG_INC_DIR}") - -include(ExternalProject) - -if(NOT CMAKE_CXX_FLAGS STREQUAL "") - string(REGEX MATCHALL "-[^ ]+" match_list "${CMAKE_CXX_FLAGS}") - set(MESON_CXX_FLAGS "") - - list(LENGTH match_list match_list_length) - math(EXPR last_index "${match_list_length}-1") - - foreach(index RANGE ${last_index}) - list(GET match_list ${index} match) - string(APPEND MESON_CXX_FLAGS "'${match}'") - if(NOT ${index} EQUAL ${last_index}) - string(APPEND MESON_CXX_FLAGS ", ") - endif() - endforeach() -else() - string(APPEND MESON_CXX_FLAGS "''") +set(TVG_THREADS "true") + +idf_component_register( + SRCS dummy.c + INCLUDE_DIRS "${TVG_INC_DIR}" + PRIV_REQUIRES pthread) + + +# Convert argument strings to lists, for easier processing +set(linker_args ${CMAKE_EXE_LINKER_FLAGS}) +separate_arguments(linker_args) +list(FILTER linker_args EXCLUDE REGEX "^$") +set(compiler_args ${CMAKE_CXX_FLAGS}) +separate_arguments(compiler_args) +list(FILTER compiler_args EXCLUDE REGEX "^$") + +message(STATUS "CMAKE_EXE_LINKER_FLAGS: ${linker_args}") +message(STATUS "CMAKE_CXX_FLAGS: ${compiler_args}") + +# Add pthread library path to the linker flags if threads are enabled +if(TVG_THREADS STREQUAL "true") + idf_component_get_property(pthread_lib "pthread" COMPONENT_LIB GENERATOR_EXPRESSION) + set(pthread_lib_path_expr "$") + list(APPEND linker_args "-L${pthread_lib_path_expr}") + set(TVG_REQUIRES pthread) endif() -if(NOT CMAKE_EXE_LINKER_FLAGS STREQUAL "") - string(REGEX MATCHALL "-[^ ]+" match_list "${CMAKE_EXE_LINKER_FLAGS}") - set(MESON_LINKER_FLAGS "") +# Convert the list of arguments (arg;arg;arg) to a string "'arg', 'arg', 'arg'" +list(JOIN compiler_args "', '" MESON_CXX_FLAGS) +set(MESON_CXX_FLAGS "'${MESON_CXX_FLAGS}'") +list(JOIN linker_args "', '" MESON_LINKER_FLAGS) +set(MESON_LINKER_FLAGS "'${MESON_LINKER_FLAGS}'") - list(LENGTH match_list match_list_length) - math(EXPR last_index "${match_list_length}-1") - - foreach(index RANGE ${last_index}) - list(GET match_list ${index} match) - string(APPEND MESON_LINKER_FLAGS "'${match}'") - if(NOT ${index} EQUAL ${last_index}) - string(APPEND MESON_LINKER_FLAGS ", ") - endif() - endforeach() +if(CONFIG_IDF_TARGET_ARCH_RISCV) + set(cpu_family "riscv32") else() - string(APPEND MESON_LINKER_FLAGS "''") -endif() - -function(replace_tool_name last_name output_variable) - set(old_string "${_CMAKE_TOOLCHAIN_PREFIX}g++") - set(new_string "${_CMAKE_TOOLCHAIN_PREFIX}${last_name}") - string(REPLACE "${old_string}" "${new_string}" ${output_variable} "${CMAKE_CXX_COMPILER}") - set(${output_variable} "${${output_variable}}" PARENT_SCOPE) -endfunction() - -replace_tool_name("ar" ar_path) -replace_tool_name("as" as_path) -replace_tool_name("ranlib" ranlib_path) -replace_tool_name("ld" ld_path) -replace_tool_name("strip" srtip_path) - -file(WRITE ${TVG_CROSS_CFG} " -[binaries] -cpp = '${CMAKE_CXX_COMPILER}' -ar = '${ar_path}' -as = '${as_path}' -ranlib = '${ranlib_path}' -ld = '${ld_path}' -strip = '${srtip_path}' - -[built-in options] -cpp_args = ['-D_GNU_SOURCE','-D__linux__',${MESON_CXX_FLAGS}] -") - -if(NOT MESON_LINKER_FLAGS STREQUAL "''") - file(APPEND ${TVG_CROSS_CFG} " -cpp_link_args = [${MESON_LINKER_FLAGS}] -") + set(cpu_family "xtensa") endif() -file(APPEND ${TVG_CROSS_CFG} " -[host_machine] -system = 'android' -cpu_family = '${CMAKE_SYSTEM}' -cpu = 'esp' -endian = 'little' -") - +# Two-step generation of cross_file.txt to expand CMake variables... +configure_file(${CMAKE_CURRENT_LIST_DIR}/cross_file.txt.in ${TVG_CROSS_CFG}.tmp) +# ...and then expand generator expressions +file(GENERATE OUTPUT ${TVG_CROSS_CFG} INPUT ${TVG_CROSS_CFG}.tmp) + +include(ExternalProject) + ExternalProject_Add(${TVG_LIB}_target PREFIX ${TVG_BUILD_DIR} SOURCE_DIR ${TVG_SUBDIR} @@ -96,13 +60,17 @@ ExternalProject_Add(${TVG_LIB}_target -Dextra= -Ddefault_library=static # build static library -Db_staticpic=false # no -fPIC - -Dthreads=true # allow multi-threading + -Dthreads=${TVG_THREADS} BUILD_COMMAND ninja -C ${TVG_BUILD_DIR} INSTALL_COMMAND "" BUILD_BYPRODUCTS ${TVG_BUILD_DIR}/src/${TVG_LIB}.a ) -add_prebuilt_library(${TVG_LIB} ${TVG_BUILD_DIR}/src/${TVG_LIB}.a PRIV_REQUIRES pthread) +add_prebuilt_library(${TVG_LIB} ${TVG_BUILD_DIR}/src/${TVG_LIB}.a PRIV_REQUIRES ${TVG_REQUIRES}) add_dependencies(${TVG_LIB} ${TVG_LIB}_target) +if(TVG_THREADS STREQUAL "true") + add_dependencies(${TVG_LIB}_target idf::pthread) +endif() + target_link_libraries(${COMPONENT_LIB} INTERFACE ${TVG_LIB}) diff --git a/thorvg/cross_file.txt.in b/thorvg/cross_file.txt.in new file mode 100644 index 0000000000..b896109087 --- /dev/null +++ b/thorvg/cross_file.txt.in @@ -0,0 +1,17 @@ +[binaries] +cpp = '${CMAKE_CXX_COMPILER}' +ar = '${CMAKE_CXX_COMPILER_AR}' +as = '${CMAKE_ASM_COMPILER}' +ranlib = '${CMAKE_CXX_COMPILER_RANLIB}' +ld = '${CMAKE_LINKER}' +strip = '${CMAKE_STRIP}' + +[built-in options] +cpp_args = ['-D_GNU_SOURCE','-D__linux__',${MESON_CXX_FLAGS}] +cpp_link_args = [${MESON_LINKER_FLAGS}] + +[host_machine] +system = 'esp-idf' +cpu_family = '${cpu_family}' +cpu = 'esp' +endian = 'little' diff --git a/thorvg/examples/thorvg-example/main/CMakeLists.txt b/thorvg/examples/thorvg-example/main/CMakeLists.txt index 464a27aff3..2328325af3 100644 --- a/thorvg/examples/thorvg-example/main/CMakeLists.txt +++ b/thorvg/examples/thorvg-example/main/CMakeLists.txt @@ -3,7 +3,4 @@ idf_component_register( INCLUDE_DIRS "." PRIV_REQUIRES esp_lcd esp_timer esp_driver_ppa) -idf_component_get_property(board_lib espressif__esp32_p4_function_ev_board_noglib COMPONENT_LIB) -target_compile_options(${board_lib} PRIVATE "-Wno-unused-variable") - spiffs_create_partition_image(storage ../spiffs_content FLASH_IN_PROJECT) diff --git a/thorvg/idf_component.yml b/thorvg/idf_component.yml index 80f75dbef8..b522000fb0 100644 --- a/thorvg/idf_component.yml +++ b/thorvg/idf_component.yml @@ -1,4 +1,4 @@ -version: "0.13.8" +version: "0.13.8~1" description: "ThorVG is an open-source graphics library designed for creating vector-based scenes and animations" url: https://github.com/espressif/idf-extra-components/tree/master/thorvg repository: "https://github.com/espressif/idf-extra-components.git"