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.
13 #include "config/general.h"
16 * Build ID string calculations
21 #define XSTR(s) STR(s)
25 #include "config/.buildserial.h"
26 #define BUILD_SERIAL_STR " #" XSTR(BUILD_SERIAL_NUM)
28 #define BUILD_SERIAL_STR ""
32 #define BUILD_ID_STR " " BUILD_ID
34 #define BUILD_ID_STR ""
37 #if defined(BUILD_ID) || defined(BUILD_SERIAL)
38 #define BUILD_STRING " [build" BUILD_ID_STR BUILD_SERIAL_STR "]"
40 #define BUILD_STRING ""
44 * Drag in all requested console types
46 * CONSOLE_DUAL sets both CONSOLE_FIRMWARE and CONSOLE_SERIAL for
47 * legacy compatibility.
52 #undef CONSOLE_FIRMWARE
53 #define CONSOLE_FIRMWARE 1
55 #define CONSOLE_SERIAL 1
58 #ifdef CONSOLE_FIRMWARE
59 REQUIRE_OBJECT ( bios_console );
63 REQUIRE_OBJECT ( serial );
66 #ifdef CONSOLE_DIRECT_VGA
67 REQUIRE_OBJECT ( video_subr );
71 REQUIRE_OBJECT ( btext );
75 REQUIRE_OBJECT ( pc_kbd );
79 * Drag in all requested protocols
82 #ifdef DOWNLOAD_PROTO_TFTP
83 REQUIRE_OBJECT ( tftp );
85 #ifdef DOWNLOAD_PROTO_NFS
86 REQUIRE_OBJECT ( nfs );
88 #ifdef DOWNLOAD_PROTO_HTTP
89 REQUIRE_OBJECT ( http );
91 #ifdef DOWNLOAD_PROTO_TFTM
92 REQUIRE_OBJECT ( tftm );
94 #ifdef DOWNLOAD_PROTO_SLAM
95 REQUIRE_OBJECT ( slam );
99 * Drag in any required resolvers
103 REQUIRE_OBJECT ( dns );
107 REQUIRE_OBJECT ( nmb );
111 * Drag in all requested image formats
115 REQUIRE_OBJECT ( nbi );
118 REQUIRE_OBJECT ( elf64 );
121 REQUIRE_OBJECT ( elf );
124 REQUIRE_OBJECT ( coff );
127 REQUIRE_OBJECT ( freebsd );
129 #ifdef IMAGE_MULTIBOOT
130 REQUIRE_OBJECT ( multiboot );
133 REQUIRE_OBJECT ( aout );
136 REQUIRE_OBJECT ( wince );
139 REQUIRE_OBJECT ( pxe );
143 * Drag in all requested commands
147 REQUIRE_OBJECT ( nvo_cmd );
150 REQUIRE_OBJECT ( config_cmd );
154 * Drag in miscellaneous objects
158 REQUIRE_OBJECT ( nulltrap );