avr-libc-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[avr-libc-commit] [2557] Release avr-libc 2.1.0


From: j
Subject: [avr-libc-commit] [2557] Release avr-libc 2.1.0
Date: Fri, 28 Jan 2022 18:10:53 -0500 (EST)

Revision: 2557
          http://svn.sv.gnu.org/viewvc/?view=rev&root=avr-libc&revision=2557
Author:   joerg_wunsch
Date:     2022-01-28 18:10:52 -0500 (Fri, 28 Jan 2022)
Log Message:
-----------
Release avr-libc 2.1.0

Added Paths:
-----------
    tags/avr-libc-2_1_0-release/
    tags/avr-libc-2_1_0-release/ChangeLog
    tags/avr-libc-2_1_0-release/ChangeLog-2021
    tags/avr-libc-2_1_0-release/NEWS
    tags/avr-libc-2_1_0-release/configure.ac

Removed Paths:
-------------
    tags/avr-libc-2_1_0-release/ChangeLog
    tags/avr-libc-2_1_0-release/NEWS
    tags/avr-libc-2_1_0-release/configure.ac

Deleted: tags/avr-libc-2_1_0-release/ChangeLog
===================================================================
--- trunk/avr-libc/ChangeLog    2021-05-20 22:22:24 UTC (rev 2554)
+++ tags/avr-libc-2_1_0-release/ChangeLog       2022-01-28 23:10:52 UTC (rev 
2557)
@@ -1,67 +0,0 @@
-2021-05-20 Georg-Johann Lay
-
-       patch #9553: Fix some issues in libc/
-       * libc/stdio/vfscanf.c (GETBYTE) [LPMx]: Early-clobber %0.
-       (GETBYTE) [default]: Use shorter instruction sequence.
-       * libc/stdio/vfprintf.c: Same.
-       (vfprintf): Fix build-warnings.
-       * libc/stdlib/dtostre.c (dtostre): Fix build warning.
-       * libc/stdlib/getenv.c (getenv): Fix build warning.
-
-2021-05-20 Georg-Johann Lay
-
-       patch #9864: Use proper float function names and prototypes
-       * include/math.h
-       (cos, sin, tan, fmod, modf, sqrt, cbrt, hypot, square, floor, ceil)
-       (frexp, ldexp, exp, cosh, sinh, tanh, asin, acos, atan, atan2)
-       (log, log10, pow, isnan, isinf, signbit, fdim, fma, fmax, fmin)
-       (trunc, round, lround, lrint) [double=64-bit]: Provide double
-       prototypes.
-       [double=32-bit]: Provide protos with assembler names which are
-       the corresponding float function name.
-       (cosf, sinf, tanf, fmodf, modff, sqrtf, cbrtf, hypotf, squaref)
-       (floorf, ceilf, frexpf, ldexpf, expf, coshf, sinhf, tanhf, asinf)
-       (acosf, atanf, atan2f, logf, log10f, powf, isnanf, isinff)
-       (signbitf, fdimf, fmaf, fmaxf, fmin, truncf, roundf, lroundf)
-       (lrintf):
-       Turn from macro to proper prototype.
-       (fabs, fabsf, isfinite, isfinitef, copysign, copysignf): Implement.
-       * libm/fplib/acos.S: Use correct names for functions that deal
-       with float, e.g. acosf instead of acos.  Adjust comments.
-       * libm/fplib/asin.S: Same.
-       * libm/fplib/atan.S: Same.
-       * libm/fplib/atan2.S: Same.
-       * libm/fplib/cbrt.S: Same.
-       * libm/fplib/ceil.S: Same.
-       * libm/fplib/copysign.S: Same.
-       * libm/fplib/cos.S: Same.
-       * libm/fplib/cosh.S: Same.
-       * libm/fplib/exp.S: Same.
-       * libm/fplib/fdim.S: Same.
-       * libm/fplib/floor.S: Same.
-       * libm/fplib/fma.S: Same.
-       * libm/fplib/fmax.S: Same.
-       * libm/fplib/fmin.S: Same.
-       * libm/fplib/fmod.S: Same.
-       * libm/fplib/fp_arccos.S: Same.
-       * libm/fplib/frexp.S: Same.
-       * libm/fplib/hypot.S: Same.
-       * libm/fplib/isfinite.S: Same.
-       * libm/fplib/isinf.S: Same.
-       * libm/fplib/isnan.S: Same.
-       * libm/fplib/ldexp.S: Same.
-       * libm/fplib/log.S: Same.
-       * libm/fplib/log10.S: Same.
-       * libm/fplib/lrint.S: Same.
-       * libm/fplib/lround.S: Same.
-       * libm/fplib/modf.S: Same.
-       * libm/fplib/pow.S: Same.
-       * libm/fplib/round.S: Same.
-       * libm/fplib/signbit.S: Same.
-       * libm/fplib/sin.S: Same.
-       * libm/fplib/sinh.S: Same.
-       * libm/fplib/sqrt.S: Same.
-       * libm/fplib/square.S: Same.
-       * libm/fplib/tan.S: Same.
-       * libm/fplib/tanh.S: Same.
-       * libm/fplib/trunc.S: Same.

Copied: tags/avr-libc-2_1_0-release/ChangeLog (from rev 2556, 
trunk/avr-libc/ChangeLog)
===================================================================
--- tags/avr-libc-2_1_0-release/ChangeLog                               (rev 0)
+++ tags/avr-libc-2_1_0-release/ChangeLog       2022-01-28 23:10:52 UTC (rev 
2557)
@@ -0,0 +1,4 @@
+2022-01-28  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
+
+       * configure.ac: Release version 2.1.0.
+

Copied: tags/avr-libc-2_1_0-release/ChangeLog-2021 (from rev 2555, 
trunk/avr-libc/ChangeLog-2021)
===================================================================
--- tags/avr-libc-2_1_0-release/ChangeLog-2021                          (rev 0)
+++ tags/avr-libc-2_1_0-release/ChangeLog-2021  2022-01-28 23:10:52 UTC (rev 
2557)
@@ -0,0 +1,67 @@
+2021-05-20 Georg-Johann Lay
+
+       patch #9553: Fix some issues in libc/
+       * libc/stdio/vfscanf.c (GETBYTE) [LPMx]: Early-clobber %0.
+       (GETBYTE) [default]: Use shorter instruction sequence.
+       * libc/stdio/vfprintf.c: Same.
+       (vfprintf): Fix build-warnings.
+       * libc/stdlib/dtostre.c (dtostre): Fix build warning.
+       * libc/stdlib/getenv.c (getenv): Fix build warning.
+
+2021-05-20 Georg-Johann Lay
+
+       patch #9864: Use proper float function names and prototypes
+       * include/math.h
+       (cos, sin, tan, fmod, modf, sqrt, cbrt, hypot, square, floor, ceil)
+       (frexp, ldexp, exp, cosh, sinh, tanh, asin, acos, atan, atan2)
+       (log, log10, pow, isnan, isinf, signbit, fdim, fma, fmax, fmin)
+       (trunc, round, lround, lrint) [double=64-bit]: Provide double
+       prototypes.
+       [double=32-bit]: Provide protos with assembler names which are
+       the corresponding float function name.
+       (cosf, sinf, tanf, fmodf, modff, sqrtf, cbrtf, hypotf, squaref)
+       (floorf, ceilf, frexpf, ldexpf, expf, coshf, sinhf, tanhf, asinf)
+       (acosf, atanf, atan2f, logf, log10f, powf, isnanf, isinff)
+       (signbitf, fdimf, fmaf, fmaxf, fmin, truncf, roundf, lroundf)
+       (lrintf):
+       Turn from macro to proper prototype.
+       (fabs, fabsf, isfinite, isfinitef, copysign, copysignf): Implement.
+       * libm/fplib/acos.S: Use correct names for functions that deal
+       with float, e.g. acosf instead of acos.  Adjust comments.
+       * libm/fplib/asin.S: Same.
+       * libm/fplib/atan.S: Same.
+       * libm/fplib/atan2.S: Same.
+       * libm/fplib/cbrt.S: Same.
+       * libm/fplib/ceil.S: Same.
+       * libm/fplib/copysign.S: Same.
+       * libm/fplib/cos.S: Same.
+       * libm/fplib/cosh.S: Same.
+       * libm/fplib/exp.S: Same.
+       * libm/fplib/fdim.S: Same.
+       * libm/fplib/floor.S: Same.
+       * libm/fplib/fma.S: Same.
+       * libm/fplib/fmax.S: Same.
+       * libm/fplib/fmin.S: Same.
+       * libm/fplib/fmod.S: Same.
+       * libm/fplib/fp_arccos.S: Same.
+       * libm/fplib/frexp.S: Same.
+       * libm/fplib/hypot.S: Same.
+       * libm/fplib/isfinite.S: Same.
+       * libm/fplib/isinf.S: Same.
+       * libm/fplib/isnan.S: Same.
+       * libm/fplib/ldexp.S: Same.
+       * libm/fplib/log.S: Same.
+       * libm/fplib/log10.S: Same.
+       * libm/fplib/lrint.S: Same.
+       * libm/fplib/lround.S: Same.
+       * libm/fplib/modf.S: Same.
+       * libm/fplib/pow.S: Same.
+       * libm/fplib/round.S: Same.
+       * libm/fplib/signbit.S: Same.
+       * libm/fplib/sin.S: Same.
+       * libm/fplib/sinh.S: Same.
+       * libm/fplib/sqrt.S: Same.
+       * libm/fplib/square.S: Same.
+       * libm/fplib/tan.S: Same.
+       * libm/fplib/tanh.S: Same.
+       * libm/fplib/trunc.S: Same.

