How about the attached patch? It introduces new library libemu.a (in addition to libgrub.a) with sources that need gnulib headers. IMO correct thing to do is, fixing stdio.in.h to make getline a function instead of a macro, if everybody agrees, I will raise a bug report to gnulib project?
bvk.chaitanya
# Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: bvk.gro...@gmail.com-20101019051457-xv1sisjlctyruhay # target_branch: file:///home/bvk/Work/grub2/mainline/ # testament_sha1: 2f24b5514683cc9ab32814ca72b9ead125ad1699 # timestamp: 2010-10-19 14:36:36 +0530 # base_revision_id: gregoire.su...@gmail.com-20101018205001-\ # 3hb5ramz1nbo5o2w # # Begin patch === modified file 'Makefile.util.def' --- Makefile.util.def 2010-09-29 19:33:38 +0000 +++ Makefile.util.def 2010-10-19 05:14:57 +0000 @@ -1,6 +1,24 @@ AutoGen definitions Makefile.tpl; library = { + name = libemu.a; + cflags = '$(CFLAGS_GNULIB)'; + cppflags = '$(CPPFLAGS_GNULIB)'; + + common = util/misc.c; + common = grub-core/kern/err.c; + common = grub-core/kern/env.c; + common = grub-core/kern/list.c; + common = grub-core/kern/misc.c; + common = grub-core/kern/disk.c; + common = grub-core/kern/partition.c; + common = grub-core/kern/emu/mm.c; + common = grub-core/kern/emu/misc.c; + common = grub-core/kern/emu/getroot.c; + common = grub-core/kern/emu/hostdisk.c; +}; + +library = { name = libgrub.a; cflags = '$(CFLAGS_GCRY)'; cppflags = '$(CPPFLAGS_GCRY)'; @@ -11,13 +29,6 @@ common_nodist = grub_script.yy.h; common_nodist = grub_script.tab.h; - common = util/misc.c; - common = grub-core/kern/misc.c; - common = grub-core/kern/emu/mm.c; - common = grub-core/kern/emu/misc.c; - common = grub-core/kern/emu/getroot.c; - common = grub-core/kern/emu/hostdisk.c; - common = grub-core/commands/blocklist.c; common = grub-core/commands/extcmd.c; common = grub-core/commands/ls.c; @@ -57,13 +68,8 @@ common = grub-core/fs/xfs.c; common = grub-core/kern/command.c; common = grub-core/kern/device.c; - common = grub-core/kern/disk.c; - common = grub-core/kern/env.c; - common = grub-core/kern/err.c; common = grub-core/kern/file.c; common = grub-core/kern/fs.c; - common = grub-core/kern/list.c; - common = grub-core/kern/partition.c; common = grub-core/lib/arg.c; common = grub-core/lib/crypto.c; common = grub-core/lib/envblk.c; @@ -94,8 +100,9 @@ name = grub-bin2h; common = util/bin2h.c; ldadd = libgrub.a; + ldadd = libemu.a; + ldadd = grub-core/gnulib/libgnu.a; ldadd = '$(LIBINTL) $(LIBDEVMAPPER)'; - ldadd = grub-core/gnulib/libgnu.a; mansection = 1; }; @@ -108,9 +115,10 @@ extra_dist = util/grub-mkimagexx.c; ldadd = libgrub.a; + ldadd = libemu.a; + ldadd = grub-core/gnulib/libgnu.a; ldadd = '$(LIBLZMA)'; ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)'; - ldadd = grub-core/gnulib/libgnu.a; cppflags = '-DGRUB_PKGLIBROOTDIR=\"$(pkglibrootdir)\"'; }; @@ -121,8 +129,9 @@ common = util/grub-mkrelpath.c; ldadd = libgrub.a; + ldadd = libemu.a; + ldadd = grub-core/gnulib/libgnu.a; ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)'; - ldadd = grub-core/gnulib/libgnu.a; }; program = { @@ -132,8 +141,9 @@ common = util/grub-script-check.c; ldadd = libgrub.a; + ldadd = libemu.a; + ldadd = grub-core/gnulib/libgnu.a; ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)'; - ldadd = grub-core/gnulib/libgnu.a; }; program = { @@ -143,8 +153,9 @@ common = util/grub-editenv.c; ldadd = libgrub.a; + ldadd = libemu.a; + ldadd = grub-core/gnulib/libgnu.a; ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)'; - ldadd = grub-core/gnulib/libgnu.a; }; program = { @@ -154,8 +165,9 @@ common = util/grub-mkpasswd-pbkdf2.c; ldadd = libgrub.a; + ldadd = libemu.a; + ldadd = grub-core/gnulib/libgnu.a; ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)'; - ldadd = grub-core/gnulib/libgnu.a; cflags = '$(CFLAGS_GCRY)'; cppflags = '$(CPPFLAGS_GCRY)'; }; @@ -173,8 +185,9 @@ common = util/grub-pe2elf.c; ldadd = libgrub.a; + ldadd = libemu.a; + ldadd = grub-core/gnulib/libgnu.a; ldadd = '$(LIBINTL)'; - ldadd = grub-core/gnulib/libgnu.a; condition = COND_GRUB_PE2ELF; }; @@ -190,8 +203,9 @@ cppflags = '$(CPPFLAGS_GCRY)'; ldadd = libgrub.a; + ldadd = libemu.a; + ldadd = grub-core/gnulib/libgnu.a; ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)'; - ldadd = grub-core/gnulib/libgnu.a; }; program = { @@ -203,9 +217,10 @@ cflags = '$(freetype_cflags)'; ldadd = libgrub.a; - ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)'; + ldadd = libemu.a; ldadd = grub-core/gnulib/libgnu.a; ldadd = '$(freetype_libs)'; + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)'; condition = COND_GRUB_MKFONT; }; @@ -222,8 +237,9 @@ sparc64_ieee1275 = util/ieee1275/devicemap.c; ldadd = libgrub.a; + ldadd = libemu.a; + ldadd = grub-core/gnulib/libgnu.a; ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR)'; - ldadd = grub-core/gnulib/libgnu.a; }; program = { @@ -233,8 +249,9 @@ common = util/grub-probe.c; ldadd = libgrub.a; + ldadd = libemu.a; + ldadd = grub-core/gnulib/libgnu.a; ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR)'; - ldadd = grub-core/gnulib/libgnu.a; }; program = { @@ -249,8 +266,9 @@ sparc64_ieee1275 = util/ieee1275/ofpath.c; ldadd = libgrub.a; + ldadd = libemu.a; + ldadd = grub-core/gnulib/libgnu.a; ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR)'; - ldadd = grub-core/gnulib/libgnu.a; enable = i386_pc; enable = sparc64_ieee1275; @@ -263,8 +281,10 @@ ieee1275 = util/ieee1275/ofpath.c; ldadd = libgrub.a; + ldadd = libemu.a; + ldadd = grub-core/gnulib/libgnu.a; ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL)'; - ldadd = grub-core/gnulib/libgnu.a; + enable = sparc64_ieee1275; }; @@ -275,8 +295,9 @@ common = util/grub-mklayout.c; ldadd = libgrub.a; + ldadd = libemu.a; + ldadd = grub-core/gnulib/libgnu.a; ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)'; - ldadd = grub-core/gnulib/libgnu.a; }; data = { @@ -584,6 +605,7 @@ common = grub-core/tests/lib/test.c; cflags = -Wno-format; ldadd = libgrub.a; + ldadd = libemu.a; ldadd = grub-core/gnulib/libgnu.a; ldadd = '$(LIBDEVMAPPER)'; }; @@ -596,6 +618,7 @@ common = grub-core/lib/i386/pc/vesa_modes_table.c; ldadd = libgrub.a; + ldadd = libemu.a; + ldadd = grub-core/gnulib/libgnu.a; ldflags = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)'; - ldadd = grub-core/gnulib/libgnu.a; }; === modified file 'conf/Makefile.common' --- conf/Makefile.common 2010-09-24 08:48:27 +0000 +++ conf/Makefile.common 2010-10-19 05:14:57 +0000 @@ -67,9 +67,9 @@ CPPFLAGS_PROGRAM = CCASFLAGS_PROGRAM = -CFLAGS_LIBRARY = $(CFLAGS_PROGRAM) -CPPFLAGS_LIBRARY = $(CPPFLAGS_PROGRAM) -CCASFLAGS_LIBRARY = $(CCASFLAGS_PROGRAM) +CFLAGS_LIBRARY = +CPPFLAGS_LIBRARY = +CCASFLAGS_LIBRARY = # Other variables # Begin bundle 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
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel