d05f0df3eb
* Makefile.in (pkglib_DATA): Add handler.lst. (handler.lst): New rule. * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c. * conf/i386-coreboot.rmk: Likewise. * conf/i386-ieee1275.rmk: Likewise. * conf/i386-efi.rmk: Likewise. * conf/x86_64-efi.rmk: Likewise. * conf/powerpc-ieee1275.rmk: Likewise. * conf/sparc64-ieee1275.rmk: Likewise. * genhandlerlist.sh: New file. * genmk.rb: Add rules to generate handler.lst. * include/grub/normal.h (grub_file_getline): New function definition. (read_handler_list): Likewise. (free_handler_list): Likewise. * include/grub/term.h (grub_term_register_input): Add name parameter for auto generation of handler.lst. (grub_term_register_output): Likewise. * normal/handler.c: New file. * normal/main.c (get_line): Renamed to grub_file_getline. (read_config_file): Use the newly renamed grub_file_getline. (read_command_list): Likewise. (read_fs_list): Likewise. (grub_normal_execute): Call read_handler_list to parse handler.lst. (GRUB_MOD_FINI): Call free_handler_list to free handler list. * term/efi/console.c (grub_console_init): Add name parameter for auto generation of handler.lst. * term/gfxterm.c: Likewise. * term/i386/pc/at_keyboard.c: Likewise. * term/i386/pc/console.c: Likewise. * term/i386/pc/serial.c: Likewise. * term/i386/pc/vesafb.c: Likewise. * term/i386/pc/vga.c: Likewise. * term/i386/pc/vga_text.c: Likewise. * term/ieee1275/ofconsole.c: Likewise. * term/usb_keyboard.c: Likewise.
23 lines
1,019 B
Bash
23 lines
1,019 B
Bash
#! /bin/sh
|
|
#
|
|
# Copyright (C) 2009 Free Software Foundation, Inc.
|
|
#
|
|
# This script is free software; the author
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
# with or without modifications, as long as this notice is preserved.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
# PARTICULAR PURPOSE.
|
|
|
|
# Read source code from stdin and detect command names.
|
|
|
|
module=$1
|
|
|
|
grep -v "^#" | sed -n \
|
|
-e "/grub_parser_register *( *\"/{s/.*( *\"\([^\"]*\)\".*/parser.\1: $module/;p;}" \
|
|
-e "/grub_reader_register *( *\"/{s/.*( *\"\([^\"]*\)\".*/reader.\1: $module/;p;}" \
|
|
-e "/grub_term_register_input *( *\"/{s/.*( *\"\([^\"]*\)\".*/terminal_input.\1: $module/;p;}" \
|
|
-e "/grub_term_register_output *( *\"/{s/.*( *\"\([^\"]*\)\".*/terminal_output.\1: $module/;p;}" \
|
|
-e "/grub_menu_viewer_register *( *\"/{s/.*( *\"\([^\"]*\)\".*/menu_viewer.\1: $module/;p;}"
|