diff options
Diffstat (limited to 'scripts/build/libc.sh')
-rw-r--r-- | scripts/build/libc.sh | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/scripts/build/libc.sh b/scripts/build/libc.sh new file mode 100644 index 0000000..5f5aa6f --- /dev/null +++ b/scripts/build/libc.sh @@ -0,0 +1,39 @@ +# C library build routines. We don't invoke the corresponding functions directly +# because some of them build on top of another. E.g. moxiebox runtime requires +# newlib as a prerequisite. + +# Define default hooks - download/unpack just the main package; no-op build hooks. +# The actual implementation can override just what it needs then. +eval "${CT_LIBC//[^A-Za-z0-9]/_}_get() { CT_Fetch \"\${CT_LIBC_${CT_LIBC_CHOICE_KSYM}_PKG_KSYM}\"; }" +eval "${CT_LIBC//[^A-Za-z0-9]/_}_extract() { CT_ExtractPatch \"\${CT_LIBC_${CT_LIBC_CHOICE_KSYM}_PKG_KSYM}\"; }" +for _m in headers main post_cc; do + eval "${CT_LIBC//[^A-Za-z0-9]/_}_${_m}() { :; }" +done + +# Source the selected libc. +. "${CT_LIB_DIR}/scripts/build/libc/${CT_LIBC}.sh" + +do_libc_get() +{ + eval "${CT_LIBC//[^A-Za-z0-9]/_}_get" +} + +do_libc_extract() +{ + eval "${CT_LIBC//[^A-Za-z0-9]/_}_extract" +} + +do_libc_headers() +{ + eval "${CT_LIBC//[^A-Za-z0-9]/_}_headers" +} + +do_libc_main() +{ + eval "${CT_LIBC//[^A-Za-z0-9]/_}_main" +} + +do_libc_post_cc() +{ + eval "${CT_LIBC//[^A-Za-z0-9]/_}_post_cc" +} |