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

Reply via email to