[OpenBIOS] [commit] r699 - in trunk/openbios-devel/include: libopenbios openbios
repository service
svn at openbios.org
Sun Mar 14 22:02:58 CET 2010
Author: mcayland
Date: Sun Mar 14 22:02:58 2010
New Revision: 699
URL: http://tracker.coreboot.org/trac/openbios/changeset/699
Log:
Only one file remains - asm.m4. I have absolutely no idea what this file is supposed to do (since it doesn't seem to be called)
so I'll move in into include/libopenbios for the time being. Anyone know what this file is used for?
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at siriusit.co.uk>
Added:
trunk/openbios-devel/include/libopenbios/asm.m4 (props changed)
- copied unchanged from r698, trunk/openbios-devel/include/openbios/asm.m4
Deleted:
trunk/openbios-devel/include/openbios/
Copied: trunk/openbios-devel/include/libopenbios/asm.m4 (from r698, trunk/openbios-devel/include/openbios/asm.m4)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/openbios-devel/include/libopenbios/asm.m4 Sun Mar 14 22:02:58 2010 (r699, copy of r698, trunk/openbios-devel/include/openbios/asm.m4)
@@ -0,0 +1,137 @@
+/* -*- asm -*-
+ * Creation Date: <2001/12/30 20:08:53 samuel>
+ * Time-stamp: <2002/01/14 00:48:09 samuel>
+ *
+ * <asm.m4>
+ *
+ * m4 initialization (m4 is used as an assembly preprocessor)
+ *
+ * Copyright (C) 2001, 2002 Samuel Rydh (samuel at ibrium.se)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation
+ *
+ */
+
+/* This end-of-quote matches the start-of-quote in mol_config.h */
+]]]]]
+changequote([,])
+
+dnl m4 macros to avoid in header files (we can not rename these)
+dnl ==========================================================
+dnl shift, eval, expr, decr, incr, ifelse, popdef, pushdef
+
+
+dnl **************************************************************
+dnl * Rename to reduce namespace conflicts
+dnl **************************************************************
+
+dnl *** Changing the name of built-in macros using defn does not always work ***
+
+undefine([changecom])
+undefine([changequote])
+dnl undefine([decr])
+undefine([defn])
+undefine([divert])
+undefine([divnum])
+undefine([errprint])
+dnl undefine([eval])
+dnl undefine([expr])
+undefine([file])
+undefine([format])
+undefine([len])
+undefine([line])
+dnl undefine([ifelse])
+dnl undefine([incr])
+undefine([indir])
+undefine([include])
+undefine([index])
+undefine([maketemp])
+undefine([paste])
+undefine([patsubst])
+dnl undefine([popdef])
+dnl undefine([pushdef])
+undefine([regexp])
+dnl undefine([shift])
+undefine([sinclude])
+undefine([spaste])
+undefine([substr])
+undefine([syscmd])
+undefine([sysval])
+undefine([translit])
+undefine([traceoff])
+undefine([traceon])
+undefine([undivert])
+undefine([unix])
+dnl undefine([__gnu__])
+dnl undefine([__unix__])
+
+dnl Uncomment to list m4 definitions
+dnl dumpdef m4exit
+
+/************************************************************************/
+/* M4 Macros */
+/************************************************************************/
+
+/* WARNING - M4 BUG IN MacOS X (10.1.2):
+ * eval() in MacOS X (10.1.2) handles '&' as '&&' and '|' as '||'.
+ */
+
+/* FORLOOP(var, from, to, [body var...]) */
+define([mFORLOOP], [pushdef([$1], [$2])_mFORLOOP([$1], [$2], [$3], [$4])popdef([$1])])
+define([_mFORLOOP], [$4[]ifelse($1, [$3], ,
+ [define([$1], incr($1))_mFORLOOP([$1], [$2], [$3], [$4])])])
+
+define([mFIRST],[$1])
+define([mCONCAT_C],[ [$@] ])
+
+/* FOREACH(var, [item1, ...], [body var ...]) */
+define([mFOREACH],[pushdef([$1],mFIRST($2))_mFOREACH([$1],[shift($2)],[$3])popdef([$1])])
+define([_mFOREACH],[$3] [ifelse(mFIRST($2),,,[define([$1],mFIRST($2)) _mFOREACH([$1],[shift($2)],[$3])])])
+
+
+/******************** Nice macro definitions **************************/
+
+/* MACRO(name, [param1, ...], [body _param1 ...]) */
+#ifdef __linux__
+define([MACRO], [
+ .macro [$1] $2
+ mFOREACH([i],[$2],[ pushdef(_[]i,\i) ])
+ $3
+ .endm
+ mFOREACH([i],[$2],[ popdef(_[]i) ])
+])
+#else
+define([MACRO], [
+ .macro [$1]
+ pushdef([_n],0)
+ mFOREACH([i],[$2],[ pushdef(_[]i,[$[]]_n) define([_n],incr(_n)) ])
+ $3
+ .endmacro
+ mFOREACH([i],[$2],[ popdef(_[]i) ])
+ popdef([_n])
+])
+#endif
+define([MACRO_0], [MACRO([$1],[_dummy_param_],[$2])])
+
+
+/* mDEFINE(name, [param1, ...], [body _param1 ...]) */
+define([mDEFINE], [
+ pushdef([_n],1)
+ mFOREACH([i],[$2],[ pushdef(_[]i,[$[]]_n) define([_n],incr(_n)) ])
+ define([$1], mCONCAT_C($3) )
+ mFOREACH([i],[$2],[ popdef(_[]i) ])
+ popdef([_n])
+])
+
+
+/* rLABEL(label): b label_b ; b label_f */
+define(rLABEL,[dnl
+ifdef([$1]_curnum,,[$1[]f:])dnl
+ define([_tmp_curnum],ifdef($1[]_curnum, [eval($1_curnum+1)], 1)) dnl
+ define([$1]_curnum,_tmp_curnum)dnl
+ define([$1]f,$1_[]eval($1_curnum[]+1) )dnl
+ define([$1]b,$1_[]$1_curnum[] )
+$1[]_[]$1_curnum[]dnl
+])
More information about the OpenBIOS
mailing list