Deleted: tags/avr-libc-2_1_0-release/NEWS
===================================================================
--- trunk/avr-libc/NEWS 2021-05-20 22:22:24 UTC (rev 2554)
+++ tags/avr-libc-2_1_0-release/NEWS    2022-01-28 23:10:52 UTC (rev 2557)
@@ -1,1389 +0,0 @@
-*** Changes since avr-libc-2.0.0:
-
-* Improvements and additions:
-
-  - Patch #9187 improved the library coverage for the AVR_TINY
-    architecture (ATtiny10 and relatives).  In particular, many
-    of the functions from <string.h> are now available there.
-
-  - Patch #8729 adds ISR_NOICF and ISR_FLATTEN to <avr/interrupt.h>
-
-* Bugs fixed:
-
-  [#36933] Documentation no longer correctly describes how to declare
-  [#41689] add static_assert to assert.h
-  [#48898] power_usart3_* functions no more defined in power.h
-  [#49020] dtostre() flags documentation error
-  [#49447] Example code for uart_putchar() has error in recursive call
-  strings for storage in program memory
-  [#50439] avr/iom32u4.h does not define PRTIM4
-  [#51755] iotn441.h & iotn841.h missing definitions for PUEA[0-7] and 
PUEB[0-3]
-  [no-id] util/eu_dst.h: fix reversed DST decision logic for March and October
-  [no-id] util/delay.h.in: add missing return
-
-* New devices supported:
-
-* Contributed Patches:
-
-  [no-id] Define weak symbols for known memory region sizes based on device 
-  header definitions, starting with fuse region.
-  [#8961] Update test script for new simulavr and library layout
-  [#8964] Update tests isinf-01.c, signbit-01.c and modf-np.c
-  [#9163] New eeprom write block function for xmega using eeprom page write
-  [#8729] [avr/interrupt.h] Add ISR_NOICF, ISR_FLATTEN. Fix namespace of 
identifiers.
-  [#8536] Fix a typo within <stdio.h>
-  [#8649] small documentation fixes in
-  [#9187] [AVR_TINY]: Support 16-bit xtoa functons and more string functions.
-  [#9400] Add avrxmega3 multilibs
-  [#9659] Update eeprom_is_ready for avrxmega3 devices
-  [#9553] Fix some issues in libc/
-  [#9864] Use proper float function names and prototypes
-
-* Other changes:
-
-
-*** Changes in avr-libc-2.0.0:
-
-* General:
-
-    This is the first official release supporting AVR-GCC 5 (and above).
-
-* Bugs fixed:
-
-  [#33698] Explicit use of RJMP/RCALL can cause "relocation truncated to fit:
-           R_AVR_13_PCREL" linker error
-  [#34719] Check for right build compiler
-  [#43011] Bug in struct definition of __reg_UCSR1C and __reg_UCSR0C in 
iom128rfa1.h
-  [#43044] memory sections require __attribute__ ((used))
-  [#43828] wdt.h: Wrong inline assembler arguments
-  [#44140] wdt_disable() macro clobbers prescaller bits
-  [#44279] incorrect USB_TRNCOMPL_vect_num in iox64a1u.h, iox128a1u.h
-  [#44515] Wrong build option '-mtiny-stack' instead of '-msp8'
-  [#44574] Place device-specific libraries in their multilib directory
-  [#44869] trunk doesn't work with gcc 5.1.0-RC-20150412
-  [#44977] Incorrect PORT_t and CRC_t definitions for ATxmega64A1U and 128A1U
-  [#45539] iom32u4.h defines reserved IO address (TIMSK2 (0x70), TIMSK5 (0x73) 
etc)
-  [#45551] Power-save mode not supported for ATtiny167
-  [#36303] Wrong hour for EU Summertime
-  [#44514] Wrong build option '-mtiny-stack' instead of '-msp8'
-  [no-id] TC_EVACT_FRQ_gc was misspelled as TC_EVACT_FRW_gc in some Xmega
-          header files
-  [no-id] LOCKBITS renamed to LOCK_BITS in Xmega header files as LOCKBITS
-          clashes with definition in lock.h. Added missed defines to 
ADC_CH_MUXPOS_enum.
-          Corrected pinmux values in ADC_CH_MUXNEG_enum.
-  [no-id] Fix typos and incorrect definitions in header files.
-
-* New devices supported:
-
-  - ATA6616C, ATtiny441, ATtiny841, ATA6612C, ATA6617C, ATA664251, ATmega48PB,
-    ATmega88PB, ATA5702M322, ATA5782, ATA5790N, ATA5831, ATA6613C, ATA6614Q,
-    ATmega64HVE2, ATxmega8E5, ATxmega32C3, ATxmega32D3, ATxmega32E5
-
-* Contributed Patches:
-
-  [no-id] save & restore rampd register in xmega wdt_enable and wdt_disable
-  [#8543] Fix multiple issues with device header files
-  [#8557] Proposing to remove device specific xmega macros from sleep.h
-  [#8563] Generalize power reduction macros in power.h by removing hard coded 
device names
-  [#8564] Add dwarf debug info alternative, build printf with debug info
-  [#8565] Compute and include device header file name from
-          __AVR_DEV_LIB_NAME__ as fallback in io.h.
-  [#8587] Move device specific functions to libdev.a
-  [#8590] WDT enable/disable for devices with CCP
-  [#8610] Remove eeprom function name mangling
-  [#8716] Enable setjmp/longjmp functions for AVR_TINY architecture
-  [#8718] Enable EEPROM memory map only for devices with EEPROM Data Memory
-          Mapping Enable bit (EEMAPEN)
-  [#8731] Header file for atmega644a
-  [#8728] Use __extension__ with long long
-  [#8556] Fix atexit.c
-  [#8810] Fix LFUSE_DEFAULT for tiny24a/44a
-  [#8902] Xmega's PROTECTED_WRITE is incorrect for IO registers whose address
-          is more than one byte
-
-* Other changes:
-
-  Overhaul of doxygen documentation.
-
-
-*** Changes in avr-libc-1.8.1:
-
-* Bugs fixed:
-
-  [#31267] misleading header iom128rfa1.h
-  [#35197] sleep.h _BV defined as __BV in AT90S8515 section
-  [#35226] Online-documentation broken - [...]
-  [#35398] assert doesn't work unless stdlib.h is also included
-  [#35498] misspelled in <util/setbaud.h>
-  [#35539] stdlib.h does not provide EXIT_SUCCESS et al.
-  [#35948] iom32u4.h for ATmega32U4 incorrectly defines Timer 2
-  [#35971] attiny4313 (2313a) pin-change interrupts PCINT[0...2] vect etc
-  [#36053] Declaration of the register USIBR missing for ATtiny2313a/4313
-  [#36410] avr/boot.h: poisoned SPMCR for ATmega128
-  [#36454] string.h: Error for long long in C90
-  [#36581] avr-libc: pgmspace.h is not ANSI compliant
-  [#37103] ATtiny5/9/10/20/40 watchdog can't be enabled
-  [#37778] _MemoryBarrier() in cpufunc.h error on compile
-  [#38135] Install a dummy stdfix-avrlibc.h
-  [#38516] Missing TWI and UCSR1D definitions for ATmega16/32 U4
-  [#39049] Clock prescaler set and get are missing for TINY architecture
-  [#39783] CRC missing definitions and incorrect power macros for xmega D3
-  [#40003] Integer type promotion leads to inefficent code in wdt.h
-  [#40206] incorrect SP init in startup code for xmegas
-  [#40567] Invalid names in iotn13a.h (EEPE/EEMPE/BODS/BODSE)
-  [#40569] sleep_bod_disable does not work in attiny13a
-  [#40595] iotn2313a.h: wrong fuses definitions for High Fuse Byte
-  [#41006] iom328p.h: wrong fuse defaults
-  [#41519] wrong SPM_PAGESIZE definition in iotn[48]8.h
-  [#42024] build break regarding avrtiny10
-  [#42084] wrong LFUSE_DEFAULT in iotn84a.h
-  [#42085] HFUSE_DEFAULT not defined for iotn84.h
-  [#39779] PCIE0 and PCIE1 defined incorrectly for mega165a and mega165pa 
devices
-  [#38614] dtostrf - wrong behavior or wrong documentation
-  [#42957] missing SPMCSR defines in iom328p.h#
-  [#41690] Bit definitions for SPMCSR
-  [no-id]  XXX_vect_num not consistent io90pwmx.h, iousbxx6_7.h
-  [no-id]  Specialize clock_prescale_set/get for mega hvb devices
-  [no-id]  Update register and bit definitions for tiny 13a/24a/44a/84a,
-           tiny167 and mega328p
-
-* New devices supported:
-
-  - ATmega256RFR2, ATmega2564RFR2, ATmega128RFR2, ATmega1284RFR2,
-    ATmega64RFR2, ATmega644RFR2, AT90pwm161, ATA5272, ATA5505, ATA5790,
-    ATA5795, ATA6285, ATA6286, ATmega1284, ATmega128A, ATmega164PA,
-    ATmega165PA, ATmega168PA, ATmega3250PA, ATmega325PA, ATmega3290PA,
-    ATmega32A, ATmega48PA, ATmega64A, ATmega8A, ATtiny1634, ATtiny828,
-    ATxmega128A3U, ATxmega128A4U, ATxmega128B1, ATxmega128B3, ATxmega128C3,
-    ATxmega128D4, ATxmega16A4U, ATxmega16C4, ATxmega192A3U, ATxmega192C3,
-    ATxmega256A3BU, ATxmega256A3U, ATxmega256C3, ATxmega32A4U, ATxmega32C4,
-    ATxmega384C3, ATxmega384D3, ATxmega64A3U, ATxmega64A4U, ATxmega64B1,
-    ATxmega64B3, ATxmega64C3, ATxmega64D4
-
-* Contributed Patches:
-
-  [#3729] Printf for integers speed up
-  [#7212] Add pgm_read_ptr() macros to pgmspace.h
-  [#7220] Add UBRR overload functionality to <util/setbaud.h>
-  [#7260] Addition to power.h
-  [#7485] CRC8-CCITT
-  [#7654] include/delay.h: delay_us >255us without decreasing resolution
-  [#7826] Add ATMega32u4 support to the led-blinking demo
-  [#7909] Adding __volatile__ to __asm__ within pgmspace header
-  [#7910] Add missing PCINT2_vect to iotn40.h and update all the
-          following vector numbers
-  [no-id] correction in xmega wdt_enable and wdt_disable added for xmega
-  [#8499] Device ata6289 should be of avr4 architecture
-  [no-id] Add RAMSTART, fix RAMSIZE, RAMEND and FLASHEND in device headers
-  [#8512] Rename tiny arch to avrtiny to sync with binutils
-
-* Other changes:
-
-  - New macro _PROTECTED_WRITE(): write to Xmega IO registers that are
-    protected through the CCP mechanism
-
-  - Add support for scanf() conversion macros for 8-bit data types to
-    <inttypes.h>: SCNd8, SCNdLEAST8, SCNdFAST8, SCNi8, SCNiLEAST8,
-    SCNiFAST8, SCNo8, SCNoLEAST8, SCNoFAST8, SCNu8, SCNuLEAST8,
-    SCNuFAST8, SCNx8, SCNxLEAST8, SCNxFAST8
-
-  - Add time.h package, C standard functions such as mktime() and localtime,
-    along with 'ephemera' such as solar declination, time of sun rise and set.
-
-  - Introduce new configure option --with-debug-info=INFO, where INFO
-    can be either stabs, dwarf-2, or dwarf-4.  By default, no debug
-    information will be generated.
-
-  - Add IO register debug symbols to crt*.o, so debuggers can see the
-    per-device defined IO registers (and __eeprom).
-
-  - A number of changes have been applied to make avr-libc more C++
-    aware.
-
-*** Changes in avr-libc-1.8.0:
-
-* Bugs fixed:
-
-  [#17815] Configure does not honor --mandir option
-  [#23234] Alternate interrupt macro
-  [#24861] Interrupt documentation contains extra include
-  [#32103] Support for Target-Triplets
-  [#32419] Incorrect EEPROM size in header for ATxmega192A3
-  [#32650] Missing include in util/delay.h
-  [#32675] power_all_enable/disable does not affect timer1 on ATmega164P
-  [#32698] power.h has additional endif that will break the build
-  [#32773] stdiodemo source code is broken
-  [#32988] Internal compiler error: build_unary_op
-  [#33130] twitest.c source code is broken
-  [#33230] Sleep modes have incorrect names for ATtiny261/461/861
-  [#33238] Wrong _VECTORS_SIZE for mega8U2 et al
-  [#33858] in avr/power.h, clock_prescale_set() not defined for mega328
-  [#33920] ICR1 incorrectly defined for tiny167
-  [#34047] missing math.h include in delay.h
-  [#34514] misspelled in math.h
-  [#35020] stdint.h: signed types need explicit "signed"
-  [#35093] strlcat_P fails for some destinations
-  [no-id]  New names for CLKSTA/CLKSEL0/1 for AT90USB82/162
-  system when power_all_disable() is used
-  [no-id]  util/delay.h would not compile with -ffreestanding
-
-* New devices supported:
-
-* Contributed Patches:
-
-  [#7531] Bad name of bit in TCCR0A : WGM0 instead of CTC0 for ATtinyX61
-  [#7362] iom16a.h: USART vectors inconsistently named for ATmega16A
-  [#7226] ATMEGA8U2 Patches
-
-* Other changes:
-
-  - The old prog_* typedefs are now deprecated, and are only included
-  if requested by the user.  This request is expressed by declaring
-  the macro __PROG_TYPES_COMPAT__, either by a #define directive
-  before including <avr/pgmspace.h>, or by a -D compiler option.
-
-  - Optimized strlen_P, thanks to Jan Waclawek. Rename strlen_P to be
-  __strlen_P and add new strlen_P inline function in header file that
-  checks if value is a constant and known at compile time. If not,
-  then the new inline function calls __strlen_P as normal.
-
-
-*** Changes in avr-libc-1.7.1:
-
-* Bugs fixed:
-
-  [Atmel: #11793] XMEGA A devices: 4096-cycle DAC refresh interval setting has 
wrong name
-  [Atmel: #12314] Hi-Res(CTRLA) and AWex (FDEMASK)
-  [Atmel: #12536] Remove CALCTRL in xmega header files.
-  [no-id] Fix wrong vector table size for ATmega168A devices.
-  [#29235] power.h - warning: comma at end of enumerator list
-  [#30783] Missing prototype in power.h
-  [#31270] Stale link to Philips (now NXP) I2C specification/users manual
-
-* New devices supported:
-
-  ATTiny84a
-  ATMega16HVB RevB
-  ATMega32HVB RevB
-
-* Contributed Patches:
-
-* Other changes:
-
-
-*** Changes in avr-libc-1.7.0:
-
-* Bugs fixed:
-  [Atmel: #7159] the memory location of tccr0b is mixed with tccr0a for 
tiny48/88
-  [no-id] Fix CLKPCE bit value to be 7.
-  [no-id] inlining failed in call to '_delay_ms': function body not available
-  [no-id] malloc() could allocate memory beyond the limits of heap
-  [no-id] xmega header file updates.
-  [no-id] Enable ATmega128RFA1 in <avr/power.h>
-  [no-id] longjmp() writes to EIND register, it is forbidden by AVR-GCC's API
-  [no-id] Define _VECTORS_SIZE in iom3000.h
-  [no-id] Redefine __tmp_reg__ and __zer_reg__ for AVR TINY.
-  [AVR Tools: #9724] Error in ATtiny13A include file, PRR register
-  [sourceforge.net: #1836849] Multiplication does not work for AT90USB162
-  [sourceforge.net: #1883630] ATmegaXX4 - USART0 and USART1 additional bits 
aliases
-  [sourceforge.net: #1910885] Typo in io90pwm3b.h
-  [sourceforge.net: #1913681] Missing INT3 define in io90pwm3b.h
-  [sourceforge.net: #1957780] New 'FUSES-support' gives error in c++ files
-  [sourceforge.net: #1969436] Wrong flash size for ATmega32U4
-  [sourceforge.net: #2010688] ATtiny48 SPSR register bits
-  [sourceforge.net: #2012448] ATmega6450 USART Interrupts
-  [sourceforge.net: #2016128] Incorrect ATMega32[c1|m1] Header Entries
-  [sourceforge.net: #2018957] Wrong SPM_PAGESIZE for mega1284P
-  [sourceforge.net: #2033993] User manual: data symbol spec incorrect
-  [sourceforge.net: #2305703] iom162.h ASSR bitdef, typo?
-  [sourceforge.net: #2411516] Error/Bug in the iotn88.h file
-  [sourceforge.net: #2420567] ATmega329P missing in sleep.h
-  [sourceforge.net: #2693898] ATmega32U6 missing in power.h
-  [sourceforge.net: #2738926] avr/eeprom.h EEGET and EEPUT
-  [sourceforge.net: #2812125] ATmega16U4 missing in power.h
-  [sourceforge.net: #2913419] Misspelled Structure Element - xmega
-  [#3485]  Using float arithmetic without linking with -lm result in incorrect 
code
-  [#19079] sscanf %s eats 1 char too much
-  [#19494] sfr_defs.h documentation: Remove references to deprecated macros.
-  [#21410] Incorrect use of 16-bit eeprom addresses in devices with 8-Bit 
address registers
-  [#21621] Allow autoconf 2.61
-  [#21622] Support building in a subdirectory
-  [#21623] boot.h: Use the "z" register constraint
-  [#21869] Multiple defines in iotn2313.h
-  [#21872] __floatunsisf/undisf incorrectly named
-  [#21905] scanf: float conversion ignores the suppression symbol
-  [#21906] scanf: float conversion, wrong width count in case of sign or 
exponent
-  [#21931] Wrong fuses defined for the ATMEGA88/168
-  [#21935] Typo in avr-ar example avr-as should be avr-ar
-  [#21995] pgm_read_xxxx() does not use enhanced LPM instruction
-  [#21958] UBRR0/UBRR1 SFR is redefined for ATmegaXX8p and atmega1284p devices
-  [#21962] PSYNC1_0 a PSYNC1_1 bits not defined for AT90PWM3B and AT90PWM316 
devices
-  [#21986] Typo in iotn13.h
-  [#22016] Typo in iotn2313.h: SIG_OUTPUT_COPMARE0A
-  [#22119] Misleading statement in FAQ
-  [#22153] setjmp.o is wrong in libc.a (1.6.1) for avr's with SPH
-  [#22240] Add EEPROM Page Size to header files
-  [#22276] wdt_reset fails with devices with large WDTCSR addresses
-  [#22377] Wrong XRAMEND for some recent ioXXX.h header files.
-  [#22387] Missing EIMSK and __EEPROM_REG_LOCATIONS__ in iom168p.h
-  [#22390] Unclear note about function pointers
-  [#22447] Summary of iom?8p.h header updates needed
-  [#22493] Typo in iom1284p.h.
-  [#22540] Adding signature bytes to header files
-  [#22548] Missing IVCE and IVSEL in iom328p.h
-  [#22568] Missing EEPROM_REG_LOCATIONS in iom328p.h
-  [#22572] Documentation FAQ example proposal
-  [#22642] AT90USB162 and AT90USB82 not supported in <avr/power.h>
-  [#22643] math.h c99 incompability
-  [#22666] io90pwm3b.h errors
-  [#22785] ATMega644P Support Missing from avr/include/avr/sleep.h
-  [#22828] eeprom_write_block(): incompatibility in args order
-  [#22834] ATmega164P/324P/644P/1284P lack BODS/BODSE bits in MCUCR
-  [#22870] Error in wdt.h and ATmega164P
-  [#22877] Fuse information wrong for xmega devices.
-  [#22878] eeprom_*_word/dword/block cause hang in ATmega256x
-  [#23004] Watchdog enable docu only generated for Xmega series
-  [#23032] Define PORTxn, PINxn, DDxn bit names in iomxx4.h.
-  [#23166] atmega328p does not have SPMEN
-  [#23261] AT90USB162 and AT90USB82 missing power_all_[enable,disable]() in 
power.h
-  [#23409] Provide an implementation for strtok()
-  [#23546] FAQ documentation symbol seems wrong
-  [#23554] Wrong bit values in iom32u4.h
-  [#23677] Request for cbrt() and strdup to be added to libc
-  [#23703] eeprom write functions optimisation
-  [#23774] Using some defines from avr/fuse.h produces warning
-  [#23850] ATMega8 does not have MCUSR defined
-  [#23871] clock_prescale_set() not available for ATmega32U4
-  [#23959] Small typo in deprecated documentation
-  [#23969] eeprom_read_byte() throws interrupt EE_READY although EERIE is 
cleared, controller resets
-  [#24207] Example in inttypes.h is wrong
-  [#24446] _attribute_ should be __attribute__ (with double underscores)
-  [#24762] 1.6.3 wdt.h compile-time bug
-  [#24890] Small error in libm source fp_rempio2.S
-  [#25048] eeprom.h will not compile as c++ code.
-  [#25120] pgm_read_*_far() functions cause incorrect usage of the Z pointer 
for RAM access in ATxmega series
-  [#25131] Incorrect definition of default lfuse bits for ATTiny2313
-  [#25261] TWIHSR spelling deviates from XML file in AVR Studio 4.15
-  [#25535] Nonexistent bit definitions in iotn88.h/iotn48.h AREFD REFS1 RWWSB 
SM2
-  [#25645] xmega header files broken #defines
-  [#25723] Realloc corrupts free list when growing into the next free item
-  [#25846] include/avr/power.h:628:1: error: missing binary operator before 
token "defined"
-  [#25925] <avr/boot.h> cannot be included on Xmega devices
-  [#25929] boot.h Fuse read not compatible with Tiny48/88.
-  [#25930] New IO-Headerfiles missing PXn Portpindefinitions
-  [#26188] Wrong or missing definition of SIGNATURE_X in iom644.h and others
-  [#26284] boot_lock_fuse_bits_get does not compile under gcc 4.3.X
-  [#26308] WDE defined as WDE3 in io90pwm3b.h and io90pwm2b.h
-  [#26767] XMEGA GPIO register name discrepancy
-  [#26809] Some common math constants missing in math.h
-  [#26840] Missing #define in iom32m1.h
-  [#26876] include io.h into fuse.h
-  [#27201] _WORDREGISTER in xmega headers does not work in C99 mode
-  [#27235] malloc: Several things go wrong
-  [#27242] realloc: serious error when size shrinks
-  [#27243] malloc: small error in comment
-  [#27367] RAMSTART missing in elder device header files
-  [#27434] Arguments of macros must be protected in parentheses
-  [#28575] Minor bug in iousb162.h - missing FUSE_ prefixes
-  [#28688] using_tools.dox fails to build due to extra underscore
-  [#28756] Bug in AVR libc 1.6.7 (power.h for 8-bit AVR)
-  [#28812] iotn48.h TWS# bits off by one
-  [#28584] iocanxx.h Add word definitions to iocanxx.h
-  [#28627] power.h ATMEGA32U2 clock_prescale_set() not available
-  [#28901] Xmega header files with missing definitions for GPIO_t and CPU_t
-  [#28574] Xmega D ADC struct missing registers
-  [#28582] XMEGA A3B, RTC32 not properly supported
-  [#28921] pointer to function > 128k flash
-  [#29502] literal error in iox128a1.h
-  [#29653] PUD bit missing for at90usb82
-  [#29950] ATtiny167 SPM_PAGESIZE Discrepancy
-  [#30018] Errors in include files
-  [#30085] memcpy_P on XMega does not clr NVM.CMD before copy
-  [#30104] power.h - Missing "power_usart1_/enable/disable()" functions for 
ATmega644
-  [#30148] XMEGA register discrepancy
-  [#30600] Missing processor spec - wdt.h include file
-  [#30597] Missing definition for ATmega16/32/64m1/c1
-  [#30475] SPM_PAGESIZE is incorrect in io90pwm3b.h and io90pwm2b.h
-  [#30552] Missing definition ADCW
-  [#30569] ATmega16U4/32U4 wrong bit definition
-  [#30669] Improve comment in stdiodemo
-  [#30735] bug in example twitest
-  [#31086] ATTINY88 RAMEND value not set to correct value in iotn88.h
-  [#30363] _delay_xx() functions in <util/delay.h> are broken
-  [#31990] PRPSC0 used in power.h for AT90PWM81 instead of PRPSCR
-  [#31873] power_aes_enable/disable() are commented in power.h for xmega 
devices
-
-* Other changes:
-
-  - Added 'avr35' architecture. Now 'MOVW' and 'LPM Rx, Z[+]' instructions
-    supported for AT90USB82 and AT90USB162 devices. GCC 4.3 or above is
-    necessary to use this.
-
-  - Function vfscanf() is rewriten. The float point version is optimized
-    considerably: the expense of a stack was cut by half, and the size of
-    function has decreased approximately on 1KB. Opportunities of standard
-    and minimal versions are expanded, and their size has remained at a
-    former level.
-
-    Briefly:
-      . Restrictions of a float point format are eliminated.
-      . Conversion '%[' is present in standart version now.
-      . The minimal version differs from standard only absence of '%[' conv.
-      . The 'hh' type qualifier is added ('char *', C99).
-      . The maximal field width is increased up to 255 (65535 in float 
version).
-      . All known bugs are fixed.
-
-    New vfscanf() concedes old in:
-      . The size of the minimal and standard versions has increased for old
-      branches of compiler (less 4.1) and ancient chips (without MOVW).
-      . The maximum quantity of conversions now is limited (255).
-
-  - EEPROM functions are rewriten.  Now they are pure asm functions.  The
-    reading of long word or block is speed up.  New functions for 32-bit
-    words and floats are added.  The group of 'update' (burn only different
-    bytes) functions is added.  A set of Avr-libc bugs are fixed.
-
-  - Added support for XMEGA architectures.
-
-  - The Postscript documentation build has been removed in favour of
-    building only the PDF (and HTML and man page) versions.  PDF offers
-    the same printing quality as postscript at a smaller file size.
-    This also works around a bug in doxygen 1.5.7 where it appears to
-    be no longer possible to set GENERATE_HTML = NO.
-
-  - A sleeping BOD API was added to <avr/sleep.h>. This allows you to disable
-    the Brown Out Detector (BOD) before going to sleep, thereby reducing
-    power even further.
-
-  - The note about signbit() implementation is removed from documenatation.
-    The reason is that the GCC can replace it with inline code and the
-    nonzero value is unpredictable in such case.
-
-  - Signature API added in <avr/signature.h>.
-
-  - All functions are now placed in the .text.avr-libc section, and the
-    floating point functions are placed in the .text.avr-libc.fplib section. 
This
-    allows the user the ability to relocate all avr-libc routines to a 
different
-    address using a custom linker script.
-
-  - The port/pin assignments of the HD44780 LCD controller in the
-    stdiodemo example can now be distributed across more than a single
-    AVR port.  The only remaining requirement is that all data bits
-    are assigned to a single port in ascending order.
-
-  - Added support for avrtiny10 architecture, to support the ATtiny10 Family.
-
-  - Added new headerfile: <avr/cpufunc.h>; currently contains _NOP() and
-    _MemoryBarrier().
-
-  - The twidemo can now optionally address 24C32 and larger EEPROMs
-    that require 16-bit word addressing.
-
-  - Add a "memory barrier" to the cli() and sei() macros.
-
-
-* New devices supported:
-
-  + ATxmega64D3
-  + ATxmega128D3
-  + ATxmega256D3
-  + ATxmega192A3
-  + ATxmega128A1
-  + ATxmega64A1
-  + ATmega32M1
-  + ATmega32C1
-  + ATmega32U4
-  + ATtiny167
-  + ATtiny13A
-  + ATmega32U6
-  + AT90SCR100
-  + ATtiny87
-  + ATxmega32A4
-  + ATmega16M1
-  + ATmega64C1
-  + ATmega64M1
-  + ATA6289
-  + AT90PWM81
-  + ATmega128RFA1
-  + ATxmega32D4
-  + ATxmega16A4
-  + ATxmega16D4
-  + ATmega16U4
-  + ATmega8U2
-  + ATmega16U2
-  + ATmega32U2
-  + ATxmega192D3
-  + ATtiny2313A
-  + ATtiny4313
-  + ATtiny24A
-  + ATtiny44A
-  + ATtiny261A
-  + ATtiny461A
-  + ATtiny861A
-  + ATmega644PA
-  + ATmega88PA
-  + ATmega16A
-  + ATmega64HVE
-  + ATmega169PA
-  + ATmega649P
-  + ATmega324PA
-  + ATmega16HVA2
-  + ATmega16HVB
-  + ATmega48A
-  + ATmega88A
-  + ATmega168A
-  + ATmega328
-  + ATmega164A
-  + ATmega324A
-  + ATmega644A
-  + ATmega165A
-  + ATmega169A
-  + ATmega645A
-  + ATmega6450A
-  + ATmega649A
-  + ATmega6490A
-  + ATmega6490P
-  + ATmega645P
-  + ATmega6450P
-  + ATmega329PA
-  + ATxmega128A1U
-  + ATxmega64A1U
-  + ATtiny4
-  + ATtiny5
-  + ATtiny9
-  + ATtiny10
-  + ATtiny20
-  + ATtiny40
-  + ATtiny84A
-  + ATmega325A
-  + ATmega3250A
-  + ATmega329A
-  + ATmega3290A
-  + M3000
-
-* Optimized functions:
-
-   eeprom_read_block
-   eeprom_read_dword
-   eeprom_read_word
-   eeprom_write_block
-   eeprom_write_dword
-   eeprom_write_word
-   strtod
-   setjmp
-   sqrt   (and callers: acos, asin and hypot)
-   sin, cos, tan:  minor in space
-   strlcat, strlcat_P
-   strlcpy, strlcpy_P
-   strtok, strtok_r
-
-* Contributed Patches:
-
-  [#6194] Twitest updated to handle larger EEPROM devices
-  [#6352] Far pointer library
-  [#6500] Reentrant code faq
-  [#6517] Pgmspace with float support
-  [#6555] malloc improvement
-  [#6649] sqrt.S in libm changes
-  [#6690] Shorten calculation of dallas 1-wire crc
-  [#6718] Optimize the EEPROM functions
-  [#6720] FAQ update. Add EEPROM section, baud rate section. Correct spelling.
-  [#6791] Minor fixes to stdio.h documentation
-  [#6878] eewr_byte.S update for patch #6718
-  [#6891] Add XMega software reset to the FAQ section on software reset
-  [#6895] Improved malloc behaviour when expanding used area
-  [#6897] Allow <util/setbaud.h> to be used with assembler source
-
-* New functions:
-
-   cbrt
-   eeprom_read_dword
-   eeprom_read_float
-   eeprom_update_block
-   eeprom_update_byte
-   eeprom_update_dword
-   eeprom_update_float
-   eeprom_update_word
-   eeprom_write_dword
-   eeprom_write_float
-   memccpy_P
-   strdup
-   strtok
-   strtok_P
-   strtok_rP
-   strlen_PF
-   strnlen_PF
-   memcpy_PF
-   strcpy_PF
-   strncpy_PF
-   strcat_PF
-   strlcat_PF
-   strncat_PF
-   strcmp_PF
-   strncmp_PF
-   strcasecmp_PF
-   strncasecmp_PF
-   strstr_PF
-   strlcpy_PF
-   memcmp_PF
-
-
-*** Changes in avr-libc-1.6.0:
-
-* Main changes from avr-libc 1.4 to 1.6:
-
-  + The fplib/math library is completely rewritten. Now features of the IEEE
-  754 standard are supported all: negative zero, subnormals, Infs and NaNs.
-  It concerns both to base operations (arithmetic, comparison...), and to
-  all functions. Speed of performance is increased, sometimes considerably.
-  A number of mistakes (not reflected in the Bugs) which led severe losses
-  of accuracy for some arguments is corrected. A number of new functions is
-  added. It is necessary to note, that the new library concedes old under
-  the charge of flash memory a little.
-
-    Incompatibilities:
-
-    - Conversion from float to long (make similar to GCC/x86):  in case if
-    overflow was or if input is NaN return 0x80000000 for signed result and
-    return 0 for unsigned result. Negative input (not too big in absolute
-    value) is permissible for cast to unsigned long, for example: (unsigned
-    long)(-1.0) returns ULONG_MAX.
-
-    - The signbit() function: return 1 as nonzero value (make similar to
-    builtin GCC).
-
-    - Make frexp() similar to GCC/x86 in case of nonfinite arg: write 0 by
-    exponent pointer. Early Avr-libc's frexp() skips exponent storing in this
-    case. Make the NULL a legal address to skip a storing.
-
-  + Functions of numbers to ascii conversion are completely rewritten:
-  dtostre(), dtostrf() and printf() family. They more do not use float point
-  operations. Speed of int/float to ascii has increased in some times. For
-  printf() the stack usage is reduced.
-
-  + Test suite is added to the Avr-libc project.
-
-  + A few new util's headers: util/atomic.h, util/setbaud.h .
-
-* Bugs fixed:
-
-  [no-id]  iscntrl() return true for some values from 0x80 to 0xff.
-  [no-id]  Fix the examples installation for non-doc builds.
-  [no-id]  Fix the spelling of the OCR1A/B registers in ATtinyX4 devices.
-  [no-id]  LED1/2 don't work in the largedemo on an ATmega16.
-  [no-id]  Not defined SPM_PAGESIZE for ATtinyX4/X5/X61 and ATtiny2313 devices.
-  [no-id]  Typo in iomxx0_1.h: PRUSART3.
-  [no-id]  Make include/avr/sfr_defs.h -Wundef safe.
-  [no-id]  Make include/avr/eeprom.h -Wundef safe.
-  [no-id]  Fix the timing of the HD44780 driver in the stdiodemo.
-  [no-id]  Fix the sleep mode definitions for the ATtiny2313.
-  [no-id]  Exclude 64-bit types for -mint8.
-  [no-id]  Make documentation build work with doxygen 1.5.x
-  [#1929]  -Inf not detected
-  [#11511] NaN not generated correctly by division library
-  [#11820] dtostre: wrong output with percision =3
-  [#13330] NaN is recognized not always
-  [#15161] util/delay.h misses inline keyword (regression)
-  [#15193] incorrect definition of IVSEL bit in MCUCR register
-  [#15266] Function ldexp incorrectly processes overflow and underflow cases.
-  [#15494] Compile warning and errors if compiler flag -Wundef flag specified
-  [#15512] Bootloader macros not interrupt safe.
-  [#15519] AT90CAN* processors incorrectly identified as "AT90S family"
-  [#15522] Typo in iotn2313.h vector table
-  [#15559] Wrong macro for boot_page_write(address) and ATmega128
-  [#15574] unneeded compatibility break
-  [#15595] GPIOR0 misspelled for ATtiny25/45/85
-  [#15732] interrupt.h: ISR() incompatibility with gcc 3.4.5
-  [#15890] missing /devtools/gen-avr-lib-tree.sh
-  [#16039] Names in Pxy (i.e. PA0) style of ports pins for some devices are
-           not defined.
-  [#16125] HD44780 data bit assignment restrictive
-  [#16260] _crc16_update lacks C equivalent
-  [#16411] Add the 'used' attribute to all interrupt service routine macros.
-  [#16434] EMPTY_INTERRUPT has no misspelled vector checking
-  [#16441] eeprom.h should use __asm__
-  [#16868] depricated.h: outp() arguments order misprint
-  [#17068] wdt.h file: __AVR_ATmeg324P__ spelling mistake
-  [#17470] Add API for CLKPR register.
-  [#17551] Update documentation to point to issues with gcc4.1
-  [#17591] /avr-libc/libm/fplib/fp_split.S error return will fail for
-           3-Byte PC devices
-  [#17608] Add ISR_ALIAS() to avr/interrupt.h
-  [#18115] online documentation typo/bug avr/boot.h
-  [#18373] Bugs in Inline ASM documentacion
-  [#18385] SPM_PAGESIZE wrong value for ATmega164p and ATmega324p
-  [#18509] strtod.S crashes due to stack problem with atmega 2560
-  [#18662] rand() keeps returning the same value if seeded with 0
-  [#18686] AT90USB**** devices are absent in interrupt-verctor-names table
-  [#18688] vfscanf and vfprintf don't use malloc
-  [#18726] the dtostrf function description is missing in AVR-Libc's webpage
-  [#18903] ATmega644 register definitions for SPI and PRR (datasheet vs.
-           iom*.h)
-  [#18915] PWM1X Bit missing for ATtiny261/461/861
-  [#18964] USART definitions *wrong* in iocanxx.h
-  [#18994] minor optimization possible to stdlib functions isspace(),
-           isprint(), and islower()
-  [#19009] Make <util/delay.h> issue a warning when optimizations are turned 
off
-  [#19050] gcrt1.S should call main rather than jumping to it
-  [#19060] PCMSKx registers transposed in header for attinyX61
-  [#19445] _malloc_heap_end does not follow _heap_end on m2561
-  [#19495] <avr/interrupts.h> documentation: fix inclusion of cli and sei 
macros
-  [#19496] Add documentation: how to build toolchain for Windows.
-  [#19650] avr-libc: wrong named bit in SFR of AT90PWMx
-  [#19666] AT90PWMx: Another patch for the include file (missing SFR)
-  [#19669] Need function to read signature row
-  [#19686] alloc declaration missing
-  [#19841] Error building 1.4 HEAD: undefined reference to 'exit'
-  [#20248] FAQ#3: clarify which registers are safe to be used
-  [#20276] power.h missing ATmega644Ppower_XXX_[en/dis]able() macros
-  [#20435] Bit name definitions for AT90PWM3
-  [#20530] Bug in sample code for early wdt disable
-  [#20650] Missing description of AVR specific C-preprocessor macros
-  [#20682] Bad bit name in avr/io2313.h - Sugestion
-  [#20843] Mega 2561 library
-  [#21174] assembly error with targets at90s1200, attiny11, attiny12,
-           and attiny28
-  [#21183] Fix Program Space example code.
-  [#21204] iotnx61.h PRR bits incorrect
-  [#21228] Missing 3rd clause in BSD license in documentation pages
-  [#21299] Duplicate register address in iotn48.h.
-  [#21411] Typographical error in 'iotn13.h'
-  [#21432] Incorrect timer interrupt handler names for ATtiny45
-  [#21434] Bit name definitions for AT90CANxxx
-  [#21444] Undocument -minit-stack
-  [#21484] Documentation build for avr/version.h does not susbstitute autoconf
-           macros
-  [#21749] AT90PWM316: _VECTORS_SIZE should be 128
-  [#21691] iomx8.h-> IVSEL and IVCE should not be available for ATmega48
-  [#21743] AT90PWM316 missing PSOC1 bit definitions
-  [#21626] Incorrect Bit Definition for ADC14 and ADC15 Digital Input Disable
-  [#21521] incorrect bit definitions in iotnx61.h
-  [#21840] RAMEND wrong for ATmega48P/88P/168P
-
-* Other changes:
-
-  - New Power Management API in <avr/power.h>. This provides C language
-    macros to manipulate the Power Reduction Register(s) and the System Clock
-    Prescaler register across multiple processors.
-
-  [patch #4611] sleep.h sleep_mode() not interrupt safe
-
-  - The simple demo has been modernized a bit.  Documentation now
-    generally refers to the ATmega8 rather than the AT90S2313, and
-    the #ifdef spaghetti has been moved out into iocompat.h.
-
-  - A new demo project ("largedemo") has been added.  It extends
-    the simple demo by adding some controls, and thereby touches
-    a good number of avr-libc concepts.  It has originally been
-    written for the ATmega16, but can also be run on an ATmega8
-    or a member of the ATmegaX8 family, as well as on an ATtiny2313.
-
-  - Another demo project ("stdiodemo") has been added.  It
-    demonstrates the setup of the standard IO facilities using
-    a practical small application.
-
-  - The demo projects now install their source code as part of
-    the documentation tree.
-
-  - The simple demo has been ported to ATmega8515, ATmega8535,
-    ATmega164P, ATmega165, ATmega169, ATmega324P, ATmega325,
-    ATmega3250, ATmega329, ATmega3290, ATmega640, ATmega644,
-    ATmega644P, ATmega645, ATmega6450, ATmega649, ATmega6490,
-    ATmega1280, ATmega1281, ATtiny2313, ATtiny24, ATtiny25, ATtiny26,
-    ATtiny261, ATtiny44, ATtiny45, ATtiny461, ATtiny84, ATtiny85,
-    ATtiny861.
-
-  - More overhaul of the demo documentation, don't use the "squid"
-    cable for the largedemo as it is not part of the STK500.
-
-  - Integrate a copy of the license file into the documentation.
-
-  - Include an alphabetical index of all globals (functions,
-    macros, types, variables) into the documentation.
-
-  - Added 'avr25' architecture. Now 'MOVW' and 'LPM Rx, Z[+]' instructions
-    supported for AT86RF401, ATtiny13, ATtiny2313, ATtiny24, ATtiny25,
-    ATtiny261, ATtiny44, ATtiny45, ATtiny461, ATtiny84, ATtiny85 and
-    ATtiny861 devices. GCC 4.2 or above is necessary to use this.
-
-  - Add the benchmark page.
-
-  [patch #5756] New atomic.h header file (added as <util/atomic.h>)
-
-  [patch #5343] Add a util/setbaud.h "helper" file
-
-  [patch #6236] Improving _delay_us and _delay_ms
-
-  [patch #5644] New interrupt.h header file
-
-* New devices supported:
-
-  + ATtiny24
-  + ATtiny261
-  + ATtiny44
-  + ATtiny461
-  + ATtiny84
-  + ATtiny861
-  + ATmega406
-  + ATmega169 Rev. F
-  + AT90USB82
-  + AT90USB162
-  + AT90USB646
-  + AT90USB647
-  + AT90USB1286
-  + AT90USB1287
-  + ATmega48P
-  + ATmega88P
-  + ATmega164P (renamed from ATmega164)
-  + ATmega168P
-  + ATmega324P (renamed from ATmega324)
-  + ATmega328P
-  + ATmega644P
-  + ATmega1284P
-  + ATmega165P
-  + ATmega169P
-  + ATmega2560 [patch #4461]
-  + ATmega2561 [patch #4461]
-  + ATmega325P
-  + ATmega3250P
-  + ATmega329P
-  + ATmega3290P
-  + AT90PWM1
-  + ATmega8HVA
-  + ATmega16HVA
-  + ATmega32HVB
-  + AT90PWM216
-  + AT90PWM316
-  + ATtiny43U
-  + ATtiny48
-  + ATtiny88
-  + AT90PWM2B
-  + AT90PWM3B
-
-* New functions:
-
-   strstr_P (Contributed by Werner Boellmann)
-   round
-   lround
-   lrint
-
-* Optimized functions:
-
-   dtostre
-
-*** Changes in avr-libc-1.4.0:
-
-* Major API changes:
-
-  - The INTERRUPT() macro has been deprecated, and it will be
-    removed in a future version.  Use __attribute__((interrupt))
-    explicitly if this functionality is really needed.
-
-  - A new ISR() macro has been added, and is now the preferred
-    for to introduce an interrupt service routine.  It is
-    equivalent to the old SIGNAL() macro, which might become
-    deprecated in a future version.
-
-  - A new header file, <compat/deprecated.h> has been established.
-    Its purpose is to collect deprecated items from older versions of
-    the library, starting out with the enable_external_int(),
-    timer_enable_int(), and INTERRUPT() macros/functions, as well as
-    the old obsoleted inp/outp/sbi/cbi macros.
-
-  - A new include file subdirectory named "util/" has been created.
-    The files <compat/twi.h>, <avr/crc16.h>, <avr/delay.h>, and
-    <avr/parity.h> have been moved into the new util/ subdirectory.
-
-  - A new set of interrupt vector names has been added, closely
-    matching the names given in the datasheet, and more compatible to
-    other compilers available for the AVR platform.  The table of
-    interrupt vector names in the documentation is now automatically
-    generated, and explicitly mentions the MCU type for each vector
-    name.
-
-  - The standard IO facilities API has been enhanced
-
-    . The backend functions put and get that are passed to fdevopen()
-      during the setup of a stream now take the stream itself as an
-      additional argument.
-      By defining the macro __STDIO_FDEVOPEN_COMPAT_12 before
-      including <stdio.h>, an fdevopen() function prototype will be
-      declared that is backwards-compatible with avr-libc version
-      1.2 and before.
-    . It is possible to tie user data to a stream using
-      fdev_set_udata(), and to retrieve them using fdev_get_udata().
-      Together with the additional argument to the backend functions,
-      these functions can now e.g. keep track of internal user state,
-      or distinguish two different devices using the same backend
-      function.
-    . The get backend function can now return _FDEV_EOF to indicate an
-      end-of-file condition, in addition to _FDEV_ERR for an error
-      condition.  This will affect the internal state that can be
-      queried using the standard feof() and ferror() functions.
-    . A new macro fdev_setup_stream() is provided to setup a
-      user-supplied stream without the need to call fdevopen(), and thus
-      without requiring malloc().  A similar macro FDEV_SETUP_STREAM()
-      exists that can be used to initialized a FILE object.  The
-      floating-point implementations of vfscanf() and vfprintf() now
-      allocate their conversion buffer on the stack, so they do not need
-      malloc() anymore either.
-
-  - An API has been added to track the library version number.  See the
-    documentation of the new header file <avr/version.h>.
-
-* Bugs fixed:
-
-  [#3573] Make local symbols in .S files truely local
-  [#12324] overview: boot_page_write_safe, etc.
-  [#12333] Standard requires libstdc to define vprintf and vscanf
-  [#12495] about Busy-wait delay loops(document)
-  [#12496] about set_sleep_mode() and tiny26/tiny2313
-  [#12735] No support for AT94K devices in sleep.h
-  [#12739] Gcc assumes that target libc provides ffs function
-  [#12775] Possible Bug in sscanf on string end
-  [#13340] Math lib documentation/lib mismatch
-  [#13557] small typo in avr-libc-user-manual-1.2.3
-  [#14224] _delay_ms() not inlining if called more than once in a unit
-  [#14241] 'eeprom_is_ready' is not compiled with ATmega48
-  [#14262] avr-libc documentation error about .init sections
-  [#14266] use __extension__ in avr-libc header files
-  [#14327] wdt_disable() missing a cli
-  [#14378] EEPROM library d'not support at86rf401 device
-  [#14380] configure/make work only in source directory
-  [#14433] Improve documentation of <avr/delay.h>
-  [#14486] some macros from boot.h doesn't compile correctly
-  [#14503] strnlen_P is wrong with classic AVRs
-  [#14798] several IO registers definition issue in header files
-  [#14852] fp pow function broken for negative x
-
-* Other changes:
-
-  [patch #3592] speedup tanh function in libm
-  [patch #3750] Allow passing user data to stdio fdevopen() get and
-                put methods.  (This is part of the API changes
-                mentioned above.)
-  [patch #3780]        <assert.h> header
-  [patch #3781] add dummy fflush() to <stdio.h>
-  [patch #3782] modernize <stdint.h>
-  [patch #3912] Fix ctype.S linker error due to asm branches out
-                of range
-  [patch #3925] Dallas iButton 8-bit CRC
-  [patch #4087] C99 conformal headers stdint.h and inttypes.h
-  [patch #4505] Unified interrupt vector names in header files
-  [patch #4557] Adds to the fplib usage of MUL instruction
-                in group avr4; avr5 devices
-  [patch #4608] rpm spec file update
-  [patch #4622] unify doc file location in rpms
-
-  - Update the build system to recent versions of autoconf/automake;
-    the old "doconf" and "domake" scripts are gone now, "reconf" has
-    been renamed to "bootstrap".
-  - Update the documentation system to doxygen >= 1.4.1.
-  - Major overhaul of the documentation, new layout of the HTML pages,
-    several clarifications and additions.
-  - Add support for the following new devices (depending on the ability
-    of the compiler/binutils to handle them):
-    . AT90CAN32/64
-    . AT90PWM2(B)/3(B)
-    . ATmega329/3290/649/6490
-    . ATtiny25/45/85
-    . ATmega164/324/644
-    . ATmega640/1280/1281
-  - The library is now compiled with -Os for avr3 and avr5 MCUs (i.e.
-    for those with > 8 KB of ROM); used to be -O3 before.
-
-* New string functions. Contributed by Dmitry Xmelkov.
-
-  ffs
-  ffsl
-  ffsll
-  _FFS (macro)
-
-* Optimized functions.
-
-  misc/itoa
-  misc/ltoa
-  misc/utoa
-  misc/ultoa
-  stdlib/longjmp
-  string/memchr
-  string/memccpy
-  string/strchr
-  string/strrchr
-  string/strsep
-  string/strstr
-
-*** Changes since avr-libc-1.2.4:
-
-* Bugs fixed:
-
-  [no-id]  EEPROM handling not working for AT90CAN128 ATmega48 ATmega88
-          ATmega165 ATmega168 ATmega169 ATmega325 ATmega3250 ATmega645
-          ATmega6450
-  [#12646] strtod returns error for valid input (patch#4137)
-  [#13341] Remove ADHSM bit from header files.
-
-* Other improvements:
-
-  [patch#4189] Document replacement for sbi/cbi instructions
-
-* boot.h: implement boot_lock_fuse_bits_get() plus macros for the
-          respective addresses (low/high/ext fuse, lock bits)
-
-
-*** Changes since avr-libc-1.2.3:
-
-* Bugs fixed:
-
-  [no-id]  Work around a bug in gas that made the weak symbol __stack
-           fixed inside gcrt1.S (since the assembler already inserted
-           its value).
-  [no-id]  Modify the doxygen build system to cope with artefacts from
-           recent versions of doxygen and (pdfelatex-based) LaTeX.
-  [#12033] macros.inc need to be protected from multiple inclusion.
-  [#12040] overview: sbi in FAQ
-  [#12134] ADC register name definitions
-  [#12422] Add new bit definitions for LCDCCR register in iom169.h.
-  [#12448] Fix bit definition for SJW0 in iocan128.h
-  [#12785] Fix documenation for log10() function in math.h.
-  [#12955] Signal name misprints: SIG_COMPERATOR in iom169.h,
-           SIG_EPROM_READY in iotn26.h
-  [#12993] Signal "__EICR" redefined warning ATmega8
-  [#13290] avr/io.h EEAR def is flawed for the Mega48
-  [#13327] Fix bit definition for UCSZ02 in iom325.h, iom3250.h,
-           iom645.h, iom6450.h
-  [#13678] The _wdt_write(value) macro in wdt.h doesn't work with
-           the ATmega325.(also with ATmega3250, ATmega645, ATmega6450,
-           ATmega165).
-
-* demo.c extended for ATmega16
-
-*** Changes since avr-libc-1.2.2:
-
-* Bugs fixed:
-
-  [#11987] sscanf parsing problem : leading zero ignored in %u
-
-*** Changes since avr-libc-1.2.1:
-
-* Bugs fixed:
-
-  [#11805] Fix call to __fp_cosinus in sin().
-  [#11817] Replace SYSCLK with F_CPU in twitest example.
-  [#11868] realloc doesn't work correctly on block at end of freelist
-           when growing
-  [#11898] Change optimisation level for building printf libraries to -Os.
-
-
-*** Changes since avr-libc-1.2.0:
-
-* Bugs fixed:
-
-  [no-id]  Prefix all internal global symbols in libm with __fp_ so
-           they do not collide with the application namespace.
-  [#4101]  setjmp/longjmp destroy changes in global registers.
-  [#11479] Add missing pin definitions for iotn16.h.
-  [#11486] Put the port bit defintions back in for mega16.
-  [#11494] strtol() return wrong value in the underflow case
-  [#11505] Remove doxygen comment about the deprecated inp/outp items.
-  [#11510] Abstract the change enable bit in wdt.h for mega32.
-  [#11522] Rewrite wdt_disable() to match datasheet algorithm.
-  [#11684] realloc overwrites first to bytes of memory block when shrinking
-  [patch #3618] Optimization strtol(), a little (related to bug #11494).
-  [#11732] Update doc/examples/progmem.c to use the latest API.
-
-* Extend stdio and pmstring APIs:
-
-Implement patch #3516: printf: Handling of argument strings from
-program memory
-
-The %S format can now be used to print strings that are located in
-program-space memory (aka. ROM).
-
-As a prerequisite for this, the function strnlen_P() has been added
-which is similar to strnlen() except that it takes a pointer to a
-program-space string.
-
-*** Changes in avr-libc-1.2:
-
-* Bugs fixed:
-
-  [no-id] Fix TICIE1 value in usb header files.
-  [no-id] Fix bug introduced in fix for bug #7802 (missing parens).
-  [no-id] Move ATtiny2313 and ATtiny13 from avr4 to avr2 (by now).
-  [#2143] malloc() routines chunk smaller than requested
-  [#5454] Inline functions results in undefined reference when optimize level 0
-          is used.
-  [#5799] error(?) in iom162.h
-  [#2233] Documentation issues with inline asm
-  [#6352] Sleep mode for ATmega162, ATmega161, and ATmega8515
-  [#7469] "Problem" by using the library function "boot_lock_bits_set"
-  [#7556] printf and friends improperly handle non-null terminated strings when
-          a %s argument has a precision.
-  [#7802] vfscanf problem with unsigned long (patch #2554)
-  [#7989] dtostrf() destroys string pointer registers?
-  [#8119] _wdt_write macro in wdt.h doesn't work with ATmega169
-  [#8391] Fuse mask in boot.h wrong?
-          NOTE: boot_lock_bits_set() was broken. Please see the new
-          documentation for examples of how the new version works.
-  [#8452] some SFR and bit names in iom169.h are incorrect
-          NOTE: Where possible, the old names are retained to avoid breaking
-          existing code, but the OCR1A and OCR1B names where just plain wrong
-          so they have been changed and the incorrect names (OCRA1 and OCRB1)
-          are undefined.
-  [#8649] sfr_defs.h: missed _SFR_BYTE() in bit_is_set/clear
-  [#9345] Zero-Padding on vfprintf
-  [#10150] Update release versions compatible with avr-libc and instructions.
-  [#10489] Sleep mode for atmega48/88/168 family
-  [#10733] Fix bit identifer ADFR to ADATE in mega64.
-  [#10828] Fix licenses on files to have same BSD license.
-  [#11242] Add the EEARH register definition for the mega48.
-  [#11275] fdevopen() should document its use of malloc()
-  [#11315] Add USART* signal names to match datasheet for mega32 and mega16.
-  [#11405] Add USART* signal names to match datasheet for mega128.
-  [#11418] Add PRR register and bit definitions for mega169.
-  [#11425] sleep.h missing semicolon
-
-* Remove deprecated items:
-  + obsolete headers from the base include directory (moved to the avr/
-    subdirectory long ago)
-  + deprecated macros and functions from
-    . <avr/eeprom.h> (eeprom_rb, eeprom_rw, eeprom_wb),
-    . <avr/io.h>  (cbi, sbi, inb, outb, inw, outw, inp, outp, BV),
-    . <avr/pgmspace.h> (PRG_RDB).
-  + . <avr/timer.h> removed completely.
-
-* Moved header files:
-
-  + <avr/ina90.h> moved to <compat/ina90.h>
-  + <avr/twi.h> moved to <compat/twi.h>
-
-* New devices supported:
-
-  + ATmega165
-  + ATmega325
-  + ATmega3250
-  + ATmega645
-  + ATmega6450
-  + ATmega48
-  + ATmega88
-  + ATmega168
-  + ATtiny13
-  + ATtiny2313
-  + AT90CAN128
-
-* Pin names for ports are now consistent for all devices.
-
-* dtostrf() now uses movw where possible
-
-* realloc() has been implemented.
-
-* Extend pgmspace API.
-
-The pgmspace API has had the following macros added to allow accessing of
-unsigned 32-bit values:
-
-  pgm_read_dword_near
-  pgm_read_dword_far
-  pgm_read_dword
-
-* Change boot API.
-
-The boot API internals have changed such that it is not compatible with the
-1.0.x API.
-
-These macros have been changed so that they no longer wait for SPM and EEPROM
-operations to complete. It turns out that doing those checks all the time is
-not needed and tends to bloat the code. Removing the checks allows you to
-write more compact code (see the example in avr/boot.h).
-
-  boot_page_fill
-  boot_page_erase
-  boot_page_write
-  boot_rww_enable
-  boot_lock_bits_set
-
-If you want the old behaviour (1.0.x compatible), use these new macros:
-
-  boot_page_fill_safe
-  boot_page_erase_safe
-  boot_page_write_safe
-  boot_rww_enable_safe
-  boot_lock_bits_set_safe
-
-* Extend eeprom API.
-
-New macro:
-  eeprom_busy_wait
-
-* Extend crc16 API.
-
-New functions:
-  _crc_xmodem_update
-  _crc_ccitt_update
-
-* Extend stdio API.
-
-New functions:
-  vfprintf_P
-  vfscanf_P
-  vsprintf
-  vsprintf_P
-  vsnprintf
-  vsnprintf_P
-
-* Extend malloc API.
-
-Implement realloc().
-
-* Extend delay API (<avr/delay.h>).
-
-Implement inline functions for specifying delays in microseconds, or
-milliseconds directly (based on the macro F_CPU specifying the CPU
-clock frequency).
-
-* Documentation changes:
-
-  + Use newer Doxygen.
-  + Many fixes and added documentation.
-  + Unix-style man pages are generated now when doc generation has been
-    enabled in ./configure
-
-* Optimize slightly strtol and strtoul functions.
-
-* Unified copyright.
-
-All of the avr-libc files are now distributed under a single license.
-All of the authors of the files agreed to this step.  The new license
-is a 3-clause simplified ``BSD-style'' license which is believed to be
-fully compatible with the GPL on one hand, yet imposes as minimal
-restrictions as possible for any kind of commercial use in
-applications based on avr-libc.
-
-To build the documentation, doxygen-1.3.4 or newer is strongly recommended.
-
-*** Changes in avr-libc-1.0:
-
-* Move source to cvs repositiory at http://savannah.gnu.org/projects/avr-libc
-
-Anonymous cvs access to the source is now available. There is also a mailing
-list set up for discussion of development of avr-libc.
-
-* License changes.
-
-All the files in the project now are covered by a modified BSD license. This
-allows royalty free use of the library in commerical products. All of the
-public domain files in the project have been switched to the new license and
-copyright given to the contributors of the files.
-
-There were some files taken from GNU GPL'd projects which were removed from
-avr-libc to simplify the licensing. The removed files only supplied alternate
-implementations, so nothing was lost by their removal.
-
-* Requires latest binutils and gcc
-
-Marek did some fairly major work with binutils and gcc to make adding support
-for new devices easier. His changes in those tools required changes to
-avr-libc which make it incompatible with older versions of binutils and gcc.
-Gcc versions >= 3.3 and binutils versions >= 2.13 are required.
-
-* New malloc implementation.
-
-Joerg Wunsch has supplied an improved malloc implementation which is less
-prone to fragmentation.
-
-* Documentation!
-
-Joerg Wunsch and Ted Roth and have been working on using the doxygen program to
-embed documentation comments into source code. Additionally, Harald Kipp's
-inline asm cookbook and Rich Neswold's Avr Tools document have been merged into
-the user manual. The goal is to have a single place for all the documentation
-a user would need to get started developing for AVR microcontrollers using
-the GNU development tool chain.
-
-The latest documentation is available online at
-  http://www.freesoftware.fsf.org/avr-libc/
-
-* I/O registers accessible directly in C expressions
-
-You can now do this in your code:
-  PORTA |= 0x02;
-
-See the "Special Function Registers" documentation for details. This method is
-preferred over the use of the deprecated inp(), inb(), inw(), outp(), outb()
-and outw() functions.
-
-* New devices supported
-
-mega128
-mega169
-mega16
-mega32
-mega64 [untested]
-mega8515 [untested]
-mega8535 [untested]
-tiny26
-76c711
-43usb320
-43usb355
-86rf401
-
-* Improved trigonometrical functions:
-
-Reiner Patommel provided complete rewrites for asin(), atan() and atan2()
-that feature a better (for some argument ranges even much better)
-accuracy than the previous versions.  Note that since acos() uses asin(),
-it also benefits from this.
-
-* Incompatibilities with previous version.
-
-The arguments for outb()/outw() have been reversed.
-  (value,port) -> (port,value)
-
-* New pgmspace.h API.
-
-Changed function names and added new functions to read the Program Space
-FLASH. Added new functions to read 16-bit (word) values. The new API should
-also clear up problems with reading data from devices with > 64K of FLASH.
-
-The API now includes:
-pgm_read_byte       (maps to the *_near function below)
-pgm_read_word       (maps to the *_near function below)
-pgm_read_byte_near
-pgm_read_word_near
-pgm_read_byte_far
-pgm_read_word_far
-
-
-* New bootloader support API.
-
-#include <avr/boot.h>
-
-This provides bootloader support functions to those processors that have
-builtin bootloader support.
-
-* inb / outb / inw / outw / cbi / sbi macros are deprecated.
-
-* New string functions and optimized string functions.
-
-strlcpy   (optimized)
-strlcat   (optimized)
-strsep    (new)
-strtok_r  (new)
-strlcat_P (new)
-strlcpy_P (new)
-strncat_P (new)
-
-Contributed by Reiner Patommel with some work on strlcpy, strlcat by
-Eric Weddington.
-
-* New eeprom functions by Artur Lipowski <LAL@pro.onet.pl>
-
-eeprom_write_word
-eeprom_write_block
-
-
-*** Changes up to avr-libc-20020203:
-
-See the ChangeLog file up to 2002-02-03 for details.
-

Copied: tags/avr-libc-2_1_0-release/NEWS (from rev 2556, trunk/avr-libc/NEWS)
===================================================================
--- tags/avr-libc-2_1_0-release/NEWS                            (rev 0)
+++ tags/avr-libc-2_1_0-release/NEWS    2022-01-28 23:10:52 UTC (rev 2557)
@@ -0,0 +1,1389 @@
+*** Changes in avr-libc-2.1.0:
+
+* Improvements and additions:
+
+  - Patch #9187 improved the library coverage for the AVR_TINY
+    architecture (ATtiny10 and relatives).  In particular, many
+    of the functions from <string.h> are now available there.
+
+  - Patch #8729 adds ISR_NOICF and ISR_FLATTEN to <avr/interrupt.h>
+
+* Bugs fixed:
+
+  [#36933] Documentation no longer correctly describes how to declare
+  [#41689] add static_assert to assert.h
+  [#48898] power_usart3_* functions no more defined in power.h
+  [#49020] dtostre() flags documentation error
+  [#49447] Example code for uart_putchar() has error in recursive call
+  strings for storage in program memory
+  [#50439] avr/iom32u4.h does not define PRTIM4
+  [#51755] iotn441.h & iotn841.h missing definitions for PUEA[0-7] and 
PUEB[0-3]
+  [no-id] util/eu_dst.h: fix reversed DST decision logic for March and October
+  [no-id] util/delay.h.in: add missing return
+
+* New devices supported:
+
+* Contributed Patches:
+
+  [no-id] Define weak symbols for known memory region sizes based on device 
+  header definitions, starting with fuse region.
+  [#8961] Update test script for new simulavr and library layout
+  [#8964] Update tests isinf-01.c, signbit-01.c and modf-np.c
+  [#9163] New eeprom write block function for xmega using eeprom page write
+  [#8729] [avr/interrupt.h] Add ISR_NOICF, ISR_FLATTEN. Fix namespace of 
identifiers.
+  [#8536] Fix a typo within <stdio.h>
+  [#8649] small documentation fixes in
+  [#9187] [AVR_TINY]: Support 16-bit xtoa functons and more string functions.
+  [#9400] Add avrxmega3 multilibs
+  [#9659] Update eeprom_is_ready for avrxmega3 devices
+  [#9553] Fix some issues in libc/
+  [#9864] Use proper float function names and prototypes
+
+* Other changes:
+
+
+*** Changes in avr-libc-2.0.0:
+
+* General:
+
+    This is the first official release supporting AVR-GCC 5 (and above).
+
+* Bugs fixed:
+
+  [#33698] Explicit use of RJMP/RCALL can cause "relocation truncated to fit:
+           R_AVR_13_PCREL" linker error
+  [#34719] Check for right build compiler
+  [#43011] Bug in struct definition of __reg_UCSR1C and __reg_UCSR0C in 
iom128rfa1.h
+  [#43044] memory sections require __attribute__ ((used))
+  [#43828] wdt.h: Wrong inline assembler arguments
+  [#44140] wdt_disable() macro clobbers prescaller bits
+  [#44279] incorrect USB_TRNCOMPL_vect_num in iox64a1u.h, iox128a1u.h
+  [#44515] Wrong build option '-mtiny-stack' instead of '-msp8'
+  [#44574] Place device-specific libraries in their multilib directory
+  [#44869] trunk doesn't work with gcc 5.1.0-RC-20150412
+  [#44977] Incorrect PORT_t and CRC_t definitions for ATxmega64A1U and 128A1U
+  [#45539] iom32u4.h defines reserved IO address (TIMSK2 (0x70), TIMSK5 (0x73) 
etc)
+  [#45551] Power-save mode not supported for ATtiny167
+  [#36303] Wrong hour for EU Summertime
+  [#44514] Wrong build option '-mtiny-stack' instead of '-msp8'
+  [no-id] TC_EVACT_FRQ_gc was misspelled as TC_EVACT_FRW_gc in some Xmega
+          header files
+  [no-id] LOCKBITS renamed to LOCK_BITS in Xmega header files as LOCKBITS
+          clashes with definition in lock.h. Added missed defines to 
ADC_CH_MUXPOS_enum.
+          Corrected pinmux values in ADC_CH_MUXNEG_enum.
+  [no-id] Fix typos and incorrect definitions in header files.
+
+* New devices supported:
+
+  - ATA6616C, ATtiny441, ATtiny841, ATA6612C, ATA6617C, ATA664251, ATmega48PB,
+    ATmega88PB, ATA5702M322, ATA5782, ATA5790N, ATA5831, ATA6613C, ATA6614Q,
+    ATmega64HVE2, ATxmega8E5, ATxmega32C3, ATxmega32D3, ATxmega32E5
+
+* Contributed Patches:
+
+  [no-id] save & restore rampd register in xmega wdt_enable and wdt_disable
+  [#8543] Fix multiple issues with device header files
+  [#8557] Proposing to remove device specific xmega macros from sleep.h
+  [#8563] Generalize power reduction macros in power.h by removing hard coded 
device names
+  [#8564] Add dwarf debug info alternative, build printf with debug info
+  [#8565] Compute and include device header file name from
+          __AVR_DEV_LIB_NAME__ as fallback in io.h.
+  [#8587] Move device specific functions to libdev.a
+  [#8590] WDT enable/disable for devices with CCP
+  [#8610] Remove eeprom function name mangling
+  [#8716] Enable setjmp/longjmp functions for AVR_TINY architecture
+  [#8718] Enable EEPROM memory map only for devices with EEPROM Data Memory
+          Mapping Enable bit (EEMAPEN)
+  [#8731] Header file for atmega644a
+  [#8728] Use __extension__ with long long
+  [#8556] Fix atexit.c
+  [#8810] Fix LFUSE_DEFAULT for tiny24a/44a
+  [#8902] Xmega's PROTECTED_WRITE is incorrect for IO registers whose address
+          is more than one byte
+
+* Other changes:
+
+  Overhaul of doxygen documentation.
+
+
+*** Changes in avr-libc-1.8.1:
+
+* Bugs fixed:
+
+  [#31267] misleading header iom128rfa1.h
+  [#35197] sleep.h _BV defined as __BV in AT90S8515 section
+  [#35226] Online-documentation broken - [...]
+  [#35398] assert doesn't work unless stdlib.h is also included
+  [#35498] misspelled in <util/setbaud.h>
+  [#35539] stdlib.h does not provide EXIT_SUCCESS et al.
+  [#35948] iom32u4.h for ATmega32U4 incorrectly defines Timer 2
+  [#35971] attiny4313 (2313a) pin-change interrupts PCINT[0...2] vect etc
+  [#36053] Declaration of the register USIBR missing for ATtiny2313a/4313
+  [#36410] avr/boot.h: poisoned SPMCR for ATmega128
+  [#36454] string.h: Error for long long in C90
+  [#36581] avr-libc: pgmspace.h is not ANSI compliant
+  [#37103] ATtiny5/9/10/20/40 watchdog can't be enabled
+  [#37778] _MemoryBarrier() in cpufunc.h error on compile
+  [#38135] Install a dummy stdfix-avrlibc.h
+  [#38516] Missing TWI and UCSR1D definitions for ATmega16/32 U4
+  [#39049] Clock prescaler set and get are missing for TINY architecture
+  [#39783] CRC missing definitions and incorrect power macros for xmega D3
+  [#40003] Integer type promotion leads to inefficent code in wdt.h
+  [#40206] incorrect SP init in startup code for xmegas
+  [#40567] Invalid names in iotn13a.h (EEPE/EEMPE/BODS/BODSE)
+  [#40569] sleep_bod_disable does not work in attiny13a
+  [#40595] iotn2313a.h: wrong fuses definitions for High Fuse Byte
+  [#41006] iom328p.h: wrong fuse defaults
+  [#41519] wrong SPM_PAGESIZE definition in iotn[48]8.h
+  [#42024] build break regarding avrtiny10
+  [#42084] wrong LFUSE_DEFAULT in iotn84a.h
+  [#42085] HFUSE_DEFAULT not defined for iotn84.h
+  [#39779] PCIE0 and PCIE1 defined incorrectly for mega165a and mega165pa 
devices
+  [#38614] dtostrf - wrong behavior or wrong documentation
+  [#42957] missing SPMCSR defines in iom328p.h#
+  [#41690] Bit definitions for SPMCSR
+  [no-id]  XXX_vect_num not consistent io90pwmx.h, iousbxx6_7.h
+  [no-id]  Specialize clock_prescale_set/get for mega hvb devices
+  [no-id]  Update register and bit definitions for tiny 13a/24a/44a/84a,
+           tiny167 and mega328p
+
+* New devices supported:
+
+  - ATmega256RFR2, ATmega2564RFR2, ATmega128RFR2, ATmega1284RFR2,
+    ATmega64RFR2, ATmega644RFR2, AT90pwm161, ATA5272, ATA5505, ATA5790,
+    ATA5795, ATA6285, ATA6286, ATmega1284, ATmega128A, ATmega164PA,
+    ATmega165PA, ATmega168PA, ATmega3250PA, ATmega325PA, ATmega3290PA,
+    ATmega32A, ATmega48PA, ATmega64A, ATmega8A, ATtiny1634, ATtiny828,
+    ATxmega128A3U, ATxmega128A4U, ATxmega128B1, ATxmega128B3, ATxmega128C3,
+    ATxmega128D4, ATxmega16A4U, ATxmega16C4, ATxmega192A3U, ATxmega192C3,
+    ATxmega256A3BU, ATxmega256A3U, ATxmega256C3, ATxmega32A4U, ATxmega32C4,
+    ATxmega384C3, ATxmega384D3, ATxmega64A3U, ATxmega64A4U, ATxmega64B1,
+    ATxmega64B3, ATxmega64C3, ATxmega64D4
+
+* Contributed Patches:
+
+  [#3729] Printf for integers speed up
+  [#7212] Add pgm_read_ptr() macros to pgmspace.h
+  [#7220] Add UBRR overload functionality to <util/setbaud.h>
+  [#7260] Addition to power.h
+  [#7485] CRC8-CCITT
+  [#7654] include/delay.h: delay_us >255us without decreasing resolution
+  [#7826] Add ATMega32u4 support to the led-blinking demo
+  [#7909] Adding __volatile__ to __asm__ within pgmspace header
+  [#7910] Add missing PCINT2_vect to iotn40.h and update all the
+          following vector numbers
+  [no-id] correction in xmega wdt_enable and wdt_disable added for xmega
+  [#8499] Device ata6289 should be of avr4 architecture
+  [no-id] Add RAMSTART, fix RAMSIZE, RAMEND and FLASHEND in device headers
+  [#8512] Rename tiny arch to avrtiny to sync with binutils
+
+* Other changes:
+
+  - New macro _PROTECTED_WRITE(): write to Xmega IO registers that are
+    protected through the CCP mechanism
+
+  - Add support for scanf() conversion macros for 8-bit data types to
+    <inttypes.h>: SCNd8, SCNdLEAST8, SCNdFAST8, SCNi8, SCNiLEAST8,
+    SCNiFAST8, SCNo8, SCNoLEAST8, SCNoFAST8, SCNu8, SCNuLEAST8,
+    SCNuFAST8, SCNx8, SCNxLEAST8, SCNxFAST8
+
+  - Add time.h package, C standard functions such as mktime() and localtime,
+    along with 'ephemera' such as solar declination, time of sun rise and set.
+
+  - Introduce new configure option --with-debug-info=INFO, where INFO
+    can be either stabs, dwarf-2, or dwarf-4.  By default, no debug
+    information will be generated.
+
+  - Add IO register debug symbols to crt*.o, so debuggers can see the
+    per-device defined IO registers (and __eeprom).
+
+  - A number of changes have been applied to make avr-libc more C++
+    aware.
+
+*** Changes in avr-libc-1.8.0:
+
+* Bugs fixed:
+
+  [#17815] Configure does not honor --mandir option
+  [#23234] Alternate interrupt macro
+  [#24861] Interrupt documentation contains extra include
+  [#32103] Support for Target-Triplets
+  [#32419] Incorrect EEPROM size in header for ATxmega192A3
+  [#32650] Missing include in util/delay.h
+  [#32675] power_all_enable/disable does not affect timer1 on ATmega164P
+  [#32698] power.h has additional endif that will break the build
+  [#32773] stdiodemo source code is broken
+  [#32988] Internal compiler error: build_unary_op
+  [#33130] twitest.c source code is broken
+  [#33230] Sleep modes have incorrect names for ATtiny261/461/861
+  [#33238] Wrong _VECTORS_SIZE for mega8U2 et al
+  [#33858] in avr/power.h, clock_prescale_set() not defined for mega328
+  [#33920] ICR1 incorrectly defined for tiny167
+  [#34047] missing math.h include in delay.h
+  [#34514] misspelled in math.h
+  [#35020] stdint.h: signed types need explicit "signed"
+  [#35093] strlcat_P fails for some destinations
+  [no-id]  New names for CLKSTA/CLKSEL0/1 for AT90USB82/162
+  system when power_all_disable() is used
+  [no-id]  util/delay.h would not compile with -ffreestanding
+
+* New devices supported:
+
+* Contributed Patches:
+
+  [#7531] Bad name of bit in TCCR0A : WGM0 instead of CTC0 for ATtinyX61
+  [#7362] iom16a.h: USART vectors inconsistently named for ATmega16A
+  [#7226] ATMEGA8U2 Patches
+
+* Other changes:
+
+  - The old prog_* typedefs are now deprecated, and are only included
+  if requested by the user.  This request is expressed by declaring
+  the macro __PROG_TYPES_COMPAT__, either by a #define directive
+  before including <avr/pgmspace.h>, or by a -D compiler option.
+
+  - Optimized strlen_P, thanks to Jan Waclawek. Rename strlen_P to be
+  __strlen_P and add new strlen_P inline function in header file that
+  checks if value is a constant and known at compile time. If not,
+  then the new inline function calls __strlen_P as normal.
+
+
+*** Changes in avr-libc-1.7.1:
+
+* Bugs fixed:
+
+  [Atmel: #11793] XMEGA A devices: 4096-cycle DAC refresh interval setting has 
wrong name
+  [Atmel: #12314] Hi-Res(CTRLA) and AWex (FDEMASK)
+  [Atmel: #12536] Remove CALCTRL in xmega header files.
+  [no-id] Fix wrong vector table size for ATmega168A devices.
+  [#29235] power.h - warning: comma at end of enumerator list
+  [#30783] Missing prototype in power.h
+  [#31270] Stale link to Philips (now NXP) I2C specification/users manual
+
+* New devices supported:
+
+  ATTiny84a
+  ATMega16HVB RevB
+  ATMega32HVB RevB
+
+* Contributed Patches:
+
+* Other changes:
+
+
+*** Changes in avr-libc-1.7.0:
+
+* Bugs fixed:
+  [Atmel: #7159] the memory location of tccr0b is mixed with tccr0a for 
tiny48/88
+  [no-id] Fix CLKPCE bit value to be 7.
+  [no-id] inlining failed in call to '_delay_ms': function body not available
+  [no-id] malloc() could allocate memory beyond the limits of heap
+  [no-id] xmega header file updates.
+  [no-id] Enable ATmega128RFA1 in <avr/power.h>
+  [no-id] longjmp() writes to EIND register, it is forbidden by AVR-GCC's API
+  [no-id] Define _VECTORS_SIZE in iom3000.h
+  [no-id] Redefine __tmp_reg__ and __zer_reg__ for AVR TINY.
+  [AVR Tools: #9724] Error in ATtiny13A include file, PRR register
+  [sourceforge.net: #1836849] Multiplication does not work for AT90USB162
+  [sourceforge.net: #1883630] ATmegaXX4 - USART0 and USART1 additional bits 
aliases
+  [sourceforge.net: #1910885] Typo in io90pwm3b.h
+  [sourceforge.net: #1913681] Missing INT3 define in io90pwm3b.h
+  [sourceforge.net: #1957780] New 'FUSES-support' gives error in c++ files
+  [sourceforge.net: #1969436] Wrong flash size for ATmega32U4
+  [sourceforge.net: #2010688] ATtiny48 SPSR register bits
+  [sourceforge.net: #2012448] ATmega6450 USART Interrupts
+  [sourceforge.net: #2016128] Incorrect ATMega32[c1|m1] Header Entries
+  [sourceforge.net: #2018957] Wrong SPM_PAGESIZE for mega1284P
+  [sourceforge.net: #2033993] User manual: data symbol spec incorrect
+  [sourceforge.net: #2305703] iom162.h ASSR bitdef, typo?
+  [sourceforge.net: #2411516] Error/Bug in the iotn88.h file
+  [sourceforge.net: #2420567] ATmega329P missing in sleep.h
+  [sourceforge.net: #2693898] ATmega32U6 missing in power.h
+  [sourceforge.net: #2738926] avr/eeprom.h EEGET and EEPUT
+  [sourceforge.net: #2812125] ATmega16U4 missing in power.h
+  [sourceforge.net: #2913419] Misspelled Structure Element - xmega
+  [#3485]  Using float arithmetic without linking with -lm result in incorrect 
code
+  [#19079] sscanf %s eats 1 char too much
+  [#19494] sfr_defs.h documentation: Remove references to deprecated macros.
+  [#21410] Incorrect use of 16-bit eeprom addresses in devices with 8-Bit 
address registers
+  [#21621] Allow autoconf 2.61
+  [#21622] Support building in a subdirectory
+  [#21623] boot.h: Use the "z" register constraint
+  [#21869] Multiple defines in iotn2313.h
+  [#21872] __floatunsisf/undisf incorrectly named
+  [#21905] scanf: float conversion ignores the suppression symbol
+  [#21906] scanf: float conversion, wrong width count in case of sign or 
exponent
+  [#21931] Wrong fuses defined for the ATMEGA88/168
+  [#21935] Typo in avr-ar example avr-as should be avr-ar
+  [#21995] pgm_read_xxxx() does not use enhanced LPM instruction
+  [#21958] UBRR0/UBRR1 SFR is redefined for ATmegaXX8p and atmega1284p devices
+  [#21962] PSYNC1_0 a PSYNC1_1 bits not defined for AT90PWM3B and AT90PWM316 
devices
+  [#21986] Typo in iotn13.h
+  [#22016] Typo in iotn2313.h: SIG_OUTPUT_COPMARE0A
+  [#22119] Misleading statement in FAQ
+  [#22153] setjmp.o is wrong in libc.a (1.6.1) for avr's with SPH
+  [#22240] Add EEPROM Page Size to header files
+  [#22276] wdt_reset fails with devices with large WDTCSR addresses
+  [#22377] Wrong XRAMEND for some recent ioXXX.h header files.
+  [#22387] Missing EIMSK and __EEPROM_REG_LOCATIONS__ in iom168p.h
+  [#22390] Unclear note about function pointers
+  [#22447] Summary of iom?8p.h header updates needed
+  [#22493] Typo in iom1284p.h.
+  [#22540] Adding signature bytes to header files
+  [#22548] Missing IVCE and IVSEL in iom328p.h
+  [#22568] Missing EEPROM_REG_LOCATIONS in iom328p.h
+  [#22572] Documentation FAQ example proposal
+  [#22642] AT90USB162 and AT90USB82 not supported in <avr/power.h>
+  [#22643] math.h c99 incompability
+  [#22666] io90pwm3b.h errors
+  [#22785] ATMega644P Support Missing from avr/include/avr/sleep.h
+  [#22828] eeprom_write_block(): incompatibility in args order
+  [#22834] ATmega164P/324P/644P/1284P lack BODS/BODSE bits in MCUCR
+  [#22870] Error in wdt.h and ATmega164P
+  [#22877] Fuse information wrong for xmega devices.
+  [#22878] eeprom_*_word/dword/block cause hang in ATmega256x
+  [#23004] Watchdog enable docu only generated for Xmega series
+  [#23032] Define PORTxn, PINxn, DDxn bit names in iomxx4.h.
+  [#23166] atmega328p does not have SPMEN
+  [#23261] AT90USB162 and AT90USB82 missing power_all_[enable,disable]() in 
power.h
+  [#23409] Provide an implementation for strtok()
+  [#23546] FAQ documentation symbol seems wrong
+  [#23554] Wrong bit values in iom32u4.h
+  [#23677] Request for cbrt() and strdup to be added to libc
+  [#23703] eeprom write functions optimisation
+  [#23774] Using some defines from avr/fuse.h produces warning
+  [#23850] ATMega8 does not have MCUSR defined
+  [#23871] clock_prescale_set() not available for ATmega32U4
+  [#23959] Small typo in deprecated documentation
+  [#23969] eeprom_read_byte() throws interrupt EE_READY although EERIE is 
cleared, controller resets
+  [#24207] Example in inttypes.h is wrong
+  [#24446] _attribute_ should be __attribute__ (with double underscores)
+  [#24762] 1.6.3 wdt.h compile-time bug
+  [#24890] Small error in libm source fp_rempio2.S
+  [#25048] eeprom.h will not compile as c++ code.
+  [#25120] pgm_read_*_far() functions cause incorrect usage of the Z pointer 
for RAM access in ATxmega series
+  [#25131] Incorrect definition of default lfuse bits for ATTiny2313
+  [#25261] TWIHSR spelling deviates from XML file in AVR Studio 4.15
+  [#25535] Nonexistent bit definitions in iotn88.h/iotn48.h AREFD REFS1 RWWSB 
SM2
+  [#25645] xmega header files broken #defines
+  [#25723] Realloc corrupts free list when growing into the next free item
+  [#25846] include/avr/power.h:628:1: error: missing binary operator before 
token "defined"
+  [#25925] <avr/boot.h> cannot be included on Xmega devices
+  [#25929] boot.h Fuse read not compatible with Tiny48/88.
+  [#25930] New IO-Headerfiles missing PXn Portpindefinitions
+  [#26188] Wrong or missing definition of SIGNATURE_X in iom644.h and others
+  [#26284] boot_lock_fuse_bits_get does not compile under gcc 4.3.X
+  [#26308] WDE defined as WDE3 in io90pwm3b.h and io90pwm2b.h
+  [#26767] XMEGA GPIO register name discrepancy
+  [#26809] Some common math constants missing in math.h
+  [#26840] Missing #define in iom32m1.h
+  [#26876] include io.h into fuse.h
+  [#27201] _WORDREGISTER in xmega headers does not work in C99 mode
+  [#27235] malloc: Several things go wrong
+  [#27242] realloc: serious error when size shrinks
+  [#27243] malloc: small error in comment
+  [#27367] RAMSTART missing in elder device header files
+  [#27434] Arguments of macros must be protected in parentheses
+  [#28575] Minor bug in iousb162.h - missing FUSE_ prefixes
+  [#28688] using_tools.dox fails to build due to extra underscore
+  [#28756] Bug in AVR libc 1.6.7 (power.h for 8-bit AVR)
+  [#28812] iotn48.h TWS# bits off by one
+  [#28584] iocanxx.h Add word definitions to iocanxx.h
+  [#28627] power.h ATMEGA32U2 clock_prescale_set() not available
+  [#28901] Xmega header files with missing definitions for GPIO_t and CPU_t
+  [#28574] Xmega D ADC struct missing registers
+  [#28582] XMEGA A3B, RTC32 not properly supported
+  [#28921] pointer to function > 128k flash
+  [#29502] literal error in iox128a1.h
+  [#29653] PUD bit missing for at90usb82
+  [#29950] ATtiny167 SPM_PAGESIZE Discrepancy
+  [#30018] Errors in include files
+  [#30085] memcpy_P on XMega does not clr NVM.CMD before copy
+  [#30104] power.h - Missing "power_usart1_/enable/disable()" functions for 
ATmega644
+  [#30148] XMEGA register discrepancy
+  [#30600] Missing processor spec - wdt.h include file
+  [#30597] Missing definition for ATmega16/32/64m1/c1
+  [#30475] SPM_PAGESIZE is incorrect in io90pwm3b.h and io90pwm2b.h
+  [#30552] Missing definition ADCW
+  [#30569] ATmega16U4/32U4 wrong bit definition
+  [#30669] Improve comment in stdiodemo
+  [#30735] bug in example twitest
+  [#31086] ATTINY88 RAMEND value not set to correct value in iotn88.h
+  [#30363] _delay_xx() functions in <util/delay.h> are broken
+  [#31990] PRPSC0 used in power.h for AT90PWM81 instead of PRPSCR
+  [#31873] power_aes_enable/disable() are commented in power.h for xmega 
devices
+
+* Other changes:
+
+  - Added 'avr35' architecture. Now 'MOVW' and 'LPM Rx, Z[+]' instructions
+    supported for AT90USB82 and AT90USB162 devices. GCC 4.3 or above is
+    necessary to use this.
+
+  - Function vfscanf() is rewriten. The float point version is optimized
+    considerably: the expense of a stack was cut by half, and the size of
+    function has decreased approximately on 1KB. Opportunities of standard
+    and minimal versions are expanded, and their size has remained at a
+    former level.
+
+    Briefly:
+      . Restrictions of a float point format are eliminated.
+      . Conversion '%[' is present in standart version now.
+      . The minimal version differs from standard only absence of '%[' conv.
+      . The 'hh' type qualifier is added ('char *', C99).
+      . The maximal field width is increased up to 255 (65535 in float 
version).
+      . All known bugs are fixed.
+
+    New vfscanf() concedes old in:
+      . The size of the minimal and standard versions has increased for old
+      branches of compiler (less 4.1) and ancient chips (without MOVW).
+      . The maximum quantity of conversions now is limited (255).
+
+  - EEPROM functions are rewriten.  Now they are pure asm functions.  The
+    reading of long word or block is speed up.  New functions for 32-bit
+    words and floats are added.  The group of 'update' (burn only different
+    bytes) functions is added.  A set of Avr-libc bugs are fixed.
+
+  - Added support for XMEGA architectures.
+
+  - The Postscript documentation build has been removed in favour of
+    building only the PDF (and HTML and man page) versions.  PDF offers
+    the same printing quality as postscript at a smaller file size.
+    This also works around a bug in doxygen 1.5.7 where it appears to
+    be no longer possible to set GENERATE_HTML = NO.
+
+  - A sleeping BOD API was added to <avr/sleep.h>. This allows you to disable
+    the Brown Out Detector (BOD) before going to sleep, thereby reducing
+    power even further.
+
+  - The note about signbit() implementation is removed from documenatation.
+    The reason is that the GCC can replace it with inline code and the
+    nonzero value is unpredictable in such case.
+
+  - Signature API added in <avr/signature.h>.
+
+  - All functions are now placed in the .text.avr-libc section, and the
+    floating point functions are placed in the .text.avr-libc.fplib section. 
This
+    allows the user the ability to relocate all avr-libc routines to a 
different
+    address using a custom linker script.
+
+  - The port/pin assignments of the HD44780 LCD controller in the
+    stdiodemo example can now be distributed across more than a single
+    AVR port.  The only remaining requirement is that all data bits
+    are assigned to a single port in ascending order.
+
+  - Added support for avrtiny10 architecture, to support the ATtiny10 Family.
+
+  - Added new headerfile: <avr/cpufunc.h>; currently contains _NOP() and
+    _MemoryBarrier().
+
+  - The twidemo can now optionally address 24C32 and larger EEPROMs
+    that require 16-bit word addressing.
+
+  - Add a "memory barrier" to the cli() and sei() macros.
+
+
+* New devices supported:
+
+  + ATxmega64D3
+  + ATxmega128D3
+  + ATxmega256D3
+  + ATxmega192A3
+  + ATxmega128A1
+  + ATxmega64A1
+  + ATmega32M1
+  + ATmega32C1
+  + ATmega32U4
+  + ATtiny167
+  + ATtiny13A
+  + ATmega32U6
+  + AT90SCR100
+  + ATtiny87
+  + ATxmega32A4
+  + ATmega16M1
+  + ATmega64C1
+  + ATmega64M1
+  + ATA6289
+  + AT90PWM81
+  + ATmega128RFA1
+  + ATxmega32D4
+  + ATxmega16A4
+  + ATxmega16D4
+  + ATmega16U4
+  + ATmega8U2
+  + ATmega16U2
+  + ATmega32U2
+  + ATxmega192D3
+  + ATtiny2313A
+  + ATtiny4313
+  + ATtiny24A
+  + ATtiny44A
+  + ATtiny261A
+  + ATtiny461A
+  + ATtiny861A
+  + ATmega644PA
+  + ATmega88PA
+  + ATmega16A
+  + ATmega64HVE
+  + ATmega169PA
+  + ATmega649P
+  + ATmega324PA
+  + ATmega16HVA2
+  + ATmega16HVB
+  + ATmega48A
+  + ATmega88A
+  + ATmega168A
+  + ATmega328
+  + ATmega164A
+  + ATmega324A
+  + ATmega644A
+  + ATmega165A
+  + ATmega169A
+  + ATmega645A
+  + ATmega6450A
+  + ATmega649A
+  + ATmega6490A
+  + ATmega6490P
+  + ATmega645P
+  + ATmega6450P
+  + ATmega329PA
+  + ATxmega128A1U
+  + ATxmega64A1U
+  + ATtiny4
+  + ATtiny5
+  + ATtiny9
+  + ATtiny10
+  + ATtiny20
+  + ATtiny40
+  + ATtiny84A
+  + ATmega325A
+  + ATmega3250A
+  + ATmega329A
+  + ATmega3290A
+  + M3000
+
+* Optimized functions:
+
+   eeprom_read_block
+   eeprom_read_dword
+   eeprom_read_word
+   eeprom_write_block
+   eeprom_write_dword
+   eeprom_write_word
+   strtod
+   setjmp
+   sqrt   (and callers: acos, asin and hypot)
+   sin, cos, tan:  minor in space
+   strlcat, strlcat_P
+   strlcpy, strlcpy_P
+   strtok, strtok_r
+
+* Contributed Patches:
+
+  [#6194] Twitest updated to handle larger EEPROM devices
+  [#6352] Far pointer library
+  [#6500] Reentrant code faq
+  [#6517] Pgmspace with float support
+  [#6555] malloc improvement
+  [#6649] sqrt.S in libm changes
+  [#6690] Shorten calculation of dallas 1-wire crc
+  [#6718] Optimize the EEPROM functions
+  [#6720] FAQ update. Add EEPROM section, baud rate section. Correct spelling.
+  [#6791] Minor fixes to stdio.h documentation
+  [#6878] eewr_byte.S update for patch #6718
+  [#6891] Add XMega software reset to the FAQ section on software reset
+  [#6895] Improved malloc behaviour when expanding used area
+  [#6897] Allow <util/setbaud.h> to be used with assembler source
+
+* New functions:
+
+   cbrt
+   eeprom_read_dword
+   eeprom_read_float
+   eeprom_update_block
+   eeprom_update_byte
+   eeprom_update_dword
+   eeprom_update_float
+   eeprom_update_word
+   eeprom_write_dword
+   eeprom_write_float
+   memccpy_P
+   strdup
+   strtok
+   strtok_P
+   strtok_rP
+   strlen_PF
+   strnlen_PF
+   memcpy_PF
+   strcpy_PF
+   strncpy_PF
+   strcat_PF
+   strlcat_PF
+   strncat_PF
+   strcmp_PF
+   strncmp_PF
+   strcasecmp_PF
+   strncasecmp_PF
+   strstr_PF
+   strlcpy_PF
+   memcmp_PF
+
+
+*** Changes in avr-libc-1.6.0:
+
+* Main changes from avr-libc 1.4 to 1.6:
+
+  + The fplib/math library is completely rewritten. Now features of the IEEE
+  754 standard are supported all: negative zero, subnormals, Infs and NaNs.
+  It concerns both to base operations (arithmetic, comparison...), and to
+  all functions. Speed of performance is increased, sometimes considerably.
+  A number of mistakes (not reflected in the Bugs) which led severe losses
+  of accuracy for some arguments is corrected. A number of new functions is
+  added. It is necessary to note, that the new library concedes old under
+  the charge of flash memory a little.
+
+    Incompatibilities:
+
+    - Conversion from float to long (make similar to GCC/x86):  in case if
+    overflow was or if input is NaN return 0x80000000 for signed result and
+    return 0 for unsigned result. Negative input (not too big in absolute
+    value) is permissible for cast to unsigned long, for example: (unsigned
+    long)(-1.0) returns ULONG_MAX.
+
+    - The signbit() function: return 1 as nonzero value (make similar to
+    builtin GCC).
+
+    - Make frexp() similar to GCC/x86 in case of nonfinite arg: write 0 by
+    exponent pointer. Early Avr-libc's frexp() skips exponent storing in this
+    case. Make the NULL a legal address to skip a storing.
+
+  + Functions of numbers to ascii conversion are completely rewritten:
+  dtostre(), dtostrf() and printf() family. They more do not use float point
+  operations. Speed of int/float to ascii has increased in some times. For
+  printf() the stack usage is reduced.
+
+  + Test suite is added to the Avr-libc project.
+
+  + A few new util's headers: util/atomic.h, util/setbaud.h .
+
+* Bugs fixed:
+
+  [no-id]  iscntrl() return true for some values from 0x80 to 0xff.
+  [no-id]  Fix the examples installation for non-doc builds.
+  [no-id]  Fix the spelling of the OCR1A/B registers in ATtinyX4 devices.
+  [no-id]  LED1/2 don't work in the largedemo on an ATmega16.
+  [no-id]  Not defined SPM_PAGESIZE for ATtinyX4/X5/X61 and ATtiny2313 devices.
+  [no-id]  Typo in iomxx0_1.h: PRUSART3.
+  [no-id]  Make include/avr/sfr_defs.h -Wundef safe.
+  [no-id]  Make include/avr/eeprom.h -Wundef safe.
+  [no-id]  Fix the timing of the HD44780 driver in the stdiodemo.
+  [no-id]  Fix the sleep mode definitions for the ATtiny2313.
+  [no-id]  Exclude 64-bit types for -mint8.
+  [no-id]  Make documentation build work with doxygen 1.5.x
+  [#1929]  -Inf not detected
+  [#11511] NaN not generated correctly by division library
+  [#11820] dtostre: wrong output with percision =3
+  [#13330] NaN is recognized not always
+  [#15161] util/delay.h misses inline keyword (regression)
+  [#15193] incorrect definition of IVSEL bit in MCUCR register
+  [#15266] Function ldexp incorrectly processes overflow and underflow cases.
+  [#15494] Compile warning and errors if compiler flag -Wundef flag specified
+  [#15512] Bootloader macros not interrupt safe.
+  [#15519] AT90CAN* processors incorrectly identified as "AT90S family"
+  [#15522] Typo in iotn2313.h vector table
+  [#15559] Wrong macro for boot_page_write(address) and ATmega128
+  [#15574] unneeded compatibility break
+  [#15595] GPIOR0 misspelled for ATtiny25/45/85
+  [#15732] interrupt.h: ISR() incompatibility with gcc 3.4.5
+  [#15890] missing /devtools/gen-avr-lib-tree.sh
+  [#16039] Names in Pxy (i.e. PA0) style of ports pins for some devices are
+           not defined.
+  [#16125] HD44780 data bit assignment restrictive
+  [#16260] _crc16_update lacks C equivalent
+  [#16411] Add the 'used' attribute to all interrupt service routine macros.
+  [#16434] EMPTY_INTERRUPT has no misspelled vector checking
+  [#16441] eeprom.h should use __asm__
+  [#16868] depricated.h: outp() arguments order misprint
+  [#17068] wdt.h file: __AVR_ATmeg324P__ spelling mistake
+  [#17470] Add API for CLKPR register.
+  [#17551] Update documentation to point to issues with gcc4.1
+  [#17591] /avr-libc/libm/fplib/fp_split.S error return will fail for
+           3-Byte PC devices
+  [#17608] Add ISR_ALIAS() to avr/interrupt.h
+  [#18115] online documentation typo/bug avr/boot.h
+  [#18373] Bugs in Inline ASM documentacion
+  [#18385] SPM_PAGESIZE wrong value for ATmega164p and ATmega324p
+  [#18509] strtod.S crashes due to stack problem with atmega 2560
+  [#18662] rand() keeps returning the same value if seeded with 0
+  [#18686] AT90USB**** devices are absent in interrupt-verctor-names table
+  [#18688] vfscanf and vfprintf don't use malloc
+  [#18726] the dtostrf function description is missing in AVR-Libc's webpage
+  [#18903] ATmega644 register definitions for SPI and PRR (datasheet vs.
+           iom*.h)
+  [#18915] PWM1X Bit missing for ATtiny261/461/861
+  [#18964] USART definitions *wrong* in iocanxx.h
+  [#18994] minor optimization possible to stdlib functions isspace(),
+           isprint(), and islower()
+  [#19009] Make <util/delay.h> issue a warning when optimizations are turned 
off
+  [#19050] gcrt1.S should call main rather than jumping to it
+  [#19060] PCMSKx registers transposed in header for attinyX61
+  [#19445] _malloc_heap_end does not follow _heap_end on m2561
+  [#19495] <avr/interrupts.h> documentation: fix inclusion of cli and sei 
macros
+  [#19496] Add documentation: how to build toolchain for Windows.
+  [#19650] avr-libc: wrong named bit in SFR of AT90PWMx
+  [#19666] AT90PWMx: Another patch for the include file (missing SFR)
+  [#19669] Need function to read signature row
+  [#19686] alloc declaration missing
+  [#19841] Error building 1.4 HEAD: undefined reference to 'exit'
+  [#20248] FAQ#3: clarify which registers are safe to be used
+  [#20276] power.h missing ATmega644Ppower_XXX_[en/dis]able() macros
+  [#20435] Bit name definitions for AT90PWM3
+  [#20530] Bug in sample code for early wdt disable
+  [#20650] Missing description of AVR specific C-preprocessor macros
+  [#20682] Bad bit name in avr/io2313.h - Sugestion
+  [#20843] Mega 2561 library
+  [#21174] assembly error with targets at90s1200, attiny11, attiny12,
+           and attiny28
+  [#21183] Fix Program Space example code.
+  [#21204] iotnx61.h PRR bits incorrect
+  [#21228] Missing 3rd clause in BSD license in documentation pages
+  [#21299] Duplicate register address in iotn48.h.
+  [#21411] Typographical error in 'iotn13.h'
+  [#21432] Incorrect timer interrupt handler names for ATtiny45
+  [#21434] Bit name definitions for AT90CANxxx
+  [#21444] Undocument -minit-stack
+  [#21484] Documentation build for avr/version.h does not susbstitute autoconf
+           macros
+  [#21749] AT90PWM316: _VECTORS_SIZE should be 128
+  [#21691] iomx8.h-> IVSEL and IVCE should not be available for ATmega48
+  [#21743] AT90PWM316 missing PSOC1 bit definitions
+  [#21626] Incorrect Bit Definition for ADC14 and ADC15 Digital Input Disable
+  [#21521] incorrect bit definitions in iotnx61.h
+  [#21840] RAMEND wrong for ATmega48P/88P/168P
+
+* Other changes:
+
+  - New Power Management API in <avr/power.h>. This provides C language
+    macros to manipulate the Power Reduction Register(s) and the System Clock
+    Prescaler register across multiple processors.
+
+  [patch #4611] sleep.h sleep_mode() not interrupt safe
+
+  - The simple demo has been modernized a bit.  Documentation now
+    generally refers to the ATmega8 rather than the AT90S2313, and
+    the #ifdef spaghetti has been moved out into iocompat.h.
+
+  - A new demo project ("largedemo") has been added.  It extends
+    the simple demo by adding some controls, and thereby touches
+    a good number of avr-libc concepts.  It has originally been
+    written for the ATmega16, but can also be run on an ATmega8
+    or a member of the ATmegaX8 family, as well as on an ATtiny2313.
+
+  - Another demo project ("stdiodemo") has been added.  It
+    demonstrates the setup of the standard IO facilities using
+    a practical small application.
+
+  - The demo projects now install their source code as part of
+    the documentation tree.
+
+  - The simple demo has been ported to ATmega8515, ATmega8535,
+    ATmega164P, ATmega165, ATmega169, ATmega324P, ATmega325,
+    ATmega3250, ATmega329, ATmega3290, ATmega640, ATmega644,
+    ATmega644P, ATmega645, ATmega6450, ATmega649, ATmega6490,
+    ATmega1280, ATmega1281, ATtiny2313, ATtiny24, ATtiny25, ATtiny26,
+    ATtiny261, ATtiny44, ATtiny45, ATtiny461, ATtiny84, ATtiny85,
+    ATtiny861.
+
+  - More overhaul of the demo documentation, don't use the "squid"
+    cable for the largedemo as it is not part of the STK500.
+
+  - Integrate a copy of the license file into the documentation.
+
+  - Include an alphabetical index of all globals (functions,
+    macros, types, variables) into the documentation.
+
+  - Added 'avr25' architecture. Now 'MOVW' and 'LPM Rx, Z[+]' instructions
+    supported for AT86RF401, ATtiny13, ATtiny2313, ATtiny24, ATtiny25,
+    ATtiny261, ATtiny44, ATtiny45, ATtiny461, ATtiny84, ATtiny85 and
+    ATtiny861 devices. GCC 4.2 or above is necessary to use this.
+
+  - Add the benchmark page.
+
+  [patch #5756] New atomic.h header file (added as <util/atomic.h>)
+
+  [patch #5343] Add a util/setbaud.h "helper" file
+
+  [patch #6236] Improving _delay_us and _delay_ms
+
+  [patch #5644] New interrupt.h header file
+
+* New devices supported:
+
+  + ATtiny24
+  + ATtiny261
+  + ATtiny44
+  + ATtiny461
+  + ATtiny84
+  + ATtiny861
+  + ATmega406
+  + ATmega169 Rev. F
+  + AT90USB82
+  + AT90USB162
+  + AT90USB646
+  + AT90USB647
+  + AT90USB1286
+  + AT90USB1287
+  + ATmega48P
+  + ATmega88P
+  + ATmega164P (renamed from ATmega164)
+  + ATmega168P
+  + ATmega324P (renamed from ATmega324)
+  + ATmega328P
+  + ATmega644P
+  + ATmega1284P
+  + ATmega165P
+  + ATmega169P
+  + ATmega2560 [patch #4461]
+  + ATmega2561 [patch #4461]
+  + ATmega325P
+  + ATmega3250P
+  + ATmega329P
+  + ATmega3290P
+  + AT90PWM1
+  + ATmega8HVA
+  + ATmega16HVA
+  + ATmega32HVB
+  + AT90PWM216
+  + AT90PWM316
+  + ATtiny43U
+  + ATtiny48
+  + ATtiny88
+  + AT90PWM2B
+  + AT90PWM3B
+
+* New functions:
+
+   strstr_P (Contributed by Werner Boellmann)
+   round
+   lround
+   lrint
+
+* Optimized functions:
+
+   dtostre
+
+*** Changes in avr-libc-1.4.0:
+
+* Major API changes:
+
+  - The INTERRUPT() macro has been deprecated, and it will be
+    removed in a future version.  Use __attribute__((interrupt))
+    explicitly if this functionality is really needed.
+
+  - A new ISR() macro has been added, and is now the preferred
+    for to introduce an interrupt service routine.  It is
+    equivalent to the old SIGNAL() macro, which might become
+    deprecated in a future version.
+
+  - A new header file, <compat/deprecated.h> has been established.
+    Its purpose is to collect deprecated items from older versions of
+    the library, starting out with the enable_external_int(),
+    timer_enable_int(), and INTERRUPT() macros/functions, as well as
+    the old obsoleted inp/outp/sbi/cbi macros.
+
+  - A new include file subdirectory named "util/" has been created.
+    The files <compat/twi.h>, <avr/crc16.h>, <avr/delay.h>, and
+    <avr/parity.h> have been moved into the new util/ subdirectory.
+
+  - A new set of interrupt vector names has been added, closely
+    matching the names given in the datasheet, and more compatible to
+    other compilers available for the AVR platform.  The table of
+    interrupt vector names in the documentation is now automatically
+    generated, and explicitly mentions the MCU type for each vector
+    name.
+
+  - The standard IO facilities API has been enhanced
+
+    . The backend functions put and get that are passed to fdevopen()
+      during the setup of a stream now take the stream itself as an
+      additional argument.
+      By defining the macro __STDIO_FDEVOPEN_COMPAT_12 before
+      including <stdio.h>, an fdevopen() function prototype will be
+      declared that is backwards-compatible with avr-libc version
+      1.2 and before.
+    . It is possible to tie user data to a stream using
+      fdev_set_udata(), and to retrieve them using fdev_get_udata().
+      Together with the additional argument to the backend functions,
+      these functions can now e.g. keep track of internal user state,
+      or distinguish two different devices using the same backend
+      function.
+    . The get backend function can now return _FDEV_EOF to indicate an
+      end-of-file condition, in addition to _FDEV_ERR for an error
+      condition.  This will affect the internal state that can be
+      queried using the standard feof() and ferror() functions.
+    . A new macro fdev_setup_stream() is provided to setup a
+      user-supplied stream without the need to call fdevopen(), and thus
+      without requiring malloc().  A similar macro FDEV_SETUP_STREAM()
+      exists that can be used to initialized a FILE object.  The
+      floating-point implementations of vfscanf() and vfprintf() now
+      allocate their conversion buffer on the stack, so they do not need
+      malloc() anymore either.
+
+  - An API has been added to track the library version number.  See the
+    documentation of the new header file <avr/version.h>.
+
+* Bugs fixed:
+
+  [#3573] Make local symbols in .S files truely local
+  [#12324] overview: boot_page_write_safe, etc.
+  [#12333] Standard requires libstdc to define vprintf and vscanf
+  [#12495] about Busy-wait delay loops(document)
+  [#12496] about set_sleep_mode() and tiny26/tiny2313
+  [#12735] No support for AT94K devices in sleep.h
+  [#12739] Gcc assumes that target libc provides ffs function
+  [#12775] Possible Bug in sscanf on string end
+  [#13340] Math lib documentation/lib mismatch
+  [#13557] small typo in avr-libc-user-manual-1.2.3
+  [#14224] _delay_ms() not inlining if called more than once in a unit
+  [#14241] 'eeprom_is_ready' is not compiled with ATmega48
+  [#14262] avr-libc documentation error about .init sections
+  [#14266] use __extension__ in avr-libc header files
+  [#14327] wdt_disable() missing a cli
+  [#14378] EEPROM library d'not support at86rf401 device
+  [#14380] configure/make work only in source directory
+  [#14433] Improve documentation of <avr/delay.h>
+  [#14486] some macros from boot.h doesn't compile correctly
+  [#14503] strnlen_P is wrong with classic AVRs
+  [#14798] several IO registers definition issue in header files
+  [#14852] fp pow function broken for negative x
+
+* Other changes:
+
+  [patch #3592] speedup tanh function in libm
+  [patch #3750] Allow passing user data to stdio fdevopen() get and
+                put methods.  (This is part of the API changes
+                mentioned above.)
+  [patch #3780]        <assert.h> header
+  [patch #3781] add dummy fflush() to <stdio.h>
+  [patch #3782] modernize <stdint.h>
+  [patch #3912] Fix ctype.S linker error due to asm branches out
+                of range
+  [patch #3925] Dallas iButton 8-bit CRC
+  [patch #4087] C99 conformal headers stdint.h and inttypes.h
+  [patch #4505] Unified interrupt vector names in header files
+  [patch #4557] Adds to the fplib usage of MUL instruction
+                in group avr4; avr5 devices
+  [patch #4608] rpm spec file update
+  [patch #4622] unify doc file location in rpms
+
+  - Update the build system to recent versions of autoconf/automake;
+    the old "doconf" and "domake" scripts are gone now, "reconf" has
+    been renamed to "bootstrap".
+  - Update the documentation system to doxygen >= 1.4.1.
+  - Major overhaul of the documentation, new layout of the HTML pages,
+    several clarifications and additions.
+  - Add support for the following new devices (depending on the ability
+    of the compiler/binutils to handle them):
+    . AT90CAN32/64
+    . AT90PWM2(B)/3(B)
+    . ATmega329/3290/649/6490
+    . ATtiny25/45/85
+    . ATmega164/324/644
+    . ATmega640/1280/1281
+  - The library is now compiled with -Os for avr3 and avr5 MCUs (i.e.
+    for those with > 8 KB of ROM); used to be -O3 before.
+
+* New string functions. Contributed by Dmitry Xmelkov.
+
+  ffs
+  ffsl
+  ffsll
+  _FFS (macro)
+
+* Optimized functions.
+
+  misc/itoa
+  misc/ltoa
+  misc/utoa
+  misc/ultoa
+  stdlib/longjmp
+  string/memchr
+  string/memccpy
+  string/strchr
+  string/strrchr
+  string/strsep
+  string/strstr
+
+*** Changes since avr-libc-1.2.4:
+
+* Bugs fixed:
+
+  [no-id]  EEPROM handling not working for AT90CAN128 ATmega48 ATmega88
+          ATmega165 ATmega168 ATmega169 ATmega325 ATmega3250 ATmega645
+          ATmega6450
+  [#12646] strtod returns error for valid input (patch#4137)
+  [#13341] Remove ADHSM bit from header files.
+
+* Other improvements:
+
+  [patch#4189] Document replacement for sbi/cbi instructions
+
+* boot.h: implement boot_lock_fuse_bits_get() plus macros for the
+          respective addresses (low/high/ext fuse, lock bits)
+
+
+*** Changes since avr-libc-1.2.3:
+
+* Bugs fixed:
+
+  [no-id]  Work around a bug in gas that made the weak symbol __stack
+           fixed inside gcrt1.S (since the assembler already inserted
+           its value).
+  [no-id]  Modify the doxygen build system to cope with artefacts from
+           recent versions of doxygen and (pdfelatex-based) LaTeX.
+  [#12033] macros.inc need to be protected from multiple inclusion.
+  [#12040] overview: sbi in FAQ
+  [#12134] ADC register name definitions
+  [#12422] Add new bit definitions for LCDCCR register in iom169.h.
+  [#12448] Fix bit definition for SJW0 in iocan128.h
+  [#12785] Fix documenation for log10() function in math.h.
+  [#12955] Signal name misprints: SIG_COMPERATOR in iom169.h,
+           SIG_EPROM_READY in iotn26.h
+  [#12993] Signal "__EICR" redefined warning ATmega8
+  [#13290] avr/io.h EEAR def is flawed for the Mega48
+  [#13327] Fix bit definition for UCSZ02 in iom325.h, iom3250.h,
+           iom645.h, iom6450.h
+  [#13678] The _wdt_write(value) macro in wdt.h doesn't work with
+           the ATmega325.(also with ATmega3250, ATmega645, ATmega6450,
+           ATmega165).
+
+* demo.c extended for ATmega16
+
+*** Changes since avr-libc-1.2.2:
+
+* Bugs fixed:
+
+  [#11987] sscanf parsing problem : leading zero ignored in %u
+
+*** Changes since avr-libc-1.2.1:
+
+* Bugs fixed:
+
+  [#11805] Fix call to __fp_cosinus in sin().
+  [#11817] Replace SYSCLK with F_CPU in twitest example.
+  [#11868] realloc doesn't work correctly on block at end of freelist
+           when growing
+  [#11898] Change optimisation level for building printf libraries to -Os.
+
+
+*** Changes since avr-libc-1.2.0:
+
+* Bugs fixed:
+
+  [no-id]  Prefix all internal global symbols in libm with __fp_ so
+           they do not collide with the application namespace.
+  [#4101]  setjmp/longjmp destroy changes in global registers.
+  [#11479] Add missing pin definitions for iotn16.h.
+  [#11486] Put the port bit defintions back in for mega16.
+  [#11494] strtol() return wrong value in the underflow case
+  [#11505] Remove doxygen comment about the deprecated inp/outp items.
+  [#11510] Abstract the change enable bit in wdt.h for mega32.
+  [#11522] Rewrite wdt_disable() to match datasheet algorithm.
+  [#11684] realloc overwrites first to bytes of memory block when shrinking
+  [patch #3618] Optimization strtol(), a little (related to bug #11494).
+  [#11732] Update doc/examples/progmem.c to use the latest API.
+
+* Extend stdio and pmstring APIs:
+
+Implement patch #3516: printf: Handling of argument strings from
+program memory
+
+The %S format can now be used to print strings that are located in
+program-space memory (aka. ROM).
+
+As a prerequisite for this, the function strnlen_P() has been added
+which is similar to strnlen() except that it takes a pointer to a
+program-space string.
+
+*** Changes in avr-libc-1.2:
+
+* Bugs fixed:
+
+  [no-id] Fix TICIE1 value in usb header files.
+  [no-id] Fix bug introduced in fix for bug #7802 (missing parens).
+  [no-id] Move ATtiny2313 and ATtiny13 from avr4 to avr2 (by now).
+  [#2143] malloc() routines chunk smaller than requested
+  [#5454] Inline functions results in undefined reference when optimize level 0
+          is used.
+  [#5799] error(?) in iom162.h
+  [#2233] Documentation issues with inline asm
+  [#6352] Sleep mode for ATmega162, ATmega161, and ATmega8515
+  [#7469] "Problem" by using the library function "boot_lock_bits_set"
+  [#7556] printf and friends improperly handle non-null terminated strings when
+          a %s argument has a precision.
+  [#7802] vfscanf problem with unsigned long (patch #2554)
+  [#7989] dtostrf() destroys string pointer registers?
+  [#8119] _wdt_write macro in wdt.h doesn't work with ATmega169
+  [#8391] Fuse mask in boot.h wrong?
+          NOTE: boot_lock_bits_set() was broken. Please see the new
+          documentation for examples of how the new version works.
+  [#8452] some SFR and bit names in iom169.h are incorrect
+          NOTE: Where possible, the old names are retained to avoid breaking
+          existing code, but the OCR1A and OCR1B names where just plain wrong
+          so they have been changed and the incorrect names (OCRA1 and OCRB1)
+          are undefined.
+  [#8649] sfr_defs.h: missed _SFR_BYTE() in bit_is_set/clear
+  [#9345] Zero-Padding on vfprintf
+  [#10150] Update release versions compatible with avr-libc and instructions.
+  [#10489] Sleep mode for atmega48/88/168 family
+  [#10733] Fix bit identifer ADFR to ADATE in mega64.
+  [#10828] Fix licenses on files to have same BSD license.
+  [#11242] Add the EEARH register definition for the mega48.
+  [#11275] fdevopen() should document its use of malloc()
+  [#11315] Add USART* signal names to match datasheet for mega32 and mega16.
+  [#11405] Add USART* signal names to match datasheet for mega128.
+  [#11418] Add PRR register and bit definitions for mega169.
+  [#11425] sleep.h missing semicolon
+
+* Remove deprecated items:
+  + obsolete headers from the base include directory (moved to the avr/
+    subdirectory long ago)
+  + deprecated macros and functions from
+    . <avr/eeprom.h> (eeprom_rb, eeprom_rw, eeprom_wb),
+    . <avr/io.h>  (cbi, sbi, inb, outb, inw, outw, inp, outp, BV),
+    . <avr/pgmspace.h> (PRG_RDB).
+  + . <avr/timer.h> removed completely.
+
+* Moved header files:
+
+  + <avr/ina90.h> moved to <compat/ina90.h>
+  + <avr/twi.h> moved to <compat/twi.h>
+
+* New devices supported:
+
+  + ATmega165
+  + ATmega325
+  + ATmega3250
+  + ATmega645
+  + ATmega6450
+  + ATmega48
+  + ATmega88
+  + ATmega168
+  + ATtiny13
+  + ATtiny2313
+  + AT90CAN128
+
+* Pin names for ports are now consistent for all devices.
+
+* dtostrf() now uses movw where possible
+
+* realloc() has been implemented.
+
+* Extend pgmspace API.
+
+The pgmspace API has had the following macros added to allow accessing of
+unsigned 32-bit values:
+
+  pgm_read_dword_near
+  pgm_read_dword_far
+  pgm_read_dword
+
+* Change boot API.
+
+The boot API internals have changed such that it is not compatible with the
+1.0.x API.
+
+These macros have been changed so that they no longer wait for SPM and EEPROM
+operations to complete. It turns out that doing those checks all the time is
+not needed and tends to bloat the code. Removing the checks allows you to
+write more compact code (see the example in avr/boot.h).
+
+  boot_page_fill
+  boot_page_erase
+  boot_page_write
+  boot_rww_enable
+  boot_lock_bits_set
+
+If you want the old behaviour (1.0.x compatible), use these new macros:
+
+  boot_page_fill_safe
+  boot_page_erase_safe
+  boot_page_write_safe
+  boot_rww_enable_safe
+  boot_lock_bits_set_safe
+
+* Extend eeprom API.
+
+New macro:
+  eeprom_busy_wait
+
+* Extend crc16 API.
+
+New functions:
+  _crc_xmodem_update
+  _crc_ccitt_update
+
+* Extend stdio API.
+
+New functions:
+  vfprintf_P
+  vfscanf_P
+  vsprintf
+  vsprintf_P
+  vsnprintf
+  vsnprintf_P
+
+* Extend malloc API.
+
+Implement realloc().
+
+* Extend delay API (<avr/delay.h>).
+
+Implement inline functions for specifying delays in microseconds, or
+milliseconds directly (based on the macro F_CPU specifying the CPU
+clock frequency).
+
+* Documentation changes:
+
+  + Use newer Doxygen.
+  + Many fixes and added documentation.
+  + Unix-style man pages are generated now when doc generation has been
+    enabled in ./configure
+
+* Optimize slightly strtol and strtoul functions.
+
+* Unified copyright.
+
+All of the avr-libc files are now distributed under a single license.
+All of the authors of the files agreed to this step.  The new license
+is a 3-clause simplified ``BSD-style'' license which is believed to be
+fully compatible with the GPL on one hand, yet imposes as minimal
+restrictions as possible for any kind of commercial use in
+applications based on avr-libc.
+
+To build the documentation, doxygen-1.3.4 or newer is strongly recommended.
+
+*** Changes in avr-libc-1.0:
+
+* Move source to cvs repositiory at http://savannah.gnu.org/projects/avr-libc
+
+Anonymous cvs access to the source is now available. There is also a mailing
+list set up for discussion of development of avr-libc.
+
+* License changes.
+
+All the files in the project now are covered by a modified BSD license. This
+allows royalty free use of the library in commerical products. All of the
+public domain files in the project have been switched to the new license and
+copyright given to the contributors of the files.
+
+There were some files taken from GNU GPL'd projects which were removed from
+avr-libc to simplify the licensing. The removed files only supplied alternate
+implementations, so nothing was lost by their removal.
+
+* Requires latest binutils and gcc
+
+Marek did some fairly major work with binutils and gcc to make adding support
+for new devices easier. His changes in those tools required changes to
+avr-libc which make it incompatible with older versions of binutils and gcc.
+Gcc versions >= 3.3 and binutils versions >= 2.13 are required.
+
+* New malloc implementation.
+
+Joerg Wunsch has supplied an improved malloc implementation which is less
+prone to fragmentation.
+
+* Documentation!
+
+Joerg Wunsch and Ted Roth and have been working on using the doxygen program to
+embed documentation comments into source code. Additionally, Harald Kipp's
+inline asm cookbook and Rich Neswold's Avr Tools document have been merged into
+the user manual. The goal is to have a single place for all the documentation
+a user would need to get started developing for AVR microcontrollers using
+the GNU development tool chain.
+
+The latest documentation is available online at
+  http://www.freesoftware.fsf.org/avr-libc/
+
+* I/O registers accessible directly in C expressions
+
+You can now do this in your code:
+  PORTA |= 0x02;
+
+See the "Special Function Registers" documentation for details. This method is
+preferred over the use of the deprecated inp(), inb(), inw(), outp(), outb()
+and outw() functions.
+
+* New devices supported
+
+mega128
+mega169
+mega16
+mega32
+mega64 [untested]
+mega8515 [untested]
+mega8535 [untested]
+tiny26
+76c711
+43usb320
+43usb355
+86rf401
+
+* Improved trigonometrical functions:
+
+Reiner Patommel provided complete rewrites for asin(), atan() and atan2()
+that feature a better (for some argument ranges even much better)
+accuracy than the previous versions.  Note that since acos() uses asin(),
+it also benefits from this.
+
+* Incompatibilities with previous version.
+
+The arguments for outb()/outw() have been reversed.
+  (value,port) -> (port,value)
+
+* New pgmspace.h API.
+
+Changed function names and added new functions to read the Program Space
+FLASH. Added new functions to read 16-bit (word) values. The new API should
+also clear up problems with reading data from devices with > 64K of FLASH.
+
+The API now includes:
+pgm_read_byte       (maps to the *_near function below)
+pgm_read_word       (maps to the *_near function below)
+pgm_read_byte_near
+pgm_read_word_near
+pgm_read_byte_far
+pgm_read_word_far
+
+
+* New bootloader support API.
+
+#include <avr/boot.h>
+
+This provides bootloader support functions to those processors that have
+builtin bootloader support.
+
+* inb / outb / inw / outw / cbi / sbi macros are deprecated.
+
+* New string functions and optimized string functions.
+
+strlcpy   (optimized)
+strlcat   (optimized)
+strsep    (new)
+strtok_r  (new)
+strlcat_P (new)
+strlcpy_P (new)
+strncat_P (new)
+
+Contributed by Reiner Patommel with some work on strlcpy, strlcat by
+Eric Weddington.
+
+* New eeprom functions by Artur Lipowski <LAL@pro.onet.pl>
+
+eeprom_write_word
+eeprom_write_block
+
+
+*** Changes up to avr-libc-20020203:
+
+See the ChangeLog file up to 2002-02-03 for details.
+

Deleted: tags/avr-libc-2_1_0-release/configure.ac
===================================================================
--- trunk/avr-libc/configure.ac 2021-05-20 22:22:24 UTC (rev 2554)
+++ tags/avr-libc-2_1_0-release/configure.ac    2022-01-28 23:10:52 UTC (rev 
2557)
@@ -1,1654 +0,0 @@
-#                                               -*- Autoconf -*-
-#
-# Copyright (c) 2004,  Theodore A. Roth
-# Copyright (c) 2005,2006,2007,2009  Anatoly Sokolov
-# Copyright (c) 2005,2008  Joerg Wunsch
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# * Redistributions of source code must retain the above copyright
-#   notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above copyright
-#   notice, this list of conditions and the following disclaimer in
-#   the documentation and/or other materials provided with the
-#   distribution.
-# * Neither the name of the copyright holders nor the names of
-#   contributors may be used to endorse or promote products derived
-#   from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-# $Id$
-#
-# Process this file with autoconf to produce a configure script.
-#
-
-dnl library versioning -- modify these on releases
-dnl        macro name           value            description
-m4_define([avr_libc_major],    [2])dnl           major version
-m4_define([avr_libc_minor],    [0])dnl           minor version
-m4_define([avr_libc_revision], [0])dnl           revision (dot-dot version)
-m4_define([avr_libc_revision_suffix], [svn])dnl  revision suffix (if any)
-m4_define([avr_libc_reldate],  [20150209])dnl    release date
-dnl end of library versioning data
-
-m4_define([avr_libc_version],
-          
avr_libc_major.avr_libc_minor.avr_libc_revision()avr_libc_revision_suffix)dnl
-m4_define([avr_libc_version_numeric],
-          m4_eval(10000 * avr_libc_major + dnl
-                    100 * avr_libc_minor + dnl
-                          avr_libc_revision))dnl
-
-AC_INIT(avr-libc, avr_libc_version, avr-libc-dev@nongnu.org)
-
-AC_PREREQ(2.59)
-AC_REVISION($Revision$)
-
-AC_CONFIG_SRCDIR([doc/examples/demo/demo.c])
-AC_CONFIG_HEADER([config.h])
-
-dnl substitute M4 macros into shell variables
-AVR_LIBC_MAJOR=avr_libc_major
-AVR_LIBC_MINOR=avr_libc_minor
-AVR_LIBC_REVISION=avr_libc_revision
-AVR_LIBC_RELDATE=avr_libc_reldate
-AVR_LIBC_VERSION=avr_libc_version
-AVR_LIBC_VERSION_NUMERIC=avr_libc_version_numeric
-dnl ...and trigger Makefile.in substitutions
-AC_SUBST(AVR_LIBC_MAJOR)
-AC_SUBST(AVR_LIBC_MINOR)
-AC_SUBST(AVR_LIBC_REVISION)
-AC_SUBST(AVR_LIBC_RELDATE)
-AC_SUBST(AVR_LIBC_VERSION)
-AC_SUBST(AVR_LIBC_VERSION_NUMERIC)
-
-AC_CANONICAL_BUILD
-AC_CANONICAL_HOST
-
-# See if the user specified '--build=`../config.guess` --host=avr' when
-# running ../configure.
-
-AC_MSG_CHECKING([if configuring for cross compile])
-if test "x${build_alias}" = "x${host_alias}"; then
-       if test "x${build_alias}" = "x" ; then
-               build_alias='`./config.guess`'
-       fi
-       AC_MSG_RESULT(no)
-       AC_MSG_WARN()
-       AC_MSG_WARN(AVR-LIBC must be built using an avr cross-compiler.)
-       AC_MSG_WARN(Try configuring with:)
-       AC_MSG_WARN("$0 --build=$build_alias --host=avr")
-       AC_MSG_WARN()
-       AC_MSG_ERROR(aborting configure)
-else
-       AC_MSG_RESULT([yes])
-fi
-
-AC_MSG_CHECKING([if target host is avr])
-case "$host" in
-       avr* )
-               AC_MSG_RESULT([yes])
-               ;;
-       * )
-               AC_MSG_RESULT(no)
-               AC_MSG_WARN()
-               AC_MSG_WARN(Avr-libc must be built using an avr cross-compiler.)
-               AC_MSG_WARN(Try configuring with:)
-               AC_MSG_WARN("$0 --build=$build --host=avr")
-               AC_MSG_WARN()
-               AC_MSG_ERROR(aborting configure)
-               ;;
-esac
-
-## TODO: Write a check for GNU Make
-
-dnl The default check whether the C compiler can create an executable
-dnl is inappropriate for us as it requires an existing library.
-AC_NO_EXECUTABLES
-
-dnl Minimum version of Automake is 1.8.
-dnl We don't want the gzip distribution tarball anymore.
-AM_INIT_AUTOMAKE([1.8 dist-bzip2 no-dist-gzip])
-
-# We don't want touse the cflags from the environment since we need control
-# of this when we're building the libs.
-CFLAGS=""
-
-
-dnl This fix is from Newlib in config/override.m4.
-dnl Fix 2.64 cross compile detection for AVR by not trying to compile fopen.
-m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.64],
-  [m4_foreach([_GCC_LANG], [C, C++, Fortran, Fortran 77],
-     [m4_define([_AC_LANG_IO_PROGRAM(]_GCC_LANG[)], 
m4_defn([AC_LANG_PROGRAM(]_GCC_LANG[)]))])])
-
-
-# Checks for programs.
-
-AC_PROG_CC
-AC_CHECK_TOOL(AS, as, as)
-AM_PROG_AS
-AC_PROG_RANLIB
-AC_CHECK_TOOL(AR, ar, ar)
-
-# Make sure that we found the right avr cross-compiler.
-
-case "${CC}" in
-   *gcc*)
-       case "X`${CC} -dumpmachine`X" in
-           XavrX) ;;
-           *) AC_MSG_ERROR(Wrong C compiler found; check the PATH!) ;;
-       esac
-       ;;
-   *) AC_MSG_ERROR(Wrong C compiler found; check the PATH!) ;;
-esac
-case "${AS}" in
-   *avr*as*) ;;
-   *) AC_MSG_ERROR(Wrong assembler found; check the PATH!) ;;
-esac
-case "${AR}" in
-   *avr*ar*) ;;
-   *) AC_MSG_ERROR(Wrong archiver found; check the PATH!) ;;
-esac
-case "${RANLIB}" in
-   *avr*ranlib*) ;;
-   *) AC_MSG_ERROR(Wrong ranlib found; check the PATH!) ;;
-esac
-
-AC_PROG_INSTALL
-AC_PROG_LN_S
-AC_PROG_MAKE_SET
-
-dnl Check if avr-gcc >= 5.1.0 as they expect device library
-GCC_VER=`${CC} -dumpversion`
-AS_VERSION_COMPARE(${GCC_VER},"5.1.0",[DEV_LIB="no"],[DEV_LIB="yes"],[DEV_LIB="yes"])
-AM_CONDITIONAL(HAS_GCC_5_1, test "x${GCC_VER}" = "x5.1.0")
-
-dnl Enable device library when specified. If not specified and
-dnl gcc expects (e.g. >= 5) device lib then enable device library.
-AC_ARG_ENABLE(device-lib,
-[  --enable-device-lib     build separate device library],
-[enable_device_lib=true],
-[case "${DEV_LIB}" in
-  yes) enable_device_lib=true
-       AC_MSG_NOTICE(Enabled device library) ;;
-  *) ;;
- esac])
-
-dnl define HAS_DEV_LIB if device library enabled
-AM_CONDITIONAL(HAS_DEV_LIB, [test x$enable_device_lib = xtrue])
-
-dnl TODO: Check for various tools used to build the documentation. If anything
-dnl is missing, don't build the docs by default.
-
-dnl Disable building of dox by default since it they may not build properly on
-dnl all systems. This isn't optimal, but how do we work around the user not
-dnl having fig2dev and still build all the formats?
-
-AC_ARG_ENABLE(doc,
-[  --enable-doc            build all doc formats (disabled is default)],
-[case "${enableval}" in
-  yes) enable_doc=yes ;;
-  no)  enable_doc=no ;;
-  *)   AC_MSG_ERROR(bad value ${enableval} for global doc option) ;;
- esac], [enable_doc=no])dnl
-dnl Various documentation options.  By default, we enable all of them,
-dnl i. e. HTML, Postscript, PDF, and Unix-style man pages.
-AC_ARG_ENABLE(html-doc,
-[  --enable-html-doc       build HTML documentation (default)],
-[case "${enableval}" in
-  yes) html_doc=yes ;;
-  no)  html_doc=no ;;
-  *)   AC_MSG_ERROR(bad value ${enableval} for html-doc option) ;;
- esac], [html_doc=yes])dnl
-
-AC_ARG_ENABLE(pdf-doc,
-[  --enable-pdf-doc        build PDF documentation (default)],
-[case "${enableval}" in
-  yes) pdf_doc=yes ;;
-  no)  pdf_doc=no ;;
-  *)   AC_MSG_ERROR(bad value ${enableval} for pdf-doc option) ;;
- esac], [pdf_doc=yes])dnl
-
-dnl Man pages are currently not tunable; they'll be built whenever
-dnl the HTML documentation is built.  However, it can be configured
-dnl whether the result is about to be installed or not.
-AC_ARG_ENABLE(man-doc,
-[  --enable-man-doc        build Unix-style manual pages (default)],
-[case "${enableval}" in
-  yes) man_doc=yes ;;
-  no)  man_doc=no ;;
-  *)   AC_MSG_ERROR(bad value ${enableval} for man-doc option) ;;
- esac], [man_doc=yes])dnl
-
-AC_ARG_ENABLE(versioned-doc,
-[  --enable-versioned-doc  install docs in directory with version name 
(default)],
-[case "${enableval}" in
-  yes) versioned_doc=yes ;;
-  no)  versioned_doc=no ;;
-  *)   AC_MSG_ERROR(bad value ${enableval} for versioned-doc option) ;;
- esac], [versioned_doc=yes])dnl
-
-dnl troth/2002-07-12: The CHECK_DOXYGEN macro should be moved to a config
-dnl dir. I put it here until I figure out how to integrate the config dir.
-
-dnl
-dnl @synopsis CHECK_DOXYGEN
-dnl
-dnl This macro checks if doxygen is installed on the build system
-dnl
-dnl @version Id: check_doxygen.m4,v 1.2 2002/02/10 23:22:40 troth Exp
-dnl @author Theodore A. Roth <troth@openavr.org>
-dnl
-AC_DEFUN([CHECK_DOXYGEN],[dnl
-dnl
-AC_MSG_CHECKING([for doxygen])
-dox_ver=`doxygen --version 2>/dev/null`
-if test "x$dox_ver" = "x"; then
-       AC_MSG_RESULT(no)
-else
-       # FIXME: should also check for dox_ver >= 1.4.1
-       AC_MSG_RESULT(yes)
-       if test "$pdf_doc" = "yes"; then
-               AC_MSG_NOTICE([Enabling PDF docs])
-               TARGET_DOX_PDF=dox-pdf
-               INSTALL_DOX_PDF=install-dox-pdf
-       fi
-       if test "$html_doc" = "yes"; then
-               AC_MSG_NOTICE([Enabling HTML docs])
-               TARGET_DOX_HTML=dox-html
-               INSTALL_DOX_HTML=install-dox-html
-       fi
-dnl The creation of man pages is a side-effect of the HTML
-dnl generation, so a different target is only needed for installation.
-       if test "$man_doc" = "yes"; then
-               AC_MSG_NOTICE([Enabling man pages])
-               TARGET_DOX_HTML=dox-html
-               INSTALL_DOX_MAN=install-dox-man
-       fi
-fi
-dnl
-AC_SUBST(TARGET_DOX_PDF)
-AC_SUBST(TARGET_DOX_HTML)
-AC_SUBST(INSTALL_DOX_PDF)
-AC_SUBST(INSTALL_DOX_HTML)
-AC_SUBST(INSTALL_DOX_MAN)
-])dnl
-
-CHECK_DOXYGEN
-
-dnl
-dnl @synopsis CHECK_PNG_UTILS
-dnl
-dnl This macro checks if pngtopnm and pnmtopng are installed. If they are not
-dnl installed we just fake it with "cat".
-dnl
-dnl We use these in the dox to insert transparency into the png images as such:
-dnl
-dnl   $ pngtopnm foo.png > tmp.pnm
-dnl   $ pnmtopng -transparent white tmp.pnm > foo.png
-dnl
-dnl @version 
-dnl @author Theodore A. Roth <troth@openavr.org> and Eric B. Weddington 
<eweddington@cso.atmel.com>
-dnl
-AC_DEFUN([CHECK_PNG_UTILS],[dnl
-dnl
-AC_MSG_CHECKING([for pngtopnm])
-has_pngtopnm=`pngtopnm --version 2>&1 | grep -c -i Version`
-if test "$has_pngtopnm" = "1"; then
-       AC_MSG_RESULT(yes)
-       PNGTOPNM="pngtopnm"
-else
-       AC_MSG_RESULT(no)
-       PNGTOPNM="cat"
-fi
-dnl
-AC_MSG_CHECKING([for pnmtopng])
-has_pnmtopng=`pnmtopng --version 2>&1 | grep -c -i Version`
-if test "$has_pnmtopng" = "1"; then
-       AC_MSG_RESULT(yes)
-       PNMTOPNG="pnmtopng"
-else
-       AC_MSG_RESULT(no)
-       PNMTOPNG="cat"
-    PNGTOPNM="cat"
-fi
-AC_SUBST(PNGTOPNM)
-AC_SUBST(PNMTOPNG)
-])dnl
-
-CHECK_PNG_UTILS
-
-if test "$versioned_doc" = "yes"; then
-       DOC_INST_DIR='${DESTDIR}${datadir}/doc/avr-libc-$(VERSION)'
-       AVR_LIBC_USER_MANUAL="avr-libc-user-manual-${VERSION}"
-else
-       DOC_INST_DIR='${DESTDIR}${datadir}/doc/avr-libc'
-       AVR_LIBC_USER_MANUAL="avr-libc-user-manual"
-fi
-
-dnl We only want to build the docs if the user has passed
-dnl "--enable-doc" to configure.
-if test "$enable_doc" = "yes"; then
-       DOCSDIR='api'
-else
-       DOCSDIR=''
-fi
-
-AC_SUBST(DOCSDIR)
-AC_SUBST(AVR_LIBC_USER_MANUAL)
-AC_SUBST(DOC_INST_DIR)
-
-dnl Let the user decide which debug information to generate.
-dnl Default is nothing, suitable for binary distributions of the
-dnl compiled library.  Alternative options include stabs, dwarf-2,
-dnl dwarf-4 or [compiler's default version] dwarf.
-AC_ARG_ENABLE(debug-info,
-[  --enable-debug-info=stabs|dwarf-2|dwarf-4  Enable generation of debugging 
information],
-[case "${enableval}" in
-  yes|dwarf2|dwarf-2) debuginfo=dwarf2 ;;
-  no)                 debuginfo="" ;;
-  stabs)              debuginfo=stabs ;;
-  dwarf4|dwarf-4)     debuginfo=dwarf4 ;;
-  dwarf)              debuginfo=dwarf ;;
-  *)                  AC_MSG_ERROR([bad value ${enableval} for 
--enable-debug-info option; should be either stabs, dwarf-2, or dwarf-4]) ;;
- esac], [debuginfo=""])
-
-dnl Decide which debuginfo information to include
-case "$debuginfo" in
-"")      CDEBUG=""; ASDEBUG="" ;;
-stabs)   CDEBUG="-gstabs"; ASDEBUG="-Wa,-gstabs" ;;
-dwarf2)  CDEBUG="-gdwarf-2"; ASDEBUG="-Wa,-gdwarf-2" ;;
-dwarf4)  CDEBUG="-gdwarf-4"; ASDEBUG="-Wa,-gdwarf-2" ;;
-dwarf)   CDEBUG="-gdwarf"; ASDEBUG="-Wa,-gdwarf-2" ;;
-esac
-
-AC_SUBST(CDEBUG)
-AC_SUBST(ASDEBUG)
-
-FNO_JUMP_TABLES=""
-AC_SUBST(FNO_JUMP_TABLES)
-
-HAS_DELAY_CYCLES=0
-AC_SUBST(HAS_DELAY_CYCLES)
-
-AC_DEFUN(
-  CHECK_MNO_TABLEJUMP,
-  [
-    old_CC=${CC}
-    old_CFLAGS=${CFLAGS}
-    CFLAGS="-mno-tablejump"
-    CC=`echo "${CC}" | sed 's/-mmcu=avr.//'`
-    AC_MSG_CHECKING(whether ${CC} supports -mno-tablejump)
-    AC_COMPILE_IFELSE(
-      [AC_LANG_SOURCE([],[])],
-      [has_mno_tablejump=yes],
-      [has_mno_tablejump=no]
-    )
-    if test "x$has_mno_tablejump" = "xyes"
-    then
-      FNO_JUMP_TABLES="-mno-tablejump"
-    fi
-    AC_MSG_RESULT($has_mno_tablejump)
-    CC=${old_CC}
-    CFLAGS=${old_CFLAGS}
-  ]
-)
-
-AC_DEFUN(
-  CHECK_FNO_JUMP_TABLES,
-  [
-    old_CC=${CC}
-    old_CFLAGS=${CFLAGS}
-    CFLAGS="-fno-jump-tables"
-    CC=`echo "${CC}" | sed 's/-mmcu=avr.//'`
-    AC_MSG_CHECKING(whether ${CC} supports -fno-jump-tables)
-    AC_COMPILE_IFELSE(
-      [AC_LANG_SOURCE([],[])],
-      [has_fno_jump_tables=yes],
-      [has_fno_jump_tables=no]
-    )
-    if test "x$has_fno_jump_tables" = "xyes"
-    then
-      FNO_JUMP_TABLES="-fno-jump-tables"
-    fi
-    AC_MSG_RESULT($has_fno_jump_tables)
-    CC=${old_CC}
-    CFLAGS=${old_CFLAGS}
-  ]
-)
-
-AC_DEFUN(
-  CHECK_BUILTIN_DELAY_CYCLES,
-  [
-    CC=`echo "${CC}" | sed 's/-mmcu=avr.//'`
-    AC_MSG_CHECKING(whether ${CC} supports __builtin_avr_delay_cycles)
-    echo "extern void __builtin_avr_delay_cycles(unsigned long);\
-    int main(void) { __builtin_avr_delay_cycles(42); return 0; }" |\
-    ${CC} -S -xc -o - - |\
-    grep __builtin_avr_delay_cycles >/dev/null
-    if test "$?" != "0"
-    then
-      HAS_DELAY_CYCLES=1
-      has_delay_cycles="yes"
-    else
-      has_delay_cycles="no"
-    fi
-    AC_MSG_RESULT($has_delay_cycles)
-    CC=${old_CC}
-  ]
-)
-
-CHECK_MNO_TABLEJUMP
-CHECK_FNO_JUMP_TABLES
-CHECK_BUILTIN_DELAY_CYCLES
-
-dnl Some devices are only handled by newer version of gcc. This macro lets us
-dnl probe to see if the installed avr-gcc supports a questionable device.
-AC_DEFUN(
-  CHECK_AVR_DEVICE,
-  [
-    old_CC=${CC}
-    old_CFLAGS=${CFLAGS}
-    CFLAGS="-mmcu=$1"
-    CC=`echo "${CC}" | sed 's/-mmcu=avr.//'`
-    AC_MSG_CHECKING(if ${CC} has support for $1)
-    AC_COMPILE_IFELSE(
-      [AC_LANG_SOURCE([],[])],
-      [has_dev_support=yes],
-      [has_dev_support=no]
-    )
-    if test "x$has_dev_support" = "xyes"
-    then
-      HAS_$1=yes
-    fi
-    AC_MSG_RESULT($has_dev_support)
-    CC=${old_CC}
-    CFLAGS=${old_CFLAGS}
-  ]
-)
-
-
-# avr1
-AM_CONDITIONAL(HAS_avr1, true)
-AM_CONDITIONAL(HAS_at90s1200, true)
-AM_CONDITIONAL(HAS_attiny11, true)
-AM_CONDITIONAL(HAS_attiny12, true)
-AM_CONDITIONAL(HAS_attiny15, true)
-AM_CONDITIONAL(HAS_attiny28, true)
-
-
-# avr2
-AM_CONDITIONAL(HAS_avr2, true)
-AM_CONDITIONAL(HAS_at90s2313, true)
-AM_CONDITIONAL(HAS_at90s2323, true)
-AM_CONDITIONAL(HAS_at90s2333, true)
-AM_CONDITIONAL(HAS_at90s2343, true)
-AM_CONDITIONAL(HAS_at90s4414, true)
-AM_CONDITIONAL(HAS_at90s4433, true)
-AM_CONDITIONAL(HAS_at90s4434, true)
-AM_CONDITIONAL(HAS_at90s8515, true)
-AM_CONDITIONAL(HAS_at90c8534, true)
-AM_CONDITIONAL(HAS_at90s8535, true)
-AM_CONDITIONAL(HAS_attiny22, true)
-AM_CONDITIONAL(HAS_attiny26, true)
-
-
-#avr25
-CHECK_AVR_DEVICE(avr25)
-AM_CONDITIONAL(HAS_avr25, test "x$HAS_avr25" = "xyes")
-
-CHECK_AVR_DEVICE(ata5272)
-AM_CONDITIONAL(HAS_ata5272, test "x$HAS_ata5272" = "xyes")
-
-CHECK_AVR_DEVICE(ata6616c)
-AM_CONDITIONAL(HAS_ata6616c, test "x$HAS_ata6616c" = "xyes")
-
-CHECK_AVR_DEVICE(attiny13)
-AM_CONDITIONAL(HAS_attiny13, test "x$HAS_attiny13" = "xyes")
-
-CHECK_AVR_DEVICE(attiny13a)
-AM_CONDITIONAL(HAS_attiny13a, test "x$HAS_attiny13a" = "xyes")
-
-CHECK_AVR_DEVICE(attiny2313)
-AM_CONDITIONAL(HAS_attiny2313, test "x$HAS_attiny2313" = "xyes")
-
-CHECK_AVR_DEVICE(attiny2313a)
-AM_CONDITIONAL(HAS_attiny2313a, test "x$HAS_attiny2313a" = "xyes")
-
-CHECK_AVR_DEVICE(attiny24)
-AM_CONDITIONAL(HAS_attiny24, test "x$HAS_attiny24" = "xyes")
-
-CHECK_AVR_DEVICE(attiny24a)
-AM_CONDITIONAL(HAS_attiny24a, test "x$HAS_attiny24a" = "xyes")
-
-CHECK_AVR_DEVICE(attiny25)
-AM_CONDITIONAL(HAS_attiny25, test "x$HAS_attiny25" = "xyes")
-
-CHECK_AVR_DEVICE(attiny261)
-AM_CONDITIONAL(HAS_attiny261, test "x$HAS_attiny261" = "xyes")
-
-CHECK_AVR_DEVICE(attiny261a)
-AM_CONDITIONAL(HAS_attiny261a, test "x$HAS_attiny261a" = "xyes")
-
-CHECK_AVR_DEVICE(attiny43u)
-AM_CONDITIONAL(HAS_attiny43u, test "x$HAS_attiny43u" = "xyes")
-
-CHECK_AVR_DEVICE(attiny4313)
-AM_CONDITIONAL(HAS_attiny4313, test "x$HAS_attiny4313" = "xyes")
-
-CHECK_AVR_DEVICE(attiny44)
-AM_CONDITIONAL(HAS_attiny44, test "x$HAS_attiny44" = "xyes")
-
-CHECK_AVR_DEVICE(attiny441)
-AM_CONDITIONAL(HAS_attiny441, test "x$HAS_attiny441" = "xyes")
-
-CHECK_AVR_DEVICE(attiny44a)
-AM_CONDITIONAL(HAS_attiny44a, test "x$HAS_attiny44a" = "xyes")
-
-CHECK_AVR_DEVICE(attiny45)
-AM_CONDITIONAL(HAS_attiny45, test "x$HAS_attiny45" = "xyes")
-
-CHECK_AVR_DEVICE(attiny461)
-AM_CONDITIONAL(HAS_attiny461, test "x$HAS_attiny461" = "xyes")
-
-CHECK_AVR_DEVICE(attiny461a)
-AM_CONDITIONAL(HAS_attiny461a, test "x$HAS_attiny461a" = "xyes")
-
-CHECK_AVR_DEVICE(attiny48)
-AM_CONDITIONAL(HAS_attiny48, test "x$HAS_attiny48" = "xyes")
-
-CHECK_AVR_DEVICE(attiny828)
-AM_CONDITIONAL(HAS_attiny828, test "x$HAS_attiny828" = "xyes")
-
-CHECK_AVR_DEVICE(attiny84)
-AM_CONDITIONAL(HAS_attiny84, test "x$HAS_attiny84" = "xyes")
-
-CHECK_AVR_DEVICE(attiny841)
-AM_CONDITIONAL(HAS_attiny841, test "x$HAS_attiny841" = "xyes")
-
-CHECK_AVR_DEVICE(attiny84a)
-AM_CONDITIONAL(HAS_attiny84a, test "x$HAS_attiny84a" = "xyes")
-
-CHECK_AVR_DEVICE(attiny85)
-AM_CONDITIONAL(HAS_attiny85, test "x$HAS_attiny85" = "xyes")
-
-CHECK_AVR_DEVICE(attiny861)
-AM_CONDITIONAL(HAS_attiny861, test "x$HAS_attiny861" = "xyes")
-
-CHECK_AVR_DEVICE(attiny861a)
-AM_CONDITIONAL(HAS_attiny861a, test "x$HAS_attiny861a" = "xyes")
-
-CHECK_AVR_DEVICE(attiny87)
-AM_CONDITIONAL(HAS_attiny87, test "x$HAS_attiny87" = "xyes")
-
-CHECK_AVR_DEVICE(attiny88)
-AM_CONDITIONAL(HAS_attiny88, test "x$HAS_attiny88" = "xyes")
-
-CHECK_AVR_DEVICE(at86rf401)
-AM_CONDITIONAL(HAS_at86rf401, test "x$HAS_at86rf401" = "xyes")
-
-
-# avr3
-AM_CONDITIONAL(HAS_avr3, true)
-AM_CONDITIONAL(HAS_at43usb320, true)
-AM_CONDITIONAL(HAS_at43usb355, true)
-AM_CONDITIONAL(HAS_at76c711, true)
-
-#avr31
-CHECK_AVR_DEVICE(avr31)
-AM_CONDITIONAL(HAS_avr31, test "x$HAS_avr31" = "xyes")
-
-AM_CONDITIONAL(HAS_atmega103, true)
-
-
-#avr35
-CHECK_AVR_DEVICE(avr35)
-AM_CONDITIONAL(HAS_avr35, test "x$HAS_avr35" = "xyes")
-
-CHECK_AVR_DEVICE(at90usb82)
-AM_CONDITIONAL(HAS_at90usb82, test "x$HAS_at90usb82" = "xyes")
-
-CHECK_AVR_DEVICE(at90usb162)
-AM_CONDITIONAL(HAS_at90usb162, test "x$HAS_at90usb162" = "xyes")
-
-CHECK_AVR_DEVICE(ata5505)
-AM_CONDITIONAL(HAS_ata5505, test "x$HAS_ata5505" = "xyes")
-
-CHECK_AVR_DEVICE(ata6617c)
-AM_CONDITIONAL(HAS_ata6617c, test "x$HAS_ata6617c" = "xyes")
-
-CHECK_AVR_DEVICE(ata664251)
-AM_CONDITIONAL(HAS_ata664251, test "x$HAS_ata664251" = "xyes")
-
-CHECK_AVR_DEVICE(atmega8u2)
-AM_CONDITIONAL(HAS_atmega8u2, test "x$HAS_atmega8u2" = "xyes")
-
-CHECK_AVR_DEVICE(atmega16u2)
-AM_CONDITIONAL(HAS_atmega16u2, test "x$HAS_atmega16u2" = "xyes")
-
-CHECK_AVR_DEVICE(atmega32u2)
-AM_CONDITIONAL(HAS_atmega32u2, test "x$HAS_atmega32u2" = "xyes")
-
-CHECK_AVR_DEVICE(attiny167)
-AM_CONDITIONAL(HAS_attiny167, test "x$HAS_attiny167" = "xyes")
-
-CHECK_AVR_DEVICE(attiny1634)
-AM_CONDITIONAL(HAS_attiny1634, test "x$HAS_attiny1634" = "xyes")
-
-
-# avr4
-AM_CONDITIONAL(HAS_avr4, true)
-AM_CONDITIONAL(HAS_atmega8, true)
-AM_CONDITIONAL(HAS_atmega8515, true)
-AM_CONDITIONAL(HAS_atmega8535, true)
-
-CHECK_AVR_DEVICE(ata6285)
-AM_CONDITIONAL(HAS_ata6285, test "x$HAS_ata6285" = "xyes")
-
-CHECK_AVR_DEVICE(ata6286)
-AM_CONDITIONAL(HAS_ata6286, test "x$HAS_ata6286" = "xyes")
-
-CHECK_AVR_DEVICE(ata6289)
-AM_CONDITIONAL(HAS_ata6289, test "x$HAS_ata6289" = "xyes")
-
-CHECK_AVR_DEVICE(ata6612c)
-AM_CONDITIONAL(HAS_ata6612c, test "x$HAS_ata6612c" = "xyes")
-
-CHECK_AVR_DEVICE(atmega8a)
-AM_CONDITIONAL(HAS_atmega8a, test "x$HAS_atmega8a" = "xyes")
-
-CHECK_AVR_DEVICE(atmega48)
-AM_CONDITIONAL(HAS_atmega48, test "x$HAS_atmega48" = "xyes")
-
-CHECK_AVR_DEVICE(atmega48a)
-AM_CONDITIONAL(HAS_atmega48a, test "x$HAS_atmega48a" = "xyes")
-
-CHECK_AVR_DEVICE(atmega48pa)
-AM_CONDITIONAL(HAS_atmega48pa, test "x$HAS_atmega48pa" = "xyes")
-
-CHECK_AVR_DEVICE(atmega48pb)
-AM_CONDITIONAL(HAS_atmega48pb, test "x$HAS_atmega48pb" = "xyes")
-
-CHECK_AVR_DEVICE(atmega48p)
-AM_CONDITIONAL(HAS_atmega48p, test "x$HAS_atmega48p" = "xyes")
-
-CHECK_AVR_DEVICE(atmega88)
-AM_CONDITIONAL(HAS_atmega88, test "x$HAS_atmega88" = "xyes")
-
-CHECK_AVR_DEVICE(atmega88a)
-AM_CONDITIONAL(HAS_atmega88a, test "x$HAS_atmega88a" = "xyes")
-
-CHECK_AVR_DEVICE(atmega88p)
-AM_CONDITIONAL(HAS_atmega88p, test "x$HAS_atmega88p" = "xyes")
-
-CHECK_AVR_DEVICE(atmega88pa)
-AM_CONDITIONAL(HAS_atmega88pa, test "x$HAS_atmega88pa" = "xyes")
-
-CHECK_AVR_DEVICE(atmega88pb)
-AM_CONDITIONAL(HAS_atmega88pb, test "x$HAS_atmega88pb" = "xyes")
-
-CHECK_AVR_DEVICE(atmega8hva)
-AM_CONDITIONAL(HAS_atmega8hva, test "x$HAS_atmega8hva" = "xyes")
-
-CHECK_AVR_DEVICE(at90pwm1)
-AM_CONDITIONAL(HAS_at90pwm1, test "x$HAS_at90pwm1" = "xyes")
-
-CHECK_AVR_DEVICE(at90pwm2)
-AM_CONDITIONAL(HAS_at90pwm2, test "x$HAS_at90pwm2" = "xyes")
-
-CHECK_AVR_DEVICE(at90pwm2b)
-AM_CONDITIONAL(HAS_at90pwm2b, test "x$HAS_at90pwm2b" = "xyes")
-
-CHECK_AVR_DEVICE(at90pwm3)
-AM_CONDITIONAL(HAS_at90pwm3, test "x$HAS_at90pwm3" = "xyes")
-
-CHECK_AVR_DEVICE(at90pwm3b)
-AM_CONDITIONAL(HAS_at90pwm3b, test "x$HAS_at90pwm3b" = "xyes")
-
-CHECK_AVR_DEVICE(at90pwm81)
-AM_CONDITIONAL(HAS_at90pwm81, test "x$HAS_at90pwm81" = "xyes")
-
-
-# avr5
-AM_CONDITIONAL(HAS_avr5, true)
-
-CHECK_AVR_DEVICE(at90can32)
-AM_CONDITIONAL(HAS_at90can32, test "x$HAS_at90can32" = "xyes")
-
-CHECK_AVR_DEVICE(at90can64)
-AM_CONDITIONAL(HAS_at90can64, test "x$HAS_at90can64" = "xyes")
-
-CHECK_AVR_DEVICE(at90scr100)
-AM_CONDITIONAL(HAS_at90scr100, test "x$HAS_at90scr100" = "xyes")
-
-CHECK_AVR_DEVICE(at90usb646)
-AM_CONDITIONAL(HAS_at90usb646, test "x$HAS_at90usb646" = "xyes")
-
-CHECK_AVR_DEVICE(at90usb647)
-AM_CONDITIONAL(HAS_at90usb647, test "x$HAS_at90usb647" = "xyes")
-
-CHECK_AVR_DEVICE(at90pwm316)
-AM_CONDITIONAL(HAS_at90pwm316, test "x$HAS_at90pwm316" = "xyes")
-
-CHECK_AVR_DEVICE(at90pwm216)
-AM_CONDITIONAL(HAS_at90pwm216, test "x$HAS_at90pwm216" = "xyes")
-
-CHECK_AVR_DEVICE(at90pwm161)
-AM_CONDITIONAL(HAS_at90pwm161, test "x$HAS_at90pwm161" = "xyes")
-
-CHECK_AVR_DEVICE(at94k)
-AM_CONDITIONAL(HAS_at94k, test "x$HAS_at94k" = "xyes")
-
-CHECK_AVR_DEVICE(ata5702m322)
-AM_CONDITIONAL(HAS_ata5702m322, test "x$HAS_ata5702m322" = "xyes")
-
-CHECK_AVR_DEVICE(ata5782)
-AM_CONDITIONAL(HAS_ata5782, test "x$HAS_ata5782" = "xyes")
-
-CHECK_AVR_DEVICE(ata5790)
-AM_CONDITIONAL(HAS_ata5790, test "x$HAS_ata5790" = "xyes")
-
-CHECK_AVR_DEVICE(ata5790n)
-AM_CONDITIONAL(HAS_ata5790n, test "x$HAS_ata5790n" = "xyes")
-
-CHECK_AVR_DEVICE(ata5795)
-AM_CONDITIONAL(HAS_ata5795, test "x$HAS_ata5795" = "xyes")
-
-CHECK_AVR_DEVICE(ata5831)
-AM_CONDITIONAL(HAS_ata5831, test "x$HAS_ata5831" = "xyes")
-
-CHECK_AVR_DEVICE(ata6613c)
-AM_CONDITIONAL(HAS_ata6613c, test "x$HAS_ata6613c" = "xyes")
-
-CHECK_AVR_DEVICE(ata6614q)
-AM_CONDITIONAL(HAS_ata6614q, test "x$HAS_ata6614q" = "xyes")
-
-CHECK_AVR_DEVICE(atmega16)
-AM_CONDITIONAL(HAS_atmega16, test "x$HAS_atmega16" = "xyes")
-
-CHECK_AVR_DEVICE(atmega16a)
-AM_CONDITIONAL(HAS_atmega16a, test "x$HAS_atmega16a" = "xyes")
-
-CHECK_AVR_DEVICE(atmega161)
-AM_CONDITIONAL(HAS_atmega161, test "x$HAS_atmega161" = "xyes")
-
-CHECK_AVR_DEVICE(atmega162)
-AM_CONDITIONAL(HAS_atmega162, test "x$HAS_atmega162" = "xyes")
-
-CHECK_AVR_DEVICE(atmega163)
-AM_CONDITIONAL(HAS_atmega163, test "x$HAS_atmega163" = "xyes")
-
-CHECK_AVR_DEVICE(atmega164a)
-AM_CONDITIONAL(HAS_atmega164a, test "x$HAS_atmega164a" = "xyes")
-
-CHECK_AVR_DEVICE(atmega164p)
-AM_CONDITIONAL(HAS_atmega164p, test "x$HAS_atmega164p" = "xyes")
-
-CHECK_AVR_DEVICE(atmega164pa)
-AM_CONDITIONAL(HAS_atmega164pa, test "x$HAS_atmega164pa" = "xyes")
-
-CHECK_AVR_DEVICE(atmega165)
-AM_CONDITIONAL(HAS_atmega165, test "x$HAS_atmega165" = "xyes")
-
-CHECK_AVR_DEVICE(atmega165a)
-AM_CONDITIONAL(HAS_atmega165a, test "x$HAS_atmega165a" = "xyes")
-
-CHECK_AVR_DEVICE(atmega165p)
-AM_CONDITIONAL(HAS_atmega165p, test "x$HAS_atmega165p" = "xyes")
-
-CHECK_AVR_DEVICE(atmega165pa)
-AM_CONDITIONAL(HAS_atmega165pa, test "x$HAS_atmega165pa" = "xyes")
-
-CHECK_AVR_DEVICE(atmega168)
-AM_CONDITIONAL(HAS_atmega168, test "x$HAS_atmega168" = "xyes")
-
-CHECK_AVR_DEVICE(atmega168a)
-AM_CONDITIONAL(HAS_atmega168a, test "x$HAS_atmega168a" = "xyes")
-
-CHECK_AVR_DEVICE(atmega168p)
-AM_CONDITIONAL(HAS_atmega168p, test "x$HAS_atmega168p" = "xyes")
-
-CHECK_AVR_DEVICE(atmega168pa)
-AM_CONDITIONAL(HAS_atmega168pa, test "x$HAS_atmega168pa" = "xyes")
-
-CHECK_AVR_DEVICE(atmega169)
-AM_CONDITIONAL(HAS_atmega169, test "x$HAS_atmega169" = "xyes")
-
-CHECK_AVR_DEVICE(atmega169a)
-AM_CONDITIONAL(HAS_atmega169a, test "x$HAS_atmega169a" = "xyes")
-
-CHECK_AVR_DEVICE(atmega169p)
-AM_CONDITIONAL(HAS_atmega169p, test "x$HAS_atmega169p" = "xyes")
-
-CHECK_AVR_DEVICE(atmega169pa)
-AM_CONDITIONAL(HAS_atmega169pa, test "x$HAS_atmega169pa" = "xyes")
-
-CHECK_AVR_DEVICE(atmega16hva)
-AM_CONDITIONAL(HAS_atmega16hva, test "x$HAS_atmega16hva" = "xyes")
-
-CHECK_AVR_DEVICE(atmega16hva2)
-AM_CONDITIONAL(HAS_atmega16hva2, test "x$HAS_atmega16hva2" = "xyes")
-
-CHECK_AVR_DEVICE(atmega16hvb)
-AM_CONDITIONAL(HAS_atmega16hvb, test "x$HAS_atmega16hvb" = "xyes")
-
-CHECK_AVR_DEVICE(atmega16hvbrevb)
-AM_CONDITIONAL(HAS_atmega16hvbrevb, test "x$HAS_atmega16hvbrevb" = "xyes")
-
-CHECK_AVR_DEVICE(atmega16m1)
-AM_CONDITIONAL(HAS_atmega16m1, test "x$HAS_atmega16m1" = "xyes")
-
-CHECK_AVR_DEVICE(atmega16u4)
-AM_CONDITIONAL(HAS_atmega16u4, test "x$HAS_atmega16u4" = "xyes")
-
-CHECK_AVR_DEVICE(atmega32)
-AM_CONDITIONAL(HAS_atmega32, test "x$HAS_atmega32" = "xyes")
-
-CHECK_AVR_DEVICE(atmega32a)
-AM_CONDITIONAL(HAS_atmega32a, test "x$HAS_atmega32a" = "xyes")
-
-CHECK_AVR_DEVICE(atmega323)
-AM_CONDITIONAL(HAS_atmega323, test "x$HAS_atmega323" = "xyes")
-
-CHECK_AVR_DEVICE(atmega324a)
-AM_CONDITIONAL(HAS_atmega324a, test "x$HAS_atmega324a" = "xyes")
-
-CHECK_AVR_DEVICE(atmega324p)
-AM_CONDITIONAL(HAS_atmega324p, test "x$HAS_atmega324p" = "xyes")
-
-CHECK_AVR_DEVICE(atmega324pa)
-AM_CONDITIONAL(HAS_atmega324pa, test "x$HAS_atmega324pa" = "xyes")
-
-CHECK_AVR_DEVICE(atmega325)
-AM_CONDITIONAL(HAS_atmega325, test "x$HAS_atmega325" = "xyes")
-
-CHECK_AVR_DEVICE(atmega325a)
-AM_CONDITIONAL(HAS_atmega325a, test "x$HAS_atmega325a" = "xyes")
-
-CHECK_AVR_DEVICE(atmega325p)
-AM_CONDITIONAL(HAS_atmega325p, test "x$HAS_atmega325p" = "xyes")
-
-CHECK_AVR_DEVICE(atmega325pa)
-AM_CONDITIONAL(HAS_atmega325pa, test "x$HAS_atmega325pa" = "xyes")
-
-CHECK_AVR_DEVICE(atmega3250)
-AM_CONDITIONAL(HAS_atmega3250, test "x$HAS_atmega3250" = "xyes")
-
-CHECK_AVR_DEVICE(atmega3250a)
-AM_CONDITIONAL(HAS_atmega3250a, test "x$HAS_atmega3250a" = "xyes")
-
-CHECK_AVR_DEVICE(atmega3250p)
-AM_CONDITIONAL(HAS_atmega3250p, test "x$HAS_atmega3250p" = "xyes")
-
-CHECK_AVR_DEVICE(atmega3250pa)
-AM_CONDITIONAL(HAS_atmega3250pa, test "x$HAS_atmega3250pa" = "xyes")
-
-CHECK_AVR_DEVICE(atmega328)
-AM_CONDITIONAL(HAS_atmega328, test "x$HAS_atmega328" = "xyes")
-
-CHECK_AVR_DEVICE(atmega328p)
-AM_CONDITIONAL(HAS_atmega328p, test "x$HAS_atmega328p" = "xyes")
-
-CHECK_AVR_DEVICE(atmega329)
-AM_CONDITIONAL(HAS_atmega329, test "x$HAS_atmega329" = "xyes")
-
-CHECK_AVR_DEVICE(atmega329a)
-AM_CONDITIONAL(HAS_atmega329a, test "x$HAS_atmega329a" = "xyes")
-
-CHECK_AVR_DEVICE(atmega329p)
-AM_CONDITIONAL(HAS_atmega329p, test "x$HAS_atmega329p" = "xyes")
-
-CHECK_AVR_DEVICE(atmega329pa)
-AM_CONDITIONAL(HAS_atmega329pa, test "x$HAS_atmega329pa" = "xyes")
-
-CHECK_AVR_DEVICE(atmega3290)
-AM_CONDITIONAL(HAS_atmega3290, test "x$HAS_atmega3290" = "xyes")
-
-CHECK_AVR_DEVICE(atmega3290a)
-AM_CONDITIONAL(HAS_atmega3290a, test "x$HAS_atmega3290a" = "xyes")
-
-CHECK_AVR_DEVICE(atmega3290p)
-AM_CONDITIONAL(HAS_atmega3290p, test "x$HAS_atmega3290p" = "xyes")
-
-CHECK_AVR_DEVICE(atmega3290pa)
-AM_CONDITIONAL(HAS_atmega3290pa, test "x$HAS_atmega3290pa" = "xyes")
-
-CHECK_AVR_DEVICE(atmega32c1)
-AM_CONDITIONAL(HAS_atmega32c1, test "x$HAS_atmega32c1" = "xyes")
-
-CHECK_AVR_DEVICE(atmega32hvb)
-AM_CONDITIONAL(HAS_atmega32hvb, test "x$HAS_atmega32hvb" = "xyes")
-
-CHECK_AVR_DEVICE(atmega32hvbrevb)
-AM_CONDITIONAL(HAS_atmega32hvbrevb, test "x$HAS_atmega32hvbrevb" = "xyes")
-
-CHECK_AVR_DEVICE(atmega32m1)
-AM_CONDITIONAL(HAS_atmega32m1, test "x$HAS_atmega32m1" = "xyes")
-
-CHECK_AVR_DEVICE(atmega32u4)
-AM_CONDITIONAL(HAS_atmega32u4, test "x$HAS_atmega32u4" = "xyes")
-
-CHECK_AVR_DEVICE(atmega32u6)
-AM_CONDITIONAL(HAS_atmega32u6, test "x$HAS_atmega32u6" = "xyes")
-
-CHECK_AVR_DEVICE(atmega406)
-AM_CONDITIONAL(HAS_atmega406, test "x$HAS_atmega406" = "xyes")
-
-CHECK_AVR_DEVICE(atmega644rfr2)
-AM_CONDITIONAL(HAS_atmega644rfr2, test "x$HAS_atmega644rfr2" = "xyes")
-
-CHECK_AVR_DEVICE(atmega64rfr2)
-AM_CONDITIONAL(HAS_atmega64rfr2, test "x$HAS_atmega64rfr2" = "xyes")
-
-CHECK_AVR_DEVICE(atmega64)
-AM_CONDITIONAL(HAS_atmega64, test "x$HAS_atmega64" = "xyes")
-
-CHECK_AVR_DEVICE(atmega64a)
-AM_CONDITIONAL(HAS_atmega64a, test "x$HAS_atmega64a" = "xyes")
-
-CHECK_AVR_DEVICE(atmega640)
-AM_CONDITIONAL(HAS_atmega640, test "x$HAS_atmega640" = "xyes")
-
-CHECK_AVR_DEVICE(atmega644)
-AM_CONDITIONAL(HAS_atmega644, test "x$HAS_atmega644" = "xyes")
-
-CHECK_AVR_DEVICE(atmega644a)
-AM_CONDITIONAL(HAS_atmega644a, test "x$HAS_atmega644a" = "xyes")
-
-CHECK_AVR_DEVICE(atmega644p)
-AM_CONDITIONAL(HAS_atmega644p, test "x$HAS_atmega644p" = "xyes")
-
-CHECK_AVR_DEVICE(atmega644pa)
-AM_CONDITIONAL(HAS_atmega644pa, test "x$HAS_atmega644pa" = "xyes")
-
-CHECK_AVR_DEVICE(atmega645)
-AM_CONDITIONAL(HAS_atmega645, test "x$HAS_atmega645" = "xyes")
-
-CHECK_AVR_DEVICE(atmega645a)
-AM_CONDITIONAL(HAS_atmega645a, test "x$HAS_atmega645a" = "xyes")
-
-CHECK_AVR_DEVICE(atmega645p)
-AM_CONDITIONAL(HAS_atmega645p, test "x$HAS_atmega645p" = "xyes")
-
-CHECK_AVR_DEVICE(atmega6450)
-AM_CONDITIONAL(HAS_atmega6450, test "x$HAS_atmega6450" = "xyes")
-
-CHECK_AVR_DEVICE(atmega6450a)
-AM_CONDITIONAL(HAS_atmega6450a, test "x$HAS_atmega6450a" = "xyes")
-
-CHECK_AVR_DEVICE(atmega6450p)
-AM_CONDITIONAL(HAS_atmega6450p, test "x$HAS_atmega6450p" = "xyes")
-
-CHECK_AVR_DEVICE(atmega649)
-AM_CONDITIONAL(HAS_atmega649, test "x$HAS_atmega649" = "xyes")
-
-CHECK_AVR_DEVICE(atmega649a)
-AM_CONDITIONAL(HAS_atmega649a, test "x$HAS_atmega649a" = "xyes")
-
-CHECK_AVR_DEVICE(atmega649p)
-AM_CONDITIONAL(HAS_atmega649p, test "x$HAS_atmega649p" = "xyes")
-
-CHECK_AVR_DEVICE(atmega6490)
-AM_CONDITIONAL(HAS_atmega6490, test "x$HAS_atmega6490" = "xyes")
-
-CHECK_AVR_DEVICE(atmega6490a)
-AM_CONDITIONAL(HAS_atmega6490a, test "x$HAS_atmega6490a" = "xyes")
-
-CHECK_AVR_DEVICE(atmega6490p)
-AM_CONDITIONAL(HAS_atmega6490p, test "x$HAS_atmega6490p" = "xyes")
-
-CHECK_AVR_DEVICE(atmega64c1)
-AM_CONDITIONAL(HAS_atmega64c1, test "x$HAS_atmega64c1" = "xyes")
-
-CHECK_AVR_DEVICE(atmega64hve)
-AM_CONDITIONAL(HAS_atmega64hve, test "x$HAS_atmega64hve" = "xyes")
-
-CHECK_AVR_DEVICE(atmega64hve2)
-AM_CONDITIONAL(HAS_atmega64hve2, test "x$HAS_atmega64hve2" = "xyes")
-
-CHECK_AVR_DEVICE(atmega64m1)
-AM_CONDITIONAL(HAS_atmega64m1, test "x$HAS_atmega64m1" = "xyes")
-
-CHECK_AVR_DEVICE(atmega128rfa1)
-AM_CONDITIONAL(HAS_atmega128rfa1, test "x$HAS_atmega128rfa1" = "xyes")
-
-CHECK_AVR_DEVICE(m3000)
-AM_CONDITIONAL(HAS_m3000, test "x$HAS_m3000" = "xyes")
-
-
-
-#avr51
-CHECK_AVR_DEVICE(avr51)
-AM_CONDITIONAL(HAS_avr51, test "x$HAS_avr51" = "xyes")
-
-AM_CONDITIONAL(HAS_atmega128, true)
-
-CHECK_AVR_DEVICE(atmega128a)
-AM_CONDITIONAL(HAS_atmega128a, test "x$HAS_atmega128a" = "xyes")
-
-CHECK_AVR_DEVICE(atmega1280)
-AM_CONDITIONAL(HAS_atmega1280, test "x$HAS_atmega1280" = "xyes")
-
-CHECK_AVR_DEVICE(atmega1281)
-AM_CONDITIONAL(HAS_atmega1281, test "x$HAS_atmega1281" = "xyes")
-
-CHECK_AVR_DEVICE(atmega1284)
-AM_CONDITIONAL(HAS_atmega1284, test "x$HAS_atmega1284" = "xyes")
-
-CHECK_AVR_DEVICE(atmega1284p)
-AM_CONDITIONAL(HAS_atmega1284p, test "x$HAS_atmega1284p" = "xyes")
-
-CHECK_AVR_DEVICE(at90can128)
-AM_CONDITIONAL(HAS_at90can128, test "x$HAS_at90can128" = "xyes")
-
-CHECK_AVR_DEVICE(at90usb1286)
-AM_CONDITIONAL(HAS_at90usb1286, test "x$HAS_at90usb1286" = "xyes")
-
-CHECK_AVR_DEVICE(at90usb1287)
-AM_CONDITIONAL(HAS_at90usb1287, test "x$HAS_at90usb1287" = "xyes")
-
-CHECK_AVR_DEVICE(atmega1284rfr2)
-AM_CONDITIONAL(HAS_atmega1284rfr2, test "x$HAS_atmega1284rfr2" = "xyes")
-
-CHECK_AVR_DEVICE(atmega128rfr2)
-AM_CONDITIONAL(HAS_atmega128rfr2, test "x$HAS_atmega128rfr2" = "xyes")
-
-
-# avr6
-CHECK_AVR_DEVICE(avr6)
-AM_CONDITIONAL(HAS_avr6, test "x$HAS_avr6" = "xyes")
-
-CHECK_AVR_DEVICE(atmega2560)
-AM_CONDITIONAL(HAS_atmega2560, test "x$HAS_atmega2560" = "xyes")
-
-CHECK_AVR_DEVICE(atmega2561)
-AM_CONDITIONAL(HAS_atmega2561, test "x$HAS_atmega2561" = "xyes")
-
-CHECK_AVR_DEVICE(atmega2564rfr2)
-AM_CONDITIONAL(HAS_atmega2564rfr2, test "x$HAS_atmega2564rfr2" = "xyes")
-
-CHECK_AVR_DEVICE(atmega256rfr2)
-AM_CONDITIONAL(HAS_atmega256rfr2, test "x$HAS_atmega256rfr2" = "xyes")
-
-
-# avrxmega2
-CHECK_AVR_DEVICE(avrxmega2)
-AM_CONDITIONAL(HAS_avrxmega2, test "x$HAS_avrxmega2" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega8e5)
-AM_CONDITIONAL(HAS_atxmega8e5, test "x$HAS_atxmega8e5" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega16a4)
-AM_CONDITIONAL(HAS_atxmega16a4, test "x$HAS_atxmega16a4" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega16a4u)
-AM_CONDITIONAL(HAS_atxmega16a4u, test "x$HAS_atxmega16a4u" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega16c4)
-AM_CONDITIONAL(HAS_atxmega16c4, test "x$HAS_atxmega16c4" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega16d4)
-AM_CONDITIONAL(HAS_atxmega16d4, test "x$HAS_atxmega16d4" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega32a4)
-AM_CONDITIONAL(HAS_atxmega32a4, test "x$HAS_atxmega32a4" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega32a4u)
-AM_CONDITIONAL(HAS_atxmega32a4u, test "x$HAS_atxmega32a4u" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega32c3)
-AM_CONDITIONAL(HAS_atxmega32c3, test "x$HAS_atxmega32c3" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega32c4)
-AM_CONDITIONAL(HAS_atxmega32c4, test "x$HAS_atxmega32c4" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega32d3)
-AM_CONDITIONAL(HAS_atxmega32d3, test "x$HAS_atxmega32d3" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega32d4)
-AM_CONDITIONAL(HAS_atxmega32d4, test "x$HAS_atxmega32d4" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega32e5)
-AM_CONDITIONAL(HAS_atxmega32e5, test "x$HAS_atxmega32e5" = "xyes")
-
-
-# avrxmega3
-CHECK_AVR_DEVICE(avrxmega3)
-AM_CONDITIONAL(HAS_avrxmega3, test "x$HAS_avrxmega3" = "xyes")
-
-
-# avrxmega4
-CHECK_AVR_DEVICE(avrxmega4)
-AM_CONDITIONAL(HAS_avrxmega4, test "x$HAS_avrxmega4" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega64a3)
-AM_CONDITIONAL(HAS_atxmega64a3, test "x$HAS_atxmega64a3" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega64a3u)
-AM_CONDITIONAL(HAS_atxmega64a3u, test "x$HAS_atxmega64a3u" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega64a4u)
-AM_CONDITIONAL(HAS_atxmega64a4u, test "x$HAS_atxmega64a4u" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega64b1)
-AM_CONDITIONAL(HAS_atxmega64b1, test "x$HAS_atxmega64b1" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega64b3)
-AM_CONDITIONAL(HAS_atxmega64b3, test "x$HAS_atxmega64b3" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega64c3)
-AM_CONDITIONAL(HAS_atxmega64c3, test "x$HAS_atxmega64c3" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega64d3)
-AM_CONDITIONAL(HAS_atxmega64d3, test "x$HAS_atxmega64d3" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega64d4)
-AM_CONDITIONAL(HAS_atxmega64d4, test "x$HAS_atxmega64d4" = "xyes")
-
-
-# avrxmega5
-CHECK_AVR_DEVICE(avrxmega5)
-AM_CONDITIONAL(HAS_avrxmega5, test "x$HAS_avrxmega5" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega64a1)
-AM_CONDITIONAL(HAS_atxmega64a1, test "x$HAS_atxmega64a1" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega64a1u)
-AM_CONDITIONAL(HAS_atxmega64a1u, test "x$HAS_atxmega64a1u" = "xyes")
-
-
-# avrxmega6
-CHECK_AVR_DEVICE(avrxmega6)
-AM_CONDITIONAL(HAS_avrxmega6, test "x$HAS_avrxmega6" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega128a3)
-AM_CONDITIONAL(HAS_atxmega128a3, test "x$HAS_atxmega128a3" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega128a3u)
-AM_CONDITIONAL(HAS_atxmega128a3u, test "x$HAS_atxmega128a3u" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega128b1)
-AM_CONDITIONAL(HAS_atxmega128b1, test "x$HAS_atxmega128b1" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega128b3)
-AM_CONDITIONAL(HAS_atxmega128b3, test "x$HAS_atxmega128b3" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega128c3)
-AM_CONDITIONAL(HAS_atxmega128c3, test "x$HAS_atxmega128c3" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega128d3)
-AM_CONDITIONAL(HAS_atxmega128d3, test "x$HAS_atxmega128d3" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega128d4)
-AM_CONDITIONAL(HAS_atxmega128d4, test "x$HAS_atxmega128d4" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega192a3)
-AM_CONDITIONAL(HAS_atxmega192a3, test "x$HAS_atxmega192a3" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega192a3u)
-AM_CONDITIONAL(HAS_atxmega192a3u, test "x$HAS_atxmega192a3u" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega192c3)
-AM_CONDITIONAL(HAS_atxmega192c3, test "x$HAS_atxmega192c3" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega192d3)
-AM_CONDITIONAL(HAS_atxmega192d3, test "x$HAS_atxmega192d3" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega256a3)
-AM_CONDITIONAL(HAS_atxmega256a3, test "x$HAS_atxmega256a3" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega256a3u)
-AM_CONDITIONAL(HAS_atxmega256a3u, test "x$HAS_atxmega256a3u" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega256a3b)
-AM_CONDITIONAL(HAS_atxmega256a3b, test "x$HAS_atxmega256a3b" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega256a3bu)
-AM_CONDITIONAL(HAS_atxmega256a3bu, test "x$HAS_atxmega256a3bu" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega256c3)
-AM_CONDITIONAL(HAS_atxmega256c3, test "x$HAS_atxmega256c3" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega256d3)
-AM_CONDITIONAL(HAS_atxmega256d3, test "x$HAS_atxmega256d3" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega384c3)
-AM_CONDITIONAL(HAS_atxmega384c3, test "x$HAS_atxmega384c3" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega384d3)
-AM_CONDITIONAL(HAS_atxmega384d3, test "x$HAS_atxmega384d3" = "xyes")
-
-# avrxmega7
-CHECK_AVR_DEVICE(avrxmega7)
-AM_CONDITIONAL(HAS_avrxmega7, test "x$HAS_avrxmega7" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega128a1)
-AM_CONDITIONAL(HAS_atxmega128a1, test "x$HAS_atxmega128a1" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega128a1u)
-AM_CONDITIONAL(HAS_atxmega128a1u, test "x$HAS_atxmega128a1u" = "xyes")
-
-CHECK_AVR_DEVICE(atxmega128a4u)
-AM_CONDITIONAL(HAS_atxmega128a4u, test "x$HAS_atxmega128a4u" = "xyes")
-
-
-# avrtiny
-CHECK_AVR_DEVICE(avrtiny)
-AM_CONDITIONAL(HAS_avrtiny, test "x$HAS_avrtiny" = "xyes")
-
-CHECK_AVR_DEVICE(attiny4)
-AM_CONDITIONAL(HAS_attiny4, test "x$HAS_attiny4" = "xyes")
-
-CHECK_AVR_DEVICE(attiny5)
-AM_CONDITIONAL(HAS_attiny5, test "x$HAS_attiny5" = "xyes")
-
-CHECK_AVR_DEVICE(attiny9)
-AM_CONDITIONAL(HAS_attiny9, test "x$HAS_attiny9" = "xyes")
-
-CHECK_AVR_DEVICE(attiny10)
-AM_CONDITIONAL(HAS_attiny10, test "x$HAS_attiny10" = "xyes")
-
-CHECK_AVR_DEVICE(attiny20)
-AM_CONDITIONAL(HAS_attiny20, test "x$HAS_attiny20" = "xyes")
-
-CHECK_AVR_DEVICE(attiny40)
-AM_CONDITIONAL(HAS_attiny40, test "x$HAS_attiny40" = "xyes")
-
-
-
-
-# Generate all files from *.in sources.
-
-AC_CONFIG_FILES([
-       Makefile
-       avr-libc.spec
-       avr/Makefile
-       avr/lib/Makefile
-       common/Makefile
-       crt1/Makefile
-       crt1/iosym/Makefile
-       doc/Makefile
-       doc/api/Makefile
-       doc/examples/Makefile
-       include/Makefile
-       include/avr/Makefile
-       include/avr/builtins.h
-       include/compat/Makefile
-       include/util/Makefile
-       include/util/delay.h
-       include/sys/Makefile
-       libc/Makefile
-       libc/misc/Makefile
-       libc/pmstring/Makefile
-       libc/stdio/Makefile
-       libc/stdlib/Makefile
-       libc/string/Makefile
-       libc/time/Makefile
-       libm/Makefile
-       libm/fplib/Makefile
-       scripts/Makefile
-       devtools/Makefile
-])
-
-#avr1 and avr2
-AC_CONFIG_FILES([
-       avr/lib/avr2/Makefile
-       avr/lib/avr2/at90s1200/Makefile
-       avr/lib/avr2/at90s4414/Makefile
-       avr/lib/avr2/at90s4434/Makefile
-       avr/lib/avr2/at90s8515/Makefile
-       avr/lib/avr2/at90c8534/Makefile
-       avr/lib/avr2/at90s8535/Makefile
-       avr/lib/avr2/attiny11/Makefile
-       avr/lib/avr2/attiny12/Makefile
-       avr/lib/avr2/attiny15/Makefile
-       avr/lib/avr2/attiny28/Makefile
-])
-
-#avr2/tiny-stack
-AC_CONFIG_FILES([
-       avr/lib/avr2/tiny-stack/Makefile
-       avr/lib/avr2/tiny-stack/at90s2313/Makefile
-       avr/lib/avr2/tiny-stack/at90s2323/Makefile
-       avr/lib/avr2/tiny-stack/at90s2333/Makefile
-       avr/lib/avr2/tiny-stack/at90s2343/Makefile
-       avr/lib/avr2/tiny-stack/attiny22/Makefile
-       avr/lib/avr2/tiny-stack/attiny26/Makefile

@@ Diff output truncated at 153600 characters. @@



reply via email to

[Prev in Thread] Current Thread [Next in Thread]