++2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
++
++ Reduce number of temporary files generated by build system.
++
++ * grub-core/gencmdlist.sh: Removed.
++ * grub-core/genfslist.sh: Removed.
++ * grub-core/genhandlerlist.sh: Removed.
++ * grub-core/genmodsrc.sh: Removed.
++ * grub-core/genpartmaplist.sh: Removed.
++ * grub-core/genparttoollist.sh: Removed.
++ * grub-core/gentermiinallist.sh: Removed.
++ * grub-core/genvideolist.sh: Removed.
++
++ * grub-core/genmod.sh.in: New file.
++ * grub-core/gensyminfo.sh.in: New file.
++
++ * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
++ * conf/Makefile.extra-dist: Update with new files.
++ * gentpl.py: Remove rules related to unnecessary temporary files.
++ * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
++ and und-* files.
++ * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
++ genmod.sh scripts.
++ * grub-core/bus/usb/uhci.c: Remove empty #define.
++ * grub-core/genmoddep.awk: Updated with new syminfo format.
++ * util/bash-completion.d/Makefile.am: Add config.log to
++ CLEANFILES.
++
+2010-09-19 Yves Blusseau <blusseau@zetam.org>
+
+ * Makefile.util.def: Add forgotten $(LIBINTL) library.
+
2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
* util/grub-mkconfig.in: Check the config script for syntax errors
--- /dev/null
-# genmod.sh moddep.lst normal.module echo.module
+ #! /bin/sh -e
+ #
+ # Copyright (C) 2010 Free Software Foundation, Inc.
+ #
+ # This gensymlist.sh is free software; the author
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+ #
+ # This program is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ # PARTICULAR PURPOSE.
+
+ #
+ # Example:
+ #
++# genmod.sh moddep.lst normal.module normal.mod
+ #
+
+ moddep=$1
+ infile=$2
+ outfile=$3
+
+ tmpfile=${outfile}.tmp
+ modname=`echo $infile | sed -e 's@\.module.*$@@'`
+
+ if ! grep ^$modname: $moddep >/dev/null; then
+ echo "warning: moddep.lst has no dependencies for $modname" >&2
+ exit 0
+ fi
+
+ deps=`grep ^$modname: $moddep | sed s@^.*:@@`
+
+ # remove old files if any
+ rm -f $tmpfile $outfile
+
+ # stripout .modname and .moddeps sections from input module
+ objcopy -R .modname -R .moddeps $infile $tmpfile
+
+ # Attach .modname and .moddeps sections
+ t1=`mktemp`
+ printf "$modname\0" >$t1
+
+ t2=`mktemp`
+ for dep in $deps; do printf "$dep\0" >> $t2; done
+
+ if test -n "$deps"; then
+ objcopy --add-section .modname=$t1 --add-section .moddeps=$t2 $tmpfile
+ else
+ objcopy --add-section .modname=$t1 $tmpfile
+ fi
+ rm -f $t1 $t2
+
+ if test x@TARGET_APPLE_CC@ != x1; then
+ if ! test -z "@TARGET_OBJ2ELF@"; then
+ ./@TARGET_OBJ2ELF@ $tmpfile || exit 1
+ fi
+ if test x@platform@ != xemu; then
+ @STRIP@ --strip-unneeded \
+ -K grub_mod_init -K grub_mod_fini \
+ -K _grub_mod_init -K _grub_mod_fini \
+ -R .note -R .comment $tmpfile || exit 1
+ fi
+ else
+ # XXX Test these Apple CC fixes
+ cp $tmpfile $tmpfile.bin
+ @OBJCONV@ -f@TARGET_MODULE_FORMAT@ \
+ -nr:_grub_mod_init:grub_mod_init \
+ -nr:_grub_mod_fini:grub_mod_fini \
+ -wd1106 -ew2030 -ew2050 -nu -nd $tmpfile.bin $tmpfile || exit 1
+ rm -f $name.bin
+ fi
+ mv $tmpfile $outfile