[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #49567] Use meta-info from --print-multi-lib and --print-multi-dire
From: |
Georg-Johann Lay |
Subject: |
[bug #49567] Use meta-info from --print-multi-lib and --print-multi-directory |
Date: |
Thu, 12 Dec 2019 09:02:46 -0500 (EST) |
User-agent: |
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0 |
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/
- [bug #49567] Use meta-info from --print-multi-lib and --print-multi-directory,
Georg-Johann Lay <=