Move platform-dependent files from $prefix to $prefix/$platform.

* config.h.in (GRUB_TARGET_CPU): New definition.
	(GRUB_PLATFORM): Likewise.
	* configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
	* grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
	* grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
	* grub-core/kern/dl.c (grub_dl_load): Likewise.
	* grub-core/normal/autofs.c (read_fs_list): Likewise.
	* grub-core/normal/crypto.c (read_crypto_list): Likewise.
	* grub-core/normal/dyncmd.c (read_command_list): Likewise.
	* grub-core/normal/term.c (read_terminal_list): Likewise.
	* grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
	$prefix/locale.
	(grub_gettext_init_ext): Likewise.
	* grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
	grub_platform.
	* util/grub-install.in: Update directories.
	* util/grub-mknetdir.in: Likewise.
	* util/grub-mkrescue.in: Likewise.
This commit is contained in:
Vladimir 'phcoder' Serbinenko 2012-02-04 21:47:29 +01:00
parent db606889a9
commit 92cd0f6e45
15 changed files with 118 additions and 73 deletions

View file

@ -286,14 +286,14 @@ grub_mofile_open (const char *filename)
/* Returning grub_file_t would be more natural, but grub_mofile_open assigns
to fd_mo anyway ... */
static grub_err_t
grub_mofile_open_lang (const char *locale_dir, const char *locale)
grub_mofile_open_lang (const char *part1, const char *part2, const char *locale)
{
char *mo_file;
grub_err_t err;
/* mo_file e.g.: /boot/grub/locale/ca.mo */
mo_file = grub_xasprintf ("%s/%s.mo", locale_dir, locale);
mo_file = grub_xasprintf ("%s%s/%s.mo", part1, part2, locale);
if (!mo_file)
return grub_errno;
@ -317,20 +317,23 @@ grub_mofile_open_lang (const char *locale_dir, const char *locale)
static grub_err_t
grub_gettext_init_ext (const char *locale)
{
const char *locale_dir;
const char *part1, *part2;
grub_err_t err;
if (!locale)
return 0;
locale_dir = grub_env_get ("locale_dir");
if (locale_dir == NULL)
part1 = grub_env_get ("locale_dir");
part2 = "";
if (!part1)
{
grub_dprintf ("gettext", "locale_dir variable is not set up.\n");
return 0;
part1 = grub_env_get ("prefix");
if (!part1)
return 0;
part2 = "/locale";
}
err = grub_mofile_open_lang (locale_dir, locale);
err = grub_mofile_open_lang (part1, part2, locale);
/* ll_CC didn't work, so try ll. */
if (err)
@ -342,7 +345,7 @@ grub_gettext_init_ext (const char *locale)
{
*underscore = '\0';
grub_errno = GRUB_ERR_NONE;
err = grub_mofile_open_lang (locale_dir, lang);
err = grub_mofile_open_lang (part1, part2, lang);
}
grub_free (lang);