2007-12-25 Robert Millan <rmh@aybabtu.com>

* configure.ac: Search for possible unifont.hex locations, and
	define UNIFONT_HEX if found.

	* Makefile.in (UNIFONT_HEX): Define variable.
	(DATA): Rename to ...
	(PKGLIB): ... this.  Update all users.
	(PKGDATA): New variable.
	(pkgdata_IMAGES): Rename to ...
	(pkglib_IMAGES): ... this. Update all users.
	(pkgdata_MODULES): Rename to ...
	(pkglib_MODULES): ... this. Update all users.
	(pkgdata_PROGRAMS): Rename to ...
	(pkglib_PROGRAMS): ... this. Update all users.
	(pkgdata_DATA): Rename to ...
	(pkglib_DATA): ... this. Update all users.
	(CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
	(unicode.pff, ascii.pff): New rules.
	(all-local): Add `$(PKGDATA)' dependency.
	(install-local): Process `$(PKGDATA)'.

	* util/update-grub_lib.in (font_path): Search for *.pff files in
	a few more locations, including `${pkgdata}'.
This commit is contained in:
robertmh 2007-12-25 09:09:43 +00:00
parent 57e57e3167
commit 4931827fe4
17 changed files with 113 additions and 42 deletions

View File

@ -1,3 +1,28 @@
2007-12-25 Robert Millan <rmh@aybabtu.com>
* configure.ac: Search for possible unifont.hex locations, and
define UNIFONT_HEX if found.
* Makefile.in (UNIFONT_HEX): Define variable.
(DATA): Rename to ...
(PKGLIB): ... this. Update all users.
(PKGDATA): New variable.
(pkgdata_IMAGES): Rename to ...
(pkglib_IMAGES): ... this. Update all users.
(pkgdata_MODULES): Rename to ...
(pkglib_MODULES): ... this. Update all users.
(pkgdata_PROGRAMS): Rename to ...
(pkglib_PROGRAMS): ... this. Update all users.
(pkgdata_DATA): Rename to ...
(pkglib_DATA): ... this. Update all users.
(CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
(unicode.pff, ascii.pff): New rules.
(all-local): Add `$(PKGDATA)' dependency.
(install-local): Process `$(PKGDATA)'.
* util/update-grub_lib.in (font_path): Search for *.pff files in
a few more locations, including `${pkgdata}'.
2007-12-23 Robert Millan <rmh@aybabtu.com>
Patch from Bean <bean123ch@gmail.com>:

View File

@ -75,6 +75,7 @@ AWK = @AWK@
LIBCURSES = @LIBCURSES@
LIBLZO = @LIBLZO@
YACC = @YACC@
UNIFONT_HEX = @UNIFONT_HEX@
# Options.
enable_grub_emu = @enable_grub_emu@
@ -85,8 +86,9 @@ RMKFILES = $(addprefix conf/,common.rmk i386-pc.rmk powerpc-ieee1275.rmk \
sparc64-ieee1275.rmk i386-efi.rmk)
MKFILES = $(patsubst %.rmk,%.mk,$(RMKFILES))
DATA = $(pkgdata_IMAGES) $(pkgdata_MODULES) $(pkgdata_PROGRAMS) \
$(pkgdata_DATA) $(lib_DATA)
PKGLIB = $(pkglib_IMAGES) $(pkglib_MODULES) $(pkglib_PROGRAMS) \
$(pkglib_DATA) $(lib_DATA)
PKGDATA = $(pkgdata_DATA)
PROGRAMS = $(bin_UTILITIES) $(sbin_UTILITIES)
SCRIPTS = $(bin_SCRIPTS) $(sbin_SCRIPTS) $(update-grub_SCRIPTS)
@ -112,8 +114,8 @@ include $(srcdir)/conf/$(target_cpu)-$(platform).mk
### General targets.
CLEANFILES += moddep.lst command.lst fs.lst
pkgdata_DATA += moddep.lst command.lst fs.lst
CLEANFILES += $(pkglib_DATA) $(pkgdata_DATA)
pkglib_DATA += moddep.lst command.lst fs.lst
moddep.lst: $(DEFSYMFILES) $(UNDSYMFILES) genmoddep.awk
cat $(DEFSYMFILES) /dev/null \
| $(AWK) -f $(srcdir)/genmoddep.awk $(UNDSYMFILES) > $@ \
@ -125,18 +127,35 @@ command.lst: $(COMMANDFILES)
fs.lst: $(FSFILES)
cat $^ /dev/null | sort > $@
all-local: $(PROGRAMS) $(DATA) $(SCRIPTS) $(MKFILES)
ifeq (, $(UNIFONT_HEX))
else
pkgdata_DATA += unicode.pff ascii.pff
unicode.pff: $(UNIFONT_HEX)
ruby $(srcdir)/util/unifont2pff.rb $(UNIFONT_HEX) > $@
ascii.pff: $(UNIFONT_HEX)
ruby $(srcdir)/util/unifont2pff.rb 0-127 $(UNIFONT_HEX) > $@
endif
all-local: $(PROGRAMS) $(PKGLIB) $(PKGDATA) $(SCRIPTS) $(MKFILES)
install: install-local
install-local: all
$(mkinstalldirs) $(DESTDIR)$(pkglibdir)
@list='$(DATA)'; \
@list='$(PKGLIB)'; \
for file in $$list; do \
if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
dest="`echo $$file | sed 's,.*/,,'`"; \
$(INSTALL_DATA) $$dir$$file $(DESTDIR)$(pkglibdir)/$$dest; \
done
$(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
@list='$(PKGDATA)'; \
for file in $$list; do \
if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
dest="`echo $$file | sed 's,.*/,,'`"; \
$(INSTALL_DATA) $$dir$$file $(DESTDIR)$(pkgdatadir)/$$dest; \
done
$(mkinstalldirs) $(DESTDIR)$(bindir)
@list='$(bin_UTILITIES)'; for file in $$list; do \
if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
@ -182,11 +201,16 @@ install-strip:
$(MAKE) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" install
uninstall:
@list='$(DATA)'; \
@list='$(PKGLIB)'; \
for file in $$list; do \
dest="`echo $$file | sed 's,.*/,,'`"; \
rm -f $(DESTDIR)$(pkglibdir)/$$dest; \
done
@list='$(PKGDATA)'; \
for file in $$list; do \
dest="`echo $$file | sed 's,.*/,,'`"; \
rm -f $(DESTDIR)$(pkgdatadir)/$$dest; \
done
@list='$(bin_UTILITIES) $(bin_SCRIPTS)'; for file in $$list; do \
dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
rm -f $(DESTDIR)$(bindir)/$$dest; \

View File

@ -79,7 +79,7 @@ update-grub_DATA += util/grub.d/README
# Filing systems.
pkgdata_MODULES += fshelp.mod fat.mod ufs.mod ext2.mod ntfs.mod \
pkglib_MODULES += fshelp.mod fat.mod ufs.mod ext2.mod ntfs.mod \
ntfscomp.mod minix.mod hfs.mod jfs.mod iso9660.mod xfs.mod \
affs.mod sfs.mod hfsplus.mod
@ -812,7 +812,7 @@ hfsplus_mod_CFLAGS = $(COMMON_CFLAGS)
hfsplus_mod_LDFLAGS = $(COMMON_LDFLAGS)
# Partition maps.
pkgdata_MODULES += amiga.mod apple.mod pc.mod sun.mod acorn.mod gpt.mod
pkglib_MODULES += amiga.mod apple.mod pc.mod sun.mod acorn.mod gpt.mod
# For amiga.mod
amiga_mod_SOURCES = partmap/amiga.c
@ -1128,7 +1128,7 @@ gpt_mod_LDFLAGS = $(COMMON_LDFLAGS)
# Special disk structures
pkgdata_MODULES += raid.mod lvm.mod
pkglib_MODULES += raid.mod lvm.mod
# For raid.mod
raid_mod_SOURCES = disk/raid.c
@ -1235,7 +1235,7 @@ lvm_mod_CFLAGS = $(COMMON_CFLAGS)
lvm_mod_LDFLAGS = $(COMMON_LDFLAGS)
# Commands.
pkgdata_MODULES += hello.mod boot.mod terminal.mod ls.mod \
pkglib_MODULES += hello.mod boot.mod terminal.mod ls.mod \
cmp.mod cat.mod help.mod font.mod search.mod \
loopback.mod configfile.mod \
terminfo.mod test.mod blocklist.mod hexdump.mod
@ -2041,7 +2041,7 @@ hexdump_mod_CFLAGS = $(COMMON_CFLAGS)
hexdump_mod_LDFLAGS = $(COMMON_LDFLAGS)
# Misc.
pkgdata_MODULES += gzio.mod elf.mod
pkglib_MODULES += gzio.mod elf.mod
# For elf.mod.
elf_mod_SOURCES = kern/elf.c

View File

@ -79,7 +79,7 @@ update-grub_DATA += util/grub.d/README
# Filing systems.
pkgdata_MODULES += fshelp.mod fat.mod ufs.mod ext2.mod ntfs.mod \
pkglib_MODULES += fshelp.mod fat.mod ufs.mod ext2.mod ntfs.mod \
ntfscomp.mod minix.mod hfs.mod jfs.mod iso9660.mod xfs.mod \
affs.mod sfs.mod hfsplus.mod
@ -154,7 +154,7 @@ hfsplus_mod_CFLAGS = $(COMMON_CFLAGS)
hfsplus_mod_LDFLAGS = $(COMMON_LDFLAGS)
# Partition maps.
pkgdata_MODULES += amiga.mod apple.mod pc.mod sun.mod acorn.mod gpt.mod
pkglib_MODULES += amiga.mod apple.mod pc.mod sun.mod acorn.mod gpt.mod
# For amiga.mod
amiga_mod_SOURCES = partmap/amiga.c
@ -188,7 +188,7 @@ gpt_mod_LDFLAGS = $(COMMON_LDFLAGS)
# Special disk structures
pkgdata_MODULES += raid.mod lvm.mod
pkglib_MODULES += raid.mod lvm.mod
# For raid.mod
raid_mod_SOURCES = disk/raid.c
@ -201,7 +201,7 @@ lvm_mod_CFLAGS = $(COMMON_CFLAGS)
lvm_mod_LDFLAGS = $(COMMON_LDFLAGS)
# Commands.
pkgdata_MODULES += hello.mod boot.mod terminal.mod ls.mod \
pkglib_MODULES += hello.mod boot.mod terminal.mod ls.mod \
cmp.mod cat.mod help.mod font.mod search.mod \
loopback.mod configfile.mod \
terminfo.mod test.mod blocklist.mod hexdump.mod
@ -287,7 +287,7 @@ hexdump_mod_CFLAGS = $(COMMON_CFLAGS)
hexdump_mod_LDFLAGS = $(COMMON_LDFLAGS)
# Misc.
pkgdata_MODULES += gzio.mod elf.mod
pkglib_MODULES += gzio.mod elf.mod
# For elf.mod.
elf_mod_SOURCES = kern/elf.c

View File

@ -248,7 +248,7 @@ grub-install: util/i386/efi/grub-install.in config.status
# Modules.
pkgdata_MODULES = kernel.mod normal.mod _chain.mod chain.mod \
pkglib_MODULES = kernel.mod normal.mod _chain.mod chain.mod \
_linux.mod linux.mod cpuid.mod
# For kernel.mod.

View File

@ -76,7 +76,7 @@ sbin_SCRIPTS = grub-install
grub_install_SOURCES = util/i386/efi/grub-install.in
# Modules.
pkgdata_MODULES = kernel.mod normal.mod _chain.mod chain.mod \
pkglib_MODULES = kernel.mod normal.mod _chain.mod chain.mod \
_linux.mod linux.mod cpuid.mod
# For kernel.mod.

View File

@ -5,7 +5,7 @@ COMMON_CFLAGS = -ffreestanding -mrtd -mregparm=3
COMMON_LDFLAGS = -nostdlib -static -lgcc
# Images.
pkgdata_PROGRAMS = kernel.elf
pkglib_PROGRAMS = kernel.elf
# For kernel.elf.
kernel_elf_SOURCES = kern/i386/linuxbios/startup.S kern/i386/linuxbios/init.c \
@ -669,7 +669,7 @@ grub_emu-grub_emu_init.o: grub_emu_init.c $(grub_emu_init.c_DEPENDENCIES)
grub_emu_LDFLAGS = $(LIBCURSES)
# Modules.
pkgdata_MODULES = _linux.mod linux.mod normal.mod \
pkglib_MODULES = _linux.mod linux.mod normal.mod \
_multiboot.mod multiboot.mod play.mod \
cpuid.mod serial.mod ata.mod

View File

@ -5,7 +5,7 @@ COMMON_CFLAGS = -ffreestanding -mrtd -mregparm=3
COMMON_LDFLAGS = -nostdlib -static -lgcc
# Images.
pkgdata_PROGRAMS = kernel.elf
pkglib_PROGRAMS = kernel.elf
# For kernel.elf.
kernel_elf_SOURCES = kern/i386/linuxbios/startup.S kern/i386/linuxbios/init.c \
@ -95,7 +95,7 @@ grub_emu_SOURCES = commands/boot.c commands/cat.c commands/cmp.c \
grub_emu_LDFLAGS = $(LIBCURSES)
# Modules.
pkgdata_MODULES = _linux.mod linux.mod normal.mod \
pkglib_MODULES = _linux.mod linux.mod normal.mod \
_multiboot.mod multiboot.mod play.mod \
cpuid.mod serial.mod ata.mod

View File

@ -5,7 +5,7 @@ COMMON_CFLAGS = -fno-builtin -mrtd -mregparm=3 -m32
COMMON_LDFLAGS = -m32 -nostdlib
# Images.
pkgdata_IMAGES = boot.img diskboot.img kernel.img pxeboot.img lnxboot.img
pkglib_IMAGES = boot.img diskboot.img kernel.img pxeboot.img lnxboot.img
# For boot.img.
boot_img_SOURCES = boot/i386/pc/boot.S
@ -891,7 +891,7 @@ grub-mkrescue: util/i386/pc/grub-mkrescue.in config.status
# Modules.
pkgdata_MODULES = biosdisk.mod _chain.mod _linux.mod linux.mod normal.mod \
pkglib_MODULES = biosdisk.mod _chain.mod _linux.mod linux.mod normal.mod \
_multiboot.mod chain.mod multiboot.mod reboot.mod halt.mod \
vbe.mod vbetest.mod vbeinfo.mod video.mod gfxterm.mod \
videotest.mod play.mod bitmap.mod tga.mod cpuid.mod serial.mod ata.mod \

View File

@ -5,7 +5,7 @@ COMMON_CFLAGS = -fno-builtin -mrtd -mregparm=3 -m32
COMMON_LDFLAGS = -m32 -nostdlib
# Images.
pkgdata_IMAGES = boot.img diskboot.img kernel.img pxeboot.img lnxboot.img
pkglib_IMAGES = boot.img diskboot.img kernel.img pxeboot.img lnxboot.img
# For boot.img.
boot_img_SOURCES = boot/i386/pc/boot.S
@ -132,7 +132,7 @@ grub_install_SOURCES = util/i386/pc/grub-install.in
grub_mkrescue_SOURCES = util/i386/pc/grub-mkrescue.in
# Modules.
pkgdata_MODULES = biosdisk.mod _chain.mod _linux.mod linux.mod normal.mod \
pkglib_MODULES = biosdisk.mod _chain.mod _linux.mod linux.mod normal.mod \
_multiboot.mod chain.mod multiboot.mod reboot.mod halt.mod \
vbe.mod vbetest.mod vbeinfo.mod video.mod gfxterm.mod \
videotest.mod play.mod bitmap.mod tga.mod cpuid.mod serial.mod ata.mod \

View File

@ -22,7 +22,7 @@ kernel_syms.lst: $(addprefix include/grub/,$(kernel_elf_HEADERS)) config.h genke
/bin/sh genkernsyms.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1)
# Programs
pkgdata_PROGRAMS = kernel.elf
pkglib_PROGRAMS = kernel.elf
# Utilities.
bin_UTILITIES = grub-mkimage
@ -665,7 +665,7 @@ grub-install: util/powerpc/ieee1275/grub-install.in config.status
# Modules.
pkgdata_MODULES = halt.mod \
pkglib_MODULES = halt.mod \
_linux.mod \
linux.mod \
normal.mod \

View File

@ -22,7 +22,7 @@ kernel_syms.lst: $(addprefix include/grub/,$(kernel_elf_HEADERS)) config.h genke
/bin/sh genkernsyms.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1)
# Programs
pkgdata_PROGRAMS = kernel.elf
pkglib_PROGRAMS = kernel.elf
# Utilities.
bin_UTILITIES = grub-mkimage
@ -101,7 +101,7 @@ sbin_SCRIPTS = grub-install
grub_install_SOURCES = util/powerpc/ieee1275/grub-install.in
# Modules.
pkgdata_MODULES = halt.mod \
pkglib_MODULES = halt.mod \
_linux.mod \
linux.mod \
normal.mod \

