* gentpl.py: New groups terminfoinkernel and terminfomodule.
* grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
and terminfo.h when needed.
* grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
(terminfo): Enable only on terminfokernel.
(extcmd): Likewise.
* include/grub/extcmd.h: Add missing EXPORT_FUNC.
* include/grub/lib/arg.h: Likewise.
* grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
incorrect usage of ->.
+2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Put terminfo into core on ieee1275 and yeeloong (needed for console).
+
+ * gentpl.py: New groups terminfoinkernel and terminfomodule.
+ * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
+ and terminfo.h when needed.
+ * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
+ term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
+ (terminfo): Enable only on terminfokernel.
+ (extcmd): Likewise.
+ * include/grub/extcmd.h: Add missing EXPORT_FUNC.
+ * include/grub/lib/arg.h: Likewise.
+ * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
+ incorrect usage of ->.
+
2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
GROUPS["videomodules"] = GRUB_PLATFORMS[:];
for i in GROUPS["videoinkernel"]: GROUPS["videomodules"].remove(i)
+# Similar for terminfo
+GROUPS["terminfoinkernel"] = ["mips_yeeloong"] + GROUPS["ieee1275"];
+GROUPS["terminfomodule"] = GRUB_PLATFORMS[:];
+for i in GROUPS["terminfoinkernel"]: GROUPS["terminfomodule"].remove(i)
+
# Miscelaneous groups schedulded to disappear in future
GROUPS["nosparc64"] = GRUB_PLATFORMS[:]; GROUPS["nosparc64"].remove("sparc64_ieee1275")
GROUPS["i386_coreboot_multiboot_qemu"] = ["i386_coreboot", "i386_multiboot", "i386_qemu"]
if COND_i386_ieee1275
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/ieee1275/ieee1275.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/pit.h
endif
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/pci.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/serial.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/loader.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h
endif
if COND_powerpc_ieee1275
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/ieee1275/ieee1275.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h
endif
if COND_sparc64_ieee1275
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/ieee1275/ieee1275.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/sparc64/ieee1275/ieee1275.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
+KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h
endif
if COND_emu
ieee1275 = kern/ieee1275/openfw.c;
ieee1275 = term/ieee1275/ofconsole.c;
- ieee1275 = term/terminfo.c;
- ieee1275 = term/tparm.c;
- mips = term/terminfo.c;
- mips = term/tparm.c;
+ terminfoinkernel = term/terminfo.c;
+ terminfoinkernel = term/tparm.c;
+ terminfoinkernel = commands/extcmd.c;
+ terminfoinkernel = lib/arg.c;
i386 = kern/i386/dl.c;
emu = kern/emu/mm.c;
emu = kern/emu/time.c;
- videoinkernel = lib/arg.c;
videoinkernel = term/gfxterm.c;
- videoinkernel = commands/extcmd.c;
videoinkernel = font/font.c;
videoinkernel = font/font_cmd.c;
videoinkernel = io/bufio.c;
name = extcmd;
common = commands/extcmd.c;
common = lib/arg.c;
+ enable = terminfomodule;
};
module = {
name = terminfo;
common = term/terminfo.c;
common = term/tparm.c;
+ enable = terminfomodule;
};
module = {
if (! grub_ieee1275_get_property (options, "screen-#columns",
val, lval, 0))
- grub_ofconsole_terminfo_output->width
+ grub_ofconsole_terminfo_output.width
= (grub_uint8_t) grub_strtoul (val, 0, 10);
}
if (! grub_ieee1275_get_property_length (options, "screen-#rows", &lval)
char val[lval];
if (! grub_ieee1275_get_property (options, "screen-#rows",
val, lval, 0))
- grub_ofconsole_terminfo_output->height
+ grub_ofconsole_terminfo_output.height
= (grub_uint8_t) grub_strtoul (val, 0, 10);
}
}
/* Use a small console by default. */
- if (! grub_ofconsole_terminfo_output->width)
- grub_ofconsole_terminfo_output->width = 80;
- if (! grub_ofconsole_terminfo_output->height)
- grub_ofconsole_terminfo_output->height = 24;
+ if (! grub_ofconsole_terminfo_output.width)
+ grub_ofconsole_terminfo_output.width = 80;
+ if (! grub_ofconsole_terminfo_output.height)
+ grub_ofconsole_terminfo_output.height = 24;
}
static void
};
typedef struct grub_extcmd_context *grub_extcmd_context_t;
-grub_extcmd_t grub_register_extcmd (const char *name,
- grub_extcmd_func_t func,
- grub_command_flags_t flags,
- const char *summary,
- const char *description,
- const struct grub_arg_option *parser);
-
-grub_extcmd_t grub_register_extcmd_prio (const char *name,
- grub_extcmd_func_t func,
- grub_command_flags_t flags,
- const char *summary,
- const char *description,
- const struct grub_arg_option *parser,
- int prio);
-
-void grub_unregister_extcmd (grub_extcmd_t cmd);
-
-grub_err_t
-grub_extcmd_dispatcher (struct grub_command *cmd, int argc, char **args,
- struct grub_script *script);
+grub_extcmd_t EXPORT_FUNC(grub_register_extcmd) (const char *name,
+ grub_extcmd_func_t func,
+ grub_command_flags_t flags,
+ const char *summary,
+ const char *description,
+ const struct grub_arg_option *parser);
+
+grub_extcmd_t EXPORT_FUNC(grub_register_extcmd_prio) (const char *name,
+ grub_extcmd_func_t func,
+ grub_command_flags_t flags,
+ const char *summary,
+ const char *description,
+ const struct grub_arg_option *parser,
+ int prio);
+
+void EXPORT_FUNC(grub_unregister_extcmd) (grub_extcmd_t cmd);
+
+grub_err_t EXPORT_FUNC(grub_extcmd_dispatcher) (struct grub_command *cmd,
+ int argc, char **args,
+ struct grub_script *script);
#endif /* ! GRUB_EXTCMD_HEADER */
int grub_arg_parse (struct grub_extcmd *cmd, int argc, char **argv,
struct grub_arg_list *usr, char ***args, int *argnum);
-void grub_arg_show_help (struct grub_extcmd *cmd);
+void EXPORT_FUNC(grub_arg_show_help) (struct grub_extcmd *cmd);
struct grub_arg_list* grub_arg_list_alloc (struct grub_extcmd *cmd,
int argc, char *argv[]);