[timer] Remove now-obsolete references to TIMER_BIOS and TIMER_RDTSC
[people/mcb30/gpxe.git] / src / core / config.c
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License as
4  * published by the Free Software Foundation; either version 2, or (at
5  * your option) any later version.
6  */
7
8 #include <config/general.h>
9 #include <config/console.h>
10
11 /*
12  * Build ID string calculations
13  *
14  */
15 #undef XSTR
16 #undef STR
17 #define XSTR(s) STR(s)
18 #define STR(s) #s
19
20 #ifdef BUILD_SERIAL
21 #include "config/.buildserial.h"
22 #define BUILD_SERIAL_STR " #" XSTR(BUILD_SERIAL_NUM)
23 #else
24 #define BUILD_SERIAL_STR ""
25 #endif
26
27 #ifdef BUILD_ID
28 #define BUILD_ID_STR " " BUILD_ID
29 #else
30 #define BUILD_ID_STR ""
31 #endif
32
33 #if defined(BUILD_ID) || defined(BUILD_SERIAL)
34 #define BUILD_STRING " [build" BUILD_ID_STR BUILD_SERIAL_STR "]"
35 #else
36 #define BUILD_STRING ""
37 #endif
38
39 /*
40  * Drag in all requested console types
41  *
42  */
43
44 #ifdef CONSOLE_PCBIOS
45 REQUIRE_OBJECT ( bios_console );
46 #endif
47 #ifdef CONSOLE_SERIAL
48 REQUIRE_OBJECT ( serial_console );
49 #endif
50 #ifdef CONSOLE_DIRECT_VGA
51 REQUIRE_OBJECT ( video_subr );
52 #endif
53 #ifdef CONSOLE_BTEXT
54 REQUIRE_OBJECT ( btext );
55 #endif
56 #ifdef CONSOLE_PC_KBD
57 REQUIRE_OBJECT ( pc_kbd );
58 #endif
59 #ifdef CONSOLE_SYSLOG
60 REQUIRE_OBJECT ( syslog );
61 #endif
62
63 /*
64  * Drag in all requested network protocols
65  *
66  */
67 #ifdef NET_PROTO_IPV4
68 REQUIRE_OBJECT ( ipv4 );
69 #endif
70
71 /*
72  * Drag in all requested download protocols
73  *
74  */
75 #ifdef DOWNLOAD_PROTO_TFTP
76 REQUIRE_OBJECT ( tftp );
77 #endif
78 #ifdef DOWNLOAD_PROTO_NFS
79 REQUIRE_OBJECT ( nfs );
80 #endif
81 #ifdef DOWNLOAD_PROTO_HTTP
82 REQUIRE_OBJECT ( http );
83 #endif
84 #ifdef DOWNLOAD_PROTO_HTTPS
85 REQUIRE_OBJECT ( https );
86 #endif
87 #ifdef DOWNLOAD_PROTO_FTP
88 REQUIRE_OBJECT ( ftp );
89 #endif
90 #ifdef DOWNLOAD_PROTO_TFTM
91 REQUIRE_OBJECT ( tftm );
92 #endif
93 #ifdef DOWNLOAD_PROTO_SLAM
94 REQUIRE_OBJECT ( slam );
95 #endif
96
97 /*
98  * Drag in all requested resolvers
99  *
100  */
101 #ifdef DNS_RESOLVER
102 REQUIRE_OBJECT ( dns );
103 #endif
104 #ifdef NMB_RESOLVER
105 REQUIRE_OBJECT ( nmb );
106 #endif
107
108 /*
109  * Drag in all requested image formats
110  *
111  */
112 #ifdef IMAGE_NBI
113 REQUIRE_OBJECT ( nbi );
114 #endif
115 #ifdef IMAGE_ELF
116 REQUIRE_OBJECT ( elfboot );
117 #endif
118 #ifdef IMAGE_FREEBSD
119 REQUIRE_OBJECT ( freebsd );
120 #endif
121 #ifdef IMAGE_MULTIBOOT
122 REQUIRE_OBJECT ( multiboot );
123 #endif
124 #ifdef IMAGE_AOUT
125 REQUIRE_OBJECT ( aout );
126 #endif
127 #ifdef IMAGE_WINCE
128 REQUIRE_OBJECT ( wince );
129 #endif
130 #ifdef IMAGE_PXE
131 REQUIRE_OBJECT ( pxe_image );
132 #endif
133 #ifdef IMAGE_SCRIPT
134 REQUIRE_OBJECT ( script );
135 #endif
136 #ifdef IMAGE_BZIMAGE
137 REQUIRE_OBJECT ( bzimage );
138 #endif
139 #ifdef IMAGE_ELTORITO
140 REQUIRE_OBJECT ( eltorito );
141 #endif
142 #ifdef IMAGE_COMBOOT
143 REQUIRE_OBJECT ( comboot );
144 REQUIRE_OBJECT ( com32 );
145 REQUIRE_OBJECT ( comboot_call );
146 REQUIRE_OBJECT ( com32_call );
147 REQUIRE_OBJECT ( com32_wrapper );
148 REQUIRE_OBJECT ( comboot_resolv );
149 #endif
150
151 /*
152  * Drag in all requested commands
153  *
154  */
155 #ifdef AUTOBOOT_CMD
156 REQUIRE_OBJECT ( autoboot_cmd );
157 #endif
158 #ifdef NVO_CMD
159 REQUIRE_OBJECT ( nvo_cmd );
160 #endif
161 #ifdef CONFIG_CMD
162 REQUIRE_OBJECT ( config_cmd );
163 #endif
164 #ifdef IFMGMT_CMD
165 REQUIRE_OBJECT ( ifmgmt_cmd );
166 #endif
167 #ifdef ROUTE_CMD
168 REQUIRE_OBJECT ( route_cmd );
169 #endif
170 #ifdef IMAGE_CMD
171 REQUIRE_OBJECT ( image_cmd );
172 #endif
173 #ifdef DHCP_CMD
174 REQUIRE_OBJECT ( dhcp_cmd );
175 #endif
176 #ifdef SANBOOT_CMD
177 REQUIRE_OBJECT ( sanboot_cmd );
178 #endif
179
180 /*
181  * Drag in miscellaneous objects
182  *
183  */
184 #ifdef NULL_TRAP
185 REQUIRE_OBJECT ( nulltrap );
186 #endif
187 #ifdef GDBSERIAL
188 REQUIRE_OBJECT ( gdbidt );
189 REQUIRE_OBJECT ( gdbserial );
190 REQUIRE_OBJECT ( gdbstub_cmd );
191 #endif
192 #ifdef GDBUDP
193 REQUIRE_OBJECT ( gdbidt );
194 REQUIRE_OBJECT ( gdbudp );
195 REQUIRE_OBJECT ( gdbstub_cmd );
196 #endif
197
198 /*
199  * Drag in objects that are always required, but not dragged in via
200  * symbol dependencies.
201  *
202  */
203 REQUIRE_OBJECT ( device );