From b8e64a0c08ea2c3b2940d8e7154970f0dc610ed5 Mon Sep 17 00:00:00 2001 From: Erico Nunes Date: Sun, 21 Jun 2015 20:53:06 -0300 Subject: avr-libc: add support for avr-libc C library This commit adds support for the avr-libc C library. According to the project page at http://www.nongnu.org/avr-libc , the avr-libc package provides a subset of the standard C library for Atmel AVR 8-bit RISC microcontrollers. In addition, the library provides the basic startup code needed by most applications. Support for this library in crosstool-ng is only enabled for the AVR 8-bit target. The avr-libc manual and most distributions build the AVR 8-bit gcc toolchain with the "avr" (non-canonical) target. Some experimentation also led to the conclusion that other (canonical) targets are not very well supported, so we force the "avr" target for crosstool-ng as well. The manual also recommends building avr-libc after the final gcc build. To accomplish this with crosstool-ng, a new do_libc_post_cc step is added, in which currently only avr-libc performs its build, and is a no-op for the other libc options. Signed-off-by: Erico Nunes --- config/libc/avr-libc.in | 51 +++++++++++++++++++++++++++++++++++++++++++++++ config/libc/avr-libc.in.2 | 8 ++++++++ 2 files changed, 59 insertions(+) create mode 100644 config/libc/avr-libc.in create mode 100644 config/libc/avr-libc.in.2 (limited to 'config/libc') diff --git a/config/libc/avr-libc.in b/config/libc/avr-libc.in new file mode 100644 index 00000000..968ca6be --- /dev/null +++ b/config/libc/avr-libc.in @@ -0,0 +1,51 @@ +# avr-libc options + +## depends on ARCH_avr +## depends on ! LINUX && ! WINDOWS && BARE_METAL +## +## select LIBC_SUPPORT_THREADS_NONE +## +## help The AVR Libc package provides a subset of the standard C library for +## help Atmel AVR 8-bit RISC microcontrollers. In addition, the library +## help provides the basic startup code needed by most applications. + +choice + bool + prompt "avr-libc version" +# Don't remove next line +# CT_INSERT_VERSION_BELOW + +config LIBC_AVR_LIBC_V_1_8_1 + bool + prompt "1.8.1" + +config LIBC_AVR_LIBC_V_1_8_0 + bool + prompt "1.8.0" + +config LIBC_AVR_LIBC_CUSTOM + bool + prompt "Custom avr-libc" + depends on EXPERIMENTAL + +endchoice + +if LIBC_AVR_LIBC_CUSTOM + +config LIBC_AVR_LIBC_CUSTOM_LOCATION + string + prompt "Full path to custom avr-libc source" + default "" + help + Enter the path to the directory (or tarball) of your source for avr-libc, + or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/avr-libc + +endif # LIBC_AVR_LIBC_CUSTOM + +config LIBC_VERSION + string +# Don't remove next line +# CT_INSERT_VERSION_STRING_BELOW + default "1.8.1" if LIBC_AVR_LIBC_V_1_8_1 + default "1.8.0" if LIBC_AVR_LIBC_V_1_8_0 + default "custom" if LIBC_AVR_LIBC_CUSTOM diff --git a/config/libc/avr-libc.in.2 b/config/libc/avr-libc.in.2 new file mode 100644 index 00000000..89a182fe --- /dev/null +++ b/config/libc/avr-libc.in.2 @@ -0,0 +1,8 @@ +# avr-libc second-part options + +config LIBC_AVR_LIBC_EXTRA_CONFIG_ARRAY + string + prompt "Extra config for avr-libc" + default "" + help + Extra flags to pass onto ./configure when configuring the avr-libc. -- cgit v1.2.3