VirtualBox

source: vbox/trunk/include/VBox/various.sed@ 21217

Last change on this file since 21217 was 20742, checked in by vboxsync, 15 years ago

VMM,++: Increased the stack size on darwin to 16KB since we're switching stack and 16KB is the kernel stack size of xnu. Added support for conditionals to the .h -> .mac conversion sed-script.

  • Property svn:eol-style set to LF
  • Property svn:keywords set to Author Date Id Revision
File size: 1.8 KB
Line 
1
2# Check for markers (typically in comments).
3/ASM-INC/basm-inc
4/ASM-NOINC/basm-noinc
5
6# Strip comments and trailing space.
7s/[[:space:]][[:space:]]*\/\*.*$//g
8s/[[:space:]][[:space:]]*\/\/.*$//g
9s/[[:space:]][[:space:]]*$//g
10
11# Try identify the statement.
12/#[[:space:]]*define[[:space:]]/bdefine
13/#[[:space:]]*ifdef[[:space:]]/bifdef
14/#[[:space:]]*ifndef[[:space:]]/bifndef
15/#[[:space:]]*if[[:space:]]/bif
16/#[[:space:]]*elif[[:space:]]/belif
17/#[[:space:]]*else$/belse
18/#[[:space:]]*endif$/bendif
19
20# Not recognized, drop it.
21:asm-noinc
22d
23b end
24
25#
26# Defines needs some extra massaging to work in yasm.
27# Things like trailing type indicators ('U', 'ULL' ++) does not go down well.
28#
29:define
30/\$/d
31s/#\([[:space:]]*\)define/\1%define/
32
33s/\([[:space:]]0[xX][0-9a-fA-F][0-9a-fA-F]*\)U$/\1/
34s/\([[:space:]]0[xX][0-9a-fA-F][0-9a-fA-F]*\)U\([[:space:]]*\))$/\1\2)/
35s/\([[:space:]][0-9][0-9]*\)U[[:space:]]*$/\1/
36s/\([[:space:]][0-9][0-9]*\)U\([[:space:]]*\))$/\1\2)/
37
38s/\([[:space:]]0[xX][0-9a-fA-F][0-9a-fA-F]*\)UL$/\1/
39s/\([[:space:]]0[xX][0-9a-fA-F][0-9a-fA-F]*\)UL\([[:space:]]*\))$/\1\2)/
40s/\([[:space:]][0-9][0-9]*\)UL[[:space:]]*$/\1/
41s/\([[:space:]][0-9][0-9]*\)UL\([[:space:]]*\))$/\1\2)/
42
43s/\([[:space:]]0[xX][0-9a-fA-F][0-9a-fA-F]*\)ULL$/\1/
44s/\([[:space:]]0[xX][0-9a-fA-F][0-9a-fA-F]*\)ULL\([[:space:]]*\))$/\1\2)/
45s/\([[:space:]][0-9][0-9]*\)ULL[[:space:]]*$/\1/
46s/\([[:space:]][0-9][0-9]*\)ULL\([[:space:]]*\))$/\1\2)/
47
48b end
49
50#
51# Conditional statements, 1:1.
52#
53:ifdef
54s/#\([[:space:]]*\)ifdef/\1%ifdef/
55b end
56
57:ifndef
58s/#\([[:space:]]*\)ifndef/\1%ifndef/
59b end
60
61:if
62s/#\([[:space:]]*\)if/\1%if/
63b end
64
65:elif
66s/#\([[:space:]]*\)elif/\1%elif/
67b end
68
69:else
70s/#\([[:space:]]*\)else.*$/\1%else/
71b end
72
73:endif
74s/#\([[:space:]]*\)endif.*$/\1%endif/
75b end
76
77#
78# Assembly statement... may need adjusting when used.
79#
80:asm-inc
81b end
82
83:end
84
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use