lvgl / lv_port_renesas_ek-ra8d1

0 stars 3 forks source link

Migrate to LLVM #11

Closed kisvegabor closed 2 weeks ago

kisvegabor commented 2 weeks ago

I converter master to a C++ project and now Lottie can be played out of the box too. After that I started to document how to convert the project to LLVM. I could resolve several issues but I stuck with this one:

arm-none-eabi-libgen --select-lib=newlib --compiler-options=-mcpu=cortex-m85,-mthumb,-O0,-ffunction-sections,-fdata-sections,-fdiagnostics-parseable-fixits --assembler-options=-mcpu=cortex-m85,-mthumb -o "liblv_port_renesas_ek-ra8d1.a"
/bin/sh: 1: arm-none-eabi-libgen: not found
make: *** [makefile:359: liblv_port_renesas_ek-ra8d1.a] Error 127
make: *** Waiting for unfinished jobs....

My current project is available in https://github.com/lvgl/lv_port_renesas_ek-ra8d1/tree/new-llvm

@jeremy-baker Can you advice with this issue

Besides that Lottie was not compiled because

error: "The <wchar.h> header is not supported since libc++ has been configured with LIBCXX_ENABLE_WIDE_CHARACTERS disabled"

Probably we needed to compile LLVM from source for this issue is not critical.

jeremy-baker commented 2 weeks ago

@kisvegabor arm-none-eabi-libgen doesn't exist in the ARM LLVM toolchain, so you will have to use a pre-built library. I have pushed the changes to the branch that fix the build.

jeremy-baker commented 2 weeks ago

@kisvegabor ARM LLVM version 18.1.3 provides multilb support (picolib and an optional newlib overlay rather than just picolib in 17.0.1), so the newlib overlay of 18.1.3 might provide wide char support. 18.1.3 is going to be used by FSP 5.4.0 that is dut to be released soon.

kisvegabor commented 2 weeks ago

Selecting pre-built library worked thank you! All things considered I needed to add these changes to migrate from gcc to llvm. I'll continue with Ac6 and Arm2D.

ARM LLVM version 18.1.3 provides multilb support

Great, I'll test it again when FSP 5.4.0 is out.