2019-09-26 16:33:52 +02:00
|
|
|
# $NetBSD: Makefile,v 1.51 2019/09/26 14:33:52 mef Exp $
|
2003-07-17 20:50:22 +02:00
|
|
|
|
Updated cross/avr-libc 1.8.1 to 2.0.0
-------------------------------
*** 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.
(pkgsrc-changes)
- Add comment lines to patch, picked from (old) cvs log
2017-01-29 05:29:54 +01:00
|
|
|
DISTNAME= avr-libc-2.0.0
|
2019-08-11 15:17:48 +02:00
|
|
|
PKGREVISION= 2
|
2003-07-17 20:50:22 +02:00
|
|
|
CATEGORIES= cross
|
2009-05-28 22:59:54 +02:00
|
|
|
MASTER_SITES= http://savannah.nongnu.org/download/avr-libc/
|
2003-07-17 20:50:22 +02:00
|
|
|
EXTRACT_SUFX= .tar.bz2
|
|
|
|
|
2013-08-07 05:18:03 +02:00
|
|
|
MAINTAINER= makoto@ki.nu
|
2003-07-17 20:50:22 +02:00
|
|
|
HOMEPAGE= http://savannah.nongnu.org/projects/avr-libc
|
2003-07-22 20:09:12 +02:00
|
|
|
COMMENT= C and math library for Atmel AVR 8-bit microcontrollers
|
2012-08-18 16:46:26 +02:00
|
|
|
LICENSE= modified-bsd
|
2003-07-17 20:50:22 +02:00
|
|
|
|
2013-08-07 05:18:03 +02:00
|
|
|
USE_TOOLS+= gmake perl
|
2009-08-27 17:32:15 +02:00
|
|
|
GNU_CONFIGURE= yes
|
2019-06-08 12:53:26 +02:00
|
|
|
USE_GNU_CONFIGURE_HOST= no
|
2013-08-07 05:18:03 +02:00
|
|
|
|
2019-06-08 12:53:26 +02:00
|
|
|
CONFIGURE_ARGS+= --build=${MACHINE_GNU_PLATFORM}
|
2013-08-07 05:18:03 +02:00
|
|
|
CONFIGURE_ARGS+= --host=avr
|
Upgrade avr-libc to version 1.2.5.
avr-libc-1.2.5 is the 5th bugfix release after 1.2.
The following list shortly summarizes the changes in version 1.2.0 compared
to version 1.0.5 of AVR Libc, which was the latest release from the 1.0
release line by the time 1.2.0 was released.
* Removal of all items marked as deprecated in the past, namely:
o all header files from the base include directory, as they have
been moved to the avr/ subdirectory long time ago (e.g. <io.h>
is now <avr/io.h>),
o deprecated macros and functions (sbi, cbi, inb, outb, inp, outp,
inw, outw, BV, PRG_RDB, eeprom_rb, eeprom_rw, eeprom_wb)
o <avr/timer.h> removed completely, as it was bogus and not really
useful at all
* <avr/ina90.h> and <avr/twi.h> have been moved to the new <compat/...>
include subdirectory,
* The following new devices are supported:
o ATmega165
o ATmega325
o ATmega3250
o ATmega645
o ATmega6450
o ATmega48
o ATmega88
o ATmega168
o ATtiny13
o ATtiny2313
o AT90CAN128
* realloc() is now implemented,
* the boot API has been changed in a way that is incompatible with the
1.0 API,
* the delay API has two new functions added to allow the specification of
delays directly in microseconds, or milliseconds,
* documentation changes: a newer version of Doxygen is used; Unix-style
manual pages are now generated as part of the documentation; a helper
script named avr-man can be used to display these manual pages,
* a single unified Copyright now applies to all files in AVR Libc.
2005-08-15 10:45:54 +02:00
|
|
|
CONFIGURE_ARGS+= --disable-versioned-doc
|
patch provided by Sevan Janiyan by PR pkg/49316
(pkgsrc)
- Instead of
"very evil hack to override CC, doing it via CONFIGURE_ENV doesn't work",
use CONFIGURE_ARGS
(upstream)
- Update 1.8.0 to 1.8.1
*** 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.
2014-10-28 01:26:56 +01:00
|
|
|
CONFIGURE_ARGS+= CC=${PREFIX}/bin/avr-gcc
|
|
|
|
CONFIGURE_ARGS+= CPPFLAGS="-I${PREFIX}/include -I${PREFIX}/avr/include"
|
2006-12-13 22:23:45 +01:00
|
|
|
|
2016-11-24 15:11:31 +01:00
|
|
|
BUILD_DEPENDS+= doxygen>=1.8.12:../../devel/doxygen
|
2019-09-26 16:33:52 +02:00
|
|
|
BUILD_DEPENDS+= tex-hanging-[0-9]*:../../print/tex-hanging
|
|
|
|
BUILD_DEPENDS+= tex-stackengine-[0-9]*:../../print/tex-stackengine
|
|
|
|
BUILD_DEPENDS+= tex-newunicodechar-[0-9]*:../../print/tex-newunicodechar
|
|
|
|
BUILD_DEPENDS+= tex-etoc-[0-9]*:../../print/tex-etoc
|
2016-11-24 15:11:31 +01:00
|
|
|
|
2013-08-07 05:18:03 +02:00
|
|
|
# In doc/examples/demo directory, we have sample Makefile both for
|
|
|
|
# generating *.hex file at pkg installation time, and for installing
|
|
|
|
# Makefile itself. That Makefile should be for general purpose, meaning
|
|
|
|
# OBJCOPY = avr-objcopy
|
|
|
|
# line should be intact. While pkg installation time it should refer
|
|
|
|
# wrapper ${LOCALBASE}/cross/bin files. See patch-doc_Makefile.in adding
|
|
|
|
# related one line.
|
2012-08-18 17:13:51 +02:00
|
|
|
|
2013-08-07 05:18:03 +02:00
|
|
|
SUBST_CLASSES+= demo
|
|
|
|
SUBST_STAGE.demo= pre-configure
|
|
|
|
SUBST_MESSAGE.demo= Add cross/bin on PATH for OBJCOPY (avr-objcopy) etc
|
|
|
|
SUBST_FILES.demo= doc/Makefile.in
|
|
|
|
SUBST_SED.demo= -e 's|@@@PATH@@@|${PREFIX}/bin:${PATH:Q}|g'
|
2003-07-17 20:50:22 +02:00
|
|
|
|
2016-11-15 21:30:01 +01:00
|
|
|
.include "options.mk"
|
2013-08-07 05:18:03 +02:00
|
|
|
.include "../../cross/avr-binutils/buildlink3.mk"
|
|
|
|
.include "../../cross/avr-gcc/buildlink3.mk"
|
2003-07-17 20:50:22 +02:00
|
|
|
.include "../../mk/bsd.pkg.mk"
|
2009-08-27 17:32:15 +02:00
|
|
|
|
2013-08-07 05:18:03 +02:00
|
|
|
# Not to be overridden as --mandir=${PREFIX}, put the line here.
|
|
|
|
CONFIGURE_ARGS+= --mandir=${PREFIX}/share/doc/avr-libc/man
|