summaryrefslogtreecommitdiff
path: root/emulators/simulavr
diff options
context:
space:
mode:
authormef <mef>2013-09-12 06:20:35 +0000
committermef <mef>2013-09-12 06:20:35 +0000
commit503005508ec5803457ad04da1fd609464630a636 (patch)
tree83a699658145956cbaa52847c015ef83a538517a /emulators/simulavr
parent0608d4960cb538eabb1a8277fd5a5941c178f2b3 (diff)
downloadpkgsrc-503005508ec5803457ad04da1fd609464630a636.tar.gz
(pkgsrc)
Raw simulavr-1.0.0 does not build. Some patches, and SUBST to convert MACROS etc., are added reflecting git repository (These will be unnecessary at next release, hopefully). (Upstream) Bump the version simulavr-0.1.2.1 to simulavr-1.0.0 (From manual-1.0.pdf) What features are new: - Run multiple AVR devices in one simulation. (only with interpreter interfaces or special application linked against simulavr library) Multiple cores can run where each has a different clock frequency. - Connect multiple AVR core pins to other devices like LCD, LED and others. (environment) - Connect multiple AVR cores to multiple avr-gdb instances. (each on its own socket/port number, but see first point for running multiple avr cores) - Write simulation scripts in Tcl/Tk or Python, other languages could be added by simply adding swig scripts! - Tracing the execution of the program, these traces support all debugging information directly from the ELF-file. - The traces run step by step for each device so you see all actions in the multiple devices in time-correct order. - Every interrupt call is visible. - Interrupt statistics with latency, longest and shortest execution time and some more. - There is a simple text based UI interface to add LCD, switches, LEDs or other components and can modify it during simulation, so there is no longer a need to enter a pin value during execution. (Tcl/Tk based) - Execution timing should be nearly accurate, different access times for internal RAM / external RAM / EEPROM and other hardware components are simulated. - A pseudo core hardware component is introduced to do "printf" debugging. This "device" is connected to a normal named UNIX socket so you do not have to waste a UART or other hardware in your test environment. (How?) - ELF-file loading is supported, no objcopy needed anymore. - Execution speed is tuned a lot, most hardware simulations are now only done if needed. - External IO pins which are not ports are also available. (E.g. ADC7 and ADC8 on ATmega8 in TQFP package.) - External I/O and some internal states of hardware units (link prescaler counter and interrupt states) can be dumped ot into a VCD trace to analyse I/O behaviour and timing. Or you can use it for tests.
Diffstat (limited to 'emulators/simulavr')
-rw-r--r--emulators/simulavr/Makefile81
-rw-r--r--emulators/simulavr/PLIST175
-rw-r--r--emulators/simulavr/distinfo23
-rw-r--r--emulators/simulavr/patches/patch-aa22
-rw-r--r--emulators/simulavr/patches/patch-configure25
-rw-r--r--emulators/simulavr/patches/patch-doc_simulavr_texinfo23
-rw-r--r--emulators/simulavr/patches/patch-examples_atmel_key_scancodes.h293
-rw-r--r--emulators/simulavr/patches/patch-regress_timertest_timer_16bit.c24
-rw-r--r--emulators/simulavr/patches/patch-src_Makefile.in17
-rw-r--r--emulators/simulavr/patches/patch-src_avrcore_h227
-rw-r--r--emulators/simulavr/patches/patch-src_decoder_h15
-rw-r--r--emulators/simulavr/patches/patch-src_disp-vcd_vcd.c13
-rw-r--r--emulators/simulavr/patches/patch-src_disp-vcd_vcd.h13
-rw-r--r--emulators/simulavr/patches/patch-src_flash_h15
-rw-r--r--emulators/simulavr/patches/patch-src_register_h55
-rw-r--r--emulators/simulavr/patches/patch-src_storage_h24
-rw-r--r--emulators/simulavr/patches/patch-src_utils_h22
-rw-r--r--emulators/simulavr/patches/patch-src_vdevs_h15
18 files changed, 620 insertions, 462 deletions
diff --git a/emulators/simulavr/Makefile b/emulators/simulavr/Makefile
index 5951829031c..fa4f8153a7b 100644
--- a/emulators/simulavr/Makefile
+++ b/emulators/simulavr/Makefile
@@ -1,30 +1,91 @@
-# $NetBSD: Makefile,v 1.18 2012/10/03 12:55:17 asau Exp $
+# $NetBSD: Makefile,v 1.19 2013/09/12 06:20:35 mef Exp $
#
-
-DISTNAME= simulavr-0.1.2.1
-PKGREVISION= 4
+DISTNAME= simulavr-1.0.0
CATEGORIES= emulators
-MASTER_SITES= http://download.savannah.nongnu.org/releases/simulavr/
-EXTRACT_SUFX= .tar.bz2
+MASTER_SITES= http://download.savannah.gnu.org/releases/simulavr/
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.nongnu.org/simulavr/
COMMENT= Simulator for Atmel AVR microcontrollers
+LICENSE= gnu-gpl-v2
-BUILD_DEPENDS+= avr-binutils-[0-9]*:../../cross/avr-binutils
-BUILD_DEPENDS+= avr-gcc-[0-9]*:../../cross/avr-gcc
BUILD_DEPENDS+= doxygen-[0-9]*:../../devel/doxygen
+BUILD_DEPENDS+= avr-libc-[0-9]*:../../cross/avr-libc
CONFIGURE_ARGS+= --disable-tests
-CONFIGURE_ENV+= ac_cv_prog_has_texi2dvi=yes ac_cv_prog_has_texi2html=yes
-USE_TOOLS+= makeinfo
+CONFIGURE_ARGS+= --enable-python=python${PYVERSSUFFIX}
+CONFIGURE_ARGS+= --with-bfd=${PREFIX}/avr
+# Following line does not work yet (examples/python directory)
+#CONFIGURE_ENV+= az_python_use=true
+#MAKE_ENV+= az_python_use=true
+
+USE_TOOLS+= makeinfo gmake
+USE_LIBTOOL= yes
+USE_LANGUAGES+= c c++
USE_PKGLOCALEDIR= yes
GNU_CONFIGURE= yes
INFO_FILES= yes
+# Interim fix
+SUBST_CLASSES+= prefix
+SUBST_STAGE.prefix= post-patch
+SUBST_MESSAGE.prefix= Fix include path finding Python.h
+SUBST_FILES.prefix= src/Makefile.in
+SUBST_VARS.prefix= PREFIX
+
+# Following SUBST_CLASSES are from diff against git version (as of 2013-08-08)
+# See also
+# http://savannah.nongnu.org/bugs/?35737
+SUBST_CLASSES+= compare2
+SUBST_STAGE.compare2= post-patch
+SUBST_MESSAGE.compare2= Convert poisoned SIG_OUTPUT_COMPARE2 to TIMER2_COMP_vect
+SUBST_FILES.compare2= examples/atmega128_timer/main.c
+SUBST_FILES.compare2+= examples/python/example.c
+SUBST_FILES.compare2+= examples/python/example_io.c
+SUBST_FILES.compare2+= examples/python/ex_pinout.c
+SUBST_FILES.compare2+= regress/timertest/timer_8bit_ctc.c
+SUBST_SED.compare2= -e 's/SIG_OUTPUT_COMPARE2/TIMER2_COMP_vect/g'
+
+# StdDefs.h:66:33: error: attempt to use poisoned "SIG_UART0_RECV"
+# StdDefs.h:67:39: error: attempt to use poisoned "SIG_UART0_DATA"
+# kb.c:39:8: error: attempt to use poisoned "SIG_INTERRUPT0"
+
+SUBST_CLASSES+= uart0
+SUBST_STAGE.uart0= post-patch
+SUBST_MESSAGE.uart0= Convert poisoned SIG_UART0_RECV to USART0_RX_vect
+SUBST_FILES.uart0= examples/atmel_key/StdDefs.h
+SUBST_SED.uart0= -e 's/SIG_UART0_RECV/USART0_RX_vect/g'
+SUBST_SED.uart0+= -e 's/SIG_UART0_DATA/USART0_UDRE_vect/g'
+
+SUBST_CLASSES+= intrpt0
+SUBST_STAGE.intrpt0= post-patch
+SUBST_MESSAGE.intrpt0= Convert poisoned SIG_INTERRUPT0 to INT0_vect
+SUBST_FILES.intrpt0= examples/atmel_key/kb.c
+SUBST_FILES.intrpt0+= examples/python/multicore.c
+SUBST_FILES.intrpt0+= regress/extinttest/ext_int0.c
+SUBST_SED.intrpt0= -e 's/SIG_INTERRUPT0/INT0_vect/g'
+
+# Following case, see patches
+# regress/timertest/timer_16bit.c:ISR(SIG_OUTPUT_COMPARE3B) {
+
+SUBST_CLASSES+= makeinfo
+SUBST_STAGE.makeinfo= post-configure
+SUBST_MESSAGE.makeinfo= set MAKEINFO path (to avoid work-directory references included)
+SUBST_FILES.makeinfo= examples/anacomp/Makefile.in
+SUBST_FILES.makeinfo+= examples/python/Makefile.in
+SUBST_SED.makeinfo= -e 's,@MAKEINFO@,${PREFIX}/bin/makeinfo,g'
+
# gcc 2.95 gives warnings that it cannot inline all functions.
BUILDLINK_TRANSFORM+= rm:-Werror
+.include "../../cross/avr-binutils/buildlink3.mk"
+.include "../../cross/avr-gcc/buildlink3.mk"
+#.include "../../cross/avr-libc/buildlink3.mk"
+.include "../../devel/swig/buildlink3.mk"
.include "../../mk/curses.buildlink3.mk"
+.include "../../lang/python/pyversion.mk"
+.include "../../lang/${PYPACKAGE}/buildlink3.mk"
+.include "../../lang/tcl-itcl/buildlink3.mk"
+.include "../../lang/tcl/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/emulators/simulavr/PLIST b/emulators/simulavr/PLIST
index 537fd1c5423..5be1d77710c 100644
--- a/emulators/simulavr/PLIST
+++ b/emulators/simulavr/PLIST
@@ -1,19 +1,160 @@
-@comment $NetBSD: PLIST,v 1.3 2009/06/14 17:51:08 joerg Exp $
+@comment $NetBSD: PLIST,v 1.4 2013/09/12 06:20:35 mef Exp $
bin/simulavr
-bin/simulavr-disp
-bin/simulavr-vcd
+include/simulavr/adcpin.h
+include/simulavr/application.h
+include/simulavr/at4433.h
+include/simulavr/at8515.h
+include/simulavr/at90canbase.h
+include/simulavr/atmega128.h
+include/simulavr/atmega1284abase.h
+include/simulavr/atmega16_32.h
+include/simulavr/atmega668base.h
+include/simulavr/atmega8.h
+include/simulavr/attiny2313.h
+include/simulavr/avrdevice.h
+include/simulavr/avrdevice_impl.h
+include/simulavr/avrerror.h
+include/simulavr/avrfactory.h
+include/simulavr/avrmalloc.h
+include/simulavr/breakpoint.h
+include/simulavr/config_deprecated.h
+include/simulavr/decoder.h
+include/simulavr/dumpargs.h
+include/simulavr/externalirq.h
+include/simulavr/externaltype.h
+include/simulavr/extpin.h
+include/simulavr/flash.h
+include/simulavr/flashprog.h
+include/simulavr/funktor.h
+include/simulavr/gdb.h
+include/simulavr/global.h
+include/simulavr/hardware.h
+include/simulavr/helper.h
+include/simulavr/hwacomp.h
+include/simulavr/hwad.h
+include/simulavr/hwdecls.h
+include/simulavr/hweeprom.h
+include/simulavr/hwpinchange.h
+include/simulavr/hwport.h
+include/simulavr/hwspi.h
+include/simulavr/hwsreg.h
+include/simulavr/hwstack.h
+include/simulavr/hwtimer.h
+include/simulavr/hwuart.h
+include/simulavr/hwwado.h
+include/simulavr/icapturesrc.h
+include/simulavr/ioregs.h
+include/simulavr/irqsystem.h
+include/simulavr/keyboard.h
+include/simulavr/keynumber_to_scancode.dat
+include/simulavr/keytrans.h
+include/simulavr/lcd.h
+include/simulavr/memory.h
+include/simulavr/mysocket.h
+include/simulavr/net.h
+include/simulavr/pin.h
+include/simulavr/pinatport.h
+include/simulavr/pinmon.h
+include/simulavr/pinnotify.h
+include/simulavr/prescalermux.h
+include/simulavr/printable.h
+include/simulavr/pysimulationmember.h
+include/simulavr/rwmem.h
+include/simulavr/scope.h
+include/simulavr/serialrx.h
+include/simulavr/serialtx.h
+include/simulavr/simulationmember.h
+include/simulavr/specialmem.h
+include/simulavr/spisink.h
+include/simulavr/spisrc.h
+include/simulavr/string2.h
+include/simulavr/string2_template.h
+include/simulavr/systemclock.h
+include/simulavr/systemclocktypes.h
+include/simulavr/timerirq.h
+include/simulavr/timerprescaler.h
+include/simulavr/traceval.h
+include/simulavr/types.h
+include/simulavr/ui.h
+include/simulavr/xcode_to_keynumber.dat
info/simulavr.info
-man/man1/simulavr-disp.1
-man/man1/simulavr.1
-share/doc/${PKGNAME}/AUTHORS
-share/doc/${PKGNAME}/COPYING
-share/doc/${PKGNAME}/ChangeLog
-share/doc/${PKGNAME}/ChangeLog-2001
-share/doc/${PKGNAME}/ChangeLog-2002
-share/doc/${PKGNAME}/ChangeLog-2003
-share/doc/${PKGNAME}/INSTALL
-share/doc/${PKGNAME}/ProjSummary
-share/doc/${PKGNAME}/README
-share/doc/${PKGNAME}/README.gdb
-share/doc/${PKGNAME}/README.opcodes
-share/doc/${PKGNAME}/TODO
+lib/libsim.la
+lib/libsimulavr.la
+share/doc/simulavr/AUTHORS
+share/doc/simulavr/COPYING
+share/doc/simulavr/ChangeLog
+share/doc/simulavr/INSTALL
+share/doc/simulavr/NEWS
+share/doc/simulavr/README
+share/doc/simulavr/README.gdb
+share/doc/simulavr/SUPPORT
+share/doc/simulavr/TODO
+share/doc/simulavr/examples/ChangeLog
+share/doc/simulavr/examples/anacomp/Makefile
+share/doc/simulavr/examples/anacomp/README
+share/doc/simulavr/examples/anacomp/anacomp.elf
+share/doc/simulavr/examples/anacomp/anacomp.tcl
+share/doc/simulavr/examples/anacomp/main.c
+share/doc/simulavr/examples/atmega128_timer/README
+share/doc/simulavr/examples/atmega128_timer/debugio.c
+share/doc/simulavr/examples/atmega128_timer/debugio.h
+share/doc/simulavr/examples/atmega128_timer/main.c
+share/doc/simulavr/examples/atmega128_timer/timer.elf
+share/doc/simulavr/examples/atmega48/README
+share/doc/simulavr/examples/atmega48/anadata1
+share/doc/simulavr/examples/atmega48/anadata2
+share/doc/simulavr/examples/atmega48/anadata3
+share/doc/simulavr/examples/atmega48/atmega48.elf
+share/doc/simulavr/examples/atmega48/atmega48.tcl
+share/doc/simulavr/examples/atmega48/main.cpp
+share/doc/simulavr/examples/atmega48/spidata
+share/doc/simulavr/examples/atmel_key/Notes.txt
+share/doc/simulavr/examples/atmel_key/README
+share/doc/simulavr/examples/atmel_key/StdDefs.c
+share/doc/simulavr/examples/atmel_key/StdDefs.h
+share/doc/simulavr/examples/atmel_key/atmel_key.elf
+share/doc/simulavr/examples/atmel_key/atmel_key.tcl
+share/doc/simulavr/examples/atmel_key/kb.c
+share/doc/simulavr/examples/atmel_key/kb.h
+share/doc/simulavr/examples/atmel_key/main.c
+share/doc/simulavr/examples/atmel_key/pindefs.h
+share/doc/simulavr/examples/atmel_key/scancodes.h
+share/doc/simulavr/examples/atmel_key/serial.c
+share/doc/simulavr/examples/atmel_key/serial.h
+share/doc/simulavr/examples/feedback/README
+share/doc/simulavr/examples/feedback/adc.c
+share/doc/simulavr/examples/feedback/debugio.c
+share/doc/simulavr/examples/feedback/debugio.h
+share/doc/simulavr/examples/feedback/defines.h
+share/doc/simulavr/examples/feedback/feedback.elf
+share/doc/simulavr/examples/feedback/feedback.tcl
+share/doc/simulavr/examples/feedback/main.c
+share/doc/simulavr/examples/feedback/simfeedback.tcl
+share/doc/simulavr/examples/feedback/uart.c
+share/doc/simulavr/examples/feedback/uart.h
+share/doc/simulavr/examples/gui.tcl
+share/doc/simulavr/examples/kbd.xbm
+share/doc/simulavr/examples/simple_ex1/README
+share/doc/simulavr/examples/simple_ex1/fred.c
+share/doc/simulavr/examples/simple_ex1/fred.elf
+share/doc/simulavr/examples/simulavr.tcl
+share/doc/simulavr/examples/spi/README
+share/doc/simulavr/examples/spi/anadata
+share/doc/simulavr/examples/spi/main.cpp
+share/doc/simulavr/examples/spi/spi.elf
+share/doc/simulavr/examples/spi/spi.tcl
+share/doc/simulavr/examples/spi/spidata
+share/doc/simulavr/examples/stdiodemo/README
+share/doc/simulavr/examples/stdiodemo/checkdebug.gdb
+share/doc/simulavr/examples/stdiodemo/defines.h
+share/doc/simulavr/examples/stdiodemo/hd44780.c
+share/doc/simulavr/examples/stdiodemo/hd44780.h
+share/doc/simulavr/examples/stdiodemo/lcd.c
+share/doc/simulavr/examples/stdiodemo/lcd.h
+share/doc/simulavr/examples/stdiodemo/stdiodemo-setup.jpg
+share/doc/simulavr/examples/stdiodemo/stdiodemo.c
+share/doc/simulavr/examples/stdiodemo/stdiodemo.dox
+share/doc/simulavr/examples/stdiodemo/stdiodemo.elf
+share/doc/simulavr/examples/stdiodemo/stdiodemo.tcl
+share/doc/simulavr/examples/stdiodemo/uart.c
+share/doc/simulavr/examples/stdiodemo/uart.h
diff --git a/emulators/simulavr/distinfo b/emulators/simulavr/distinfo
index d28607aebe0..19381f23233 100644
--- a/emulators/simulavr/distinfo
+++ b/emulators/simulavr/distinfo
@@ -1,15 +1,10 @@
-$NetBSD: distinfo,v 1.6 2013/03/24 16:57:12 joerg Exp $
+$NetBSD: distinfo,v 1.7 2013/09/12 06:20:35 mef Exp $
-SHA1 (simulavr-0.1.2.1.tar.bz2) = 276580f05ae57523684f6a61528cd3170858a3a4
-RMD160 (simulavr-0.1.2.1.tar.bz2) = 0728f35617629c382157f6657b2cf0f7418bd071
-Size (simulavr-0.1.2.1.tar.bz2) = 359233 bytes
-SHA1 (patch-aa) = 4989d86dd551eccaac1fab0769d53feea90cc1e7
-SHA1 (patch-src_avrcore_h) = 7b19e59a68f25bbf09a2ea3685782cea94a3b12c
-SHA1 (patch-src_decoder_h) = 2b3b4627c4184672fbd33ad01314e3584f61eeb1
-SHA1 (patch-src_disp-vcd_vcd.c) = dccf71e90b6647dd459ad32c48ad86b05e48ef67
-SHA1 (patch-src_disp-vcd_vcd.h) = 802f0ed9e622a9aaf49c9f1cb6c36297d2c8c913
-SHA1 (patch-src_flash_h) = f559b2c865789c031951fccfac46019dbcd101ff
-SHA1 (patch-src_register_h) = 163b631c75680a9415c7ec6f4e01ed4b0f8407d9
-SHA1 (patch-src_storage_h) = 8fe5d7342f3db9b136569a7d2a753ca37f1dfb24
-SHA1 (patch-src_utils_h) = e86bbaa8ccbdcec531a403324198c1c32d93af3b
-SHA1 (patch-src_vdevs_h) = 682d13eeacb4355a6bf63392be187a61a52cdf02
+SHA1 (simulavr-1.0.0.tar.gz) = e7cacc74be974793bd9c18330ec8d128fbd17d42
+RMD160 (simulavr-1.0.0.tar.gz) = 0e9eb32f398943449b564e919765348c32f4c600
+Size (simulavr-1.0.0.tar.gz) = 1013014 bytes
+SHA1 (patch-configure) = 8fe7c24d17ded8a5b53688f5d35b4aaf55e6c830
+SHA1 (patch-doc_simulavr_texinfo) = ce5615f6e64d4be535b056bd8d3377b1f7a4a5d6
+SHA1 (patch-examples_atmel_key_scancodes.h) = f7f6d3f2da8eec4cf9b52800a499bd8300545bc0
+SHA1 (patch-regress_timertest_timer_16bit.c) = 81ee86847fd4d40817b2f4bf01e03aca86856f3c
+SHA1 (patch-src_Makefile.in) = 28354fe97e521b528b6f6d804b7b750d7c63062f
diff --git a/emulators/simulavr/patches/patch-aa b/emulators/simulavr/patches/patch-aa
deleted file mode 100644
index 96441ffde04..00000000000
--- a/emulators/simulavr/patches/patch-aa
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD: patch-aa,v 1.2 2007/03/07 17:31:23 joerg Exp $
-
---- doc/Makefile.in.orig 2004-01-18 23:58:29.000000000 +0000
-+++ doc/Makefile.in
-@@ -459,7 +459,7 @@ uninstall-am: uninstall-info-am uninstal
- uninstall uninstall-am uninstall-info-am uninstall-local
-
-
--all-local: html $(TARGET_PS) $(TARGET_PDF)
-+all-local:
-
- # Rule for generating postscript output.
- ps: simulavr.ps $(TARGET_DOX_PS)
-@@ -490,7 +490,7 @@ install-html: html $(INSTALL_DOX_HTML)
- done
-
- # General rule for installing documentation
--install-data-local: install-html install-ps $(INSTALL_PDF)
-+install-data-local:
-
- uninstall-local:
- rm -rf $(DOC_INST_DIR)
diff --git a/emulators/simulavr/patches/patch-configure b/emulators/simulavr/patches/patch-configure
new file mode 100644
index 00000000000..8824b4017ce
--- /dev/null
+++ b/emulators/simulavr/patches/patch-configure
@@ -0,0 +1,25 @@
+$NetBSD: patch-configure,v 1.1 2013/09/12 06:20:35 mef Exp $
+
+=> Checking for portability problems in extracted files
+ERROR: [check-portability.awk] => Found test ... == ...:
+
+--- configure.orig 2013-07-06 17:58:39.000000000 +0900
++++ configure 2013-07-06 18:00:22.000000000 +0900
+@@ -15283,7 +15283,7 @@ $as_echo_n "checking for Python library
+ py_version=`$PYTHON -c "from distutils.sysconfig import *; \
+ from string import join; \
+ print(join(get_config_vars('VERSION')))"`
+- if test "$py_version" == "None"; then
++ if test "$py_version" = "None"; then
+ if test -n "$PYTHON_VERSION"; then
+ py_version=$PYTHON_VERSION
+ else
+@@ -16684,7 +16684,7 @@ else
+ USE_FAB_FALSE=
+ fi
+
+-if test X"${USE_FAB_FALSE}" == X"" ; then
++if test X"${USE_FAB_FALSE}" x= X"" ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: NOT available" >&5
+ $as_echo "NOT available" >&6; }
+ else
diff --git a/emulators/simulavr/patches/patch-doc_simulavr_texinfo b/emulators/simulavr/patches/patch-doc_simulavr_texinfo
new file mode 100644
index 00000000000..84470f4bf18
--- /dev/null
+++ b/emulators/simulavr/patches/patch-doc_simulavr_texinfo
@@ -0,0 +1,23 @@
+$NetBSD: patch-doc_simulavr_texinfo,v 1.1 2013/09/12 06:20:35 mef Exp $
+
+Add directory entry information. Without this, ${PREFIX}/info/dir
+won't be updated by install-info. Typical error message will be:
+ ----
+% install-info --dir-file=/usr/pkg/info/dir ./work/simulavr-1.0.0/doc/simulavr.info
+install-info: warning: no info dir entry in `./work/simulavr-1.0.0/doc/simulavr.info'
+ ----
+
+--- doc/simulavr.texinfo.orig 2012-02-13 00:26:38.000000000 +0900
++++ doc/simulavr.texinfo 2013-08-14 14:04:34.000000000 +0900
+@@ -36,6 +36,11 @@ by the Free Software Foundation.
+
+ @end copying
+
++@dircategory SimulAVR
++@direntry
++* Simulavr: (SimulAVR). A simulator for the Atmel AVR family of microcontrollers.
++@end direntry
++
+ @titlepage
+ @title SimulAVR - an AVR simulation framework
+ @subtitle A simulator for the Atmel AVR family of microcontrollers.
diff --git a/emulators/simulavr/patches/patch-examples_atmel_key_scancodes.h b/emulators/simulavr/patches/patch-examples_atmel_key_scancodes.h
new file mode 100644
index 00000000000..93cb2e1a3f1
--- /dev/null
+++ b/emulators/simulavr/patches/patch-examples_atmel_key_scancodes.h
@@ -0,0 +1,293 @@
+$NetBSD: patch-examples_atmel_key_scancodes.h,v 1.1 2013/09/12 06:20:35 mef Exp $
+
+In file included from kb.c:14:0:
+scancodes.h:19:1: warning: missing braces around initializer
+scancodes.h:19:1: warning: (near initialization for 'unshifted[0]')
+scancodes.h:90:11: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'shifted'
+
+--- work/simulavr-1.0.0/examples/atmel_key/scancodes.h 2012-02-13 00:26:38.000000000 +0900
++++ examples/atmel_key/scancodes.h 2013-08-08 09:25:31.000000000 +0900
+@@ -15,145 +15,145 @@
+
+ // Unshifted characters
+
+-static char unshifted[][2] __attribute__ ((progmem)) = {
+-0x0d,9,
+-0x0e,'`',
+-0x15,'q',
+-0x16,'1',
+-0x1a,'z',
+-0x1b,'s',
+-0x1c,'a',
+-0x1d,'w',
+-0x1e,'2',
+-0x21,'c',
+-0x22,'x',
+-0x23,'d',
+-0x24,'e',
+-0x25,'4',
+-0x26,'3',
+-0x29,' ',
+-0x2a,'v',
+-0x2b,'f',
+-0x2c,'t',
+-0x2d,'r',
+-0x2e,'5',
+-0x31,'n',
+-0x32,'b',
+-0x33,'h',
+-0x34,'g',
+-0x35,'y',
+-0x36,'6',
+-0x39,',',
+-0x3a,'m',
+-0x3b,'j',
+-0x3c,'u',
+-0x3d,'7',
+-0x3e,'8',
+-0x41,',',
+-0x42,'k',
+-0x43,'i',
+-0x44,'o',
+-0x45,'0',
+-0x46,'9',
+-0x49,'.',
+-0x4a,'/',
+-0x4b,'l',
+-0x4c,';',
+-0x4d,'p',
+-0x4e,'-',
+-0x52,'\'',
+-0x54,'[',
+-0x55,'=',
+-0x5a,13,
+-0x5b,']',
+-0x5d,'\\',
+-0x61,'<',
+-0x66,8,
+-0x69,'1',
+-0x6b,'4',
+-0x6c,'7',
+-0x70,'0',
+-0x71,'.',
+-0x72,'2',
+-0x73,'5',
+-0x74,'6',
+-0x75,'8',
+-0x79,'+',
+-0x7a,'3',
+-0x7b,'-',
+-0x7c,'*',
+-0x7d,'9',
+-0,0
++static char const unshifted[][2] __attribute__ ((progmem)) = {
++{0x0d,9},
++{0x0e,'`'},
++{0x15,'q'},
++{0x16,'1'},
++{0x1a,'z'},
++{0x1b,'s'},
++{0x1c,'a'},
++{0x1d,'w'},
++{0x1e,'2'},
++{0x21,'c'},
++{0x22,'x'},
++{0x23,'d'},
++{0x24,'e'},
++{0x25,'4'},
++{0x26,'3'},
++{0x29,' '},
++{0x2a,'v'},
++{0x2b,'f'},
++{0x2c,'t'},
++{0x2d,'r'},
++{0x2e,'5'},
++{0x31,'n'},
++{0x32,'b'},
++{0x33,'h'},
++{0x34,'g'},
++{0x35,'y'},
++{0x36,'6'},
++{0x39,','},
++{0x3a,'m'},
++{0x3b,'j'},
++{0x3c,'u'},
++{0x3d,'7'},
++{0x3e,'8'},
++{0x41,','},
++{0x42,'k'},
++{0x43,'i'},
++{0x44,'o'},
++{0x45,'0'},
++{0x46,'9'},
++{0x49,'.'},
++{0x4a,'/'},
++{0x4b,'l'},
++{0x4c,';'},
++{0x4d,'p'},
++{0x4e,'-'},
++{0x52,'\''},
++{0x54,'['},
++{0x55,'='},
++{0x5a,13},
++{0x5b,']'},
++{0x5d,'\\'},
++{0x61,'<'},
++{0x66,8},
++{0x69,'1'},
++{0x6b,'4'},
++{0x6c,'7'},
++{0x70,'0'},
++{0x71,'.'},
++{0x72,'2'},
++{0x73,'5'},
++{0x74,'6'},
++{0x75,'8'},
++{0x79,'+'},
++{0x7a,'3'},
++{0x7b,'-'},
++{0x7c,'*'},
++{0x7d,'9'},
++{0,0}
+ };
+
+ // Shifted characters
+-prog_char shifted[][2] = {
+-0x0d,9,
+-0x0e,'~',
+-0x15,'Q',
+-0x16,'!',
+-0x1a,'Z',
+-0x1b,'S',
+-0x1c,'A',
+-0x1d,'W',
+-0x1e,'@',
+-0x21,'C',
+-0x22,'X',
+-0x23,'D',
+-0x24,'E',
+-0x25,'$',
+-0x26,'#',
+-0x29,' ',
+-0x2a,'V',
+-0x2b,'F',
+-0x2c,'T',
+-0x2d,'R',
+-0x2e,'%',
+-0x31,'N',
+-0x32,'B',
+-0x33,'H',
+-0x34,'G',
+-0x35,'Y',
+-0x36,'^',
+-0x39,'L',
+-0x3a,'M',
+-0x3b,'J',
+-0x3c,'U',
+-0x3d,'&',
+-0x3e,'*',
+-0x41,'<',
+-0x42,'K',
+-0x43,'I',
+-0x44,'O',
+-0x45,')',
+-0x46,'(',
+-0x49,'>',
+-0x4a,'\?',
+-0x4b,'L',
+-0x4c,':',
+-0x4d,'P',
+-0x4e,'_',
+-0x52,'\"',
+-0x54,'{',
+-0x55,'+',
+-0x5a,13,
+-0x5b,'}',
+-0x5d,'|',
+-0x61,'>',
+-0x66,8,
+-0x69,'1',
+-0x6b,'4',
+-0x6c,'7',
+-0x70,'0',
+-0x71,'.',
+-0x72,'2',
+-0x73,'5',
+-0x74,'6',
+-0x75,'8',
+-0x79,'+',
+-0x7a,'3',
+-0x7b,'-',
+-0x7c,'*',
+-0x7d,'9',
+-0,0
++static char const shifted[][2] __attribute__ ((progmem)) = {
++{0x0d,9},
++{0x0e,'~'},
++{0x15,'Q'},
++{0x16,'!'},
++{0x1a,'Z'},
++{0x1b,'S'},
++{0x1c,'A'},
++{0x1d,'W'},
++{0x1e,'@'},
++{0x21,'C'},
++{0x22,'X'},
++{0x23,'D'},
++{0x24,'E'},
++{0x25,'$'},
++{0x26,'#'},
++{0x29,' '},
++{0x2a,'V'},
++{0x2b,'F'},
++{0x2c,'T'},
++{0x2d,'R'},
++{0x2e,'%'},
++{0x31,'N'},
++{0x32,'B'},
++{0x33,'H'},
++{0x34,'G'},
++{0x35,'Y'},
++{0x36,'^'},
++{0x39,'L'},
++{0x3a,'M'},
++{0x3b,'J'},
++{0x3c,'U'},
++{0x3d,'&'},
++{0x3e,'*'},
++{0x41,'<'},
++{0x42,'K'},
++{0x43,'I'},
++{0x44,'O'},
++{0x45,')'},
++{0x46,'('},
++{0x49,'>'},
++{0x4a,'\?'},
++{0x4b,'L'},
++{0x4c,':'},
++{0x4d,'P'},
++{0x4e,'_'},
++{0x52,'\"'},
++{0x54,'{'},
++{0x55,'+'},
++{0x5a,13},
++{0x5b,'}'},
++{0x5d,'|'},
++{0x61,'>'},
++{0x66,8},
++{0x69,'1'},
++{0x6b,'4'},
++{0x6c,'7'},
++{0x70,'0'},
++{0x71,'.'},
++{0x72,'2'},
++{0x73,'5'},
++{0x74,'6'},
++{0x75,'8'},
++{0x79,'+'},
++{0x7a,'3'},
++{0x7b,'-'},
++{0x7c,'*'},
++{0x7d,'9'},
++{0,0}
+ };
diff --git a/emulators/simulavr/patches/patch-regress_timertest_timer_16bit.c b/emulators/simulavr/patches/patch-regress_timertest_timer_16bit.c
new file mode 100644
index 00000000000..7b554e65f61
--- /dev/null
+++ b/emulators/simulavr/patches/patch-regress_timertest_timer_16bit.c
@@ -0,0 +1,24 @@
+$NetBSD: patch-regress_timertest_timer_16bit.c,v 1.1 2013/09/12 06:20:35 mef Exp $
+
+error: attempt to use poisoned "VARNAME"
+
+--- work/simulavr-1.0.0/regress/timertest/timer_16bit.c 2012-02-13 00:26:38.000000000 +0900
++++ regress/timertest/timer_16bit.c 2013-08-08 09:25:31.000000000 +0900
+@@ -4,14 +4,14 @@
+ volatile int timer_ticks;
+
+ #ifdef T3TEST
+-ISR(SIG_OVERFLOW3) {
++ISR(TIMER3_OVF_vect) {
+ timer_ticks++;
+ }
+-ISR(SIG_OUTPUT_COMPARE3B) {
++ISR(TIMER3_COMPB_vect) {
+ timer_ticks++;
+ }
+ #else
+-ISR(SIG_OVERFLOW1) {
++ISR(TIMER1_OVF_vect) {
+ timer_ticks++;
+ }
+ #endif
diff --git a/emulators/simulavr/patches/patch-src_Makefile.in b/emulators/simulavr/patches/patch-src_Makefile.in
new file mode 100644
index 00000000000..9c13bd838ce
--- /dev/null
+++ b/emulators/simulavr/patches/patch-src_Makefile.in
@@ -0,0 +1,17 @@
+$NetBSD: patch-src_Makefile.in,v 1.1 2013/09/12 06:20:35 mef Exp $
+
+/usr/pkg/bin/swig -c++ -python -Ipython -o pysim ...
+...
+pysimulavr_wrap.cpp:146:20: fatal error: Python.h: No such file or directory
+
+--- src/Makefile.in.orig 2013-07-07 10:12:33.000000000 +0900
++++ src/Makefile.in 2013-07-07 10:31:40.000000000 +0900
+@@ -395,7 +395,7 @@
+ @USE_SWIG_TRUE@@USE_TCL_TRUE@TCL_LIB = @AVR_TCL_LIB@
+ @USE_SWIG_TRUE@@USE_TCL_TRUE@TCL_INCLUDE = @AVR_TCL_INCLUDE@
+ @PYTHON_USE_TRUE@@USE_SWIG_TRUE@PYTHON_MODUL_LIB = _pysimulavr@PYTHON_MODULE_EXTENSION@
+-@PYTHON_USE_TRUE@@USE_SWIG_TRUE@PYTHON_XTRA_INC = -Ipython
++@PYTHON_USE_TRUE@@USE_SWIG_TRUE@PYTHON_XTRA_INC = -I@PREFIX@/include/python2.7 -Ipython
+ @PYTHON_USE_TRUE@@USE_SWIG_TRUE@PYTHON_MODUL_INTERFACE = $(srcdir)/python/pysimulavr.i
+ @PYTHON_USE_TRUE@@USE_SWIG_TRUE@nodist_lib_pysimulavr_la_SOURCES = pysimulavr_wrap.cpp
+ @PYTHON_USE_TRUE@@USE_SWIG_TRUE@lib_pysimulavr_la_CPPFLAGS = $(PYTHON_CPPFLAGS) $(PYTHON_XTRA_INC)
diff --git a/emulators/simulavr/patches/patch-src_avrcore_h b/emulators/simulavr/patches/patch-src_avrcore_h
deleted file mode 100644
index 1b3d88e7bb0..00000000000
--- a/emulators/simulavr/patches/patch-src_avrcore_h
+++ /dev/null
@@ -1,227 +0,0 @@
-$NetBSD: patch-src_avrcore_h,v 1.1 2011/12/18 19:51:33 dholland Exp $
-
- - Patch up gcc inline mess.
-
---- src/avrcore.h.orig 2003-12-01 07:35:52.000000000 +0000
-+++ src/avrcore.h
-@@ -127,20 +129,20 @@ extern void avr_core_get_sizes (AvrCore
-
- /* Attach a Virtual Device to the core */
-
--extern inline void
-+static inline void
- avr_core_attach_vdev (AvrCore *core, VDevice *dev)
- {
- vdev_set_core (dev, (AvrClass *)core);
- mem_attach (core->mem, dev);
- }
-
--extern inline VDevice *
-+static inline VDevice *
- avr_core_get_vdev_by_name (AvrCore *core, char *name)
- {
- return mem_get_vdevice_by_name (core->mem, name);
- }
-
--extern inline VDevice *
-+static inline VDevice *
- avr_core_get_vdev_by_addr (AvrCore *core, int addr)
- {
- return mem_get_vdevice_by_addr (core->mem, addr);
-@@ -148,13 +150,13 @@ avr_core_get_vdev_by_addr (AvrCore *core
-
- /* State Access Methods */
-
--extern inline int
-+static inline int
- avr_core_get_state (AvrCore *core)
- {
- return core->state;
- }
-
--extern inline void
-+static inline void
- avr_core_set_state (AvrCore *core, StateType state)
- {
- core->state = state;
-@@ -162,14 +164,14 @@ avr_core_set_state (AvrCore *core, State
-
- /* Sleep Mode Access Methods */
-
--extern inline void
-+static inline void
- avr_core_set_sleep_mode (AvrCore *core, int sleep_mode)
- {
- core->state = STATE_SLEEP;
- core->sleep_mode = ((unsigned int)1 << sleep_mode);
- }
-
--extern inline int
-+static inline int
- avr_core_get_sleep_mode (AvrCore *core)
- {
- return core->sleep_mode;
-@@ -229,13 +231,13 @@ avr_core_sreg_set (AvrCore *core, uint8_
- sreg_set (core->sreg, v);
- }
-
--extern inline int
-+static inline int
- avr_core_sreg_get_bit (AvrCore *core, int b)
- {
- return sreg_get_bit (core->sreg, b);
- }
-
--extern inline void
-+static inline void
- avr_core_sreg_set_bit (AvrCore *core, int b, int v)
- {
- sreg_set_bit (core->sreg, b, v);
-@@ -243,13 +245,13 @@ avr_core_sreg_set_bit (AvrCore *core, in
-
- /* RAMPZ Access Methods */
-
--extern inline uint8_t
-+static inline uint8_t
- avr_core_rampz_get (AvrCore *core)
- {
- return rampz_get (core->rampz);
- }
-
--extern inline void
-+static inline void
- avr_core_rampz_set (AvrCore *core, uint8_t v)
- {
- rampz_set (core->rampz, v);
-@@ -273,13 +275,13 @@ avr_core_gpwr_set (AvrCore *core, int re
-
- extern void avr_core_io_display_names (AvrCore *core);
-
--extern inline uint8_t
-+static inline uint8_t
- avr_core_io_read (AvrCore *core, int reg)
- {
- return avr_core_mem_read (core, reg + IO_REG_ADDR_BEGIN);
- }
-
--extern inline void
-+static inline void
- avr_core_io_write (AvrCore *core, int reg, uint8_t val)
- {
- avr_core_mem_write (core, reg + IO_REG_ADDR_BEGIN, val);
-@@ -294,13 +296,13 @@ avr_core_io_fetch (AvrCore *core, int re
-
- /* Stack Access Methods */
-
--extern inline uint32_t
-+static inline uint32_t
- avr_core_stack_pop (AvrCore *core, int bytes)
- {
- return stack_pop (core->stack, bytes);
- }
-
--extern inline void
-+static inline void
- avr_core_stack_push (AvrCore *core, int bytes, uint32_t val)
- {
- stack_push (core->stack, bytes, val);
-@@ -314,7 +316,7 @@ avr_core_stack_push (AvrCore *core, int
- values which go past zero. These should be interpreted as wrapping back
- around the last address in the flash. */
-
--extern inline void
-+static inline void
- _adjust_PC_to_max (AvrCore *core)
- {
- if (core->PC < 0)
-@@ -326,7 +328,7 @@ _adjust_PC_to_max (AvrCore *core)
-
- /* Program Counter Access Methods */
-
--extern inline int32_t
-+static inline int32_t
- avr_core_PC_size (AvrCore *core)
- {
- return core->PC_size;
-@@ -352,7 +354,7 @@ avr_core_PC_set (AvrCore *core, int32_t
- display_pc (core->PC);
- }
-
--extern inline void
-+static inline void
- avr_core_PC_incr (AvrCore *core, int val)
- {
- core->PC += val;
-@@ -365,7 +367,7 @@ avr_core_PC_incr (AvrCore *core, int val
- extern void avr_core_irq_raise (AvrCore *core, int irq);
- extern void avr_core_irq_clear (AvrCore *core, IntVect *irq);
-
--extern inline void
-+static inline void
- avr_core_irq_clear_all (AvrCore *core)
- {
- dlist_delete_all (core->irq_pending);
-@@ -388,13 +390,13 @@ extern void avr_core_reset (AvrCore *cor
-
- /* Methods for accessing CK and inst_CKS */
-
--extern inline uint64_t
-+static inline uint64_t
- avr_core_CK_get (AvrCore *core)
- {
- return core->CK;
- }
-
--extern inline void
-+static inline void
- avr_core_CK_incr (AvrCore *core)
- {
- core->CK++;
-@@ -403,13 +405,13 @@ avr_core_CK_incr (AvrCore *core)
- display_clock (core->CK);
- }
-
--extern inline int
-+static inline int
- avr_core_inst_CKS_get (AvrCore *core)
- {
- return core->inst_CKS;
- }
-
--extern inline void
-+static inline void
- avr_core_inst_CKS_set (AvrCore *core, int val)
- {
- core->inst_CKS = val;
-@@ -417,13 +419,13 @@ avr_core_inst_CKS_set (AvrCore *core, in
-
- /* Methods for handling clock callbacks */
-
--extern inline void
-+static inline void
- avr_core_clk_cb_add (AvrCore *core, CallBack *cb)
- {
- core->clk_cb = callback_list_add (core->clk_cb, cb);
- }
-
--extern inline void
-+static inline void
- avr_core_clk_cb_exec (AvrCore *core)
- {
- core->clk_cb =
-@@ -432,13 +434,13 @@ avr_core_clk_cb_exec (AvrCore *core)
-
- /* Methods for handling asynchronous callbacks */
-
--extern inline void
-+static inline void
- avr_core_async_cb_add (AvrCore *core, CallBack *cb)
- {
- core->async_cb = callback_list_add (core->async_cb, cb);
- }
-
--extern inline void
-+static inline void
- avr_core_async_cb_exec (AvrCore *core)
- {
- core->async_cb =
diff --git a/emulators/simulavr/patches/patch-src_decoder_h b/emulators/simulavr/patches/patch-src_decoder_h
deleted file mode 100644
index 1fdfa00e495..00000000000
--- a/emulators/simulavr/patches/patch-src_decoder_h
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-src_decoder_h,v 1.1 2011/12/18 19:51:33 dholland Exp $
-
- - Patch up gcc inline mess.
-
---- src/decoder.h.orig 2003-12-02 08:25:00.000000000 +0000
-+++ src/decoder.h
-@@ -48,7 +50,7 @@ extern void decode_init_lookup_table (vo
- extern int avr_op_UNKNOWN (AvrCore *core, uint16_t opcode, unsigned int arg1,
- unsigned int arg2);
-
--extern inline struct opcode_info *
-+static inline struct opcode_info *
- decode_opcode (uint16_t opcode)
- {
- struct opcode_info *opi;
diff --git a/emulators/simulavr/patches/patch-src_disp-vcd_vcd.c b/emulators/simulavr/patches/patch-src_disp-vcd_vcd.c
deleted file mode 100644
index 64e0604849b..00000000000
--- a/emulators/simulavr/patches/patch-src_disp-vcd_vcd.c
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-src_disp-vcd_vcd.c,v 1.1 2013/03/24 16:57:12 joerg Exp $
-
---- src/disp-vcd/vcd.c.orig 2013-03-23 18:50:59.000000000 +0000
-+++ src/disp-vcd/vcd.c
-@@ -696,7 +696,7 @@ vcd_write_pc (int pc)
-
- /* Set the current time. */
-
--inline int
-+int
- vcd_set_clock (unsigned int c)
- {
- clk = c;
diff --git a/emulators/simulavr/patches/patch-src_disp-vcd_vcd.h b/emulators/simulavr/patches/patch-src_disp-vcd_vcd.h
deleted file mode 100644
index 1eebcebdb5e..00000000000
--- a/emulators/simulavr/patches/patch-src_disp-vcd_vcd.h
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-src_disp-vcd_vcd.h,v 1.1 2013/03/24 16:57:12 joerg Exp $
-
---- src/disp-vcd/vcd.h.orig 2013-03-23 18:50:47.000000000 +0000
-+++ src/disp-vcd/vcd.h
-@@ -47,7 +47,7 @@ int vcd_trace_pc( void );
- /* Interface for disp.c */
- int vcd_write_header( void );
-
--inline int vcd_set_clock( unsigned int c );
-+int vcd_set_clock( unsigned int c );
- int vcd_write_clock( void );
-
- int vcd_bind_io_reg_shortcut( char *io_reg_name, int io_reg_addr );
diff --git a/emulators/simulavr/patches/patch-src_flash_h b/emulators/simulavr/patches/patch-src_flash_h
deleted file mode 100644
index 28cf2a00bc3..00000000000
--- a/emulators/simulavr/patches/patch-src_flash_h
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-src_flash_h,v 1.1 2011/12/18 19:51:33 dholland Exp $
-
- - Patch up gcc inline mess.
-
---- src/flash.h.orig 2003-12-02 08:25:00.000000000 +0000
-+++ src/flash.h
-@@ -46,7 +48,7 @@ extern void flash_destroy (void *flash);
- extern int flash_get_size (Flash *flash);
- extern void flash_dump_core (Flash *flash, FILE * f_core);
-
--extern inline uint16_t
-+static inline uint16_t
- flash_read (Flash *flash, int addr)
- {
- return storage_readw ((Storage *)flash, addr * 2);
diff --git a/emulators/simulavr/patches/patch-src_register_h b/emulators/simulavr/patches/patch-src_register_h
deleted file mode 100644
index 7b39a4905a2..00000000000
--- a/emulators/simulavr/patches/patch-src_register_h
+++ /dev/null
@@ -1,55 +0,0 @@
-$NetBSD: patch-src_register_h,v 1.1 2011/12/18 19:51:33 dholland Exp $
-
- - Patch up gcc inline mess.
-
---- src/register.h.orig 2003-12-01 07:35:53.000000000 +0000
-+++ src/register.h
-@@ -83,26 +84,26 @@ extern SREG *sreg_new (void);
- extern void sreg_construct (SREG *sreg);
- extern void sreg_destroy (void *sreg);
-
--extern inline uint8_t
-+static inline uint8_t
- sreg_get (SREG *sreg)
- {
- return sreg->sreg.reg;
- }
-
--extern inline void
-+static inline void
- sreg_set (SREG *sreg, uint8_t val)
- {
- sreg->sreg.reg = val;
- display_io_reg (SREG_IO_REG, sreg->sreg.reg);
- }
-
--extern inline uint8_t
-+static inline uint8_t
- sreg_get_bit (SREG *sreg, int bit)
- {
- return !!(sreg->sreg.reg & (1 << bit));
- }
-
--extern inline void
-+static inline void
- sreg_set_bit (SREG *sreg, int bit, int val)
- {
- sreg->sreg.reg = set_bit_in_byte (sreg->sreg.reg, bit, val);
-@@ -133,7 +134,7 @@ extern GPWR *gpwr_new (void);
- extern void gpwr_construct (GPWR *gpwr);
- extern void gpwr_destroy (void *gpwr);
-
--extern inline uint8_t
-+static inline uint8_t
- gpwr_get (GPWR *gpwr, int reg)
- {
- #if defined(CHECK_REGISTER_BOUNDS)
-@@ -144,7 +145,7 @@ gpwr_get (GPWR *gpwr, int reg)
- return gpwr->reg[reg];
- }
-
--extern inline void
-+static inline void
- gpwr_set (GPWR *gpwr, int reg, uint8_t val)
- {
- #if defined(CHECK_REGISTER_BOUNDS)
diff --git a/emulators/simulavr/patches/patch-src_storage_h b/emulators/simulavr/patches/patch-src_storage_h
deleted file mode 100644
index 3da717e7142..00000000000
--- a/emulators/simulavr/patches/patch-src_storage_h
+++ /dev/null
@@ -1,24 +0,0 @@
-$NetBSD: patch-src_storage_h,v 1.1 2011/12/18 19:51:33 dholland Exp $
-
- - Patch up gcc inline mess.
-
---- src/storage.h~ 2003-12-02 08:25:00.000000000 +0000
-+++ src/storage.h
-@@ -46,7 +48,7 @@ extern Storage *storage_new (int base, i
- extern void storage_construct (Storage *stor, int base, int size);
- extern void storage_destroy (void *stor);
-
--extern inline uint8_t
-+static inline uint8_t
- storage_readb (Storage *stor, int addr)
- {
- int _addr = addr - stor->base;
-@@ -60,7 +62,7 @@ storage_readb (Storage *stor, int addr)
- return stor->data[_addr];
- }
-
--extern inline uint16_t
-+static inline uint16_t
- storage_readw (Storage *stor, int addr)
- {
- int _addr = addr - stor->base;
diff --git a/emulators/simulavr/patches/patch-src_utils_h b/emulators/simulavr/patches/patch-src_utils_h
deleted file mode 100644
index df3d21f0895..00000000000
--- a/emulators/simulavr/patches/patch-src_utils_h
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD: patch-src_utils_h,v 1.1 2011/12/18 19:51:33 dholland Exp $
-
- - Patch up gcc inline mess.
-
---- src/utils.h~ 2003-12-01 07:35:54.000000000 +0000
-+++ src/utils.h
-@@ -47,13 +49,13 @@ extern int str2ffmt (char *str);
- *
- \****************************************************************************/
-
--extern inline uint8_t
-+static inline uint8_t
- set_bit_in_byte (uint8_t src, int bit, int val)
- {
- return ((src & ~(1 << bit)) | ((val != 0) << bit));
- }
-
--extern inline uint16_t
-+static inline uint16_t
- set_bit_in_word (uint16_t src, int bit, int val)
- {
- return ((src & ~(1 << bit)) | ((val != 0) << bit));
diff --git a/emulators/simulavr/patches/patch-src_vdevs_h b/emulators/simulavr/patches/patch-src_vdevs_h
deleted file mode 100644
index 4699f37f051..00000000000
--- a/emulators/simulavr/patches/patch-src_vdevs_h
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-src_vdevs_h,v 1.1 2011/12/18 19:51:33 dholland Exp $
-
- - Patch up gcc inline mess.
-
---- src/vdevs.h~ 2003-12-02 08:25:00.000000000 +0000
-+++ src/vdevs.h
-@@ -72,7 +74,7 @@ extern char *vdev_get_reg_name (VDevice
-
- extern void vdev_set_core (VDevice *dev, AvrClass *core);
-
--extern inline AvrClass *vdev_get_core (VDevice *dev)
-+static inline AvrClass *vdev_get_core (VDevice *dev)
- {
- return dev->core;
- }