diff options
author | Keith Packard <keithp@keithp.com> | 2021-01-08 01:21:39 (GMT) |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2021-01-09 01:48:33 (GMT) |
commit | 7e457684ea05795be91265cc5bc0320995288871 (patch) | |
tree | 55e4c5f26808cdd4af017daed90e243cc277d1e9 /scripts | |
parent | e785f7c5c44fbf885425506d1e9660f119d18959 (diff) |
picolibc: Convert to companion library
This allows configurations to include picolibc without excluding
another C library.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/build/companion_libs/340-picolibc.sh (renamed from scripts/build/libc/picolibc.sh) | 37 |
1 files changed, 25 insertions, 12 deletions
diff --git a/scripts/build/libc/picolibc.sh b/scripts/build/companion_libs/340-picolibc.sh index 152125c..c0128c1 100644 --- a/scripts/build/libc/picolibc.sh +++ b/scripts/build/companion_libs/340-picolibc.sh @@ -5,22 +5,30 @@ # Edited by Keith Packard <keithp@keithp.com> # -picolibc_start_files() -{ - CT_DoStep INFO "Installing C library headers & start files" - CT_DoExecLog ALL cp -a "${CT_SRC_DIR}/picolibc/newlib/libc/include/." \ - "${CT_HEADERS_DIR}" - CT_EndStep +do_picolibc_get() { :; } +do_picolibc_extract() { :; } +do_picolibc_for_build() { :; } +do_picolibc_for_host() { :; } +do_picolibc_for_target() { :; } + +if [ "${CT_COMP_LIBS_PICOLIBC}" = "y" ]; then + +# Download picolibc +do_picolibc_get() { + CT_Fetch PICOLIBC } -picolibc_main() -{ +do_picolibc_extract() { + CT_ExtractPatch PICOLIBC +} + +do_picolibc_for_target() { local -a picolibc_opts local cflags_for_target - CT_DoStep INFO "Installing C library" + CT_DoStep INFO "Installing Picolibc library" - CT_mkdir_pushd "${CT_BUILD_DIR}/build-libc" + CT_mkdir_pushd "${CT_BUILD_DIR}/build-picolibc-build-${CT_BUILD}" CT_DoLog EXTRA "Configuring Picolibc library" @@ -91,11 +99,14 @@ c_args = [ ${meson_cflags} '-nostdlib', '-fno-common', '-ftls-model=local-exec' needs_exe_wrapper = true skip_sanity_check = true EOF + CT_DoExecLog CFG \ meson \ --cross-file picolibc-cross.txt \ - --prefix=${CT_SYSROOT_DIR} \ - -Dspecsdir=${CT_SYSROOT_DIR}/lib \ + --prefix="${CT_PREFIX_DIR}" \ + -Dincludedir=picolibc/include \ + -Dlibdir=picolibc/${CT_TARGET}/lib \ + -Dspecsdir="${CT_SYSROOT_DIR}"/lib \ "${CT_SRC_DIR}/picolibc" \ "${picolibc_opts[@]}" \ "${CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY[@]}" @@ -109,3 +120,5 @@ EOF CT_Popd CT_EndStep } + +fi |