From 7c4e16ff886211c65b853f7c586ff569545bbe27 Mon Sep 17 00:00:00 2001 From: Robert Millan Date: Sun, 8 Nov 2009 23:01:34 +0000 Subject: [PATCH] Integrate grub-mkisofs into the build system. --- ChangeLog.branch | 5 +++++ conf/common.rmk | 10 ++++++++++ configure.ac | 7 +++++++ util/i386/coreboot/grub-mkrescue.in | 12 ++++++++---- 4 files changed, 30 insertions(+), 4 deletions(-) diff --git a/ChangeLog.branch b/ChangeLog.branch index 4794498ff..dd7639db5 100644 --- a/ChangeLog.branch +++ b/ChangeLog.branch @@ -3,3 +3,8 @@ * util/i386/coreboot/grub-mkrescue.in: New file. * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New variables. + + * conf/common.rmk (bin_SCRIPTS): Add `grub-mkisofs'. + (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables. + * configure.ac: Add header and function checks to satisfy grub-mkisofs + requirements. diff --git a/conf/common.rmk b/conf/common.rmk index c1f0bbdcf..ed296242d 100644 --- a/conf/common.rmk +++ b/conf/common.rmk @@ -28,6 +28,16 @@ ifeq ($(enable_grub_fstest), yes) bin_UTILITIES += grub-fstest endif +bin_SCRIPTS += grub-mkisofs +grub_mkisofs_SOURCES = util/mkisofs/eltorito.c util/mkisofs/fnmatch.c \ + util/mkisofs/getopt1.c util/mkisofs/getopt.c \ + util/mkisofs/hash.c util/mkisofs/joliet.c \ + util/mkisofs/match.c util/mkisofs/mkisofs.c \ + util/mkisofs/multi.c util/mkisofs/name.c \ + util/mkisofs/rock.c util/mkisofs/tree.c \ + util/mkisofs/write.c +grub_mkisofs_CFLAGS = -Iutil/mkisofs/include -Wno-all -Werror + # For grub-fstest. util/grub-fstest.c_DEPENDENCIES = grub_fstest_init.h grub_fstest_SOURCES = util/grub-fstest.c util/hostfs.c util/misc.c \ diff --git a/configure.ac b/configure.ac index 0953e0410..4decda969 100644 --- a/configure.ac +++ b/configure.ac @@ -181,6 +181,13 @@ fi # Check for functions. AC_CHECK_FUNCS(posix_memalign memalign asprintf) +# For grub-mkisofs +AC_HEADER_MAJOR +AC_HEADER_DIRENT +AC_CHECK_FUNCS(memmove sbrk strdup) +AC_CHECK_HEADERS(sys/mkdev.h sys/sysmacros.h malloc.h termios.h sys/types.h) +AC_CHECK_HEADERS(unistd.h string.h strings.h sys/stat.h sys/fcntl.h) + # # Check for target programs. # diff --git a/util/i386/coreboot/grub-mkrescue.in b/util/i386/coreboot/grub-mkrescue.in index fbfc13841..6731e748e 100644 --- a/util/i386/coreboot/grub-mkrescue.in +++ b/util/i386/coreboot/grub-mkrescue.in @@ -31,12 +31,13 @@ platform=@platform@ pkglibdir=${libdir}/`echo ${PACKAGE_TARNAME}/${target_cpu}-${platform} | sed ${transform}` grub_mkimage=${bindir}/`echo grub-mkelfimage | sed ${transform}` +grub_mkisofs=${bindir}/`echo grub-mkisofs | sed ${transform}` # Usage: usage # Print the usage. usage () { cat <. EOF @@ -62,7 +64,7 @@ for option in "$@"; do usage exit 0 ;; -v | --version) - echo "grub-mkrescue (GNU GRUB ${PACKAGE_VERSION})" + echo "$0 (GNU GRUB ${PACKAGE_VERSION})" exit 0 ;; --modules=*) modules=`echo "$option" | sed 's/--modules=//'` ;; @@ -72,6 +74,8 @@ for option in "$@"; do input_dir=`echo "$option" | sed 's/--pkglibdir=//'` ;; --grub-mkimage=*) grub_mkimage=`echo "$option" | sed 's/--grub-mkimage=//'` ;; + --grub-mkisofs=*) + grub_mkisofs=`echo "$option" | sed 's/--grub-mkisofs=//'` ;; -*) echo "Unrecognized option \`$option'" 1>&2 usage @@ -137,7 +141,7 @@ for i in ${modules} ; do done > ${iso9660_dir}/boot/grub/grub.cfg # build iso image -grub-mkisofs \ +${grub_mkisofs} \ --modification-date=$(echo ${iso_uuid} | sed -e s/-//g) \ -o ${output_image} -r -J ${iso9660_dir}