Follow-up Comment #1, bug #49567 (project avr-libc): Attached a first draft version.
The $(srcdir)/avr tree is now generated by a new Python script mlib-gen.py which should work with Python v2.7 and v3. Which parts of that tree will we used (and how) is determined by configure using -print-multi-lib and -print-multi-directory. mlib-gen.py generates 4 files from the device-info still held in gen-avr-lib-tree.sh which are included by configure.ac. There is still some build-in knowledge about avr-gcc multilib layout, for example about orthogonality of -mdouble=64 etc and which devices are asm-only. * configure.ac (asm_only): New var. (CHECK_AVR_DEVICE): Rewrite. (CHECK_MULTI_OPTION, CHECK_MULTI_VARIANT): New AC_DEFUNs. (CHECK_MULTI_OPTION) <-mdouble=32, -mlong-double=32>: New tests. (CHECK_MULTI_OPTION) <-mdouble=64, -mlong-double=64>: New tests. (devices.m4, devlist.m4, multilib.m4, files.m4): New m4_include's. (CHECK_AVR_DEVICE(<mcu>)): Remove all of them. (AM_CONDITIONAL(HAS_<mcu>)): Same. (AC_CONFIG_FILES) <avr/Makefile, avr/lib/Makefile>: Remove. (AC_CONFIG_FILES) <avr/lib/*/Makefile>: Remove all of them. devtools/ * Avr.am: Remove file. * Lib.am: Remove file. * mlib-gen.py: New Python script. * Makefile.am (EXTRA_DIST): Adjust to added / removed files. * gen-avr-lib-tree.sh: Let mlib-gen.py build $(srcdir)/avr. Clean up code. (CFLAGS_TINY_STACK): Remove. (CFLAGS_SHORT_CALLS): Remove. (AVR12_DEV_INFO): Assimilate AVR12TS_DEV_INFO. (AVR25_DEV_INFO): Assimilate AVR25TS_DEV_INFO. (AVRXMEGA3SC_DEV_INFO): Remove. (AVR_ARH_INFO): Remove assimilated entries. * Device.am (AVR_INSTALL_DIR): Set to $(MULTIDIR_<<dev>>). (if HAS_<<dev>>): Remove. * Architecture.am (SUBDIRS): Remove. (AVRLIB_DEVLIST) [!HAS_DEV_LIB]: Init from $(DEVLIST_<<ident>>). (AVRLIB_CFLAGS, AVRLIB_ASFLAGS) <-mmcu=$(AVR_TARGET)>: Remove option. (avrD32) [HAS_double32]: New secondary. (avrD64) [HAS_double64]: New secondary. (avrL32) [HAS_long_double32]: New secondary. (avrL64) [HAS_long_double64]: New secondary. (avrD64) [HAS_double64]: New secondary. (if HAS_<<arh>>): Remove. _______________________________________________________ Reply to this item at: <https://savannah.nongnu.org/bugs/?49567> _______________________________________________ Message sent via Savannah https://savannah.nongnu.org/