Fix typo
[people/andreif/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 "etherboot.h"
9 #include "dev.h"
10 #include "console.h"
11 #include "image.h"
12
13 #include "config/general.h"
14
15 /*
16  * Build ID string calculations
17  *
18  */
19 #undef XSTR
20 #undef STR
21 #define XSTR(s) STR(s)
22 #define STR(s) #s
23
24 #ifdef BUILD_SERIAL
25 #include "config/.buildserial.h"
26 #define BUILD_SERIAL_STR " #" XSTR(BUILD_SERIAL_NUM)
27 #else
28 #define BUILD_SERIAL_STR ""
29 #endif
30
31 #ifdef BUILD_ID
32 #define BUILD_ID_STR " " BUILD_ID
33 #else
34 #define BUILD_ID_STR ""
35 #endif
36
37 #if defined(BUILD_ID) || defined(BUILD_SERIAL)
38 #define BUILD_STRING " [build" BUILD_ID_STR BUILD_SERIAL_STR "]"
39 #else
40 #define BUILD_STRING ""
41 #endif
42
43 /*
44  * Print out configuration
45  *
46  */
47 void print_config ( void ) {
48         printf( "Etherboot " VERSION BUILD_STRING
49                 " (GPL) http://etherboot.org\n"
50                 "Drivers: " );
51         print_drivers();
52         printf( "  Images: " );
53         print_images();
54
55 #ifdef PXE_EXPORT /* All possible exports */
56         printf ( "  Exports: PXE  " );
57 #endif /* All possible exports */
58
59 #if     (BOOTP_SERVER != 67) || (BOOTP_CLIENT != 68)
60         printf( "[DHCP ports %d and %d] ",
61                 BOOTP_SERVER, BOOTP_CLIENT);
62 #endif
63         putchar('\n');
64         printf( "Protocols: "
65 #ifdef RARP_NOT_BOOTP
66                 "RARP "
67 #else
68 # ifndef NO_DHCP_SUPPORT
69                 "DHCP "
70 # else
71                 "BOOTP "
72 # endif
73 #endif
74 #ifdef DOWNLOAD_PROTO_TFTP
75                 "TFTP "
76 #endif
77 #ifdef  DOWNLOAD_PROTO_FSP
78                 "FSP "
79 #endif                          
80 #ifdef  DOWNLOAD_PROTO_NFS
81                 "NFS "
82 #endif
83 #ifdef  DOWNLOAD_PROTO_SLAM
84                 "SLAM "
85 #endif
86 #ifdef  DOWNLOAD_PROTO_TFTM
87                 "TFTM "
88 #endif
89 #ifdef  DOWNLOAD_PROTO_HTTP
90                 "HTTP "
91 #endif
92 #ifdef  PROTO_LACP
93                 "LACP "
94 #endif
95 #ifdef DNS_RESOLVER
96                 "DNS "
97 #endif
98                 "\n");
99 #ifdef KEEP_IT_REAL
100         printf( "Keeping It Real [EXPERIMENTAL]\n" );
101 #endif
102 }
103
104 /*
105  * Drag in all requested console types
106  *
107  * CONSOLE_DUAL sets both CONSOLE_FIRMWARE and CONSOLE_SERIAL for
108  * legacy compatibility.
109  *
110  */
111
112 #ifdef  CONSOLE_DUAL
113 #undef  CONSOLE_FIRMWARE
114 #define CONSOLE_FIRMWARE        1
115 #undef  CONSOLE_SERIAL
116 #define CONSOLE_SERIAL          1
117 #endif
118
119 #ifdef CONSOLE_FIRMWARE
120 REQUIRE_OBJECT ( bios_console );
121 #endif
122
123 #ifdef CONSOLE_SERIAL
124 REQUIRE_OBJECT ( serial );
125 #endif
126
127 #ifdef CONSOLE_DIRECT_VGA
128 REQUIRE_OBJECT ( video_subr );
129 #endif
130
131 #ifdef CONSOLE_BTEXT
132 REQUIRE_OBJECT ( btext );
133 #endif
134
135 #ifdef CONSOLE_PC_KBD
136 REQUIRE_OBJECT ( pc_kbd );
137 #endif
138
139 /*
140  * Drag in all requested protocols
141  *
142  */
143 #ifdef DOWNLOAD_PROTO_TFTP
144 REQUIRE_OBJECT ( tftp );
145 #endif
146 #ifdef DOWNLOAD_PROTO_NFS
147 REQUIRE_OBJECT ( nfs );
148 #endif
149 #ifdef DOWNLOAD_PROTO_HTTP
150 REQUIRE_OBJECT ( http );
151 #endif
152 #ifdef DOWNLOAD_PROTO_TFTM
153 REQUIRE_OBJECT ( tftm );
154 #endif
155 #ifdef DOWNLOAD_PROTO_SLAM
156 REQUIRE_OBJECT ( slam );
157 #endif
158
159 /*
160  * Drag in any required resolvers
161  *
162  */
163 #ifdef DNS_RESOLVER
164 REQUIRE_OBJECT ( dns );
165 #endif
166
167 #ifdef NMB_RESOLVER
168 REQUIRE_OBJECT ( nmb );
169 #endif
170
171 /*
172  * Drag in all requested image formats
173  *
174  */
175 #ifdef TAGGED_IMAGE
176 REQUIRE_OBJECT ( nbi );
177 #endif
178 #ifdef ELF64_IMAGE
179 REQUIRE_OBJECT ( elf64 );
180 #endif
181 #ifdef ELF_IMAGE
182 REQUIRE_OBJECT ( elf );
183 #endif
184 #ifdef COFF_IMAGE
185 REQUIRE_OBJECT ( coff );
186 #endif
187 #ifdef IMAGE_FREEBSD
188 REQUIRE_OBJECT ( freebsd );
189 #endif
190 #ifdef  IMAGE_MULTIBOOT
191 REQUIRE_OBJECT ( multiboot );
192 #endif
193 #ifdef  AOUT_IMAGE
194 REQUIRE_OBJECT ( aout );
195 #endif
196 #ifdef  WINCE_IMAGE
197 REQUIRE_OBJECT ( wince );
198 #endif
199 #ifdef  PXE_IMAGE
200 REQUIRE_OBJECT ( pxe );
201 #endif