2007-06-27 Robert Millan
* geninitheader.sh: Process file specified in first parameter rather than hardcoding grub_modules_init.lst. * geninit.sh: Likewise. Also, construct header name dynamicaly rather than hardcoding grub_modules_init.h. * conf/common.rmk: Rename grub_modules_init.[ch] files associated with grub-emu to grub_emu_init.[ch]. Add rules to build analogous grub_probe_init.[ch] and grub_setup_init.[ch]. * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace grub_modules_init.h with grub_emu_init.h. (grub_probe_*): Add new grub_probe_init.[ch] files. * conf/i386-efi.rmk: Likewise. * conf/i386-pc.rmk: Likewise. (grub_setup_*): Add new grub_setup_init.[ch] files. * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h. * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all() to initialize modules rather than a list of hardcoded functions. * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use grub_init_all() to initialize modules rather than a list of hardcoded functions. diff -ur -x common.mk -x i386-pc.mk -x i386-efi.mk -x powerpc-ieee1275.mk grub2-1.95+20070626.old/conf/common.rmk grub2-1.95+20070626/conf/common.rmk --- grub2-1.95+20070626.old/conf/common.rmk 2007-05-20 11:10:06.000000000 +0200 +++ grub2-1.95+20070626/conf/common.rmk 2007-06-27 21:49:57.000000000 +0200 @@ -6,18 +6,44 @@ DISTCLEANFILES += grub_script.tab.c grub_script.tab.h # For grub-emu. -grub_modules_init.lst: geninit.sh $(filter-out grub_emu_init.c,$(grub_emu_SOURCES)) +grub_emu_init.lst: geninit.sh $(filter-out grub_emu_init.c,$(grub_emu_SOURCES)) rm -f $@; grep GRUB_MOD_INIT $(filter %.c,$^) /dev/null > $@ -DISTCLEANFILES += grub_modules_init.lst +DISTCLEANFILES += grub_emu_init.lst -grub_modules_init.h: $(filter-out grub_emu_init.c,$(grub_emu_SOURCES)) geninitheader.sh grub_modules_init.lst - rm -f $@; sh $(srcdir)/geninitheader.sh > $@ -DISTCLEANFILES += grub_modules_init.h +grub_emu_init.h: grub_emu_init.lst $(filter-out grub_emu_init.c,$(grub_emu_SOURCES)) geninitheader.sh + rm -f $@; sh $(srcdir)/geninitheader.sh $< > $@ +DISTCLEANFILES += grub_emu_init.h -grub_emu_init.c: $(filter-out grub_emu_init.c,$(grub_emu_SOURCES)) geninit.sh grub_modules_init.lst grub_modules_init.h - rm -f $@; sh $(srcdir)/geninit.sh $(filter %.c,$^) > $@ +grub_emu_init.c: grub_emu_init.lst $(filter-out grub_emu_init.c,$(grub_emu_SOURCES)) geninit.sh grub_emu_init.h + rm -f $@; sh $(srcdir)/geninit.sh $< $(filter %.c,$^) > $@ DISTCLEANFILES += grub_emu_init.c +# For grub-probe. +grub_probe_init.lst: geninit.sh $(filter-out grub_probe_init.c,$(grub_probe_SOURCES)) + rm -f $@; grep GRUB_MOD_INIT $(filter %.c,$^) /dev/null > $@ +DISTCLEANFILES += grub_probe_init.lst + +grub_probe_init.h: grub_probe_init.lst $(filter-out grub_probe_init.c,$(grub_probe_SOURCES)) geninitheader.sh + rm -f $@; sh $(srcdir)/geninitheader.sh $< > $@ +DISTCLEANFILES += grub_probe_init.h + +grub_probe_init.c: grub_probe_init.lst $(filter-out grub_probe_init.c,$(grub_probe_SOURCES)) geninit.sh grub_probe_init.h + rm -f $@; sh $(srcdir)/geninit.sh $< $(filter %.c,$^) > $@ +DISTCLEANFILES += grub_probe_init.c + +# For grub-setup. +grub_setup_init.lst: geninit.sh $(filter-out grub_setup_init.c,$(grub_setup_SOURCES)) + rm -f $@; grep GRUB_MOD_INIT $(filter %.c,$^) /dev/null > $@ +DISTCLEANFILES += grub_setup_init.lst + +grub_setup_init.h: grub_setup_init.lst $(filter-out grub_setup_init.c,$(grub_setup_SOURCES)) geninitheader.sh + rm -f $@; sh $(srcdir)/geninitheader.sh $< > $@ +DISTCLEANFILES += grub_setup_init.h + +grub_setup_init.c: grub_setup_init.lst $(filter-out grub_setup_init.c,$(grub_setup_SOURCES)) geninit.sh grub_setup_init.h + rm -f $@; sh $(srcdir)/geninit.sh $< $(filter %.c,$^) > $@ +DISTCLEANFILES += grub_setup_init.c + # For update-grub update-grub: util/update-grub.in config.status ./config.status --file=$@:$< diff -ur -x common.mk -x i386-pc.mk -x i386-efi.mk -x powerpc-ieee1275.mk grub2-1.95+20070626.old/conf/i386-efi.rmk grub2-1.95+20070626/conf/i386-efi.rmk --- grub2-1.95+20070626.old/conf/i386-efi.rmk 2007-06-26 08:54:53.000000000 +0200 +++ grub2-1.95+20070626/conf/i386-efi.rmk 2007-06-27 21:36:59.000000000 +0200 @@ -27,6 +27,7 @@ grub_mkdevicemap_SOURCES = util/grub-mkdevicemap.c util/misc.c # For grub-probe. +grub_probe_DEPENDENCIES = grub_probe_init.h grub_probe_SOURCES = util/grub-probe.c \ util/biosdisk.c util/misc.c util/getroot.c \ kern/device.c kern/disk.c kern/err.c kern/misc.c fs/fat.c \ @@ -34,11 +35,11 @@ partmap/pc.c partmap/apple.c partmap/gpt.c \ fs/ufs.c fs/minix.c fs/hfs.c fs/jfs.c kern/fs.c \ kern/env.c fs/fshelp.c fs/xfs.c fs/affs.c fs/sfs.c fs/hfsplus.c \ - disk/lvm.c disk/raid.c + disk/lvm.c disk/raid.c grub_probe_init.c # For grub-emu. grub_emu_DEPENDENCIES = grub_script.tab.c grub_script.tab.h \ - grub_modules_init.h + grub_emu_init.h grub_emu_SOURCES = commands/boot.c commands/cat.c commands/cmp.c \ commands/configfile.c commands/help.c \ commands/terminal.c commands/ls.c commands/test.c \ diff -ur -x common.mk -x i386-pc.mk -x i386-efi.mk -x powerpc-ieee1275.mk grub2-1.95+20070626.old/conf/i386-pc.rmk grub2-1.95+20070626/conf/i386-pc.rmk --- grub2-1.95+20070626.old/conf/i386-pc.rmk 2007-06-26 08:54:53.000000000 +0200 +++ grub2-1.95+20070626/conf/i386-pc.rmk 2007-06-27 21:36:52.000000000 +0200 @@ -62,18 +62,20 @@ grub_mkimage_LDFLAGS = $(LIBLZO) # For grub-setup. +grub_setup_DEPENDENCIES = grub_setup_init.h grub_setup_SOURCES = util/i386/pc/grub-setup.c util/biosdisk.c \ util/misc.c util/getroot.c kern/device.c kern/disk.c \ kern/err.c kern/misc.c fs/fat.c fs/ext2.c fs/xfs.c fs/affs.c \ fs/sfs.c kern/parser.c kern/partition.c partmap/pc.c \ partmap/gpt.c fs/ufs.c fs/minix.c fs/hfs.c fs/jfs.c \ fs/hfsplus.c kern/file.c kern/fs.c kern/env.c fs/fshelp.c \ - util/raid.c util/lvm.c + util/raid.c util/lvm.c grub_setup_init.c # For grub-mkdevicemap. grub_mkdevicemap_SOURCES = util/grub-mkdevicemap.c util/misc.c # For grub-probe. +grub_probe_DEPENDENCIES = grub_probe_init.h grub_probe_SOURCES = util/grub-probe.c \ util/biosdisk.c util/misc.c util/getroot.c \ kern/device.c kern/disk.c kern/err.c kern/misc.c fs/fat.c \ @@ -81,11 +83,11 @@ partmap/pc.c partmap/apple.c partmap/gpt.c \ fs/ufs.c fs/minix.c fs/hfs.c fs/jfs.c kern/fs.c \ kern/env.c fs/fshelp.c fs/xfs.c fs/affs.c fs/sfs.c fs/hfsplus.c \ - disk/lvm.c disk/raid.c + disk/lvm.c disk/raid.c grub_probe_init.c # For grub-emu. grub_emu_DEPENDENCIES = grub_script.tab.c grub_script.tab.h \ - grub_modules_init.h + grub_emu_init.h grub_emu_SOURCES = commands/boot.c commands/cat.c commands/cmp.c \ commands/configfile.c commands/echo.c commands/help.c \ commands/terminal.c commands/ls.c commands/test.c \ diff -ur -x common.mk -x i386-pc.mk -x i386-efi.mk -x powerpc-ieee1275.mk grub2-1.95+20070626.old/conf/powerpc-ieee1275.rmk grub2-1.95+20070626/conf/powerpc-ieee1275.rmk --- grub2-1.95+20070626.old/conf/powerpc-ieee1275.rmk 2007-06-26 08:54:53.000000000 +0200 +++ grub2-1.95+20070626/conf/powerpc-ieee1275.rmk 2007-06-27 21:36:39.000000000 +0200 @@ -39,6 +39,7 @@ grub_mkdevicemap_SOURCES = util/grub-mkdevicemap.c util/misc.c # For grub-probe. +grub_probe_DEPENDENCIES = grub_probe_init.h grub_probe_SOURCES = util/grub-probe.c \ util/biosdisk.c util/misc.c util/getroot.c \ kern/device.c kern/disk.c kern/err.c kern/misc.c fs/fat.c \ @@ -46,11 +47,11 @@ partmap/pc.c partmap/apple.c partmap/gpt.c \ fs/ufs.c fs/minix.c fs/hfs.c fs/jfs.c kern/fs.c \ kern/env.c fs/fshelp.c fs/xfs.c fs/affs.c fs/sfs.c fs/hfsplus.c \ - disk/lvm.c disk/raid.c + disk/lvm.c disk/raid.c grub_probe_init.c # For grub-emu grub_emu_DEPENDENCIES = grub_script.tab.c grub_script.tab.h \ - grub_modules_init.h + grub_emu_init.h grub_emu_SOURCES = commands/boot.c commands/cat.c commands/cmp.c \ commands/configfile.c commands/help.c \ commands/search.c commands/terminal.c commands/test.c \ diff -ur -x common.mk -x i386-pc.mk -x i386-efi.mk -x powerpc-ieee1275.mk grub2-1.95+20070626.old/geninitheader.sh grub2-1.95+20070626/geninitheader.sh --- grub2-1.95+20070626.old/geninitheader.sh 2005-11-13 16:47:08.000000000 +0100 +++ grub2-1.95+20070626/geninitheader.sh 2007-06-27 21:52:55.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # -# Copyright (C) 2005 Free Software Foundation, Inc. +# Copyright (C) 2005, 2007 Free Software Foundation, Inc. # # This gensymlist.sh is free software; the author # gives unlimited permission to copy and/or distribute it, @@ -11,11 +11,14 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. +lst="$1" +shift + cat <