[Serial] Split serial console from serial driver
[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
10 /*
11  * Build ID string calculations
12  *
13  */
14 #undef XSTR
15 #undef STR
16 #define XSTR(s) STR(s)
17 #define STR(s) #s
18
19 #ifdef BUILD_SERIAL
20 #include "config/.buildserial.h"
21 #define BUILD_SERIAL_STR " #" XSTR(BUILD_SERIAL_NUM)
22 #else
23 #define BUILD_SERIAL_STR ""
24 #endif
25
26 #ifdef BUILD_ID
27 #define BUILD_ID_STR " " BUILD_ID
28 #else
29 #define BUILD_ID_STR ""
30 #endif
31
32 #if defined(BUILD_ID) || defined(BUILD_SERIAL)
33 #define BUILD_STRING " [build" BUILD_ID_STR BUILD_SERIAL_STR "]"
34 #else
35 #define BUILD_STRING ""
36 #endif
37
38 /*
39  * Drag in all requested console types
40  *
41  * CONSOLE_DUAL sets both CONSOLE_FIRMWARE and CONSOLE_SERIAL for
42  * legacy compatibility.
43  *
44  */
45
46 #ifdef  CONSOLE_DUAL
47 #undef  CONSOLE_FIRMWARE
48 #define CONSOLE_FIRMWARE        1
49 #undef  CONSOLE_SERIAL
50 #define CONSOLE_SERIAL          1
51 #endif
52
53 #ifdef CONSOLE_FIRMWARE
54 REQUIRE_OBJECT ( bios_console );
55 #endif
56 #ifdef CONSOLE_SERIAL
57 REQUIRE_OBJECT ( serial_console );
58 #endif
59 #ifdef CONSOLE_DIRECT_VGA
60 REQUIRE_OBJECT ( video_subr );
61 #endif
62 #ifdef CONSOLE_BTEXT
63 REQUIRE_OBJECT ( btext );
64 #endif
65 #ifdef CONSOLE_PC_KBD
66 REQUIRE_OBJECT ( pc_kbd );
67 #endif
68 #ifdef CONSOLE_SYSLOG
69 REQUIRE_OBJECT ( syslog );
70 #endif
71
72 /*
73  * Drag in all requested timers
74  */
75 #ifdef TIMER_BIOS
76 REQUIRE_OBJECT ( timer_bios );
77 #endif
78 #ifdef TIMER_RDTSC
79 REQUIRE_OBJECT ( timer_rdtsc );
80 #endif
81
82 /*
83  * Drag in all requested network protocols
84  *
85  */
86 #ifdef NET_PROTO_IPV4
87 REQUIRE_OBJECT ( ipv4 );
88 #endif
89
90 /*
91  * Drag in all requested download protocols
92  *
93  */
94 #ifdef DOWNLOAD_PROTO_TFTP
95 REQUIRE_OBJECT ( tftp );
96 #endif
97 #ifdef DOWNLOAD_PROTO_NFS
98 REQUIRE_OBJECT ( nfs );
99 #endif
100 #ifdef DOWNLOAD_PROTO_HTTP
101 REQUIRE_OBJECT ( http );
102 #endif
103 #ifdef DOWNLOAD_PROTO_HTTPS
104 REQUIRE_OBJECT ( https );
105 #endif
106 #ifdef DOWNLOAD_PROTO_FTP
107 REQUIRE_OBJECT ( ftp );
108 #endif
109 #ifdef DOWNLOAD_PROTO_TFTM
110 REQUIRE_OBJECT ( tftm );
111 #endif
112 #ifdef DOWNLOAD_PROTO_SLAM
113 REQUIRE_OBJECT ( slam );
114 #endif
115
116 /*
117  * Drag in all requested resolvers
118  *
119  */
120 #ifdef DNS_RESOLVER
121 REQUIRE_OBJECT ( dns );
122 #endif
123 #ifdef NMB_RESOLVER
124 REQUIRE_OBJECT ( nmb );
125 #endif
126
127 /*
128  * Drag in all requested image formats
129  *
130  */
131 #ifdef IMAGE_NBI
132 REQUIRE_OBJECT ( nbi );
133 #endif
134 #ifdef IMAGE_ELF64
135 REQUIRE_OBJECT ( elf64 );
136 #endif
137 #ifdef IMAGE_ELF
138 REQUIRE_OBJECT ( elf );
139 #endif
140 #ifdef IMAGE_FREEBSD
141 REQUIRE_OBJECT ( freebsd );
142 #endif
143 #ifdef IMAGE_MULTIBOOT
144 REQUIRE_OBJECT ( multiboot );
145 #endif
146 #ifdef IMAGE_AOUT
147 REQUIRE_OBJECT ( aout );
148 #endif
149 #ifdef IMAGE_WINCE
150 REQUIRE_OBJECT ( wince );
151 #endif
152 #ifdef IMAGE_PXE
153 REQUIRE_OBJECT ( pxe_image );
154 #endif
155 #ifdef IMAGE_SCRIPT
156 REQUIRE_OBJECT ( script );
157 #endif
158 #ifdef IMAGE_BZIMAGE
159 REQUIRE_OBJECT ( bzimage );
160 #endif
161 #ifdef IMAGE_ELTORITO
162 REQUIRE_OBJECT ( eltorito );
163 #endif
164
165 /*
166  * Drag in all requested commands
167  *
168  */
169 #ifdef AUTOBOOT_CMD
170 REQUIRE_OBJECT ( autoboot_cmd );
171 #endif
172 #ifdef NVO_CMD
173 REQUIRE_OBJECT ( nvo_cmd );
174 #endif
175 #ifdef CONFIG_CMD
176 REQUIRE_OBJECT ( config_cmd );
177 #endif
178 #ifdef IFMGMT_CMD
179 REQUIRE_OBJECT ( ifmgmt_cmd );
180 #endif
181 #ifdef ROUTE_CMD
182 REQUIRE_OBJECT ( route_cmd );
183 #endif
184 #ifdef IMAGE_CMD
185 REQUIRE_OBJECT ( image_cmd );
186 #endif
187 #ifdef DHCP_CMD
188 REQUIRE_OBJECT ( dhcp_cmd );
189 #endif
190 #ifdef SANBOOT_CMD
191 REQUIRE_OBJECT ( sanboot_cmd );
192 #endif
193
194 /*
195  * Drag in miscellaneous objects
196  *
197  */
198 #ifdef NULL_TRAP
199 REQUIRE_OBJECT ( nulltrap );
200 #endif