/* * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2, or (at * your option) any later version. */ #include #include /* * Build ID string calculations * */ #undef XSTR #undef STR #define XSTR(s) STR(s) #define STR(s) #s #ifdef BUILD_SERIAL #include "config/.buildserial.h" #define BUILD_SERIAL_STR " #" XSTR(BUILD_SERIAL_NUM) #else #define BUILD_SERIAL_STR "" #endif #ifdef BUILD_ID #define BUILD_ID_STR " " BUILD_ID #else #define BUILD_ID_STR "" #endif #if defined(BUILD_ID) || defined(BUILD_SERIAL) #define BUILD_STRING " [build" BUILD_ID_STR BUILD_SERIAL_STR "]" #else #define BUILD_STRING "" #endif /* * Drag in all requested console types * */ #ifdef CONSOLE_PCBIOS REQUIRE_OBJECT ( bios_console ); #endif #ifdef CONSOLE_SERIAL REQUIRE_OBJECT ( serial_console ); #endif #ifdef CONSOLE_DIRECT_VGA REQUIRE_OBJECT ( video_subr ); #endif #ifdef CONSOLE_BTEXT REQUIRE_OBJECT ( btext ); #endif #ifdef CONSOLE_PC_KBD REQUIRE_OBJECT ( pc_kbd ); #endif #ifdef CONSOLE_SYSLOG REQUIRE_OBJECT ( syslog ); #endif #ifdef CONSOLE_EFI REQUIRE_OBJECT ( efi_console ); #endif /* * Drag in all requested network protocols * */ #ifdef NET_PROTO_IPV4 REQUIRE_OBJECT ( ipv4 ); #endif /* * Drag in all requested download protocols * */ #ifdef DOWNLOAD_PROTO_TFTP REQUIRE_OBJECT ( tftp ); #endif #ifdef DOWNLOAD_PROTO_NFS REQUIRE_OBJECT ( nfs ); #endif #ifdef DOWNLOAD_PROTO_HTTP REQUIRE_OBJECT ( http ); #endif #ifdef DOWNLOAD_PROTO_HTTPS REQUIRE_OBJECT ( https ); #endif #ifdef DOWNLOAD_PROTO_FTP REQUIRE_OBJECT ( ftp ); #endif #ifdef DOWNLOAD_PROTO_TFTM REQUIRE_OBJECT ( tftm ); #endif #ifdef DOWNLOAD_PROTO_SLAM REQUIRE_OBJECT ( slam ); #endif /* * Drag in all requested SAN boot protocols * */ #ifdef SANBOOT_PROTO_ISCSI REQUIRE_OBJECT ( iscsiboot ); #endif #ifdef SANBOOT_PROTO_AOE REQUIRE_OBJECT ( aoeboot ); #endif /* * Drag in all requested resolvers * */ #ifdef DNS_RESOLVER REQUIRE_OBJECT ( dns ); #endif #ifdef NMB_RESOLVER REQUIRE_OBJECT ( nmb ); #endif /* * Drag in all requested image formats * */ #ifdef IMAGE_NBI REQUIRE_OBJECT ( nbi ); #endif #ifdef IMAGE_ELF REQUIRE_OBJECT ( elfboot ); #endif #ifdef IMAGE_FREEBSD REQUIRE_OBJECT ( freebsd ); #endif #ifdef IMAGE_MULTIBOOT REQUIRE_OBJECT ( multiboot ); #endif #ifdef IMAGE_AOUT REQUIRE_OBJECT ( aout ); #endif #ifdef IMAGE_WINCE REQUIRE_OBJECT ( wince ); #endif #ifdef IMAGE_PXE REQUIRE_OBJECT ( pxe_image ); #endif #ifdef IMAGE_SCRIPT REQUIRE_OBJECT ( script ); #endif #ifdef IMAGE_BZIMAGE REQUIRE_OBJECT ( bzimage ); #endif #ifdef IMAGE_ELTORITO REQUIRE_OBJECT ( eltorito ); #endif #ifdef IMAGE_COMBOOT REQUIRE_OBJECT ( comboot ); REQUIRE_OBJECT ( com32 ); REQUIRE_OBJECT ( comboot_call ); REQUIRE_OBJECT ( com32_call ); REQUIRE_OBJECT ( com32_wrapper ); REQUIRE_OBJECT ( comboot_resolv ); #endif #ifdef IMAGE_EFI REQUIRE_OBJECT ( efi_image ); #endif /* * Drag in all requested commands * */ #ifdef AUTOBOOT_CMD REQUIRE_OBJECT ( autoboot_cmd ); #endif #ifdef NVO_CMD REQUIRE_OBJECT ( nvo_cmd ); #endif #ifdef CONFIG_CMD REQUIRE_OBJECT ( config_cmd ); #endif #ifdef IFMGMT_CMD REQUIRE_OBJECT ( ifmgmt_cmd ); #endif #ifdef ROUTE_CMD REQUIRE_OBJECT ( route_cmd ); #endif #ifdef IMAGE_CMD REQUIRE_OBJECT ( image_cmd ); #endif #ifdef DHCP_CMD REQUIRE_OBJECT ( dhcp_cmd ); #endif #ifdef SANBOOT_CMD REQUIRE_OBJECT ( sanboot_cmd ); #endif /* * Drag in miscellaneous objects * */ #ifdef NULL_TRAP REQUIRE_OBJECT ( nulltrap ); #endif #ifdef GDBSERIAL REQUIRE_OBJECT ( gdbidt ); REQUIRE_OBJECT ( gdbserial ); REQUIRE_OBJECT ( gdbstub_cmd ); #endif #ifdef GDBUDP REQUIRE_OBJECT ( gdbidt ); REQUIRE_OBJECT ( gdbudp ); REQUIRE_OBJECT ( gdbstub_cmd ); #endif /* * Drag in objects that are always required, but not dragged in via * symbol dependencies. * */ REQUIRE_OBJECT ( device ); REQUIRE_OBJECT ( embedded );