View File

@ -26,7 +26,7 @@ kernel_syms.lst: $(addprefix include/grub/,$(kernel_elf_HEADERS)) config.h genke
/bin/sh genkernsyms.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1)
# Programs
pkgdata_PROGRAMS = kernel.elf
pkglib_PROGRAMS = kernel.elf
# Utilities.
#bin_UTILITIES = grub-mkimage
@ -176,7 +176,7 @@ kernel_elf_LDFLAGS = -mno-app-regs -nostdlib -Wl,-N,-Ttext,0x200000,-Bstatic,-me
# Modules.
#_linux.mod linux.mod
pkgdata_MODULES = fat.mod ufs.mod ext2.mod minix.mod \
pkglib_MODULES = fat.mod ufs.mod ext2.mod minix.mod \
hfs.mod jfs.mod normal.mod hello.mod font.mod ls.mod \
boot.mod cmp.mod cat.mod terminal.mod fshelp.mod amiga.mod apple.mod \
pc.mod suspend.mod loopback.mod help.mod reboot.mod halt.mod sun.mod \

View File

@ -26,7 +26,7 @@ kernel_syms.lst: $(addprefix include/grub/,$(kernel_elf_HEADERS)) config.h genke
/bin/sh genkernsyms.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1)
# Programs
pkgdata_PROGRAMS = kernel.elf
pkglib_PROGRAMS = kernel.elf
# Utilities.
#bin_UTILITIES = grub-mkimage
@ -78,7 +78,7 @@ kernel_elf_LDFLAGS = -mno-app-regs -nostdlib -Wl,-N,-Ttext,0x200000,-Bstatic,-me
# Modules.
#_linux.mod linux.mod
pkgdata_MODULES = fat.mod ufs.mod ext2.mod minix.mod \
pkglib_MODULES = fat.mod ufs.mod ext2.mod minix.mod \
hfs.mod jfs.mod normal.mod hello.mod font.mod ls.mod \
boot.mod cmp.mod cat.mod terminal.mod fshelp.mod amiga.mod apple.mod \
pc.mod suspend.mod loopback.mod help.mod reboot.mod halt.mod sun.mod \

