Author: wmb Date: 2008-08-07 23:12:51 +0200 (Thu, 07 Aug 2008) New Revision: 871
Added: forth/lib/toctags Modified: cpu/x86/basefw.bth cpu/x86/build/builder.dic cpu/x86/kernel.bth cpu/x86/pc/olpc/build/Makefile cpu/x86/pc/olpc/fw.bth cpu/x86/tools.bth forth/kernel/kernel.fth forth/kernel/meta1.fth Log: Added ctags support - building the firmware image automatically creates a "tags" file.
Modified: cpu/x86/basefw.bth =================================================================== --- cpu/x86/basefw.bth 2008-08-06 07:06:30 UTC (rev 870) +++ cpu/x86/basefw.bth 2008-08-07 21:12:51 UTC (rev 871) @@ -5,6 +5,8 @@ command: &x86forth &dictionary &this build-now
+" basefw.tag" r/w create-file drop tag-file ! + \ ' $report-name is include-hook \ ' noop is include-hook
@@ -120,7 +122,10 @@ [ifndef] no-heads resident dispose 0 0 set-transize \ true is suppress-transient
+tag-file @ fclose tag-file off + cr .( --- Saving basefw.dic --- ) " basefw.dic" $save-forth cr + [then]
\ LICENSE_BEGIN
Modified: cpu/x86/kernel.bth =================================================================== --- cpu/x86/kernel.bth 2008-08-06 07:06:30 UTC (rev 870) +++ cpu/x86/kernel.bth 2008-08-07 21:12:51 UTC (rev 871) @@ -69,6 +69,8 @@
fload ${BP}/cpu/x86/metainit.fth
+" kernel.tag" r/w create-file drop meta-tag-file ! + always-headers
\ Comment out the following line(s) when debugging @@ -109,6 +111,8 @@
' (do-literal) is do-literal
+meta-tag-file @ fclose meta-tag-file off + fload ${BP}/cpu/x86/saveexp.fth fload ${BP}/cpu/x86/savemeta.fth
Modified: cpu/x86/pc/olpc/build/Makefile =================================================================== --- cpu/x86/pc/olpc/build/Makefile 2008-08-06 07:06:30 UTC (rev 870) +++ cpu/x86/pc/olpc/build/Makefile 2008-08-07 21:12:51 UTC (rev 871) @@ -1,7 +1,15 @@ OS := $(shell uname)
-all: olpc.rom +BASEDIR= `(cd ../../../../..; pwd;)` +TAGFILES= ../../../build/*.tag *.tag
+all: olpc.rom tags + +fw.tag: olpc.rom + +tags: fw.tag + @${BASEDIR}/forth/lib/toctags ${BASEDIR} ${TAGFILES} + ofw.elf: FORCE build ../../../build/inflate.bin ./build $@
Modified: cpu/x86/pc/olpc/fw.bth =================================================================== --- cpu/x86/pc/olpc/fw.bth 2008-08-06 07:06:30 UTC (rev 870) +++ cpu/x86/pc/olpc/fw.bth 2008-08-07 21:12:51 UTC (rev 871) @@ -6,6 +6,7 @@ in: builton.fth build-now
+" fw.tag" r/w create-file drop tag-file !
hex \ ' $report-name is include-hook @@ -617,6 +618,8 @@ warning ! previous previous definitions
+tag-file @ fclose tag-file off + .( --- Saving fw.dic ...) " fw.dic" $save-forth cr
Modified: cpu/x86/tools.bth =================================================================== --- cpu/x86/tools.bth 2008-08-06 07:06:30 UTC (rev 870) +++ cpu/x86/tools.bth 2008-08-07 21:12:51 UTC (rev 871) @@ -9,6 +9,8 @@ \ ' $report-name is include-hook \ : rn (cr 2dup type 15 spaces ; ' rn is include-hook
+" tools.tag" r/w create-file drop tag-file ! + create resident-packages
fload ${BP}/forth/lib/fwsetup.fth @@ -37,8 +39,12 @@ resident dispose 0 0 set-transize \ true is suppress-transient \ .( zeroed: ) dot
+tag-file @ fclose tag-file off + ' noop is include-hook ' noop is include-exit-hook .( --- Saving tools.dic --- ) " tools.dic" $save-forth cr + + [then] \ LICENSE_BEGIN \ Copyright (c) 2006 FirmWorks
Modified: forth/kernel/kernel.fth =================================================================== --- forth/kernel/kernel.fth 2008-08-06 07:06:30 UTC (rev 870) +++ forth/kernel/kernel.fth 2008-08-07 21:12:51 UTC (rev 871) @@ -1362,8 +1362,23 @@
headerless
+nuser tag-file + +decimal +: $tag-field ( $ -- ) tag-file @ fputs ; +: tag-char ( char -- ) tag-file @ fputc ; +: $tagout ( name$ -- ) + tag-file @ 0= if 2drop exit then + source-id -1 = if 2drop exit then + $tag-field 9 tag-char + source-id file-name $tag-field 9 tag-char + base @ decimal source-id file-line (.) $tag-field base ! + newline-string $tag-field +; + : $make-header ( adr len voc-acf -- ) -rot ( voc-acf adr,len ) + 2dup $tagout dup 1+ /link + ( voc-acf adr,len hdr-len )
here + ( voc-acf adr,len addr' )
Modified: forth/kernel/meta1.fth =================================================================== --- forth/kernel/meta1.fth 2008-08-06 07:06:30 UTC (rev 870) +++ forth/kernel/meta1.fth 2008-08-07 21:12:51 UTC (rev 871) @@ -14,6 +14,8 @@ variable current-t variable context-t
+variable meta-tag-file + \ Return the host address where the given target address is being compiled : >hostaddr ( target-address -- host-address ) origin-t - compilation-base l+ @@ -57,7 +59,9 @@ context link@ >r current link@ >r warning @ >r context link! definitions warning off + tag-file @ >r meta-tag-file @ tag-file ! $create + r> tag-file ! r> warning ! r> current link! r> context link! ; \ : vcreate ( str voc-cfa -- ) count $vcreate ;
Added: forth/lib/toctags =================================================================== --- forth/lib/toctags (rev 0) +++ forth/lib/toctags 2008-08-07 21:12:51 UTC (rev 871) @@ -0,0 +1,10 @@ +#! /bin/sh +# Converts a collection of .tag files to ctag format + +# Usage: toctag BASEDIR file.tag ... + +homedir=$1 +shift + +sed -e "s,${BP},${homedir}," $* | LC_ALL=C sort >tags +
Property changes on: forth/lib/toctags ___________________________________________________________________ Added: svn:executable + *
openfirmware@openfirmware.info