diff --git a/ChangeLog b/ChangeLog index 8134b6b07..800587a08 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,32 @@ +1999-05-11 OKUJI Yoshinori + + Reported by Brian Brunswick : + * shared_src/asm.S (start) [STAGE1_5]: Jump to 0x0:0x2000. + * shared_src/cmdline.c (enter_cmdline): Doesn't check for the jump + address in stage2. We are not paranoid. + Add a missing RAW_ADDR macro. + * shared_src/diskio.c (grub_open): Call setup_part even in stage1.5. + And, include necessary functions that were eliminated incorrectly. + * shared_src/char_io.c [STAGE1_5]: Eliminate unnecessary functions + for stage1.5. + + * grub/asmstub.c (nread): New function. Handle EINTR. + (nwrite): Likewise. + (biosdisk) [I_AM_VERY_BRAVE]: When SUBFUNC is BIOSDISK_WRITE, call + nwrite. + + Reported by Pavel Roskin : + * shared_src/fsys_ext2fs.c (off_t): Renamed to ... + (linux_off_t): ... this. + * shared_src/defs.h (off_t): Renamed to ... + (mach_off_t): ... this. + * shared_src/fs.h (BBOFF): Use mach_off_t instead of off_t. + (SBOFF): Likewise. + + * e2fs_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Set to 81920. + * fat_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Likewise. + * ffs_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Set to 7168. + 1999-05-03 Gordon Matzigkeit From Pavel Roskin: diff --git a/Makefile.in b/Makefile.in index e00d9b122..169ffe42f 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,6 +1,6 @@ -# Makefile.in generated automatically by automake 1.3 from Makefile.am +# Makefile.in generated automatically by automake 1.4a from Makefile.am -# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -10,8 +10,7 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. - -SHELL = /bin/sh +SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -32,7 +31,7 @@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include -DISTDIR = +DESTDIR = pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -49,6 +48,7 @@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_FLAG = transform = @program_transform_name@ NORMAL_INSTALL = : @@ -59,20 +59,24 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AMTARFLAGS = @AMTARFLAGS@ CC = @CC@ LD = @LD@ MAKEINFO = @MAKEINFO@ OBJCOPY = @OBJCOPY@ PACKAGE = @PACKAGE@ +TAR = @TAR@ VERSION = @VERSION@ host_cpu = @host_cpu@ host_vendor = @host_vendor@ sbingrub = @sbingrub@ stage2debug = @stage2debug@ + SUBDIRS = grub stage1 stage2 stage2_debug \ e2fs_stage1_5 fat_stage1_5 ffs_stage1_5 \ docs shared_src debian + DISTCLEANFILES = ssrcrules.mk ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -82,14 +86,12 @@ Makefile.in NEWS THANKS acinclude.m4 aclocal.m4 config.guess config.sub \ configure configure.in install-sh missing mkinstalldirs -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP = --best -all: all-recursive all-am +DISTFILES = $(DIST_COMMON) $(SOURCES) $(TEXINFOS) $(EXTRA_DIST) +GZIP_ENV = --best +all: all-redirect .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) @@ -99,7 +101,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) $(ACLOCAL_M4): configure.in acinclude.m4 cd $(srcdir) && $(ACLOCAL) -config.status: $(srcdir)/configure +config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) cd $(srcdir) && $(AUTOCONF) @@ -117,41 +119,65 @@ all-recursive install-data-recursive install-exec-recursive \ installdirs-recursive install-recursive uninstall-recursive \ check-recursive installcheck-recursive info-recursive dvi-recursive: @set fnord $(MAKEFLAGS); amf=$$2; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ - target=`echo $@ | sed s/-recursive//`; \ echo "Making $$target in $$subdir"; \ - (cd $$subdir && $(MAKE) $$target) \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done && test -z "$$fail" + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: @set fnord $(MAKEFLAGS); amf=$$2; \ + dot_seen=no; \ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ rev="$$subdir $$rev"; \ + if test "$$subdir" = "."; then dot_seen=yes; else :; fi; \ done; \ + test "$$dot_seen" = "no" && rev=". $$rev"; \ + target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ - target=`echo $@ | sed s/-recursive//`; \ echo "Making $$target in $$subdir"; \ - (cd $$subdir && $(MAKE) $$target) \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - (cd $$subdir && $(MAKE) tags); \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP) + && mkid -f$$here/ID $$unique $(LISP) TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) tags=; \ here=`pwd`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ - test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ + if test "$$subdir" = .; then :; else \ + test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ + fi; \ done; \ list='$(SOURCES) $(HEADERS)'; \ unique=`for i in $$list; do echo $$i; done | \ @@ -177,29 +203,31 @@ top_distdir = $(distdir) # tarfile. distcheck: dist -rm -rf $(distdir) - GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(TAR) xf - mkdir $(distdir)/=build mkdir $(distdir)/=inst dc_install_base=`cd $(distdir)/=inst && pwd`; \ cd $(distdir)/=build \ && ../configure --srcdir=.. --prefix=$$dc_install_base \ - && $(MAKE) \ - && $(MAKE) dvi \ - && $(MAKE) check \ - && $(MAKE) install \ - && $(MAKE) installcheck \ - && $(MAKE) dist + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) dist -rm -rf $(distdir) - @echo "========================"; \ - echo "$(distdir).tar.gz is ready for distribution"; \ - echo "========================" + @banner="$(distdir).tar.gz is ready for distribution"; \ + dashes=`echo "$$banner" | sed s/./=/g`; \ + echo "$$dashes"; \ + echo "$$banner"; \ + echo "$$dashes" dist: distdir -chmod -R a+r $(distdir) - GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir) + tar ch$(AMTARFLAGS)f - $(distdir) | GZIP=$(GZIP_ENV) gzip -c > $(distdir).tar.gz -rm -rf $(distdir) dist-all: distdir -chmod -R a+r $(distdir) - GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir) + tar ch$(AMTARFLAGS)f - $(distdir) | GZIP=$(GZIP_ENV) gzip -c > $(distdir).tar.gz -rm -rf $(distdir) distdir: $(DISTFILES) -rm -rf $(distdir) @@ -212,74 +240,80 @@ distdir: $(DISTFILES) && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu Makefile @for file in $(DISTFILES); do \ d=$(srcdir); \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file; \ + if test -d $$d/$$file; then \ + cp -pr $$d/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ done for subdir in $(SUBDIRS); do \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - chmod 777 $(distdir)/$$subdir; \ - (cd $$subdir && $(MAKE) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \ + if test "$$subdir" = .; then :; else \ + test -d $(distdir)/$$subdir \ + || mkdir $(distdir)/$$subdir \ || exit 1; \ + chmod 777 $(distdir)/$$subdir; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \ + || exit 1; \ + fi; \ done +info-am: info: info-recursive +dvi-am: dvi: dvi-recursive -check: all-am - $(MAKE) check-recursive +check-am: all-am +check: check-recursive +installcheck-am: installcheck: installcheck-recursive -all-am: Makefile - +install-exec-am: install-exec: install-exec-recursive - @$(NORMAL_INSTALL) +install-data-am: install-data: install-data-recursive - @$(NORMAL_INSTALL) +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am install: install-recursive - @: - +uninstall-am: uninstall: uninstall-recursive - +all-am: Makefile +all-redirect: all-recursive install-strip: - $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install + $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install installdirs: installdirs-recursive +installdirs-am: mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f Makefile $(DISTCLEANFILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) mostlyclean-am: mostlyclean-tags mostlyclean-generic +mostlyclean: mostlyclean-recursive + clean-am: clean-tags clean-generic mostlyclean-am +clean: clean-recursive + distclean-am: distclean-tags distclean-generic clean-am +distclean: distclean-recursive + -rm -f config.status + maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \ distclean-am - -mostlyclean: mostlyclean-recursive mostlyclean-am - -clean: clean-recursive clean-am - -distclean: distclean-recursive distclean-am - -rm -f config.status - -maintainer-clean: maintainer-clean-recursive maintainer-clean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." + +maintainer-clean: maintainer-clean-recursive -rm -f config.status .PHONY: install-data-recursive uninstall-data-recursive \ @@ -288,10 +322,13 @@ uninstalldirs-recursive all-recursive check-recursive \ installcheck-recursive info-recursive dvi-recursive \ mostlyclean-recursive distclean-recursive clean-recursive \ maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ -distclean-tags clean-tags maintainer-clean-tags distdir info dvi \ -installcheck all-am install-exec install-data install uninstall all \ -installdirs mostlyclean-generic distclean-generic clean-generic \ -maintainer-clean-generic clean mostlyclean distclean maintainer-clean +distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ +dvi-am dvi check check-am installcheck-am installcheck install-exec-am \ +install-exec install-data-am install-data install-am install \ +uninstall-am uninstall all-redirect all-am all install-strip \ +installdirs-am installdirs mostlyclean-generic distclean-generic \ +clean-generic maintainer-clean-generic clean mostlyclean distclean \ +maintainer-clean # We get $(PACKAGE) and $(VERSION) from debian/changelog. diff --git a/README b/README index 1143435d9..22f40133b 100644 --- a/README +++ b/README @@ -11,6 +11,16 @@ personal computer BIOSes: See the file NEWS for a description of recent changes to GRUB. +You need recent developmental environment to build GRUB. We recommend +you use the following utilities: + + - binutils 2.9.1.0.24 and later (Early 2.9.1.0.x is buggy, so don't use it.) + - autoconf 19990301 and later (See http://sourceware.cygnus.com/autoconf + for the information about how to get it from the CVS.) + - automake 1.3, or 19990327 and later (Do not use 1.4!) + - ncurses 4.0 and later (1.9.9 is too buggy, so don't use it.) + - texinfo 3.12h and later + See the file INSTALL for instructions on how to build and install the GRUB data and program files. See `docs/install.html' for details about using GRUB as your bootloader. diff --git a/THANKS b/THANKS index be6a24ecf..27f1091de 100644 --- a/THANKS +++ b/THANKS @@ -6,9 +6,11 @@ The following people made especially gracious contributions of their time and energy in helping to track down bugs, add new features, and generally assist in the GRUB maintainership process: +Brian Brunswick Bryan Ford Eric Hanchrow Heiko Schroeder Miles Bader OKUJI Yoshinori +Pavel Roskin VaX#n8 diff --git a/configure b/configure index 8bae2165f..bedcf5ac9 100644 --- a/configure +++ b/configure @@ -1,7 +1,7 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.13 +# Generated automatically using autoconf version 2.14.1 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. # # This configure script is free software; the Free Software Foundation @@ -337,7 +337,7 @@ EOF verbose=yes ;; -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.13" + echo "configure generated by autoconf version 2.14.1" exit 0 ;; -with-* | --with-*) @@ -497,7 +497,7 @@ done if test -r "$cache_file"; then echo "loading cache $cache_file" - . $cache_file + test -f "$cache_file" && . $cache_file else echo "creating cache $cache_file" > $cache_file @@ -540,9 +540,9 @@ done if test -z "$ac_aux_dir"; then { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; } fi -ac_config_guess=$ac_aux_dir/config.guess -ac_config_sub=$ac_aux_dir/config.sub -ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" +ac_config_sub="$SHELL $ac_aux_dir/config.sub" +ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or @@ -558,7 +558,7 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 echo "configure:560: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then -if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then +if eval "test \"\${ac_cv_path_install+set}\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" @@ -576,6 +576,10 @@ else grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : + elif test $ac_prog = install && + grep pwplus $ac_dir/$ac_prog >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : else ac_cv_path_install="$ac_dir/$ac_prog -c" break 2 @@ -609,7 +613,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 -echo "configure:613: checking whether build environment is sane" >&5 +echo "configure:617: checking whether build environment is sane" >&5 # Just in case sleep 1 echo timestamp > conftestfile @@ -657,18 +661,18 @@ EOF_SED rm -f conftestsed fi test "$program_prefix" != NONE && - program_transform_name="s,^,${program_prefix},; $program_transform_name" + program_transform_name="s,^,${program_prefix},;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && - program_transform_name="s,\$\$,${program_suffix},; $program_transform_name" + program_transform_name="s,\$\$,${program_suffix},;$program_transform_name" # sed with no file args requires a program. test "$program_transform_name" = "" && program_transform_name="s,x,x," echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:670: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:674: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then +if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftestmake <<\EOF @@ -715,7 +719,7 @@ EOF missing_dir=`cd $ac_aux_dir && pwd` echo $ac_n "checking for working aclocal""... $ac_c" 1>&6 -echo "configure:719: checking for working aclocal" >&5 +echo "configure:723: checking for working aclocal" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -728,7 +732,7 @@ else fi echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 -echo "configure:732: checking for working autoconf" >&5 +echo "configure:736: checking for working autoconf" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -741,7 +745,7 @@ else fi echo $ac_n "checking for working automake""... $ac_c" 1>&6 -echo "configure:745: checking for working automake" >&5 +echo "configure:749: checking for working automake" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -754,7 +758,7 @@ else fi echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 -echo "configure:758: checking for working autoheader" >&5 +echo "configure:762: checking for working autoheader" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -767,7 +771,7 @@ else fi echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 -echo "configure:771: checking for working makeinfo" >&5 +echo "configure:775: checking for working makeinfo" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -784,8 +788,8 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:788: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_TAR'+set}'`\" = set"; then +echo "configure:792: checking for $ac_word" >&5 +if eval "test \"\${ac_cv_prog_TAR+set}\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$TAR"; then @@ -823,31 +827,45 @@ fi +echo $ac_n "checking host system type""... $ac_c" 1>&6 +echo "configure:832: checking host system type" >&5 +if test "x$ac_cv_host" = "x" || (test "x$host" != "xNONE" && test "x$host" != "x$ac_cv_host_alias"); then + # Make sure we can run config.sub. -if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : -else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } + if $ac_config_sub sun4 >/dev/null 2>&1; then : + else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } + fi + + ac_cv_host_alias=$host + case "$ac_cv_host_alias" in + NONE) + case $nonopt in + NONE) + if ac_cv_host_alias=`$ac_config_guess`; then : + else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } + fi ;; + *) ac_cv_host_alias=$nonopt ;; + esac ;; + esac + + ac_cv_host=`$ac_config_sub $ac_cv_host_alias` + ac_cv_host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` + ac_cv_host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` + ac_cv_host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +else + echo $ac_n "(cached) $ac_c" 1>&6 fi -echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:833: checking host system type" >&5 +echo "$ac_t""$ac_cv_host" 1>&6 + +host=$ac_cv_host +host_alias=$ac_cv_host_alias +host_cpu=$ac_cv_host_cpu +host_vendor=$ac_cv_host_vendor +host_os=$ac_cv_host_os + -host_alias=$host -case "$host_alias" in -NONE) - case $nonopt in - NONE) - if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : - else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } - fi ;; - *) host_alias=$nonopt ;; - esac ;; -esac -host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` -host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$host" 1>&6 case "$host_cpu" in @@ -883,23 +901,45 @@ fi # Programs # + echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:888: checking build system type" >&5 +echo "configure:907: checking build system type" >&5 +if test "x$ac_cv_build" = "x" || (test "x$build" != "xNONE" && test "x$build" != "x$ac_cv_build_alias"); then + +# Make sure we can run config.sub. + if $ac_config_sub sun4 >/dev/null 2>&1; then : + else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } + fi + + ac_cv_build_alias=$build + case "$ac_cv_build_alias" in + NONE) + case $nonopt in + NONE) + ac_cv_build_alias=$host_alias ;; + + *) ac_cv_build_alias=$nonopt ;; + esac ;; + esac + + ac_cv_build=`$ac_config_sub $ac_cv_build_alias` + ac_cv_build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` + ac_cv_build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` + ac_cv_build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +else + echo $ac_n "(cached) $ac_c" 1>&6 +fi + +echo "$ac_t""$ac_cv_build" 1>&6 + +build=$ac_cv_build +build_alias=$ac_cv_build_alias +build_cpu=$ac_cv_build_cpu +build_vendor=$ac_cv_build_vendor +build_os=$ac_cv_build_os + -build_alias=$build -case "$build_alias" in -NONE) - case $nonopt in - NONE) build_alias=$host_alias ;; - *) build_alias=$nonopt ;; - esac ;; -esac -build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` -build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$build" 1>&6 if test $host != $build; then ac_tool_prefix=${host_alias}- @@ -910,8 +950,8 @@ fi # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:914: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then +echo "configure:954: checking for $ac_word" >&5 +if eval "test \"\${ac_cv_prog_CC+set}\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then @@ -942,8 +982,8 @@ fi # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:946: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then +echo "configure:986: checking for $ac_word" >&5 +if eval "test \"\${ac_cv_prog_CC+set}\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then @@ -972,8 +1012,8 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:976: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then +echo "configure:1016: checking for $ac_word" >&5 +if eval "test \"\${ac_cv_prog_CC+set}\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then @@ -1019,12 +1059,12 @@ fi if test -z "$CC"; then case "`uname -s`" in - *win32* | *WIN32*) + *win32* | *WIN32* | *CYGWIN*) # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1027: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then +echo "configure:1067: checking for $ac_word" >&5 +if eval "test \"\${ac_cv_prog_CC+set}\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then @@ -1054,8 +1094,8 @@ fi test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } fi -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1059: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo $ac_n "checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) works""... $ac_c" 1>&6 +echo "configure:1099: checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -1066,12 +1106,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 1070 "configure" +#line 1110 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1075: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1115: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1096,14 +1136,14 @@ echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1101: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo $ac_n "checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 +echo "configure:1141: checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1106: checking whether we are using GNU C" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then +echo "configure:1146: checking whether we are using GNU C" >&5 +if eval "test \"\${ac_cv_prog_gcc+set}\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1155: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -1130,8 +1170,8 @@ ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1134: checking whether ${CC-cc} accepts -g" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then +echo "configure:1174: checking whether ${CC-cc} accepts -g" >&5 +if eval "test \"\${ac_cv_prog_cc_g+set}\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else echo 'void f(){}' > conftest.c @@ -1168,8 +1208,8 @@ CPPFLAGS="$CPPFLAGS -Wall -Wmissing-prototypes -Wunused" # Extract the first word of "${ac_tool_prefix}ld", so it can be a program name with args. set dummy ${ac_tool_prefix}ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1172: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then +echo "configure:1212: checking for $ac_word" >&5 +if eval "test \"\${ac_cv_prog_LD+set}\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$LD"; then @@ -1200,8 +1240,8 @@ fi # Extract the first word of "${ac_tool_prefix}objcopy", so it can be a program name with args. set dummy ${ac_tool_prefix}objcopy; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1204: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then +echo "configure:1244: checking for $ac_word" >&5 +if eval "test \"\${ac_cv_prog_OBJCOPY+set}\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$OBJCOPY"; then @@ -1233,8 +1273,8 @@ fi # Defined in acinclude.m4. echo $ac_n "checking symbol names produced by ${CC-cc}""... $ac_c" 1>&6 -echo "configure:1237: checking symbol names produced by ${CC-cc}" >&5 -if eval "test \"`echo '$''{'grub_cv_asm_ext_c'+set}'`\" = set"; then +echo "configure:1277: checking symbol names produced by ${CC-cc}" >&5 +if eval "test \"\${grub_cv_asm_ext_c+set}\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.c <<\EOF @@ -1246,7 +1286,7 @@ func (int *list) } EOF -if { ac_try='${CC-cc} -S conftest.c'; { (eval echo configure:1250: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest.s; then : +if { ac_try='${CC-cc} -S conftest.c'; { (eval echo configure:1290: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest.s; then : else { echo "configure: error: ${CC-cc} failed to produce assembly code" 1>&2; exit 1; } fi @@ -1274,8 +1314,8 @@ EOF echo $ac_n "checking whether ${OBJCOPY} works for absolute addresses""... $ac_c" 1>&6 -echo "configure:1278: checking whether ${OBJCOPY} works for absolute addresses" >&5 -if eval "test \"`echo '$''{'grub_cv_prog_objcopy_absolute'+set}'`\" = set"; then +echo "configure:1318: checking whether ${OBJCOPY} works for absolute addresses" >&5 +if eval "test \"\${grub_cv_prog_objcopy_absolute+set}\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.c <<\EOF @@ -1286,21 +1326,21 @@ blah (void) } EOF -if { (eval echo configure:1290: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then : +if { (eval echo configure:1330: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then : else { echo "configure: error: ${CC-cc} cannot compile C source code" 1>&2; exit 1; } fi grub_cv_prog_objcopy_absolute=yes for link_addr in 2000 8000 7C00; do - if { ac_try='${LD-ld} -N -Ttext $link_addr conftest.o -o conftest.exec'; { (eval echo configure:1296: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then : + if { ac_try='${LD-ld} -N -Ttext $link_addr conftest.o -o conftest.exec'; { (eval echo configure:1336: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then : else { echo "configure: error: ${LD-ld} cannot link at address $link_addr" 1>&2; exit 1; } fi - if { ac_try='${OBJCOPY-objcopy} -O binary conftest.exec conftest'; { (eval echo configure:1300: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then : + if { ac_try='${OBJCOPY-objcopy} -O binary conftest.exec conftest'; { (eval echo configure:1340: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then : else { echo "configure: error: ${OBJCOPY-objcopy} cannot create binary files" 1>&2; exit 1; } fi - if test ! -f conftest.old || { ac_try='cmp -s conftest.old conftest'; { (eval echo configure:1304: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + if test ! -f conftest.old || { ac_try='cmp -s conftest.old conftest'; { (eval echo configure:1344: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then mv -f conftest conftest.old else grub_cv_prog_objcopy_absolute=no @@ -1317,8 +1357,8 @@ fi echo $ac_n "checking for .code16 addr32 assembler support""... $ac_c" 1>&6 -echo "configure:1321: checking for .code16 addr32 assembler support" >&5 -if eval "test \"`echo '$''{'grub_cv_asm_addr32'+set}'`\" = set"; then +echo "configure:1361: checking for .code16 addr32 assembler support" >&5 +if eval "test \"\${grub_cv_asm_addr32+set}\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.s <<\EOF @@ -1327,7 +1367,7 @@ l1: addr32 movb %al, l1 EOF -if { ac_try='${CC-cc} -c conftest.s'; { (eval echo configure:1331: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest.o; then +if { ac_try='${CC-cc} -c conftest.s'; { (eval echo configure:1371: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest.o; then grub_cv_asm_addr32=yes else grub_cv_asm_addr32=no @@ -1343,15 +1383,15 @@ fi # Check for curses libraries if we are building /sbin/grub. if test -n "$sbingrub"; then echo $ac_n "checking for getch in -lncurses""... $ac_c" 1>&6 -echo "configure:1347: checking for getch in -lncurses" >&5 +echo "configure:1387: checking for getch in -lncurses" >&5 ac_lib_var=`echo ncurses'_'getch | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then +if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-lncurses $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1406: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1385,15 +1425,15 @@ EOF else echo "$ac_t""no" 1>&6 echo $ac_n "checking for getch in -lcurses""... $ac_c" 1>&6 -echo "configure:1389: checking for getch in -lcurses" >&5 +echo "configure:1429: checking for getch in -lcurses" >&5 ac_lib_var=`echo curses'_'getch | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then +if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-lcurses $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1448: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1530,7 +1570,7 @@ trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. cat > conftest.defs <<\EOF -s%#define \([A-Za-z_][^ ]*\) *\(.*\)%-D\1=\2%g +s%#define \([^ ][^ ]*\) *\(.*\)%-D\1=\2%g s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g s%\[%\\&%g s%\]%\\&%g @@ -1565,7 +1605,7 @@ do echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.13" + echo "$CONFIG_STATUS generated by autoconf version 2.14.1" exit 0 ;; -help | --help | --hel | --he | --h) echo "\$ac_cs_usage"; exit 0 ;; @@ -1754,5 +1794,5 @@ exit 0 EOF chmod +x $CONFIG_STATUS rm -fr confdefs* $ac_clean_files -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 +test "$no_create" = yes || $SHELL $CONFIG_STATUS || exit 1 diff --git a/debian/Makefile.in b/debian/Makefile.in index 6bbd74df2..31f635a77 100644 --- a/debian/Makefile.in +++ b/debian/Makefile.in @@ -1,6 +1,6 @@ -# Makefile.in generated automatically by automake 1.3 from Makefile.am +# Makefile.in generated automatically by automake 1.4a from Makefile.am -# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -10,8 +10,7 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. - -SHELL = /bin/sh +SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -32,7 +31,7 @@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include -DISTDIR = +DESTDIR = pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -49,6 +48,7 @@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_FLAG = transform = @program_transform_name@ NORMAL_INSTALL = : @@ -59,31 +59,32 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AMTARFLAGS = @AMTARFLAGS@ CC = @CC@ LD = @LD@ MAKEINFO = @MAKEINFO@ OBJCOPY = @OBJCOPY@ PACKAGE = @PACKAGE@ +TAR = @TAR@ VERSION = @VERSION@ host_cpu = @host_cpu@ host_vendor = @host_vendor@ sbingrub = @sbingrub@ stage2debug = @stage2debug@ + EXTRA_DIST = README.debian changelog control copyright rules mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = DIST_COMMON = Makefile.am Makefile.in -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP = --best -all: Makefile +DISTFILES = $(DIST_COMMON) $(SOURCES) $(TEXINFOS) $(EXTRA_DIST) +GZIP_ENV = --best +all: all-redirect .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu debian/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) @@ -106,60 +107,73 @@ distdir: $(DISTFILES) && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu debian/Makefile @for file in $(DISTFILES); do \ d=$(srcdir); \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file; \ + if test -d $$d/$$file; then \ + cp -pr $$d/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ done -info: -dvi: -check: all - $(MAKE) -installcheck: -install-exec: - @$(NORMAL_INSTALL) +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-exec-am: +install-exec: install-exec-am -install-data: - @$(NORMAL_INSTALL) - -install: install-exec install-data all - @: - -uninstall: +install-data-am: +install-data: install-data-am +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: +uninstall: uninstall-am +all-am: Makefile +all-redirect: all-am install-strip: - $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install + $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install installdirs: mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f Makefile $(DISTCLEANFILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -mostlyclean: mostlyclean-generic +mostlyclean-am: mostlyclean-generic -clean: clean-generic mostlyclean +mostlyclean: mostlyclean-am -distclean: distclean-generic clean - -rm -f config.status +clean-am: clean-generic mostlyclean-am -maintainer-clean: maintainer-clean-generic distclean +clean: clean-am + +distclean-am: distclean-generic clean-am + +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-generic distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." -.PHONY: tags distdir info dvi installcheck install-exec install-data \ -install uninstall all installdirs mostlyclean-generic distclean-generic \ -clean-generic maintainer-clean-generic clean mostlyclean distclean \ -maintainer-clean +maintainer-clean: maintainer-clean-am + +.PHONY: tags distdir info-am info dvi-am dvi check check-am \ +installcheck-am installcheck install-exec-am install-exec \ +install-data-am install-data install-am install uninstall-am uninstall \ +all-redirect all-am all install-strip installdirs mostlyclean-generic \ +distclean-generic clean-generic maintainer-clean-generic clean \ +mostlyclean distclean maintainer-clean # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/docs/Makefile.in b/docs/Makefile.in index ebaa6b40a..4aac055dd 100644 --- a/docs/Makefile.in +++ b/docs/Makefile.in @@ -1,6 +1,6 @@ -# Makefile.in generated automatically by automake 1.3 from Makefile.am +# Makefile.in generated automatically by automake 1.4a from Makefile.am -# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -10,8 +10,7 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. - -SHELL = /bin/sh +SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -32,7 +31,7 @@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include -DISTDIR = +DESTDIR = pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -49,6 +48,7 @@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_FLAG = transform = @program_transform_name@ NORMAL_INSTALL = : @@ -59,43 +59,45 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AMTARFLAGS = @AMTARFLAGS@ CC = @CC@ LD = @LD@ MAKEINFO = @MAKEINFO@ OBJCOPY = @OBJCOPY@ PACKAGE = @PACKAGE@ +TAR = @TAR@ VERSION = @VERSION@ host_cpu = @host_cpu@ host_vendor = @host_vendor@ sbingrub = @sbingrub@ stage2debug = @stage2debug@ + html = boot-proposal.html errors.html faq.html grub.html install.html \ mem64mb.html technical.html using.html + txt = PC_partitioning.txt bios_mapping.txt commands.txt embedded_data.txt \ filesystem.txt + info_TEXINFOS = grub.texi EXTRA_DIST = BUGS $(txt) $(html) menu.lst mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = TEXI2DVI = texi2dvi -TEXINFO_TEX = $(srcdir)/texinfo.tex INFO_DEPS = grub.info DVIS = grub.dvi TEXINFOS = grub.texi DIST_COMMON = COPYING Makefile.am Makefile.in TODO mdate-sh stamp-vti \ -version.texi +texinfo.tex version.texi -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP = --best -all: Makefile $(INFO_DEPS) +DISTFILES = $(DIST_COMMON) $(SOURCES) $(TEXINFOS) $(EXTRA_DIST) +GZIP_ENV = --best +all: all-redirect .SUFFIXES: .SUFFIXES: .dvi .info .ps .texi .texinfo .txi -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) @@ -103,18 +105,18 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status -version.texi: stamp-vti - cp $(srcdir)/stamp-vti $(srcdir)/version.texi +$(srcdir)/version.texi: stamp-vti + @: -stamp-vti: grub.texi $(top_srcdir)/configure.in - @echo "@set UPDATED `cd $(srcdir) \ - && $(SHELL) ./mdate-sh grub.texi`" > vti.tmp +$(srcdir)/stamp-vti: grub.texi $(top_srcdir)/configure.in + @echo "@set UPDATED `$(SHELL) $(srcdir)/mdate-sh $(srcdir)/grub.texi`" > vti.tmp @echo "@set EDITION $(VERSION)" >> vti.tmp @echo "@set VERSION $(VERSION)" >> vti.tmp - @cmp -s vti.tmp $(srcdir)/stamp-vti \ - || (echo "Updating $(srcdir)/stamp-vti"; \ - cp vti.tmp $(srcdir)/stamp-vti) + @cmp -s vti.tmp $(srcdir)/version.texi \ + || (echo "Updating $(srcdir)/version.texi"; \ + cp vti.tmp $(srcdir)/version.texi) -@rm -f vti.tmp + @cp $(srcdir)/version.texi $@ mostlyclean-vti: -rm -f vti.tmp @@ -124,7 +126,7 @@ clean-vti: distclean-vti: maintainer-clean-vti: - -rm -f stamp-vti version.texi + -rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi grub.info: grub.texi version.texi grub.dvi: grub.texi version.texi @@ -179,7 +181,8 @@ DVIPS = dvips install-info-am: $(INFO_DEPS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(infodir) - @for file in $(INFO_DEPS); do \ + @list='$(INFO_DEPS)'; \ + for file in $$list; do \ d=$(srcdir); \ for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \ if test -f $$d/$$ifile; then \ @@ -190,7 +193,8 @@ install-info-am: $(INFO_DEPS) done @$(POST_INSTALL) @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \ - for file in $(INFO_DEPS); do \ + list='$(INFO_DEPS)'; \ + for file in $$list; do \ echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\ install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;\ done; \ @@ -199,19 +203,24 @@ install-info-am: $(INFO_DEPS) uninstall-info: $(PRE_UNINSTALL) @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \ - ii=yes; \ - else ii=; fi; \ - for file in $(INFO_DEPS); do \ - test -z "$ii" \ - || install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; \ - done + list='$(INFO_DEPS)'; \ + for file in $$list; do \ + echo " install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file"; \ + install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; \ + done; \ + else :; fi @$(NORMAL_UNINSTALL) - for file in $(INFO_DEPS); do \ - (cd $(DESTDIR)$(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9]); \ + @list='$(INFO_DEPS)'; \ + for file in $$list; do \ + (if cd $(DESTDIR)$(infodir); then \ + echo " rm -f $$file $$file-[0-9] $$file-[0-9][0-9])"; \ + rm -f $$file $$file-[0-9] $$file-[0-9][0-9]; \ + else :; fi); \ done dist-info: $(INFO_DEPS) - for base in $(INFO_DEPS); do \ + list='$(INFO_DEPS)'; \ + for base in $$list; do \ d=$(srcdir); \ for file in `cd $$d && eval echo $$base*`; do \ test -f $(distdir)/$$file \ @@ -221,16 +230,16 @@ dist-info: $(INFO_DEPS) done mostlyclean-aminfo: - -rm -f grub.aux grub.cp grub.cps grub.dvi grub.fn grub.fns grub.ky \ - grub.kys grub.ps grub.log grub.pg grub.toc grub.tp grub.tps \ - grub.vr grub.vrs grub.op grub.tr grub.cv grub.cn + -rm -f grub.aux grub.cp grub.cps grub.dvi grub.fn grub.fns grub.pgs \ + grub.ky grub.kys grub.ps grub.log grub.pg grub.toc grub.tp \ + grub.tps grub.vr grub.vrs grub.op grub.tr grub.cv grub.cn clean-aminfo: distclean-aminfo: maintainer-clean-aminfo: - for i in $(INFO_DEPS); do \ + cd $(srcdir) && for i in $(INFO_DEPS); do \ rm -f $$i; \ if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \ rm -f $$i-[0-9]*; \ @@ -252,64 +261,77 @@ distdir: $(DISTFILES) && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu docs/Makefile @for file in $(DISTFILES); do \ d=$(srcdir); \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file; \ + if test -d $$d/$$file; then \ + cp -pr $$d/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ done - $(MAKE) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-info -info: $(INFO_DEPS) -dvi: $(DVIS) -check: all - $(MAKE) -installcheck: -install-exec: - @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-info +info-am: $(INFO_DEPS) +info: info-am +dvi-am: $(DVIS) +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-exec-am: +install-exec: install-exec-am -install-data: install-info-am - @$(NORMAL_INSTALL) - -install: install-exec install-data all - @: - -uninstall: uninstall-info +install-data-am: install-info-am +install-data: install-data-am +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-info +uninstall: uninstall-am +all-am: Makefile $(INFO_DEPS) +all-redirect: all-am install-strip: - $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install + $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install installdirs: $(mkinstalldirs) $(DESTDIR)$(infodir) mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f Makefile $(DISTCLEANFILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -mostlyclean: mostlyclean-vti mostlyclean-aminfo mostlyclean-generic +mostlyclean-am: mostlyclean-vti mostlyclean-aminfo mostlyclean-generic -clean: clean-vti clean-aminfo clean-generic mostlyclean +mostlyclean: mostlyclean-am -distclean: distclean-vti distclean-aminfo distclean-generic clean - -rm -f config.status +clean-am: clean-vti clean-aminfo clean-generic mostlyclean-am -maintainer-clean: maintainer-clean-vti maintainer-clean-aminfo \ - maintainer-clean-generic distclean +clean: clean-am + +distclean-am: distclean-vti distclean-aminfo distclean-generic clean-am + +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-vti maintainer-clean-aminfo \ + maintainer-clean-generic distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." +maintainer-clean: maintainer-clean-am + .PHONY: mostlyclean-vti distclean-vti clean-vti maintainer-clean-vti \ install-info-am uninstall-info mostlyclean-aminfo distclean-aminfo \ -clean-aminfo maintainer-clean-aminfo tags distdir info dvi installcheck \ -install-exec install-data install uninstall all installdirs \ -mostlyclean-generic distclean-generic clean-generic \ +clean-aminfo maintainer-clean-aminfo tags distdir info-am info dvi-am \ +dvi check check-am installcheck-am installcheck install-exec-am \ +install-exec install-data-am install-data install-am install \ +uninstall-am uninstall all-redirect all-am all install-strip \ +installdirs mostlyclean-generic distclean-generic clean-generic \ maintainer-clean-generic clean mostlyclean distclean maintainer-clean diff --git a/docs/TODO b/docs/TODO index 3c83eac77..95e134e8a 100644 --- a/docs/TODO +++ b/docs/TODO @@ -7,8 +7,6 @@ type''. We need this for clean Hurd install floppies. Find out the size restrictions for FAT and ext2fs stage1.5 boot blocks. Enforce all arbitrary limits using the Makefiles. -Finish int13 extensions support. - Add a real scripting language, possibly retaining backward compatibility so that old config files can be used. @@ -34,3 +32,15 @@ larger than 16MB can be read. ??? Add command for modifying partition types. Fix-up FreeBSD, NetBSD (and OpenBSD ?) command-line boot parameters + +Support ELF format of FreeBSD kernel. + +Support new partition IDs for NetBSD and OpenBSD. + +Add ``configfile'' command, in a clean way. + +Add keyboard layout configuration support. + +Add ``quit'' command for /sbin/grub. + +Finish the GNU GRUB manual, grub.texi. diff --git a/e2fs_stage1_5/Makefile.am b/e2fs_stage1_5/Makefile.am index 7db2c983d..56a2bc69b 100644 --- a/e2fs_stage1_5/Makefile.am +++ b/e2fs_stage1_5/Makefile.am @@ -1,4 +1,6 @@ -IMPORTANT_SIZE_LIMIT = 7168 +# On ext2fs, we can install into EXT2_BOOT_LOADER_INO, which gives us: +# MAX-STAGE1-BLOCK-LIST * MIN-EXT2-BLOCK-SIZE = 80 * 1024 = 81920 +IMPORTANT_SIZE_LIMIT = 81920 pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) pkgdata_DATA = e2fs_stage1_5 diff --git a/e2fs_stage1_5/Makefile.in b/e2fs_stage1_5/Makefile.in index 0c8955a16..d8a75deec 100644 --- a/e2fs_stage1_5/Makefile.in +++ b/e2fs_stage1_5/Makefile.in @@ -43,9 +43,10 @@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) +INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_FLAG = transform = @program_transform_name@ NORMAL_INSTALL = : @@ -69,8 +70,11 @@ host_vendor = @host_vendor@ sbingrub = @sbingrub@ stage2debug = @stage2debug@ +# On ext2fs, we can install into EXT2_BOOT_LOADER_INO, which gives us: +# MAX-STAGE1-BLOCK-LIST * MIN-EXT2-BLOCK-SIZE = 80 * 1024 = 81920 -IMPORTANT_SIZE_LIMIT = 7168 + +IMPORTANT_SIZE_LIMIT = 81920 pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) pkgdata_DATA = e2fs_stage1_5 @@ -78,12 +82,16 @@ CLEANFILES = $(pkgdata_DATA) $(pkgdata_DATA)T noinst_PROGRAMS = e2fs_stage1_5.exec # We can't use builtins or standard includes. -COMPILE = $(CC) -fno-builtin -nostdinc -DFSYS_EXT2FS=1 -DNO_DECOMPRESSION=1 -DSTAGE1_5=1 -DNO_BLOCK_FILES=1 -DCONFIG_FILE_ASM='.string "/boot/grub/stage2"' $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) +COMPILE = $(CC) -fno-builtin -nostdinc -DFSYS_EXT2FS=1 -DNO_DECOMPRESSION=1 \ + -DSTAGE1_5=1 -DNO_BLOCK_FILES=1 \ + -DCONFIG_FILE_ASM='.string "/boot/grub/stage2"' \ + $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) INCLUDES = -I$(top_srcdir)/shared_src # asm.o absolutely needs to come first! -e2fs_stage1_5_exec_LDADD = asm.o common.o char_io.o disk_io.o stage1_5.o fsys_ext2fs.o bios.o +e2fs_stage1_5_exec_LDADD = asm.o common.o char_io.o disk_io.o \ + stage1_5.o fsys_ext2fs.o bios.o # FIXME: Automake hackery. @@ -155,19 +163,18 @@ install-pkgdataDATA: $(pkgdata_DATA) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) @list='$(pkgdata_DATA)'; for p in $$list; do \ - if test -f $(srcdir)/$$p; then \ - echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \ - $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \ - else if test -f $$p; then \ - echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \ - $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ - fi; fi; \ + if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f"; \ + $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f; \ done uninstall-pkgdataDATA: @$(NORMAL_UNINSTALL) - list='$(pkgdata_DATA)'; for p in $$list; do \ - rm -f $(DESTDIR)$(pkgdatadir)/$$p; \ + @list='$(pkgdata_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(pkgdatadir)/$$f"; \ + rm -f $(DESTDIR)$(pkgdatadir)/$$f; \ done tags: TAGS diff --git a/fat_stage1_5/Makefile.am b/fat_stage1_5/Makefile.am index 90b35e267..dacae19cf 100644 --- a/fat_stage1_5/Makefile.am +++ b/fat_stage1_5/Makefile.am @@ -1,4 +1,4 @@ -IMPORTANT_SIZE_LIMIT = 7168 +IMPORTANT_SIZE_LIMIT = 81920 pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) pkgdata_DATA = fat_stage1_5 diff --git a/fat_stage1_5/Makefile.in b/fat_stage1_5/Makefile.in index 5009c0f53..1ed6e660f 100644 --- a/fat_stage1_5/Makefile.in +++ b/fat_stage1_5/Makefile.in @@ -43,9 +43,10 @@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) +INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_FLAG = transform = @program_transform_name@ NORMAL_INSTALL = : @@ -70,7 +71,7 @@ sbingrub = @sbingrub@ stage2debug = @stage2debug@ -IMPORTANT_SIZE_LIMIT = 7168 +IMPORTANT_SIZE_LIMIT = 81920 pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) pkgdata_DATA = fat_stage1_5 @@ -78,12 +79,15 @@ CLEANFILES = $(pkgdata_DATA) $(pkgdata_DATA)T noinst_PROGRAMS = fat_stage1_5.exec # We can't use builtins or standard includes. -COMPILE = $(CC) -fno-builtin -nostdinc -DFSYS_FAT=1 -DNO_DECOMPRESSION=1 -DSTAGE1_5=1 -DCONFIG_FILE_ASM='.string "/boot/grub/stage2"' $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) +COMPILE = $(CC) -fno-builtin -nostdinc -DFSYS_FAT=1 -DNO_DECOMPRESSION=1 \ + -DSTAGE1_5=1 -DCONFIG_FILE_ASM='.string "/boot/grub/stage2"' \ + $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) INCLUDES = -I$(top_srcdir)/shared_src # asm.o absolutely needs to come first! -fat_stage1_5_exec_LDADD = asm.o common.o char_io.o disk_io.o stage1_5.o fsys_fat.o bios.o +fat_stage1_5_exec_LDADD = asm.o common.o char_io.o disk_io.o \ + stage1_5.o fsys_fat.o bios.o # FIXME: Automake hackery. @@ -155,19 +159,18 @@ install-pkgdataDATA: $(pkgdata_DATA) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) @list='$(pkgdata_DATA)'; for p in $$list; do \ - if test -f $(srcdir)/$$p; then \ - echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \ - $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \ - else if test -f $$p; then \ - echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \ - $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ - fi; fi; \ + if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f"; \ + $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f; \ done uninstall-pkgdataDATA: @$(NORMAL_UNINSTALL) - list='$(pkgdata_DATA)'; for p in $$list; do \ - rm -f $(DESTDIR)$(pkgdatadir)/$$p; \ + @list='$(pkgdata_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(pkgdatadir)/$$f"; \ + rm -f $(DESTDIR)$(pkgdatadir)/$$f; \ done tags: TAGS diff --git a/ffs_stage1_5/Makefile.am b/ffs_stage1_5/Makefile.am index eec5dcad7..71032dbc7 100644 --- a/ffs_stage1_5/Makefile.am +++ b/ffs_stage1_5/Makefile.am @@ -1,6 +1,4 @@ -# On ext2fs, we can install into EXT2_BOOT_LOADER_INO, which gives us: -# MAX-STAGE1-BLOCK-LIST * MIN-EXT2-BLOCK-SIZE = 80 * 1024 = 81920 -IMPORTANT_SIZE_LIMIT = 81920 +IMPORTANT_SIZE_LIMIT = 7168 pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) pkgdata_DATA = ffs_stage1_5 diff --git a/ffs_stage1_5/Makefile.in b/ffs_stage1_5/Makefile.in index 42d8bec0a..0d39d6528 100644 --- a/ffs_stage1_5/Makefile.in +++ b/ffs_stage1_5/Makefile.in @@ -43,9 +43,10 @@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) +INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_FLAG = transform = @program_transform_name@ NORMAL_INSTALL = : @@ -69,11 +70,8 @@ host_vendor = @host_vendor@ sbingrub = @sbingrub@ stage2debug = @stage2debug@ -# On ext2fs, we can install into EXT2_BOOT_LOADER_INO, which gives us: -# MAX-STAGE1-BLOCK-LIST * MIN-EXT2-BLOCK-SIZE = 80 * 1024 = 81920 - -IMPORTANT_SIZE_LIMIT = 81920 +IMPORTANT_SIZE_LIMIT = 7168 pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) pkgdata_DATA = ffs_stage1_5 @@ -81,12 +79,16 @@ CLEANFILES = $(pkgdata_DATA) $(pkgdata_DATA)T noinst_PROGRAMS = ffs_stage1_5.exec # We can't use builtins or standard includes. -COMPILE = $(CC) -fno-builtin -nostdinc -DFSYS_FFS=1 -DNO_DECOMPRESSION=1 -DSTAGE1_5=1 -DNO_BLOCK_FILES=1 -DCONFIG_FILE_ASM='.string "/boot/grub/stage2"' $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) +COMPILE = $(CC) -fno-builtin -nostdinc -DFSYS_FFS=1 -DNO_DECOMPRESSION=1 \ + -DSTAGE1_5=1 -DNO_BLOCK_FILES=1 \ + -DCONFIG_FILE_ASM='.string "/boot/grub/stage2"' \ + $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) INCLUDES = -I$(top_srcdir)/shared_src # asm.o absolutely needs to come first! -ffs_stage1_5_exec_LDADD = asm.o common.o char_io.o disk_io.o stage1_5.o fsys_ffs.o bios.o +ffs_stage1_5_exec_LDADD = asm.o common.o char_io.o disk_io.o \ + stage1_5.o fsys_ffs.o bios.o # FIXME: Automake hackery. @@ -158,19 +160,18 @@ install-pkgdataDATA: $(pkgdata_DATA) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) @list='$(pkgdata_DATA)'; for p in $$list; do \ - if test -f $(srcdir)/$$p; then \ - echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \ - $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \ - else if test -f $$p; then \ - echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \ - $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ - fi; fi; \ + if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f"; \ + $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f; \ done uninstall-pkgdataDATA: @$(NORMAL_UNINSTALL) - list='$(pkgdata_DATA)'; for p in $$list; do \ - rm -f $(DESTDIR)$(pkgdatadir)/$$p; \ + @list='$(pkgdata_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(pkgdatadir)/$$f"; \ + rm -f $(DESTDIR)$(pkgdatadir)/$$f; \ done tags: TAGS diff --git a/grub/Makefile.in b/grub/Makefile.in index 8e3a7c506..6c661dde5 100644 --- a/grub/Makefile.in +++ b/grub/Makefile.in @@ -1,6 +1,6 @@ -# Makefile.in generated automatically by automake 1.3 from Makefile.am +# Makefile.in generated automatically by automake 1.4a from Makefile.am -# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -10,8 +10,7 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. - -SHELL = /bin/sh +SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -32,7 +31,7 @@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include -DISTDIR = +DESTDIR = pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -49,6 +48,7 @@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_FLAG = transform = @program_transform_name@ NORMAL_INSTALL = : @@ -59,17 +59,20 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AMTARFLAGS = @AMTARFLAGS@ CC = @CC@ LD = @LD@ MAKEINFO = @MAKEINFO@ OBJCOPY = @OBJCOPY@ PACKAGE = @PACKAGE@ +TAR = @TAR@ VERSION = @VERSION@ host_cpu = @host_cpu@ host_vendor = @host_vendor@ sbingrub = @sbingrub@ stage2debug = @stage2debug@ + EXTRA_PROGRAMS = grub sbin_PROGRAMS = $(sbingrub) CLEANFILES = $(EXTRA_PROGRAMS) @@ -81,6 +84,7 @@ grub_SOURCES = main.c asmstub.c grub_LDADD = boot.o common.o char_io.o cmdline.o disk_io.o gunzip.o \ fsys_ffs.o fsys_ext2fs.o fsys_fat.o stage2.o + # FIXME: Automake hackery. DEP_FILES = .deps/main.P .deps/asmstub.P $(wildcard .deps/*.P) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -97,22 +101,21 @@ grub_DEPENDENCIES = boot.o common.o char_io.o cmdline.o disk_io.o \ gunzip.o fsys_ffs.o fsys_ext2fs.o fsys_fat.o stage2.o grub_LDFLAGS = CFLAGS = @CFLAGS@ -LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@ +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ DIST_COMMON = Makefile.am Makefile.in -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) +DISTFILES = $(DIST_COMMON) $(SOURCES) $(TEXINFOS) $(EXTRA_DIST) -TAR = tar -GZIP = --best +GZIP_ENV = --best SOURCES = $(grub_SOURCES) OBJECTS = $(grub_OBJECTS) -all: Makefile $(PROGRAMS) - +all: all-redirect .SUFFIXES: .SUFFIXES: .S .c .o .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu grub/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) @@ -134,15 +137,17 @@ install-sbinPROGRAMS: $(sbin_PROGRAMS) $(mkinstalldirs) $(DESTDIR)$(sbindir) @list='$(sbin_PROGRAMS)'; for p in $$list; do \ if test -f $$p; then \ - echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(sbindir)/`echo $$p|sed '$(transform)'`"; \ - $(INSTALL_PROGRAM) $$p $(DESTDIR)$(sbindir)/`echo $$p|sed '$(transform)'`; \ + echo " $(INSTALL_PROGRAM) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(sbindir)/`echo $$p|sed -e 's/$(EXEEXT)$$//' -e '$(transform)' -e 's/$$/$(EXEEXT)/'`"; \ + $(INSTALL_PROGRAM) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(sbindir)/`echo $$p|sed -e 's/$(EXEEXT)$$//' -e '$(transform)' -e 's/$$/$(EXEEXT)/'`; \ else :; fi; \ done uninstall-sbinPROGRAMS: @$(NORMAL_UNINSTALL) - list='$(sbin_PROGRAMS)'; for p in $$list; do \ - rm -f $(DESTDIR)$(sbindir)/`echo $$p|sed '$(transform)'`; \ + @list='$(sbin_PROGRAMS)'; for p in $$list; do \ + file="`echo $$p|sed -e 's/$(EXEEXT)$$//' -e '$(transform)' -e 's/$$/$(EXEEXT)/'`"; \ + echo " rm -f $(DESTDIR)$(sbindir)/$$file"; \ + rm -f $(DESTDIR)$(sbindir)/$$file; \ done .s.o: @@ -168,8 +173,12 @@ grub: $(grub_OBJECTS) $(grub_DEPENDENCIES) tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP) + && mkid -f$$here/ID $$unique $(LISP) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) tags=; \ @@ -202,9 +211,13 @@ distdir: $(DISTFILES) && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu grub/Makefile @for file in $(DISTFILES); do \ d=$(srcdir); \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file; \ + if test -d $$d/$$file; then \ + cp -pr $$d/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ done DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :) @@ -216,83 +229,101 @@ mostlyclean-depend: clean-depend: distclean-depend: + -rm -rf .deps maintainer-clean-depend: - -rm -rf .deps %.o: %.c @echo '$(COMPILE) -c $<'; \ - $(COMPILE) -Wp,-MD,.deps/$(*F).P -c $< + $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $< + @-cp .deps/$(*F).pp .deps/$(*F).P; \ + tr ' ' '\012' < .deps/$(*F).pp \ + | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ + >> .deps/$(*F).P; \ + rm .deps/$(*F).pp %.lo: %.c @echo '$(LTCOMPILE) -c $<'; \ - $(LTCOMPILE) -Wp,-MD,.deps/$(*F).p -c $< - @-sed -e 's/^\([^:]*\)\.o:/\1.lo \1.o:/' \ - < .deps/$(*F).p > .deps/$(*F).P - @-rm -f .deps/$(*F).p -info: -dvi: -check: all - $(MAKE) -installcheck: -install-exec: install-sbinPROGRAMS - @$(NORMAL_INSTALL) + $(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $< + @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \ + < .deps/$(*F).pp > .deps/$(*F).P; \ + tr ' ' '\012' < .deps/$(*F).pp \ + | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ + >> .deps/$(*F).P; \ + rm -f .deps/$(*F).pp +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-exec-am: install-sbinPROGRAMS +install-exec: install-exec-am -install-data: - @$(NORMAL_INSTALL) - -install: install-exec install-data all - @: - -uninstall: uninstall-sbinPROGRAMS +install-data-am: +install-data: install-data-am +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-sbinPROGRAMS +uninstall: uninstall-am +all-am: Makefile $(PROGRAMS) +all-redirect: all-am install-strip: - $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install + $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install installdirs: - $(mkinstalldirs) $(DATADIR)$(sbindir) + $(mkinstalldirs) $(DESTDIR)$(sbindir) mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f Makefile $(DISTCLEANFILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -mostlyclean: mostlyclean-sbinPROGRAMS mostlyclean-compile \ +mostlyclean-am: mostlyclean-sbinPROGRAMS mostlyclean-compile \ mostlyclean-tags mostlyclean-depend mostlyclean-generic -clean: clean-sbinPROGRAMS clean-compile clean-tags clean-depend \ - clean-generic mostlyclean +mostlyclean: mostlyclean-am -distclean: distclean-sbinPROGRAMS distclean-compile distclean-tags \ - distclean-depend distclean-generic clean - -rm -f config.status +clean-am: clean-sbinPROGRAMS clean-compile clean-tags clean-depend \ + clean-generic mostlyclean-am -maintainer-clean: maintainer-clean-sbinPROGRAMS \ +clean: clean-am + +distclean-am: distclean-sbinPROGRAMS distclean-compile distclean-tags \ + distclean-depend distclean-generic clean-am + +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-sbinPROGRAMS \ maintainer-clean-compile maintainer-clean-tags \ maintainer-clean-depend maintainer-clean-generic \ - distclean + distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." +maintainer-clean: maintainer-clean-am + .PHONY: mostlyclean-sbinPROGRAMS distclean-sbinPROGRAMS \ clean-sbinPROGRAMS maintainer-clean-sbinPROGRAMS uninstall-sbinPROGRAMS \ install-sbinPROGRAMS mostlyclean-compile distclean-compile \ clean-compile maintainer-clean-compile tags mostlyclean-tags \ distclean-tags clean-tags maintainer-clean-tags distdir \ mostlyclean-depend distclean-depend clean-depend \ -maintainer-clean-depend info dvi installcheck install-exec install-data \ -install uninstall all installdirs mostlyclean-generic distclean-generic \ -clean-generic maintainer-clean-generic clean mostlyclean distclean \ -maintainer-clean +maintainer-clean-depend info-am info dvi-am dvi check check-am \ +installcheck-am installcheck install-exec-am install-exec \ +install-data-am install-data install-am install uninstall-am uninstall \ +all-redirect all-am all install-strip installdirs mostlyclean-generic \ +distclean-generic clean-generic maintainer-clean-generic clean \ +mostlyclean distclean maintainer-clean @SHARED_SRC_RULES@ diff --git a/grub/asmstub.c b/grub/asmstub.c index 6dea78e1a..fc3c67253 100644 --- a/grub/asmstub.c +++ b/grub/asmstub.c @@ -540,6 +540,58 @@ get_diskinfo (int drive, struct geometry *geometry) return 0; } +/* Read LEN bytes from FD in BUF. Return less than or equal to zero if an + error occurs, otherwise return LEN. */ +static int +nread (int fd, char *buf, size_t len) +{ + int size = len; + + while (len) + { + int ret = read (fd, buf, len); + + if (ret <= 0) + { + if (errno == EINTR) + continue; + else + return ret; + } + + len -= ret; + buf += ret; + } + + return size; +} + +/* Write LEN bytes from BUF to FD. Return less than or equal to zero if an + error occurs, otherwise return LEN. */ +static int +nwrite (int fd, char *buf, size_t len) +{ + int size = len; + + while (len) + { + int ret = write (fd, buf, len); + + if (ret <= 0) + { + if (errno == EINTR) + continue; + else + return ret; + } + + len -= ret; + buf += ret; + } + + return size; +} + int biosdisk (int subfunc, int drive, struct geometry *geometry, int sector, int nsec, int segment) @@ -569,9 +621,27 @@ biosdisk (int subfunc, int drive, struct geometry *geometry, #endif /* __linux__ */ buf = (char *) (segment << 4); - /* FIXME: handle EINTR */ - if (read (fd, buf, nsec * SECTOR_SIZE) != nsec * SECTOR_SIZE) - return -1; + + switch (subfunc) + { + case BIOSDISK_READ: + if (nread (fd, buf, nsec * SECTOR_SIZE) != nsec * SECTOR_SIZE) + return -1; + break; + /* For now, I don't want to turn on this write code by default, + because a bug that I haven't known yet may destroy all disks + in the world. */ +#ifdef I_AM_VERY_BRAVE + case BIOSDISK_WRITE: + if (nwrite (fd, buf, nsec * SECTOR_SIZE) != nsec * SECTOR_SIZE) + return -1; + break; +#endif + default: + grub_printf ("unknown subfunc %d\n", subfunc); + break; + } + return 0; } diff --git a/shared_src/Makefile.in b/shared_src/Makefile.in index eb2341271..795fdb018 100644 --- a/shared_src/Makefile.in +++ b/shared_src/Makefile.in @@ -1,6 +1,6 @@ -# Makefile.in generated automatically by automake 1.3 from Makefile.am +# Makefile.in generated automatically by automake 1.4a from Makefile.am -# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -10,8 +10,7 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. - -SHELL = /bin/sh +SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -32,7 +31,7 @@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include -DISTDIR = +DESTDIR = pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -49,6 +48,7 @@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_FLAG = transform = @program_transform_name@ NORMAL_INSTALL = : @@ -59,39 +59,42 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AMTARFLAGS = @AMTARFLAGS@ CC = @CC@ LD = @LD@ MAKEINFO = @MAKEINFO@ OBJCOPY = @OBJCOPY@ PACKAGE = @PACKAGE@ +TAR = @TAR@ VERSION = @VERSION@ host_cpu = @host_cpu@ host_vendor = @host_vendor@ sbingrub = @sbingrub@ stage2debug = @stage2debug@ + noinst_HEADERS = apic.h defs.h dir.h disk_inode.h disk_inode_ffs.h \ fat.h filesys.h freebsd.h fs.h i386-elf.h imgact_aout.h \ mb_header.h mb_info.h pc_slice.h shared.h smp-imps.h + EXTRA_DIST = asm.S boot.c char_io.c cmdline.c common.c disk_io.c \ fsys_ext2fs.c fsys_fat.c fsys_ffs.c gunzip.c smp-imps.c \ stage1_5.c stage2.c + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = HEADERS = $(noinst_HEADERS) -DIST_COMMON = Makefile.am Makefile.in +DIST_COMMON = $(noinst_HEADERS) Makefile.am Makefile.in -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP = --best -all: Makefile $(HEADERS) +DISTFILES = $(DIST_COMMON) $(SOURCES) $(TEXINFOS) $(EXTRA_DIST) +GZIP_ENV = --best +all: all-redirect .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu shared_src/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) @@ -102,8 +105,12 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP) + && mkid -f$$here/ID $$unique $(LISP) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) tags=; \ @@ -136,60 +143,73 @@ distdir: $(DISTFILES) && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu shared_src/Makefile @for file in $(DISTFILES); do \ d=$(srcdir); \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file; \ + if test -d $$d/$$file; then \ + cp -pr $$d/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ done -info: -dvi: -check: all - $(MAKE) -installcheck: -install-exec: - @$(NORMAL_INSTALL) +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-exec-am: +install-exec: install-exec-am -install-data: - @$(NORMAL_INSTALL) - -install: install-exec install-data all - @: - -uninstall: +install-data-am: +install-data: install-data-am +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: +uninstall: uninstall-am +all-am: Makefile $(HEADERS) +all-redirect: all-am install-strip: - $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install + $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install installdirs: mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f Makefile $(DISTCLEANFILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -mostlyclean: mostlyclean-tags mostlyclean-generic +mostlyclean-am: mostlyclean-tags mostlyclean-generic -clean: clean-tags clean-generic mostlyclean +mostlyclean: mostlyclean-am -distclean: distclean-tags distclean-generic clean - -rm -f config.status +clean-am: clean-tags clean-generic mostlyclean-am -maintainer-clean: maintainer-clean-tags maintainer-clean-generic \ - distclean +clean: clean-am + +distclean-am: distclean-tags distclean-generic clean-am + +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \ + distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." +maintainer-clean: maintainer-clean-am + .PHONY: tags mostlyclean-tags distclean-tags clean-tags \ -maintainer-clean-tags distdir info dvi installcheck install-exec \ -install-data install uninstall all installdirs mostlyclean-generic \ +maintainer-clean-tags distdir info-am info dvi-am dvi check check-am \ +installcheck-am installcheck install-exec-am install-exec \ +install-data-am install-data install-am install uninstall-am uninstall \ +all-redirect all-am all install-strip installdirs mostlyclean-generic \ distclean-generic clean-generic maintainer-clean-generic clean \ mostlyclean distclean maintainer-clean diff --git a/shared_src/asm.S b/shared_src/asm.S index 8b5da00f8..b04742b13 100644 --- a/shared_src/asm.S +++ b/shared_src/asm.S @@ -35,9 +35,14 @@ ENTRY(start) .globl _start _start: /* - * Guarantee that "start" is loaded at 0x0:0x8000. + * Guarantee that "start" is loaded at 0x0:0x8000 in stage2 and + * at 0x0:0x2000 in stage1.5. */ +#ifndef STAGE1_5 ljmp $0, $(codestart - EXT_C(start) + 0x8000) +#else + ljmp $0, $(codestart - EXT_C(start) + 0x2000) +#endif /* * Compatibility version number diff --git a/shared_src/bios.c b/shared_src/bios.c index 77394e475..f5d988e82 100644 --- a/shared_src/bios.c +++ b/shared_src/bios.c @@ -118,9 +118,6 @@ get_diskinfo (int drive, struct geometry *geometry) { int err; - /* Clear GEOMETRY. */ - memset (geometry, 0, sizeof (struct geometry)); - if (drive & 0x80) { /* hard disk */ diff --git a/shared_src/char_io.c b/shared_src/char_io.c index 6bc1756f7..9805d120b 100644 --- a/shared_src/char_io.c +++ b/shared_src/char_io.c @@ -105,6 +105,7 @@ grub_printf (char *format,...) putchar (*(ptr++)); break; +#ifndef STAGE1_5 case 'c': putchar ((*(dataptr++)) & 0xff); break; @@ -115,6 +116,7 @@ grub_printf (char *format,...) while ((c = *(ptr++)) != 0) putchar (c); break; +#endif } } } @@ -414,7 +416,6 @@ get_cmdline (char *prompt, char *commands, char *cmdline, int maxlen, #endif /* STAGE1_5 */ -#if !defined(STAGE1_5) || !defined(NO_BLOCK_FILES) int get_based_digit (int c, int base) { @@ -492,7 +493,6 @@ grub_tolower (int c) return c; } -#endif /* !defined(STAGE1_5) || !defined(NO_BLOCK_FILES) */ int @@ -505,6 +505,7 @@ grub_isspace (int c) } +#ifndef STAGE1_5 int grub_strncat (char *s1, char *s2, int n) { @@ -540,7 +541,7 @@ grub_strcmp (char *s1, char *s2) return 0; } - +#endif /* ! STAGE1_5 */ int substring (char *s1, char *s2) @@ -562,6 +563,7 @@ substring (char *s1, char *s2) } +#ifndef STAGE1_5 char * grub_strstr (char *s1, char *s2) { @@ -580,6 +582,7 @@ grub_strstr (char *s1, char *s2) return 0; } +#endif /* ! STAGE1_5 */ int @@ -635,6 +638,7 @@ grub_memmove (char *to, char *from, int len) } +#ifndef STAGE1_5 void * grub_memset (void *start, int c, int len) { @@ -648,3 +652,4 @@ grub_memset (void *start, int c, int len) return errnum ? NULL : start; } +#endif /* ! STAGE1_5 */ diff --git a/shared_src/cmdline.c b/shared_src/cmdline.c index ecb734da9..3da231fc9 100644 --- a/shared_src/cmdline.c +++ b/shared_src/cmdline.c @@ -439,9 +439,8 @@ returnit: if (!errnum && grub_read ((char *) SCRATCHADDR, SECTOR_SIZE) == SECTOR_SIZE) { - if (*((long *)SCRATCHADDR) != 0x8070ea - || (*((short *)(SCRATCHADDR+STAGE2_VER_MAJ_OFFS)) - != COMPAT_VERSION)) + if (*((short *)(SCRATCHADDR+STAGE2_VER_MAJ_OFFS)) + != COMPAT_VERSION) errnum = ERR_BAD_VERSION; else { @@ -467,7 +466,7 @@ returnit: while ((*(str++) = *(ptr++)) != 0); /* do copy */ } - grub_read ((char *) 0x100000, -1); + grub_read (RAW_ADDR (0x100000), -1); buf_track = -1; diff --git a/shared_src/defs.h b/shared_src/defs.h index f7267ff8f..a5e545352 100644 --- a/shared_src/defs.h +++ b/shared_src/defs.h @@ -1,4 +1,3 @@ - /* * Mach Operating System * Copyright (c) 1991,1990 Carnegie Mellon University @@ -59,7 +58,7 @@ quad; /* an 8-byte item */ typedef unsigned int time_t; /* an unsigned int */ typedef unsigned int daddr_t; /* an unsigned int */ -typedef unsigned int off_t; /* another unsigned int */ +typedef unsigned int mach_off_t; /* another unsigned int */ typedef unsigned short uid_t; typedef unsigned short gid_t; diff --git a/shared_src/disk_io.c b/shared_src/disk_io.c index f68bbba68..8ccbfb272 100644 --- a/shared_src/disk_io.c +++ b/shared_src/disk_io.c @@ -230,8 +230,7 @@ devread (int sector, int byte_offset, int byte_len, char *buf) byte_len, buf); } - -#if !defined(STAGE1_5) || !defined(NO_BLOCK_FILES) +#ifndef STAGE1_5 static int sane_partition (void) { @@ -247,20 +246,22 @@ sane_partition (void) errnum = ERR_DEV_VALUES; return 0; } -#endif /* !defined(STAGE1_5) || !defined(NO_BLOCK_FILES) */ +#endif /* ! STAGE1_5 */ - -#ifndef STAGE1_5 static void attempt_mount (void) { +#ifndef STAGE1_5 for (fsys_type = 0; fsys_type < NUM_FSYS && (*(fsys_table[fsys_type].mount_func)) () != 1; fsys_type++); if (fsys_type == NUM_FSYS && errnum == ERR_NONE) errnum = ERR_FSYS_MOUNT; +#else + if ((*(fsys_table[0].mount_func)) () != 1) + errnum = ERR_FSYS_MOUNT; +#endif } -#endif /* STAGE1_5 */ #ifndef STAGE1_5 @@ -317,7 +318,6 @@ check_and_print_mount (void) #endif /* STAGE1_5 */ -#if !defined(STAGE1_5) || !defined(NO_BLOCK_FILES) static int check_BSD_parts (int flags) { @@ -381,13 +381,13 @@ check_BSD_parts (int flags) errnum = ERR_BAD_PART_TABLE; return 0; } -#endif /* !defined(STAGE1_5) || !defined(NO_BLOCK_FILES) */ -#if !defined(STAGE1_5) || !defined(NO_BLOCK_FILES) /* This isn't static, because the GRUB utility's char_io.c (memcheck) needs to know about it as a special case. */ +#ifndef STAGE1_5 char cur_part_desc[16]; +#endif static int real_open_partition (int flags) @@ -399,9 +399,11 @@ real_open_partition (int flags) * The "rawread" is probably unnecessary here, but it is good to * know it works. */ +#ifndef STAGE1_5 if (!sane_partition () || !rawread (current_drive, 0, 0, SECTOR_SIZE, mbr_buf)) return 0; +#endif bsd_evil_hack = 0; current_slice = 0; @@ -451,7 +453,9 @@ real_open_partition (int flags) current_slice = PC_SLICE_TYPE (mbr_buf, i); part_start = part_offset + PC_SLICE_START (mbr_buf, i); part_length = PC_SLICE_LENGTH (mbr_buf, i); +#ifndef STAGE1_5 memmove (cur_part_desc, mbr_buf + PC_SLICE_OFFSET + (i << 4), 16); +#endif /* * Is this PC partition entry valid? @@ -566,10 +570,8 @@ open_partition (void) { return real_open_partition (0); } -#endif /* !defined(STAGE1_5) || !defined(NO_BLOCK_FILES) */ -#ifndef STAGE1_5 /* XX used for device completion in 'set_device' and 'print_completions' */ static int incomplete, disk_choice; static enum @@ -750,9 +752,7 @@ set_device (char *device) return retval; } -#endif /* STAGE1_5 */ -#ifndef STAGE1_5 /* * This performs a "mount" on the current device, both drive and partition * number. @@ -769,7 +769,6 @@ open_device (void) return 1; } -#endif /* STAGE1_5 */ #ifndef STAGE1_5 @@ -804,7 +803,6 @@ set_bootdev (int hdbias) #endif /* STAGE1_5 */ -#ifndef STAGE1_5 static char * setup_part (char *filename) { @@ -849,12 +847,13 @@ setup_part (char *filename) else errnum = 0; +#ifndef STAGE1_5 if (!sane_partition ()) return 0; +#endif return filename; } -#endif /* STAGE1_5 */ #ifndef STAGE1_5 @@ -962,10 +961,8 @@ grub_open (char *filename) set it to zero before returning if opening a file! */ filepos = 0; -#ifndef STAGE1_5 if (!(filename = setup_part (filename))) return 0; -#endif /* STAGE1_5 */ #ifndef NO_BLOCK_FILES block_file = 0; diff --git a/shared_src/fs.h b/shared_src/fs.h index 69e46341f..6ce26ee58 100644 --- a/shared_src/fs.h +++ b/shared_src/fs.h @@ -1,4 +1,3 @@ - /* * Mach Operating System * Copyright (c) 1991,1990 Carnegie Mellon University @@ -69,8 +68,8 @@ */ #define BBSIZE 8192 #define SBSIZE 8192 -#define BBOFF ((off_t)(0)) -#define SBOFF ((off_t)(BBOFF + BBSIZE)) +#define BBOFF ((mach_off_t)(0)) +#define SBOFF ((mach_off_t)(BBOFF + BBSIZE)) #define BBLOCK ((daddr_t)(0)) #define SBLOCK ((daddr_t)(BBLOCK + BBSIZE / DEV_BSIZE)) diff --git a/shared_src/fsys_ext2fs.c b/shared_src/fsys_ext2fs.c index c7c56b634..3b58d15eb 100644 --- a/shared_src/fsys_ext2fs.c +++ b/shared_src/fsys_ext2fs.c @@ -167,7 +167,7 @@ struct ext2_inode #define NAME_MAX 255 /* # chars in a file name */ /* linux/posix_type.h */ -typedef long off_t; +typedef long linux_off_t; /* linux/ext2fs.h */ #define EXT2_NAME_LEN 255 diff --git a/stage1/Makefile.in b/stage1/Makefile.in index ebfedf35c..2968bc6eb 100644 --- a/stage1/Makefile.in +++ b/stage1/Makefile.in @@ -1,6 +1,6 @@ -# Makefile.in generated automatically by automake 1.3 from Makefile.am +# Makefile.in generated automatically by automake 1.4a from Makefile.am -# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -10,8 +10,7 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. - -SHELL = /bin/sh +SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -32,7 +31,7 @@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include -DISTDIR = +DESTDIR = pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ @@ -47,6 +46,7 @@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_FLAG = transform = @program_transform_name@ NORMAL_INSTALL = : @@ -57,17 +57,20 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AMTARFLAGS = @AMTARFLAGS@ CC = @CC@ LD = @LD@ MAKEINFO = @MAKEINFO@ OBJCOPY = @OBJCOPY@ PACKAGE = @PACKAGE@ +TAR = @TAR@ VERSION = @VERSION@ host_cpu = @host_cpu@ host_vendor = @host_vendor@ sbingrub = @sbingrub@ stage2debug = @stage2debug@ + pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor) pkgdata_DATA = stage1 CLEANFILES = $(pkgdata_DATA) @@ -91,25 +94,24 @@ stage1_exec_LDADD = $(LDADD) stage1_exec_DEPENDENCIES = stage1_exec_LDFLAGS = CFLAGS = @CFLAGS@ -LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@ +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ DATA = $(pkgdata_DATA) -DIST_COMMON = Makefile.am Makefile.in +DIST_COMMON = $(pkgdata_DATA) Makefile.am Makefile.in -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) +DISTFILES = $(DIST_COMMON) $(SOURCES) $(TEXINFOS) $(EXTRA_DIST) -TAR = tar -GZIP = --best +GZIP_ENV = --best DEP_FILES = .deps/stage1.P SOURCES = $(stage1_exec_SOURCES) OBJECTS = $(stage1_exec_OBJECTS) -all: Makefile $(PROGRAMS) $(DATA) - +all: all-redirect .SUFFIXES: .SUFFIXES: .S .c .o .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu stage1/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) @@ -146,26 +148,29 @@ install-pkgdataDATA: $(pkgdata_DATA) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) @list='$(pkgdata_DATA)'; for p in $$list; do \ - if test -f $(srcdir)/$$p; then \ - echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \ - $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \ - else if test -f $$p; then \ - echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \ - $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ - fi; fi; \ + if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f"; \ + $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f; \ done uninstall-pkgdataDATA: @$(NORMAL_UNINSTALL) - list='$(pkgdata_DATA)'; for p in $$list; do \ - rm -f $(DESTDIR)$(pkgdatadir)/$$p; \ + @list='$(pkgdata_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(pkgdatadir)/$$f"; \ + rm -f $(DESTDIR)$(pkgdatadir)/$$f; \ done tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP) + && mkid -f$$here/ID $$unique $(LISP) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) tags=; \ @@ -198,9 +203,13 @@ distdir: $(DISTFILES) && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu stage1/Makefile @for file in $(DISTFILES); do \ d=$(srcdir); \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file; \ + if test -d $$d/$$file; then \ + cp -pr $$d/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ done DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :) @@ -212,83 +221,101 @@ mostlyclean-depend: clean-depend: distclean-depend: + -rm -rf .deps maintainer-clean-depend: - -rm -rf .deps %.o: %.c @echo '$(COMPILE) -c $<'; \ - $(COMPILE) -Wp,-MD,.deps/$(*F).P -c $< + $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $< + @-cp .deps/$(*F).pp .deps/$(*F).P; \ + tr ' ' '\012' < .deps/$(*F).pp \ + | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ + >> .deps/$(*F).P; \ + rm .deps/$(*F).pp %.lo: %.c @echo '$(LTCOMPILE) -c $<'; \ - $(LTCOMPILE) -Wp,-MD,.deps/$(*F).p -c $< - @-sed -e 's/^\([^:]*\)\.o:/\1.lo \1.o:/' \ - < .deps/$(*F).p > .deps/$(*F).P - @-rm -f .deps/$(*F).p -info: -dvi: -check: all - $(MAKE) -installcheck: -install-exec: - @$(NORMAL_INSTALL) + $(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $< + @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \ + < .deps/$(*F).pp > .deps/$(*F).P; \ + tr ' ' '\012' < .deps/$(*F).pp \ + | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ + >> .deps/$(*F).P; \ + rm -f .deps/$(*F).pp +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-exec-am: +install-exec: install-exec-am -install-data: install-pkgdataDATA - @$(NORMAL_INSTALL) - -install: install-exec install-data all - @: - -uninstall: uninstall-pkgdataDATA +install-data-am: install-pkgdataDATA +install-data: install-data-am +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-pkgdataDATA +uninstall: uninstall-am +all-am: Makefile $(PROGRAMS) $(DATA) +all-redirect: all-am install-strip: - $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install + $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install installdirs: - $(mkinstalldirs) $(DATADIR)$(pkgdatadir) + $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f Makefile $(DISTCLEANFILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -mostlyclean: mostlyclean-noinstPROGRAMS mostlyclean-compile \ +mostlyclean-am: mostlyclean-noinstPROGRAMS mostlyclean-compile \ mostlyclean-tags mostlyclean-depend mostlyclean-generic -clean: clean-noinstPROGRAMS clean-compile clean-tags clean-depend \ - clean-generic mostlyclean +mostlyclean: mostlyclean-am -distclean: distclean-noinstPROGRAMS distclean-compile distclean-tags \ - distclean-depend distclean-generic clean - -rm -f config.status +clean-am: clean-noinstPROGRAMS clean-compile clean-tags clean-depend \ + clean-generic mostlyclean-am -maintainer-clean: maintainer-clean-noinstPROGRAMS \ +clean: clean-am + +distclean-am: distclean-noinstPROGRAMS distclean-compile distclean-tags \ + distclean-depend distclean-generic clean-am + +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-noinstPROGRAMS \ maintainer-clean-compile maintainer-clean-tags \ maintainer-clean-depend maintainer-clean-generic \ - distclean + distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." +maintainer-clean: maintainer-clean-am + .PHONY: mostlyclean-noinstPROGRAMS distclean-noinstPROGRAMS \ clean-noinstPROGRAMS maintainer-clean-noinstPROGRAMS \ mostlyclean-compile distclean-compile clean-compile \ maintainer-clean-compile uninstall-pkgdataDATA install-pkgdataDATA tags \ mostlyclean-tags distclean-tags clean-tags maintainer-clean-tags \ distdir mostlyclean-depend distclean-depend clean-depend \ -maintainer-clean-depend info dvi installcheck install-exec install-data \ -install uninstall all installdirs mostlyclean-generic distclean-generic \ -clean-generic maintainer-clean-generic clean mostlyclean distclean \ -maintainer-clean +maintainer-clean-depend info-am info dvi-am dvi check check-am \ +installcheck-am installcheck install-exec-am install-exec \ +install-data-am install-data install-am install uninstall-am uninstall \ +all-redirect all-am all install-strip installdirs mostlyclean-generic \ +distclean-generic clean-generic maintainer-clean-generic clean \ +mostlyclean distclean maintainer-clean stage1.exec: stage1.o diff --git a/stage2/Makefile.in b/stage2/Makefile.in index ea81577ee..c3a3b1cf9 100644 --- a/stage2/Makefile.in +++ b/stage2/Makefile.in @@ -43,9 +43,10 @@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) +INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_FLAG = transform = @program_transform_name@ NORMAL_INSTALL = : @@ -80,7 +81,8 @@ COMPILE = $(CC) -fno-builtin -nostdinc $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) INCLUDES = -I$(top_srcdir)/shared_src # asm.o absolutely needs to come first! -stage2_exec_LDADD = asm.o boot.o common.o char_io.o cmdline.o disk_io.o gunzip.o fsys_ffs.o fsys_ext2fs.o fsys_fat.o stage2.o bios.o +stage2_exec_LDADD = asm.o boot.o common.o char_io.o cmdline.o disk_io.o \ + gunzip.o fsys_ffs.o fsys_ext2fs.o fsys_fat.o stage2.o bios.o noinst_PROGRAMS = stage2.exec @@ -154,19 +156,18 @@ install-pkgdataDATA: $(pkgdata_DATA) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) @list='$(pkgdata_DATA)'; for p in $$list; do \ - if test -f $(srcdir)/$$p; then \ - echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \ - $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \ - else if test -f $$p; then \ - echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \ - $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ - fi; fi; \ + if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f"; \ + $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f; \ done uninstall-pkgdataDATA: @$(NORMAL_UNINSTALL) - list='$(pkgdata_DATA)'; for p in $$list; do \ - rm -f $(DESTDIR)$(pkgdatadir)/$$p; \ + @list='$(pkgdata_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(pkgdatadir)/$$f"; \ + rm -f $(DESTDIR)$(pkgdatadir)/$$f; \ done tags: TAGS diff --git a/stage2_debug/Makefile.in b/stage2_debug/Makefile.in index 5e673ab73..dfa8822f6 100644 --- a/stage2_debug/Makefile.in +++ b/stage2_debug/Makefile.in @@ -43,9 +43,10 @@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) +INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_FLAG = transform = @program_transform_name@ NORMAL_INSTALL = : @@ -77,12 +78,14 @@ CLEANFILES = stage2_debug MOSTLYCLEANFILES = stage2_debug.exec # We can't use builtins or standard includes. -COMPILE = $(CC) -fno-builtin -nostdinc -DDEBUG=1 $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) +COMPILE = $(CC) -fno-builtin -nostdinc -DDEBUG=1 $(DEFS) $(INCLUDES) \ + $(CPPFLAGS) $(CFLAGS) INCLUDES = -I$(top_srcdir)/shared_src # asm.o absolutely needs to come first! -stage2_debug_exec_LDADD = asm.o boot.o common.o char_io.o cmdline.o disk_io.o gunzip.o fsys_ffs.o fsys_ext2fs.o fsys_fat.o stage2.o bios.o +stage2_debug_exec_LDADD = asm.o boot.o common.o char_io.o cmdline.o disk_io.o \ + gunzip.o fsys_ffs.o fsys_ext2fs.o fsys_fat.o stage2.o bios.o EXTRA_PROGRAMS = stage2_debug.exec @@ -146,19 +149,18 @@ install-pkgdataDATA: $(pkgdata_DATA) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) @list='$(pkgdata_DATA)'; for p in $$list; do \ - if test -f $(srcdir)/$$p; then \ - echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \ - $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \ - else if test -f $$p; then \ - echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \ - $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ - fi; fi; \ + if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f"; \ + $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f; \ done uninstall-pkgdataDATA: @$(NORMAL_UNINSTALL) - list='$(pkgdata_DATA)'; for p in $$list; do \ - rm -f $(DESTDIR)$(pkgdatadir)/$$p; \ + @list='$(pkgdata_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(pkgdatadir)/$$f"; \ + rm -f $(DESTDIR)$(pkgdatadir)/$$f; \ done tags: TAGS