12
configure vendored
View File

@ -667,6 +667,7 @@ target_os
platform
CMP
YACC
UNIFONT_HEX
INSTALL_PROGRAM
INSTALL_SCRIPT
INSTALL_DATA
@ -2071,6 +2072,14 @@ echo "$as_me: error: bison is not found" >&2;}
{ (exit 1); exit 1; }; }
fi
for file in /usr/share/unifont/unifont.hex ; do
if test -e $file ; then
UNIFONT_HEX=$file
break
fi
done
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
# incompatible versions:
@ -8817,6 +8826,7 @@ target_os!$target_os$ac_delim
platform!$platform$ac_delim
CMP!$CMP$ac_delim
YACC!$YACC$ac_delim
UNIFONT_HEX!$UNIFONT_HEX$ac_delim
INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
INSTALL_DATA!$INSTALL_DATA$ac_delim
@ -8848,7 +8858,7 @@ LIBOBJS!$LIBOBJS$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 81; then
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 82; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5

View File

@ -103,6 +103,13 @@ if test "x$YACC" = x; then
AC_MSG_ERROR([bison is not found])
fi
for file in /usr/share/unifont/unifont.hex ; do
if test -e $file ; then
AC_SUBST([UNIFONT_HEX], [$file])
break
fi
done
AC_PROG_INSTALL
AC_PROG_AWK
AC_PROG_MAKE_SET

View File

@ -18,7 +18,9 @@ transform="@program_transform_name@"
prefix=@prefix@
exec_prefix=@exec_prefix@
datadir=@datadir@
sbindir=@sbindir@
pkgdatadir=${datadir}/`echo @PACKAGE_TARNAME@ | sed "${transform}"`
grub_probe=${sbindir}/`echo grub-probe | sed ${transform}`
@ -98,12 +100,15 @@ font_path ()
# Prefer system path for space reasons (/boot/grub might be a very small
# partition in case of OpenFirmware, etc).
for i in /usr/share/grub/unifont.pff /boot/grub/unifont.pff ; do
if path=`convert_system_path_to_grub_path $i` ; then
GRUB_FONT_PATH="${path}"
echo "${GRUB_FONT_PATH}"
return 0
fi
for dir in ${pkgdatadir} /usr/share/grub /boot/grub ; do
# Prefer complete fonts over incomplete ones.
for basename in unicode unifont ascii ; do
if path=`convert_system_path_to_grub_path ${dir}/${basename}.pff` ; then
GRUB_FONT_PATH="${path}"
echo "${GRUB_FONT_PATH}"
return 0
fi
done
done
return 1