diff -pruN grub-0.97.0/aclocal.m4 grub-0.97.2/aclocal.m4 --- grub-0.97.0/aclocal.m4 2005-05-08 02:41:18.000000000 +0000 +++ grub-0.97.2/aclocal.m4 2007-04-03 16:07:45.000000000 +0000 @@ -1,7 +1,7 @@ -# generated automatically by aclocal 1.9.4 -*- Autoconf -*- +# generated automatically by aclocal 1.9.6 -*- Autoconf -*- -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 -# Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005 Free Software Foundation, Inc. # This file 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. @@ -11,23 +11,11 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. -# -*- Autoconf -*- -# Copyright (C) 2002, 2003 Free Software Foundation, Inc. -# Generated from amversion.in; do not edit by hand. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file 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. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- @@ -40,26 +28,36 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api # Call AM_AUTOMAKE_VERSION so it can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], - [AM_AUTOMAKE_VERSION([1.9.4])]) + [AM_AUTOMAKE_VERSION([1.9.6])]) -# AM_AUX_DIR_EXPAND +# Figure out how to run the assembler. -*- Autoconf -*- -# Copyright (C) 2001, 2003 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2004, 2005 Free Software Foundation, Inc. +# +# This file 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. -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. +# serial 4 -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. +# AM_PROG_AS +# ---------- +AC_DEFUN([AM_PROG_AS], +[# By default we simply use the C compiler to build assembly code. +AC_REQUIRE([AC_PROG_CC]) +test "${CCAS+set}" = set || CCAS=$CC +test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS +AC_ARG_VAR([CCAS], [assembler compiler command (defaults to CC)]) +AC_ARG_VAR([CCASFLAGS], [assembler compiler flags (defaults to CFLAGS)]) +]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file 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. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to @@ -106,26 +104,16 @@ AC_PREREQ([2.50])dnl am_aux_dir=`cd $ac_aux_dir && pwd` ]) -# AM_CONDITIONAL -*- Autoconf -*- +# AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. +# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file 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. -# serial 6 +# serial 7 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- @@ -149,26 +137,15 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) -# serial 7 -*- Autoconf -*- -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. +# +# This file 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. -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - +# serial 8 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, @@ -177,7 +154,6 @@ fi])]) # CC etc. in the Makefile, will ask for an AC_PROG_CC use... - # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. @@ -317,27 +293,16 @@ AM_CONDITIONAL([AMDEP], [test "x$enable_ AC_SUBST([AMDEPBACKSLASH]) ]) -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 -# Free Software Foundation, Inc. +# Generate code to set up dependency tracking. -*- Autoconf -*- -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file 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. -#serial 2 +#serial 3 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ @@ -396,30 +361,19 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS] [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) -# Do all the work for Automake. -*- Autoconf -*- +# Do all the work for Automake. -*- Autoconf -*- -# This macro actually does too much some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. +# +# This file 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. -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. +# serial 12 -# serial 11 +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) @@ -521,51 +475,27 @@ for _am_header in $config_headers :; do done echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file 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. + # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. - -# Copyright (C) 2001, 2003 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"$am_aux_dir/install-sh"} AC_SUBST(install_sh)]) -# -*- Autoconf -*- -# Copyright (C) 2003 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. +# Copyright (C) 2003, 2005 Free Software Foundation, Inc. +# +# This file 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. -# serial 1 +# serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. @@ -580,28 +510,17 @@ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) -# Add --enable-maintainer-mode option to configure. +# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering -# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004 +# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. +# +# This file 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. -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 3 +# serial 4 AC_DEFUN([AM_MAINTAINER_MODE], [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) @@ -620,26 +539,15 @@ AC_DEFUN([AM_MAINTAINER_MODE], AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. +# Check to see how 'make' treats includes. -*- Autoconf -*- -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file 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. -# serial 2 +# serial 3 # AM_MAKE_INCLUDE() # ----------------- @@ -683,27 +591,44 @@ AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) -# -*- Autoconf -*- +# Copyright (C) 1999, 2000, 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file 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. +# serial 3 -# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. +# AM_PROG_CC_C_O +# -------------- +# Like AC_PROG_CC_C_O, but changed for automake. +AC_DEFUN([AM_PROG_CC_C_O], +[AC_REQUIRE([AC_PROG_CC_C_O])dnl +AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +# FIXME: we rely on the cache variable name because +# there is no other way. +set dummy $CC +ac_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` +if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +]) -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. +# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file 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. -# serial 3 +# serial 4 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ @@ -729,27 +654,16 @@ else fi ]) +# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. +# +# This file 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. + # AM_PROG_MKDIR_P # --------------- # Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. - -# Copyright (C) 2003, 2004 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - +# # Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories # created by `make install' are always world readable, even if the # installer happens to have an overly restrictive umask (e.g. 077). @@ -803,26 +717,15 @@ else fi AC_SUBST([mkdir_p])]) -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. +# Helper functions for option handling. -*- Autoconf -*- -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file 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. -# serial 2 +# serial 3 # _AM_MANGLE_OPTION(NAME) # ----------------------- @@ -847,28 +750,16 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# -# Check to make sure that the build environment is sane. -# - -# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. +# Check to make sure that the build environment is sane. -*- Autoconf -*- -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file 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. -# serial 3 +# serial 4 # AM_SANITY_CHECK # --------------- @@ -911,25 +802,14 @@ Check your system clock]) fi AC_MSG_RESULT(yes)]) -# AM_PROG_INSTALL_STRIP - -# Copyright (C) 2001, 2003 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file 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. +# AM_PROG_INSTALL_STRIP +# --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip @@ -952,25 +832,13 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 1 +# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# +# This file 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. +# serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- diff -pruN grub-0.97.0/config.h.in grub-0.97.2/config.h.in --- grub-0.97.0/config.h.in 2005-05-08 02:48:19.000000000 +0000 +++ grub-0.97.2/config.h.in 2007-04-03 16:06:40.000000000 +0000 @@ -27,9 +27,16 @@ /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H +/* Define to 1 if you have the `aal-minimal' library (-laal-minimal). */ +#undef HAVE_LIBAAL_MINIMAL + /* Define if you have a curses library */ #undef HAVE_LIBCURSES +/* Define to 1 if you have the `reiser4-minimal' library (-lreiser4-minimal). + */ +#undef HAVE_LIBREISER4_MINIMAL + /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H diff -pruN grub-0.97.0/configure grub-0.97.2/configure --- grub-0.97.0/configure 2005-05-08 02:48:12.000000000 +0000 +++ grub-0.97.2/configure 2007-04-03 16:08:04.000000000 +0000 @@ -311,7 +311,7 @@ ac_includes_default="\ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar build build_cpu build_vendor build_os host host_cpu host_vendor host_os MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT PERL CC ac_ct_CC CFLAGS LDFLAGS CPPFLAGS EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CCAS RANLIB ac_ct_RANLIB STAGE1_CFLAGS STAGE2_CFLAGS GRUB_CFLAGS OBJCOPY ac_ct_OBJCOPY GRUB_LIBS CPP EGREP NETBOOT_SUPPORT_TRUE NETBOOT_SUPPORT_FALSE DISKLESS_SUPPORT_TRUE DISKLESS_SUPPORT_FALSE HERCULES_SUPPORT_TRUE HERCULES_SUPPORT_FALSE SERIAL_SUPPORT_TRUE SERIAL_SUPPORT_FALSE SERIAL_SPEED_SIMULATION_TRUE SERIAL_SPEED_SIMULATION_FALSE BUILD_EXAMPLE_KERNEL_TRUE BUILD_EXAMPLE_KERNEL_FALSE FSYS_CFLAGS NET_CFLAGS NET_EXTRAFLAGS NETBOOT_DRIVERS CCASFLAGS LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar build build_cpu build_vendor build_os host host_cpu host_vendor host_os MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT PERL CC ac_ct_CC CFLAGS LDFLAGS CPPFLAGS EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CCAS CCASFLAGS RANLIB ac_ct_RANLIB STAGE1_CFLAGS STAGE2_CFLAGS GRUB_CFLAGS OBJCOPY ac_ct_OBJCOPY GRUB_LIBS CPP EGREP REISER4_LIBS REISER4_CFLAGS ENABLE_REISER4_SUPPORT_TRUE ENABLE_REISER4_SUPPORT_FALSE NETBOOT_SUPPORT_TRUE NETBOOT_SUPPORT_FALSE DISKLESS_SUPPORT_TRUE DISKLESS_SUPPORT_FALSE GRAPHICS_SUPPORT_TRUE GRAPHICS_SUPPORT_FALSE HERCULES_SUPPORT_TRUE HERCULES_SUPPORT_FALSE SERIAL_SUPPORT_TRUE SERIAL_SUPPORT_FALSE SERIAL_SPEED_SIMULATION_TRUE SERIAL_SPEED_SIMULATION_FALSE BUILD_EXAMPLE_KERNEL_TRUE BUILD_EXAMPLE_KERNEL_FALSE FSYS_CFLAGS NET_CFLAGS NET_EXTRAFLAGS NETBOOT_DRIVERS LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -768,6 +768,14 @@ ac_env_CPPFLAGS_set=${CPPFLAGS+set} ac_env_CPPFLAGS_value=$CPPFLAGS ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} ac_cv_env_CPPFLAGS_value=$CPPFLAGS +ac_env_CCAS_set=${CCAS+set} +ac_env_CCAS_value=$CCAS +ac_cv_env_CCAS_set=${CCAS+set} +ac_cv_env_CCAS_value=$CCAS +ac_env_CCASFLAGS_set=${CCASFLAGS+set} +ac_env_CCASFLAGS_value=$CCASFLAGS +ac_cv_env_CCASFLAGS_set=${CCASFLAGS+set} +ac_cv_env_CCASFLAGS_value=$CCASFLAGS ac_env_CPP_set=${CPP+set} ac_env_CPP_value=$CPP ac_cv_env_CPP_set=${CPP+set} @@ -863,6 +871,7 @@ Optional Features: --disable-ufs2 disable UFS2 support in Stage 2 --disable-minix disable Minix fs support in Stage 2 --disable-reiserfs disable ReiserFS support in Stage 2 + --disable-reiser4 disable Reiser4 support in Stage 2 --disable-vstafs disable VSTa FS support in Stage 2 --disable-jfs disable IBM JFS support in Stage 2 --disable-xfs disable SGI XFS support in Stage 2 @@ -914,6 +923,7 @@ Optional Features: set the default memory location for WD/SMC --enable-cs-scan=LIST probe for CS89x0 base address using LIST --enable-diskless enable diskless support + --disable-graphics disable graphics terminal support --disable-hercules disable hercules terminal support --disable-serial disable serial terminal support --enable-serial-speed-simulation @@ -938,6 +948,8 @@ Some influential environment variables: nonstandard directory CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory + CCAS assembler compiler command (defaults to CC) + CCASFLAGS assembler compiler flags (defaults to CFLAGS) CPP C preprocessor Use these variables to override the choices made by `configure' or to help @@ -3167,6 +3179,109 @@ else fi +if test "x$CC" != xcc; then + echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5 +echo $ECHO_N "checking whether $CC and cc understand -c and -o together... $ECHO_C" >&6 +else + echo "$as_me:$LINENO: checking whether cc understands -c and -o together" >&5 +echo $ECHO_N "checking whether cc understands -c and -o together... $ECHO_C" >&6 +fi +set dummy $CC; ac_cc=`echo $2 | + sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +if eval "test \"\${ac_cv_prog_cc_${ac_cc}_c_o+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +# Make sure it works both with $CC and with simple cc. +# We do the test twice because some compilers refuse to overwrite an +# existing .o file with -o, though they will create one. +ac_try='$CC -c conftest.$ac_ext -o conftest.$ac_objext >&5' +if { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + test -f conftest.$ac_objext && { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; +then + eval ac_cv_prog_cc_${ac_cc}_c_o=yes + if test "x$CC" != xcc; then + # Test first that cc exists at all. + if { ac_try='cc -c conftest.$ac_ext >&5' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_try='cc -c conftest.$ac_ext -o conftest.$ac_objext >&5' + if { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + test -f conftest.$ac_objext && { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; + then + # cc works too. + : + else + # cc exists but doesn't like -o. + eval ac_cv_prog_cc_${ac_cc}_c_o=no + fi + fi + fi +else + eval ac_cv_prog_cc_${ac_cc}_c_o=no +fi +rm -f conftest* + +fi +if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = yes"; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + +cat >>confdefs.h <<\_ACEOF +#define NO_MINUS_C_MINUS_O 1 +_ACEOF + +fi + +# FIXME: we rely on the cache variable name because +# there is no other way. +set dummy $CC +ac_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi + # We need this for older versions of Autoconf. depcc="$CC" am_compiler_list= @@ -3280,6 +3395,13 @@ fi CCAS="$CC" +# By default we simply use the C compiler to build assembly code. + +test "${CCAS+set}" = set || CCAS=$CC +test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS + + + @@ -5493,6 +5615,589 @@ if test x"$enable_reiserfs" != xno; then FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_REISERFS=1" fi +REISER4_LIBS="" +REISER4_CFLAGS="" + +OLD_LIBS=$LIBS +OLD_CFLAGS=$CFLAGS +LIBS="" +CFLAGS="" + +# Check whether --enable-reiser4 or --disable-reiser4 was given. +if test "${enable_reiser4+set}" = set; then + enableval="$enable_reiser4" + +fi; + +if test x"$enable_reiser4" != xno; then + +echo "$as_me:$LINENO: checking for aal_mem_init in -laal-minimal" >&5 +echo $ECHO_N "checking for aal_mem_init in -laal-minimal... $ECHO_C" >&6 +if test "${ac_cv_lib_aal_minimal_aal_mem_init+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-laal-minimal $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char aal_mem_init (); +int +main () +{ +aal_mem_init (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_aal_minimal_aal_mem_init=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_aal_minimal_aal_mem_init=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_aal_minimal_aal_mem_init" >&5 +echo "${ECHO_T}$ac_cv_lib_aal_minimal_aal_mem_init" >&6 +if test $ac_cv_lib_aal_minimal_aal_mem_init = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBAAL_MINIMAL 1 +_ACEOF + + LIBS="-laal-minimal $LIBS" + +else + { echo "$as_me:$LINENO: WARNING: Reiser4 support is disabled due to inability find libaal-minimal with +memory manager support turned on." >&5 +echo "$as_me: WARNING: Reiser4 support is disabled due to inability find libaal-minimal with +memory manager support turned on." >&2;} + enable_reiser4=no + +fi + +fi + +if test x"$enable_reiser4" != xno; then + if test "${ac_cv_header_aal_libaal_h+set}" = set; then + echo "$as_me:$LINENO: checking for aal/libaal.h" >&5 +echo $ECHO_N "checking for aal/libaal.h... $ECHO_C" >&6 +if test "${ac_cv_header_aal_libaal_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: $ac_cv_header_aal_libaal_h" >&5 +echo "${ECHO_T}$ac_cv_header_aal_libaal_h" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking aal/libaal.h usability" >&5 +echo $ECHO_N "checking aal/libaal.h usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking aal/libaal.h presence" >&5 +echo $ECHO_N "checking aal/libaal.h presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: aal/libaal.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: aal/libaal.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: aal/libaal.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: aal/libaal.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: aal/libaal.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: aal/libaal.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: aal/libaal.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: aal/libaal.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: aal/libaal.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: aal/libaal.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: aal/libaal.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: aal/libaal.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: aal/libaal.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: aal/libaal.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: aal/libaal.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: aal/libaal.h: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------- ## +## Report this to bug-grub@gnu.org ## +## ------------------------------- ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for aal/libaal.h" >&5 +echo $ECHO_N "checking for aal/libaal.h... $ECHO_C" >&6 +if test "${ac_cv_header_aal_libaal_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_aal_libaal_h=$ac_header_preproc +fi +echo "$as_me:$LINENO: result: $ac_cv_header_aal_libaal_h" >&5 +echo "${ECHO_T}$ac_cv_header_aal_libaal_h" >&6 + +fi +if test $ac_cv_header_aal_libaal_h = yes; then + : +else + { echo "$as_me:$LINENO: WARNING: Libaal header files are not found. Reiser4 support is disabled + " >&5 +echo "$as_me: WARNING: Libaal header files are not found. Reiser4 support is disabled + " >&2;} + enable_reiser4=no +fi + + +fi + +if test x"$enable_reiser4" != xno; then + +echo "$as_me:$LINENO: checking for reiser4_fs_open in -lreiser4-minimal" >&5 +echo $ECHO_N "checking for reiser4_fs_open in -lreiser4-minimal... $ECHO_C" >&6 +if test "${ac_cv_lib_reiser4_minimal_reiser4_fs_open+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lreiser4-minimal -laal-minimal + $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char reiser4_fs_open (); +int +main () +{ +reiser4_fs_open (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_reiser4_minimal_reiser4_fs_open=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_reiser4_minimal_reiser4_fs_open=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_reiser4_minimal_reiser4_fs_open" >&5 +echo "${ECHO_T}$ac_cv_lib_reiser4_minimal_reiser4_fs_open" >&6 +if test $ac_cv_lib_reiser4_minimal_reiser4_fs_open = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBREISER4_MINIMAL 1 +_ACEOF + + LIBS="-lreiser4-minimal $LIBS" + +else + { echo "$as_me:$LINENO: WARNING: Reiser4 support is disabled due to inability find valid libreiser4-minimal." >&5 +echo "$as_me: WARNING: Reiser4 support is disabled due to inability find valid libreiser4-minimal." >&2;} + enable_reiser4=no +fi + +fi + +if test x"$enable_reiser4" != xno; then + if test "${ac_cv_header_reiser4_libreiser4_h+set}" = set; then + echo "$as_me:$LINENO: checking for reiser4/libreiser4.h" >&5 +echo $ECHO_N "checking for reiser4/libreiser4.h... $ECHO_C" >&6 +if test "${ac_cv_header_reiser4_libreiser4_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: $ac_cv_header_reiser4_libreiser4_h" >&5 +echo "${ECHO_T}$ac_cv_header_reiser4_libreiser4_h" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking reiser4/libreiser4.h usability" >&5 +echo $ECHO_N "checking reiser4/libreiser4.h usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking reiser4/libreiser4.h presence" >&5 +echo $ECHO_N "checking reiser4/libreiser4.h presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: reiser4/libreiser4.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: reiser4/libreiser4.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: reiser4/libreiser4.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: reiser4/libreiser4.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: reiser4/libreiser4.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: reiser4/libreiser4.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: reiser4/libreiser4.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: reiser4/libreiser4.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: reiser4/libreiser4.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: reiser4/libreiser4.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: reiser4/libreiser4.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: reiser4/libreiser4.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: reiser4/libreiser4.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: reiser4/libreiser4.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: reiser4/libreiser4.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: reiser4/libreiser4.h: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------- ## +## Report this to bug-grub@gnu.org ## +## ------------------------------- ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for reiser4/libreiser4.h" >&5 +echo $ECHO_N "checking for reiser4/libreiser4.h... $ECHO_C" >&6 +if test "${ac_cv_header_reiser4_libreiser4_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_reiser4_libreiser4_h=$ac_header_preproc +fi +echo "$as_me:$LINENO: result: $ac_cv_header_reiser4_libreiser4_h" >&5 +echo "${ECHO_T}$ac_cv_header_reiser4_libreiser4_h" >&6 + +fi +if test $ac_cv_header_reiser4_libreiser4_h = yes; then + : +else + { echo "$as_me:$LINENO: WARNING: Reiser4 header files are not found. Reiser4 support is disabled. + " >&5 +echo "$as_me: WARNING: Reiser4 header files are not found. Reiser4 support is disabled. + " >&2;} + enable_reiser4=no +fi + + +fi + +if test x"$enable_reiser4" != xno; then + REISER4_CFLAGS="$REISER4_CFLAGS -DFSYS_REISER4=1" + REISER4_LIBS=$LIBS +fi + +if test x"$enable_reiser4" != xno; then + echo "$as_me:$LINENO: checking for __sym40_plug_init in -lreiser4-minimal" >&5 +echo $ECHO_N "checking for __sym40_plug_init in -lreiser4-minimal... $ECHO_C" >&6 +if test "${ac_cv_lib_reiser4_minimal___sym40_plug_init+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lreiser4-minimal -laal-minimal + $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char __sym40_plug_init (); +int +main () +{ +__sym40_plug_init (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_reiser4_minimal___sym40_plug_init=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_reiser4_minimal___sym40_plug_init=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_reiser4_minimal___sym40_plug_init" >&5 +echo "${ECHO_T}$ac_cv_lib_reiser4_minimal___sym40_plug_init" >&6 +if test $ac_cv_lib_reiser4_minimal___sym40_plug_init = yes; then + REISER4_CFLAGS="$REISER4_CFLAGS -DENABLE_SYMLINKS=1" +else + { echo "$as_me:$LINENO: WARNING: Reiser4 symlinks support is disabled." >&5 +echo "$as_me: WARNING: Reiser4 symlinks support is disabled." >&2;} +fi + +fi + +LIBS=$OLD_LIBS +CFLAGS=$OLD_CFLAGS + +if test x"$enable_reiser4" != xno; then + enable_reiser4_support=yes + FSYS_CFLAGS="$FSYS_CFLAGS $REISER4_CFLAGS" +fi + + + + + +if test x"$enable_reiser4" != xno; then + ENABLE_REISER4_SUPPORT_TRUE= + ENABLE_REISER4_SUPPORT_FALSE='#' +else + ENABLE_REISER4_SUPPORT_TRUE='#' + ENABLE_REISER4_SUPPORT_FALSE= +fi + + # Check whether --enable-vstafs or --disable-vstafs was given. if test "${enable_vstafs+set}" = set; then enableval="$enable_vstafs" @@ -5966,6 +6671,22 @@ else fi +# Check whether --enable-graphics or --disable-graphics was given. +if test "${enable_graphics+set}" = set; then + enableval="$enable_graphics" + +fi; + + +if test "x$enable_graphics" != xno; then + GRAPHICS_SUPPORT_TRUE= + GRAPHICS_SUPPORT_FALSE='#' +else + GRAPHICS_SUPPORT_TRUE='#' + GRAPHICS_SUPPORT_FALSE= +fi + + # Check whether --enable-hercules or --disable-hercules was given. if test "${enable_hercules+set}" = set; then enableval="$enable_hercules" @@ -6256,6 +6977,13 @@ echo "$as_me: error: conditional \"am__f Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi +if test -z "${ENABLE_REISER4_SUPPORT_TRUE}" && test -z "${ENABLE_REISER4_SUPPORT_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"ENABLE_REISER4_SUPPORT\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"ENABLE_REISER4_SUPPORT\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi if test -z "${NETBOOT_SUPPORT_TRUE}" && test -z "${NETBOOT_SUPPORT_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"NETBOOT_SUPPORT\" was never defined. Usually this means the macro was only invoked conditionally." >&5 @@ -6270,6 +6998,13 @@ echo "$as_me: error: conditional \"DISKL Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi +if test -z "${GRAPHICS_SUPPORT_TRUE}" && test -z "${GRAPHICS_SUPPORT_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"GRAPHICS_SUPPORT\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"GRAPHICS_SUPPORT\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi if test -z "${HERCULES_SUPPORT_TRUE}" && test -z "${HERCULES_SUPPORT_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"HERCULES_SUPPORT\" was never defined. Usually this means the macro was only invoked conditionally." >&5 @@ -6893,6 +7628,7 @@ s,@CCDEPMODE@,$CCDEPMODE,;t t s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t s,@CCAS@,$CCAS,;t t +s,@CCASFLAGS@,$CCASFLAGS,;t t s,@RANLIB@,$RANLIB,;t t s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t s,@STAGE1_CFLAGS@,$STAGE1_CFLAGS,;t t @@ -6903,10 +7639,16 @@ s,@ac_ct_OBJCOPY@,$ac_ct_OBJCOPY,;t t s,@GRUB_LIBS@,$GRUB_LIBS,;t t s,@CPP@,$CPP,;t t s,@EGREP@,$EGREP,;t t +s,@REISER4_LIBS@,$REISER4_LIBS,;t t +s,@REISER4_CFLAGS@,$REISER4_CFLAGS,;t t +s,@ENABLE_REISER4_SUPPORT_TRUE@,$ENABLE_REISER4_SUPPORT_TRUE,;t t +s,@ENABLE_REISER4_SUPPORT_FALSE@,$ENABLE_REISER4_SUPPORT_FALSE,;t t s,@NETBOOT_SUPPORT_TRUE@,$NETBOOT_SUPPORT_TRUE,;t t s,@NETBOOT_SUPPORT_FALSE@,$NETBOOT_SUPPORT_FALSE,;t t s,@DISKLESS_SUPPORT_TRUE@,$DISKLESS_SUPPORT_TRUE,;t t s,@DISKLESS_SUPPORT_FALSE@,$DISKLESS_SUPPORT_FALSE,;t t +s,@GRAPHICS_SUPPORT_TRUE@,$GRAPHICS_SUPPORT_TRUE,;t t +s,@GRAPHICS_SUPPORT_FALSE@,$GRAPHICS_SUPPORT_FALSE,;t t s,@HERCULES_SUPPORT_TRUE@,$HERCULES_SUPPORT_TRUE,;t t s,@HERCULES_SUPPORT_FALSE@,$HERCULES_SUPPORT_FALSE,;t t s,@SERIAL_SUPPORT_TRUE@,$SERIAL_SUPPORT_TRUE,;t t @@ -6919,7 +7661,6 @@ s,@FSYS_CFLAGS@,$FSYS_CFLAGS,;t t s,@NET_CFLAGS@,$NET_CFLAGS,;t t s,@NET_EXTRAFLAGS@,$NET_EXTRAFLAGS,;t t s,@NETBOOT_DRIVERS@,$NETBOOT_DRIVERS,;t t -s,@CCASFLAGS@,$CCASFLAGS,;t t s,@LIBOBJS@,$LIBOBJS,;t t s,@LTLIBOBJS@,$LTLIBOBJS,;t t CEOF diff -pruN grub-0.97.0/configure.ac grub-0.97.2/configure.ac --- grub-0.97.0/configure.ac 2005-05-08 02:36:03.000000000 +0000 +++ grub-0.97.2/configure.ac 2007-04-03 16:06:40.000000000 +0000 @@ -56,11 +56,13 @@ fi AC_CHECK_TOOL(CC, gcc) AC_PROG_CC +AM_PROG_CC_C_O # We need this for older versions of Autoconf. _AM_DEPENDENCIES(CC) dnl Because recent automake complains about AS, set it here. CCAS="$CC" +AM_PROG_AS AC_SUBST(CCAS) AC_ARG_WITH(binutils, @@ -263,6 +265,77 @@ if test x"$enable_reiserfs" != xno; then FSYS_CFLAGS="$FSYS_CFLAGS -DFSYS_REISERFS=1" fi +dnl Checking for reiser4 +REISER4_LIBS="" +REISER4_CFLAGS="" + +OLD_LIBS=$LIBS +OLD_CFLAGS=$CFLAGS +LIBS="" +CFLAGS="" + +AC_ARG_ENABLE(reiser4, + [ --disable-reiser4 disable Reiser4 support in Stage 2]) + +if test x"$enable_reiser4" != xno; then + AC_CHECK_LIB(aal-minimal, aal_mem_init, , + AC_MSG_WARN( +Reiser4 support is disabled due to inability find libaal-minimal with +memory manager support turned on.) + enable_reiser4=no + ) +fi + +if test x"$enable_reiser4" != xno; then + AC_CHECK_HEADER(aal/libaal.h, , + AC_MSG_WARN( +Libaal header files are not found. Reiser4 support is disabled + ) + enable_reiser4=no) +fi + +if test x"$enable_reiser4" != xno; then + AC_CHECK_LIB(reiser4-minimal, reiser4_fs_open, , + AC_MSG_WARN( +Reiser4 support is disabled due to inability find valid libreiser4-minimal.) + enable_reiser4=no, + -laal-minimal + ) +fi + +if test x"$enable_reiser4" != xno; then + AC_CHECK_HEADER(reiser4/libreiser4.h, , + AC_MSG_WARN( +Reiser4 header files are not found. Reiser4 support is disabled. + ) + enable_reiser4=no) +fi + +if test x"$enable_reiser4" != xno; then + REISER4_CFLAGS="$REISER4_CFLAGS -DFSYS_REISER4=1" + REISER4_LIBS=$LIBS +fi + +if test x"$enable_reiser4" != xno; then + AC_CHECK_LIB(reiser4-minimal, __sym40_plug_init, + REISER4_CFLAGS="$REISER4_CFLAGS -DENABLE_SYMLINKS=1", +AC_MSG_WARN(Reiser4 symlinks support is disabled.), + -laal-minimal + ) +fi + +LIBS=$OLD_LIBS +CFLAGS=$OLD_CFLAGS + +if test x"$enable_reiser4" != xno; then + enable_reiser4_support=yes + FSYS_CFLAGS="$FSYS_CFLAGS $REISER4_CFLAGS" +fi + +AC_SUBST(REISER4_LIBS) +AC_SUBST(REISER4_CFLAGS) +AM_CONDITIONAL(ENABLE_REISER4_SUPPORT, test x"$enable_reiser4" != xno) + AC_ARG_ENABLE(vstafs, [ --disable-vstafs disable VSTa FS support in Stage 2]) @@ -595,6 +668,11 @@ AC_ARG_ENABLE(diskless, [ --enable-diskless enable diskless support]) AM_CONDITIONAL(DISKLESS_SUPPORT, test "x$enable_diskless" = xyes) +dnl Graphical splashscreen support +AC_ARG_ENABLE(graphics, + [ --disable-graphics disable graphics terminal support]) +AM_CONDITIONAL(GRAPHICS_SUPPORT, test "x$enable_graphics" != xno) + dnl Hercules terminal AC_ARG_ENABLE(hercules, [ --disable-hercules disable hercules terminal support]) diff -pruN grub-0.97.0/docs/grub.texi grub-0.97.2/docs/grub.texi --- grub-0.97.0/docs/grub.texi 2005-05-08 02:59:59.000000000 +0000 +++ grub-0.97.2/docs/grub.texi 2007-04-03 16:06:40.000000000 +0000 @@ -283,7 +283,7 @@ devices, partitions, and files in a dire Support multiple filesystem types transparently, plus a useful explicit blocklist notation. The currently supported filesystem types are @dfn{BSD FFS}, @dfn{DOS FAT16 and FAT32}, @dfn{Minix fs}, @dfn{Linux -ext2fs}, @dfn{ReiserFS}, @dfn{JFS}, @dfn{XFS}, and @dfn{VSTa +ext2fs}, @dfn{ReiserFS}, @dfn{ReiserFS}, @dfn{JFS}, @dfn{XFS}, and @dfn{VSTa fs}. @xref{Filesystem}, for more information. @item Support automatic decompression @@ -1776,6 +1776,7 @@ itself. Usually, this is put in a filesy @itemx jfs_stage1_5 @itemx minix_stage1_5 @itemx reiserfs_stage1_5 +@itemx reiser4_stage1_5 @itemx vstafs_stage1_5 @itemx xfs_stage1_5 diff -pruN grub-0.97.0/docs/Makefile.in grub-0.97.2/docs/Makefile.in --- grub-0.97.0/docs/Makefile.in 2005-05-08 02:42:34.000000000 +0000 +++ grub-0.97.2/docs/Makefile.in 2007-04-03 16:07:54.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.4 from Makefile.am. +# Makefile.in generated by automake 1.9.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. +# 2003, 2004, 2005 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. @@ -15,8 +15,6 @@ @SET_MAKE@ -SOURCES = $(kernel_SOURCES) - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ @@ -118,8 +116,12 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REISER4_SUPPORT_FALSE = @ENABLE_REISER4_SUPPORT_FALSE@ +ENABLE_REISER4_SUPPORT_TRUE = @ENABLE_REISER4_SUPPORT_TRUE@ EXEEXT = @EXEEXT@ FSYS_CFLAGS = @FSYS_CFLAGS@ +GRAPHICS_SUPPORT_FALSE = @GRAPHICS_SUPPORT_FALSE@ +GRAPHICS_SUPPORT_TRUE = @GRAPHICS_SUPPORT_TRUE@ GRUB_CFLAGS = @GRUB_CFLAGS@ GRUB_LIBS = @GRUB_LIBS@ HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ @@ -152,6 +154,8 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ RANLIB = @RANLIB@ +REISER4_CFLAGS = @REISER4_CFLAGS@ +REISER4_LIBS = @REISER4_LIBS@ SERIAL_SPEED_SIMULATION_FALSE = @SERIAL_SPEED_SIMULATION_FALSE@ SERIAL_SPEED_SIMULATION_TRUE = @SERIAL_SPEED_SIMULATION_TRUE@ SERIAL_SUPPORT_FALSE = @SERIAL_SUPPORT_FALSE@ @@ -304,9 +308,11 @@ kernel-kernel.obj: kernel.c restore=: && backupdir="$(am__leading_dot)am$$$$" && \ am__cwd=`pwd` && cd $(srcdir) && \ rm -rf $$backupdir && mkdir $$backupdir && \ - for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ - if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ - done; \ + if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ + for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ + if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ + done; \ + else :; fi && \ cd "$$am__cwd"; \ if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ -o $@ $<; \ @@ -371,10 +377,11 @@ multiboot.dvi: multiboot.texi $(multiboo multiboot.pdf: multiboot.texi $(multiboot_TEXINFOS) multiboot.html: multiboot.texi $(multiboot_TEXINFOS) .dvi.ps: + TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ $(DVIPS) -o $@ $< uninstall-info-am: - $(PRE_UNINSTALL) + @$(PRE_UNINSTALL) @if (install-info --version && \ install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ list='$(INFO_DEPS)'; \ @@ -390,7 +397,7 @@ uninstall-info-am: relfile=`echo "$$file" | sed 's|^.*/||'`; \ relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \ (if cd "$(DESTDIR)$(infodir)"; then \ - echo " rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9])"; \ + echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \ rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \ else :; fi); \ done diff -pruN grub-0.97.0/grub/asmstub.c grub-0.97.2/grub/asmstub.c --- grub-0.97.0/grub/asmstub.c 2005-02-16 20:45:14.000000000 +0000 +++ grub-0.97.2/grub/asmstub.c 2007-04-03 16:06:40.000000000 +0000 @@ -42,6 +42,7 @@ int grub_stage2 (void); #include #include #include +#include #ifdef __linux__ # include /* ioctl */ @@ -79,7 +80,7 @@ unsigned short io_map[IO_MAP_SIZE]; struct apm_info apm_bios_info; /* Emulation requirements. */ -char *grub_scratch_mem = 0; +void *grub_scratch_mem = 0; struct geometry *disks = 0; @@ -103,14 +104,62 @@ static char *serial_device = 0; static unsigned int serial_speed; #endif /* SIMULATE_SLOWNESS_OF_SERIAL */ +/* This allocates page-aligned storage of the specified size, which must be + * a multiple of the page size as determined by calling sysconf(_SC_PAGESIZE) + */ +#ifdef __linux__ +static void * +grub_mmap_alloc(size_t len) +{ + int mmap_flags = MAP_ANONYMOUS|MAP_PRIVATE|MAP_EXECUTABLE; + +#ifdef MAP_32BIT + mmap_flags |= MAP_32BIT; +#endif + /* Mark the simulated stack executable, as GCC uses stack trampolines + * to implement nested functions. */ + return mmap(NULL, len, PROT_READ|PROT_WRITE|PROT_EXEC, mmap_flags, -1, 0); +} +#else /* !defined(__linux__) */ +static void * +grub_mmap_alloc(size_t len) +{ + int fd = 0, offset = 0, ret = 0; + void *pa = MAP_FAILED; + char template[] = "/tmp/grub_mmap_alloc_XXXXXX"; + errno_t e; + + fd = mkstemp(template); + if (fd < 0) + return pa; + + unlink(template); + + ret = ftruncate(fd, len); + if (ret < 0) + return pa; + + /* Mark the simulated stack executable, as GCC uses stack trampolines + * to implement nested functions. */ + pa = mmap(NULL, len, PROT_READ|PROT_WRITE|PROT_EXEC, + MAP_PRIVATE|MAP_EXECUTABLE, fd, offset); + + e = errno; + close(fd); + errno = e; + return pa; +} +#endif /* defined(__linux__) */ + /* The main entry point into this mess. */ int grub_stage2 (void) { /* These need to be static, because they survive our stack transitions. */ static int status = 0; - static char *realstack; - char *scratch, *simstack; + static void *realstack; + void *simstack_alloc_base, *simstack; + size_t simstack_size, page_size; int i; auto void doit (void); @@ -142,10 +191,35 @@ grub_stage2 (void) } assert (grub_scratch_mem == 0); - scratch = malloc (0x100000 + EXTENDED_MEMSIZE + 15); - assert (scratch); - grub_scratch_mem = (char *) ((((int) scratch) >> 4) << 4); + /* Allocate enough pages for 0x100000 + EXTENDED_SIZE + 15, and + * make sure the memory is aligned to a multiple of the system's + * page size */ + page_size = sysconf (_SC_PAGESIZE); + simstack_size = ( 0x100000 + EXTENDED_MEMSIZE + 15); + if (simstack_size % page_size) + { + /* If we're not on a page_size boundary, round up to the next one */ + simstack_size &= ~(page_size-1); + simstack_size += page_size; + } + + /* Add one for a PROT_NONE boundary page at each end. */ + simstack_size += 2 * page_size; + + simstack_alloc_base = grub_mmap_alloc(simstack_size); + assert (simstack_alloc_base != MAP_FAILED); + + /* mark pages above and below our simstack area as innaccessable. + * If the implementation we're using doesn't support that, then the + * new protection modes are undefined. It's safe to just ignore + * them, though. It'd be nice if we knew that we'd get a SEGV for + * touching the area, but that's all. it'd be nice to have. */ + mprotect (simstack_alloc_base, page_size, PROT_NONE); + mprotect ((void *)((unsigned long)simstack_alloc_base + + simstack_size - page_size), page_size, PROT_NONE); + grub_scratch_mem = (void *)((unsigned long)simstack_alloc_base + page_size); + /* FIXME: simulate the memory holes using mprot, if available. */ assert (disks == 0); @@ -217,7 +291,7 @@ grub_stage2 (void) device_map = 0; free (disks); disks = 0; - free (scratch); + munmap(simstack_alloc_base, simstack_size); grub_scratch_mem = 0; if (serial_device) diff -pruN grub-0.97.0/grub/Makefile.am grub-0.97.2/grub/Makefile.am --- grub-0.97.0/grub/Makefile.am 2005-02-02 20:38:19.000000000 +0000 +++ grub-0.97.2/grub/Makefile.am 2007-04-03 16:06:40.000000000 +0000 @@ -16,4 +16,4 @@ AM_CPPFLAGS = -DGRUB_UTIL=1 -DFSYS_EXT2F AM_CFLAGS = $(GRUB_CFLAGS) grub_SOURCES = main.c asmstub.c -grub_LDADD = ../stage2/libgrub.a ../lib/libcommon.a $(GRUB_LIBS) +grub_LDADD = ../stage2/libgrub.a ../lib/libcommon.a $(GRUB_LIBS) $(REISER4_LIBS) diff -pruN grub-0.97.0/grub/Makefile.in grub-0.97.2/grub/Makefile.in --- grub-0.97.0/grub/Makefile.in 2005-05-08 02:42:34.000000000 +0000 +++ grub-0.97.2/grub/Makefile.in 2007-04-03 16:07:55.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.4 from Makefile.am. +# Makefile.in generated by automake 1.9.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. +# 2003, 2004, 2005 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. @@ -14,8 +14,6 @@ @SET_MAKE@ -SOURCES = $(grub_SOURCES) - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ @@ -56,7 +54,7 @@ am_grub_OBJECTS = main.$(OBJEXT) asmstub grub_OBJECTS = $(am_grub_OBJECTS) am__DEPENDENCIES_1 = grub_DEPENDENCIES = ../stage2/libgrub.a ../lib/libcommon.a \ - $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @@ -95,8 +93,12 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REISER4_SUPPORT_FALSE = @ENABLE_REISER4_SUPPORT_FALSE@ +ENABLE_REISER4_SUPPORT_TRUE = @ENABLE_REISER4_SUPPORT_TRUE@ EXEEXT = @EXEEXT@ FSYS_CFLAGS = @FSYS_CFLAGS@ +GRAPHICS_SUPPORT_FALSE = @GRAPHICS_SUPPORT_FALSE@ +GRAPHICS_SUPPORT_TRUE = @GRAPHICS_SUPPORT_TRUE@ GRUB_CFLAGS = @GRUB_CFLAGS@ GRUB_LIBS = @GRUB_LIBS@ HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ @@ -129,6 +131,8 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ RANLIB = @RANLIB@ +REISER4_CFLAGS = @REISER4_CFLAGS@ +REISER4_LIBS = @REISER4_LIBS@ SERIAL_SPEED_SIMULATION_FALSE = @SERIAL_SPEED_SIMULATION_FALSE@ SERIAL_SPEED_SIMULATION_TRUE = @SERIAL_SPEED_SIMULATION_TRUE@ SERIAL_SUPPORT_FALSE = @SERIAL_SUPPORT_FALSE@ @@ -189,7 +193,7 @@ AM_CPPFLAGS = -DGRUB_UTIL=1 -DFSYS_EXT2F AM_CFLAGS = $(GRUB_CFLAGS) grub_SOURCES = main.c asmstub.c -grub_LDADD = ../stage2/libgrub.a ../lib/libcommon.a $(GRUB_LIBS) +grub_LDADD = ../stage2/libgrub.a ../lib/libcommon.a $(GRUB_LIBS) $(REISER4_LIBS) all: all-am .SUFFIXES: diff -pruN grub-0.97.0/INSTALL grub-0.97.2/INSTALL --- grub-0.97.0/INSTALL 2005-05-08 02:43:15.000000000 +0000 +++ grub-0.97.2/INSTALL 2007-04-03 16:06:40.000000000 +0000 @@ -207,6 +207,9 @@ operates. `--disable-reiserfs' Omit the ReiserFS support in Stage 2. +`--disable-reiser4' + Omit the Reiser4 support in Stage 2. + `--disable-vstafs' Omit the VSTa filesystem support in Stage 2. diff -pruN grub-0.97.0/lib/device.c grub-0.97.2/lib/device.c --- grub-0.97.0/lib/device.c 2005-03-27 23:14:25.000000000 +0000 +++ grub-0.97.2/lib/device.c 2007-04-03 16:06:40.000000000 +0000 @@ -407,6 +407,12 @@ get_ataraid_disk_name (char *name, int u { sprintf (name, "/dev/ataraid/d%c", unit + '0'); } + +static void +get_i2o_disk_name (char *name, int unit) +{ + sprintf (name, "/dev/i2o/hd%c", unit + 'a'); +} #endif /* Check if DEVICE can be read. If an error occurs, return zero, @@ -801,6 +807,26 @@ init_device_map (char ***map, const char } } } + + /* I2O disks. */ + for (i = 0; i < 8; i++) + { + char name[16]; + + get_i2o_disk_name (name, i); + if (check_device (name)) + { + (*map)[num_hd + 0x80] = strdup (name); + assert ((*map)[num_hd + 0x80]); + + /* If the device map file is opened, write the map. */ + if (fp) + fprintf (fp, "(hd%d)\t%s\n", num_hd, name); + + num_hd++; + } + } + #endif /* __linux__ */ /* OK, close the device map file if opened. */ @@ -861,8 +887,15 @@ write_to_partition (char **map, int driv if (strcmp (dev + strlen(dev) - 5, "/disc") == 0) strcpy (dev + strlen(dev) - 5, "/part"); } - sprintf (dev + strlen(dev), "%d", ((partition >> 16) & 0xFF) + 1); - + sprintf (dev + strlen(dev), "%s%d", + /* Compaq smart and others */ + (strncmp(dev, "/dev/ida/", 9) == 0 || + strncmp(dev, "/dev/ataraid/", 13) == 0 || + strncmp(dev, "/dev/cciss/", 11) == 0 || + strncmp(dev, "/dev/rd/", 8) == 0 || + strncmp(dev, "/dev/i2o/", 9) == 0) ? "p" : "", + ((partition >> 16) & 0xFF) + 1); + /* Open the partition. */ fd = open (dev, O_RDWR); if (fd < 0) diff -pruN grub-0.97.0/lib/Makefile.in grub-0.97.2/lib/Makefile.in --- grub-0.97.0/lib/Makefile.in 2005-05-08 02:42:35.000000000 +0000 +++ grub-0.97.2/lib/Makefile.in 2007-04-03 16:07:55.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.4 from Makefile.am. +# Makefile.in generated by automake 1.9.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. +# 2003, 2004, 2005 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. @@ -14,8 +14,6 @@ @SET_MAKE@ -SOURCES = $(libcommon_a_SOURCES) - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ @@ -94,8 +92,12 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REISER4_SUPPORT_FALSE = @ENABLE_REISER4_SUPPORT_FALSE@ +ENABLE_REISER4_SUPPORT_TRUE = @ENABLE_REISER4_SUPPORT_TRUE@ EXEEXT = @EXEEXT@ FSYS_CFLAGS = @FSYS_CFLAGS@ +GRAPHICS_SUPPORT_FALSE = @GRAPHICS_SUPPORT_FALSE@ +GRAPHICS_SUPPORT_TRUE = @GRAPHICS_SUPPORT_TRUE@ GRUB_CFLAGS = @GRUB_CFLAGS@ GRUB_LIBS = @GRUB_LIBS@ HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ @@ -128,6 +130,8 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ RANLIB = @RANLIB@ +REISER4_CFLAGS = @REISER4_CFLAGS@ +REISER4_LIBS = @REISER4_LIBS@ SERIAL_SPEED_SIMULATION_FALSE = @SERIAL_SPEED_SIMULATION_FALSE@ SERIAL_SPEED_SIMULATION_TRUE = @SERIAL_SPEED_SIMULATION_TRUE@ SERIAL_SUPPORT_FALSE = @SERIAL_SUPPORT_FALSE@ diff -pruN grub-0.97.0/Makefile.in grub-0.97.2/Makefile.in --- grub-0.97.0/Makefile.in 2005-05-08 02:42:40.000000000 +0000 +++ grub-0.97.2/Makefile.in 2007-04-03 16:07:59.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.4 from Makefile.am. +# Makefile.in generated by automake 1.9.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. +# 2003, 2004, 2005 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. @@ -99,8 +99,12 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REISER4_SUPPORT_FALSE = @ENABLE_REISER4_SUPPORT_FALSE@ +ENABLE_REISER4_SUPPORT_TRUE = @ENABLE_REISER4_SUPPORT_TRUE@ EXEEXT = @EXEEXT@ FSYS_CFLAGS = @FSYS_CFLAGS@ +GRAPHICS_SUPPORT_FALSE = @GRAPHICS_SUPPORT_FALSE@ +GRAPHICS_SUPPORT_TRUE = @GRAPHICS_SUPPORT_TRUE@ GRUB_CFLAGS = @GRUB_CFLAGS@ GRUB_LIBS = @GRUB_LIBS@ HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ @@ -133,6 +137,8 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ RANLIB = @RANLIB@ +REISER4_CFLAGS = @REISER4_CFLAGS@ +REISER4_LIBS = @REISER4_LIBS@ SERIAL_SPEED_SIMULATION_FALSE = @SERIAL_SPEED_SIMULATION_FALSE@ SERIAL_SPEED_SIMULATION_TRUE = @SERIAL_SPEED_SIMULATION_TRUE@ SERIAL_SUPPORT_FALSE = @SERIAL_SUPPORT_FALSE@ @@ -250,7 +256,13 @@ uninstall-info-am: # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @set fnord $$MAKEFLAGS; amf=$$2; \ + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -262,7 +274,7 @@ $(RECURSIVE_TARGETS): local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ @@ -270,7 +282,13 @@ $(RECURSIVE_TARGETS): mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -291,7 +309,7 @@ maintainer-clean-recursive: local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ diff -pruN grub-0.97.0/netboot/Makefile.in grub-0.97.2/netboot/Makefile.in --- grub-0.97.0/netboot/Makefile.in 2005-05-08 02:42:35.000000000 +0000 +++ grub-0.97.2/netboot/Makefile.in 2007-04-03 16:07:55.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.4 from Makefile.am. +# Makefile.in generated by automake 1.9.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. +# 2003, 2004, 2005 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. @@ -14,8 +14,6 @@ @SET_MAKE@ -SOURCES = $(libdrivers_a_SOURCES) $(EXTRA_libdrivers_a_SOURCES) - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ @@ -95,8 +93,12 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REISER4_SUPPORT_FALSE = @ENABLE_REISER4_SUPPORT_FALSE@ +ENABLE_REISER4_SUPPORT_TRUE = @ENABLE_REISER4_SUPPORT_TRUE@ EXEEXT = @EXEEXT@ FSYS_CFLAGS = @FSYS_CFLAGS@ +GRAPHICS_SUPPORT_FALSE = @GRAPHICS_SUPPORT_FALSE@ +GRAPHICS_SUPPORT_TRUE = @GRAPHICS_SUPPORT_TRUE@ GRUB_CFLAGS = @GRUB_CFLAGS@ GRUB_LIBS = @GRUB_LIBS@ HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ @@ -129,6 +131,8 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ RANLIB = @RANLIB@ +REISER4_CFLAGS = @REISER4_CFLAGS@ +REISER4_LIBS = @REISER4_LIBS@ SERIAL_SPEED_SIMULATION_FALSE = @SERIAL_SPEED_SIMULATION_FALSE@ SERIAL_SPEED_SIMULATION_TRUE = @SERIAL_SPEED_SIMULATION_TRUE@ SERIAL_SUPPORT_FALSE = @SERIAL_SUPPORT_FALSE@ diff -pruN grub-0.97.0/stage1/Makefile.in grub-0.97.2/stage1/Makefile.in --- grub-0.97.0/stage1/Makefile.in 2005-05-08 02:42:36.000000000 +0000 +++ grub-0.97.2/stage1/Makefile.in 2007-04-03 16:07:56.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.4 from Makefile.am. +# Makefile.in generated by automake 1.9.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. +# 2003, 2004, 2005 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. @@ -15,8 +15,6 @@ @SET_MAKE@ -SOURCES = $(stage1_exec_SOURCES) - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ @@ -100,8 +98,12 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REISER4_SUPPORT_FALSE = @ENABLE_REISER4_SUPPORT_FALSE@ +ENABLE_REISER4_SUPPORT_TRUE = @ENABLE_REISER4_SUPPORT_TRUE@ EXEEXT = @EXEEXT@ FSYS_CFLAGS = @FSYS_CFLAGS@ +GRAPHICS_SUPPORT_FALSE = @GRAPHICS_SUPPORT_FALSE@ +GRAPHICS_SUPPORT_TRUE = @GRAPHICS_SUPPORT_TRUE@ GRUB_CFLAGS = @GRUB_CFLAGS@ GRUB_LIBS = @GRUB_LIBS@ HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ @@ -134,6 +136,8 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ RANLIB = @RANLIB@ +REISER4_CFLAGS = @REISER4_CFLAGS@ +REISER4_LIBS = @REISER4_LIBS@ SERIAL_SPEED_SIMULATION_FALSE = @SERIAL_SPEED_SIMULATION_FALSE@ SERIAL_SPEED_SIMULATION_TRUE = @SERIAL_SPEED_SIMULATION_TRUE@ SERIAL_SUPPORT_FALSE = @SERIAL_SUPPORT_FALSE@ diff -pruN grub-0.97.0/stage2/asm.S grub-0.97.2/stage2/asm.S --- grub-0.97.0/stage2/asm.S 2004-06-19 16:55:22.000000000 +0000 +++ grub-0.97.2/stage2/asm.S 2007-04-03 16:06:40.000000000 +0000 @@ -2216,6 +2216,156 @@ ENTRY(console_setcursor) pop %ebx pop %ebp ret + +/* graphics mode functions */ +#ifdef SUPPORT_GRAPHICS +VARIABLE(cursorX) +.word 0 +VARIABLE(cursorY) +.word 0 +VARIABLE(cursorCount) +.word 0 +VARIABLE(cursorBuf) +.byte 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + + +/* + * int set_videomode(mode) + * BIOS call "INT 10H Function 0h" to set video mode + * Call with %ah = 0x0 + * %al = video mode + * Returns old videomode. + */ +ENTRY(set_videomode) + push %ebp + push %ebx + push %ecx + + movb 0x10(%esp), %cl + + call EXT_C(prot_to_real) + .code16 + + xorw %bx, %bx + movb $0xf, %ah + int $0x10 /* Get Current Video mode */ + movb %al, %ch + xorb %ah, %ah + movb %cl, %al + int $0x10 /* Set Video mode */ + + DATA32 call EXT_C(real_to_prot) + .code32 + + xorb %ah, %ah + movb %ch, %al + + pop %ecx + pop %ebx + pop %ebp + ret + + +/* + * unsigned char * graphics_get_font() + * BIOS call "INT 10H Function 11h" to set font + * Call with %ah = 0x11 + */ +ENTRY(graphics_get_font) + push %ebp + push %ebx + push %ecx + push %edx + + call EXT_C(prot_to_real) + .code16 + + movw $0x1130, %ax + movb $6, %bh /* font 8x16 */ + int $0x10 + movw %bp, %dx + movw %es, %cx + + DATA32 call EXT_C(real_to_prot) + .code32 + + xorl %eax, %eax + movw %cx, %ax + shll $4, %eax + movw %dx, %ax + + pop %edx + pop %ecx + pop %ebx + pop %ebp + ret + + + +/* + * graphics_set_palette(index, red, green, blue) + * BIOS call "INT 10H Function 10h" to set individual dac register + * Call with %ah = 0x10 + * %bx = register number + * %ch = new value for green (0-63) + * %cl = new value for blue (0-63) + * %dh = new value for red (0-63) + */ + +ENTRY(graphics_set_palette) + push %ebp + push %eax + push %ebx + push %ecx + push %edx + + movw $0x3c8, %bx /* address write mode register */ + + /* wait vertical retrace */ + + movw $0x3da, %dx +l1b: inb %dx, %al /* wait vertical active display */ + test $8, %al + jnz l1b + +l2b: inb %dx, %al /* wait vertical retrace */ + test $8, %al + jnz l2b + + mov %bx, %dx + movb 0x18(%esp), %al /* index */ + outb %al, %dx + inc %dx + + movb 0x1c(%esp), %al /* red */ + outb %al, %dx + + movb 0x20(%esp), %al /* green */ + outb %al, %dx + + movb 0x24(%esp), %al /* blue */ + outb %al, %dx + + movw 0x18(%esp), %bx + + call EXT_C(prot_to_real) + .code16 + + movb %bl, %bh + movw $0x1000, %ax + int $0x10 + + DATA32 call EXT_C(real_to_prot) + .code32 + + pop %edx + pop %ecx + pop %ebx + pop %eax + pop %ebp + ret + +#endif /* SUPPORT_GRAPHICS */ /* * getrtsecs() diff -pruN grub-0.97.0/stage2/builtins.c grub-0.97.2/stage2/builtins.c --- grub-0.97.0/stage2/builtins.c 2005-02-15 21:58:23.000000000 +0000 +++ grub-0.97.2/stage2/builtins.c 2007-04-03 16:06:40.000000000 +0000 @@ -131,62 +131,96 @@ disk_read_print_func (int sector, int of } -/* blocklist */ -static int -blocklist_func (char *arg, int flags) +/* blocklist_read_helper nee disk_read_blocklist_func was a nested + * function, to which pointers were taken and exposed globally. Even + * in the GNU-C nested functions extension, they have local linkage, + * and aren't guaranteed to be accessable *at all* outside of their + * containing scope. + * + * Above and beyond all of that, the variables within blocklist_func_context + * are originally local variables, with local (not even static) linkage, + * from within blocklist_func. These were each referenced by + * disk_read_blocklist_func, which is only called from other functions + * through a globally scoped pointer. + * + * The documentation in GCC actually uses the words "all hell will break + * loose" to describe this scenario. + * + * Also, "start_sector" was also used uninitialized, but gcc doesn't warn + * about it (possibly because of the scoping madness?) + */ + +static struct { + int start_sector; + int num_sectors; + int num_entries; + int last_length; +} blocklist_func_context = { + .start_sector = 0, + .num_sectors = 0, + .num_entries = 0, + .last_length = 0 +}; + +/* Collect contiguous blocks into one entry as many as possible, + and print the blocklist notation on the screen. */ +static void +blocklist_read_helper (int sector, int offset, int length) { - char *dummy = (char *) RAW_ADDR (0x100000); - int start_sector; - int num_sectors = 0; - int num_entries = 0; - int last_length = 0; + int *start_sector = &blocklist_func_context.start_sector; + int *num_sectors = &blocklist_func_context.num_sectors; + int *num_entries = &blocklist_func_context.num_entries; + int *last_length = &blocklist_func_context.last_length; - auto void disk_read_blocklist_func (int sector, int offset, int length); - - /* Collect contiguous blocks into one entry as many as possible, - and print the blocklist notation on the screen. */ - auto void disk_read_blocklist_func (int sector, int offset, int length) + if (*num_sectors > 0) + { + if (*start_sector + *num_sectors == sector + && offset == 0 && *last_length == SECTOR_SIZE) { - if (num_sectors > 0) - { - if (start_sector + num_sectors == sector - && offset == 0 && last_length == SECTOR_SIZE) - { - num_sectors++; - last_length = length; - return; - } - else - { - if (last_length == SECTOR_SIZE) - grub_printf ("%s%d+%d", num_entries ? "," : "", - start_sector - part_start, num_sectors); - else if (num_sectors > 1) - grub_printf ("%s%d+%d,%d[0-%d]", num_entries ? "," : "", - start_sector - part_start, num_sectors-1, - start_sector + num_sectors-1 - part_start, - last_length); - else - grub_printf ("%s%d[0-%d]", num_entries ? "," : "", - start_sector - part_start, last_length); - num_entries++; - num_sectors = 0; - } - } - - if (offset > 0) - { - grub_printf("%s%d[%d-%d]", num_entries ? "," : "", - sector-part_start, offset, offset+length); - num_entries++; - } + *num_sectors++; + *last_length = length; + return; + } + else + { + if (*last_length == SECTOR_SIZE) + grub_printf ("%s%d+%d", *num_entries ? "," : "", + *start_sector - part_start, *num_sectors); + else if (*num_sectors > 1) + grub_printf ("%s%d+%d,%d[0-%d]", *num_entries ? "," : "", + *start_sector - part_start, *num_sectors-1, + *start_sector + *num_sectors-1 - part_start, + *last_length); else - { - start_sector = sector; - num_sectors = 1; - last_length = length; - } + grub_printf ("%s%d[0-%d]", *num_entries ? "," : "", + *start_sector - part_start, *last_length); + *num_entries++; + *num_sectors = 0; } + } + + if (offset > 0) + { + grub_printf("%s%d[%d-%d]", *num_entries ? "," : "", + sector-part_start, offset, offset+length); + *num_entries++; + } + else + { + *start_sector = sector; + *num_sectors = 1; + *last_length = length; + } +} + +/* blocklist */ +static int +blocklist_func (char *arg, int flags) +{ + char *dummy = (char *) RAW_ADDR (0x100000); + int *start_sector = &blocklist_func_context.start_sector; + int *num_sectors = &blocklist_func_context.num_sectors; + int *num_entries = &blocklist_func_context.num_entries; /* Open the file. */ if (! grub_open (arg)) @@ -206,15 +240,15 @@ blocklist_func (char *arg, int flags) grub_printf (")"); /* Read in the whole file to DUMMY. */ - disk_read_hook = disk_read_blocklist_func; + disk_read_hook = blocklist_read_helper; if (! grub_read (dummy, -1)) goto fail; /* The last entry may not be printed yet. Don't check if it is a * full sector, since it doesn't matter if we read too much. */ - if (num_sectors > 0) - grub_printf ("%s%d+%d", num_entries ? "," : "", - start_sector - part_start, num_sectors); + if (*num_sectors > 0) + grub_printf ("%s%d+%d", *num_entries ? "," : "", + *start_sector - part_start, *num_sectors); grub_printf ("\n"); @@ -852,6 +886,138 @@ static struct builtin builtin_dhcp = }; #endif /* SUPPORT_NETBOOT */ +static int terminal_func (char *arg, int flags); + +#ifdef SUPPORT_GRAPHICS + +static int splashimage_func(char *arg, int flags) { + char splashimage[64]; + int i; + + /* filename can only be 64 characters due to our buffer size */ + if (strlen(arg) > 63) + return 1; + if (flags == BUILTIN_CMDLINE) { + if (!grub_open(arg)) + return 1; + grub_close(); + } + + strcpy(splashimage, arg); + + /* get rid of TERM_NEED_INIT from the graphics terminal. */ + for (i = 0; term_table[i].name; i++) { + if (grub_strcmp (term_table[i].name, "graphics") == 0) { + term_table[i].flags &= ~TERM_NEED_INIT; + break; + } + } + + graphics_set_splash(splashimage); + + if (flags == BUILTIN_CMDLINE && graphics_inited) { + graphics_end(); + graphics_init(); + graphics_cls(); + } + + /* FIXME: should we be explicitly switching the terminal as a + * side effect here? */ + terminal_func("graphics", flags); + + return 0; +} + +static struct builtin builtin_splashimage = +{ + "splashimage", + splashimage_func, + BUILTIN_CMDLINE | BUILTIN_MENU | BUILTIN_HELP_LIST, + "splashimage FILE", + "Load FILE as the background image when in graphics mode." +}; + + +/* foreground */ +static int +foreground_func(char *arg, int flags) +{ + if (grub_strlen(arg) == 6) { + int r = ((hex(arg[0]) << 4) | hex(arg[1])) >> 2; + int g = ((hex(arg[2]) << 4) | hex(arg[3])) >> 2; + int b = ((hex(arg[4]) << 4) | hex(arg[5])) >> 2; + + foreground = (r << 16) | (g << 8) | b; + if (graphics_inited) + graphics_set_palette(15, r, g, b); + + return (0); + } + + return (1); +} + +static struct builtin builtin_foreground = +{ + "foreground", + foreground_func, + BUILTIN_CMDLINE | BUILTIN_MENU | BUILTIN_HELP_LIST, + "foreground RRGGBB", + "Sets the foreground color when in graphics mode." + "RR is red, GG is green, and BB blue. Numbers must be in hexadecimal." +}; + + +/* background */ +static int +background_func(char *arg, int flags) +{ + if (grub_strlen(arg) == 6) { + int r = ((hex(arg[0]) << 4) | hex(arg[1])) >> 2; + int g = ((hex(arg[2]) << 4) | hex(arg[3])) >> 2; + int b = ((hex(arg[4]) << 4) | hex(arg[5])) >> 2; + + background = (r << 16) | (g << 8) | b; + if (graphics_inited) + graphics_set_palette(0, r, g, b); + return (0); + } + + return (1); +} + +static struct builtin builtin_background = +{ + "background", + background_func, + BUILTIN_CMDLINE | BUILTIN_MENU | BUILTIN_HELP_LIST, + "background RRGGBB", + "Sets the background color when in graphics mode." + "RR is red, GG is green, and BB blue. Numbers must be in hexadecimal." +}; + +#endif /* SUPPORT_GRAPHICS */ + + +/* clear */ +static int +clear_func() +{ + if (current_term->cls) + current_term->cls(); + + return 0; +} + +static struct builtin builtin_clear = +{ + "clear", + clear_func, + BUILTIN_CMDLINE | BUILTIN_HELP_LIST, + "clear", + "Clear the screen" +}; + /* displayapm */ static int @@ -1740,6 +1906,77 @@ static struct builtin builtin_initrd = /* install */ +static struct { + int saved_sector; + int installaddr; + int installlist; + char *stage2_first_buffer; +} install_func_context = { + .saved_sector = 0, + .installaddr = 0, + .installlist = 0, + .stage2_first_buffer = NULL, +}; + +/* Save the first sector of Stage2 in STAGE2_SECT. */ +/* Formerly disk_read_savesect_func with local scope inside install_func */ +static void +install_savesect_helper(int sector, int offset, int length) +{ + if (debug) + printf ("[%d]", sector); + + /* ReiserFS has files which sometimes contain data not aligned + on sector boundaries. Returning an error is better than + silently failing. */ + if (offset != 0 || length != SECTOR_SIZE) + errnum = ERR_UNALIGNED; + + install_func_context.saved_sector = sector; +} + +/* Write SECTOR to INSTALLLIST, and update INSTALLADDR and INSTALLSECT. */ +/* Formerly disk_read_blocklist_func with local scope inside install_func */ +static void +install_blocklist_helper (int sector, int offset, int length) +{ + int *installaddr = &install_func_context.installaddr; + int *installlist = &install_func_context.installlist; + char **stage2_first_buffer = &install_func_context.stage2_first_buffer; + /* Was the last sector full? */ + static int last_length = SECTOR_SIZE; + + if (debug) + printf("[%d]", sector); + + if (offset != 0 || last_length != SECTOR_SIZE) + { + /* We found a non-sector-aligned data block. */ + errnum = ERR_UNALIGNED; + return; + } + + last_length = length; + + if (*((unsigned long *) (*installlist - 4)) + + *((unsigned short *) *installlist) != sector + || *installlist == (int) *stage2_first_buffer + SECTOR_SIZE + 4) + { + *installlist -= 8; + + if (*((unsigned long *) (*installlist - 8))) + errnum = ERR_WONT_FIT; + else + { + *((unsigned short *) (*installlist + 2)) = (*installaddr >> 4); + *((unsigned long *) (*installlist - 4)) = sector; + } + } + + *((unsigned short *) *installlist) += 1; + *installaddr += 512; +} + static int install_func (char *arg, int flags) { @@ -1747,8 +1984,12 @@ install_func (char *arg, int flags) char *stage1_buffer = (char *) RAW_ADDR (0x100000); char *stage2_buffer = stage1_buffer + SECTOR_SIZE; char *old_sect = stage2_buffer + SECTOR_SIZE; - char *stage2_first_buffer = old_sect + SECTOR_SIZE; - char *stage2_second_buffer = stage2_first_buffer + SECTOR_SIZE; + /* stage2_first_buffer used to be defined as: + * char *stage2_first_buffer = old_sect + SECTOR_SIZE; */ + char **stage2_first_buffer = &install_func_context.stage2_first_buffer; + /* and stage2_second_buffer was: + * char *stage2_second_buffer = stage2_first_buffer + SECTOR_SIZE; */ + char *stage2_second_buffer = old_sect + SECTOR_SIZE + SECTOR_SIZE; /* XXX: Probably SECTOR_SIZE is reasonable. */ char *config_filename = stage2_second_buffer + SECTOR_SIZE; char *dummy = config_filename + SECTOR_SIZE; @@ -1757,10 +1998,11 @@ install_func (char *arg, int flags) int src_drive, src_partition, src_part_start; int i; struct geometry dest_geom, src_geom; - int saved_sector; + int *saved_sector = &install_func_context.saved_sector; int stage2_first_sector, stage2_second_sector; char *ptr; - int installaddr, installlist; + int *installaddr = &install_func_context.installaddr; + int *installlist = &install_func_context.installlist; /* Point to the location of the name of a configuration file in Stage 2. */ char *config_file_location; /* If FILE is a Stage 1.5? */ @@ -1769,8 +2011,7 @@ install_func (char *arg, int flags) int is_open = 0; /* If LBA is forced? */ int is_force_lba = 0; - /* Was the last sector full? */ - int last_length = SECTOR_SIZE; + *stage2_first_buffer = old_sect + SECTOR_SIZE; #ifdef GRUB_UTIL /* If the Stage 2 is in a partition mounted by an OS, this will store @@ -1778,59 +2019,6 @@ install_func (char *arg, int flags) char *stage2_os_file = 0; #endif /* GRUB_UTIL */ - auto void disk_read_savesect_func (int sector, int offset, int length); - auto void disk_read_blocklist_func (int sector, int offset, int length); - - /* Save the first sector of Stage2 in STAGE2_SECT. */ - auto void disk_read_savesect_func (int sector, int offset, int length) - { - if (debug) - printf ("[%d]", sector); - - /* ReiserFS has files which sometimes contain data not aligned - on sector boundaries. Returning an error is better than - silently failing. */ - if (offset != 0 || length != SECTOR_SIZE) - errnum = ERR_UNALIGNED; - - saved_sector = sector; - } - - /* Write SECTOR to INSTALLLIST, and update INSTALLADDR and - INSTALLSECT. */ - auto void disk_read_blocklist_func (int sector, int offset, int length) - { - if (debug) - printf("[%d]", sector); - - if (offset != 0 || last_length != SECTOR_SIZE) - { - /* We found a non-sector-aligned data block. */ - errnum = ERR_UNALIGNED; - return; - } - - last_length = length; - - if (*((unsigned long *) (installlist - 4)) - + *((unsigned short *) installlist) != sector - || installlist == (int) stage2_first_buffer + SECTOR_SIZE + 4) - { - installlist -= 8; - - if (*((unsigned long *) (installlist - 8))) - errnum = ERR_WONT_FIT; - else - { - *((unsigned short *) (installlist + 2)) = (installaddr >> 4); - *((unsigned long *) (installlist - 4)) = sector; - } - } - - *((unsigned short *) installlist) += 1; - installaddr += 512; - } - /* First, check the GNU-style long option. */ while (1) { @@ -1862,10 +2050,10 @@ install_func (char *arg, int flags) addr = skip_to (0, file); /* Get the installation address. */ - if (! safe_parse_maxint (&addr, &installaddr)) + if (! safe_parse_maxint (&addr, installaddr)) { /* ADDR is not specified. */ - installaddr = 0; + *installaddr = 0; ptr = addr; errnum = 0; } @@ -1961,17 +2149,17 @@ install_func (char *arg, int flags) = 0x9090; /* Read the first sector of Stage 2. */ - disk_read_hook = disk_read_savesect_func; - if (grub_read (stage2_first_buffer, SECTOR_SIZE) != SECTOR_SIZE) + disk_read_hook = install_savesect_helper; + if (grub_read (*stage2_first_buffer, SECTOR_SIZE) != SECTOR_SIZE) goto fail; - stage2_first_sector = saved_sector; + stage2_first_sector = *saved_sector; /* Read the second sector of Stage 2. */ if (grub_read (stage2_second_buffer, SECTOR_SIZE) != SECTOR_SIZE) goto fail; - stage2_second_sector = saved_sector; + stage2_second_sector = *saved_sector; /* Check for the version of Stage 2. */ if (*((short *) (stage2_second_buffer + STAGE2_VER_MAJ_OFFS)) @@ -1987,27 +2175,27 @@ install_func (char *arg, int flags) /* If INSTALLADDR is not specified explicitly in the command-line, determine it by the Stage 2 id. */ - if (! installaddr) + if (! *installaddr) { if (! is_stage1_5) /* Stage 2. */ - installaddr = 0x8000; + *installaddr = 0x8000; else /* Stage 1.5. */ - installaddr = 0x2000; + *installaddr = 0x2000; } *((unsigned long *) (stage1_buffer + STAGE1_STAGE2_SECTOR)) = stage2_first_sector; *((unsigned short *) (stage1_buffer + STAGE1_STAGE2_ADDRESS)) - = installaddr; + = *installaddr; *((unsigned short *) (stage1_buffer + STAGE1_STAGE2_SEGMENT)) - = installaddr >> 4; + = *installaddr >> 4; - i = (int) stage2_first_buffer + SECTOR_SIZE - 4; + i = (int) *stage2_first_buffer + SECTOR_SIZE - 4; while (*((unsigned long *) i)) { - if (i < (int) stage2_first_buffer + if (i < (int) *stage2_first_buffer || (*((int *) (i - 4)) & 0x80000000) || *((unsigned short *) i) >= 0xA00 || *((short *) (i + 2)) == 0) @@ -2021,13 +2209,13 @@ install_func (char *arg, int flags) i -= 8; } - installlist = (int) stage2_first_buffer + SECTOR_SIZE + 4; - installaddr += SECTOR_SIZE; + *installlist = (int) *stage2_first_buffer + SECTOR_SIZE + 4; + *installaddr += SECTOR_SIZE; /* Read the whole of Stage2 except for the first sector. */ grub_seek (SECTOR_SIZE); - disk_read_hook = disk_read_blocklist_func; + disk_read_hook = install_blocklist_helper; if (! grub_read (dummy, -1)) goto fail; @@ -2110,7 +2298,7 @@ install_func (char *arg, int flags) /* Skip the first sector. */ grub_seek (SECTOR_SIZE); - disk_read_hook = disk_read_savesect_func; + disk_read_hook = install_savesect_helper; if (grub_read (stage2_buffer, SECTOR_SIZE) != SECTOR_SIZE) goto fail; @@ -2180,7 +2368,7 @@ install_func (char *arg, int flags) else #endif /* GRUB_UTIL */ { - if (! devwrite (saved_sector - part_start, 1, stage2_buffer)) + if (! devwrite (*saved_sector - part_start, 1, stage2_buffer)) goto fail; } } @@ -2202,7 +2390,7 @@ install_func (char *arg, int flags) goto fail; } - if (fwrite (stage2_first_buffer, 1, SECTOR_SIZE, fp) != SECTOR_SIZE) + if (fwrite (*stage2_first_buffer, 1, SECTOR_SIZE, fp) != SECTOR_SIZE) { fclose (fp); errnum = ERR_WRITE; @@ -2229,7 +2417,7 @@ install_func (char *arg, int flags) goto fail; if (! devwrite (stage2_first_sector - src_part_start, 1, - stage2_first_buffer)) + *stage2_first_buffer)) goto fail; if (! devwrite (stage2_second_sector - src_part_start, 1, @@ -3830,15 +4018,15 @@ setup_func (char *arg, int flags) { char tmp[16]; grub_sprintf (tmp, ",%d", (partition >> 16) & 0xFF); - grub_strncat (device, tmp, 256); + grub_strncat (device, tmp, 16); } if ((partition & 0x00FF00) != 0x00FF00) { char tmp[16]; grub_sprintf (tmp, ",%c", 'a' + ((partition >> 8) & 0xFF)); - grub_strncat (device, tmp, 256); + grub_strncat (device, tmp, 16); } - grub_strncat (device, ")", 256); + grub_strncat (device, ")", 16); } int embed_stage1_5 (char *stage1_5, int drive, int partition) @@ -3880,6 +4068,7 @@ setup_func (char *arg, int flags) {"jfs", "/jfs_stage1_5"}, {"minix", "/minix_stage1_5"}, {"reiserfs", "/reiserfs_stage1_5"}, + {"reiser4", "/reiser4_stage1_5"}, {"vstafs", "/vstafs_stage1_5"}, {"xfs", "/xfs_stage1_5"} }; @@ -4085,7 +4274,7 @@ static struct builtin builtin_setup = }; -#if defined(SUPPORT_SERIAL) || defined(SUPPORT_HERCULES) +#if defined(SUPPORT_SERIAL) || defined(SUPPORT_HERCULES) || defined(SUPPORT_GRAPHICS) /* terminal */ static int terminal_func (char *arg, int flags) @@ -4244,17 +4433,21 @@ terminal_func (char *arg, int flags) end: current_term = term_table + default_term; current_term->flags = term_flags; - + if (lines) max_lines = lines; else - /* 24 would be a good default value. */ - max_lines = 24; - + max_lines = current_term->max_lines; + /* If the interface is currently the command-line, restart it to repaint the screen. */ - if (current_term != prev_term && (flags & BUILTIN_CMDLINE)) + if ((current_term != prev_term) && (flags & BUILTIN_CMDLINE)){ + if (prev_term->shutdown) + prev_term->shutdown(); + if (current_term->startup) + current_term->startup(); grub_longjmp (restart_cmdline_env, 0); + } return 0; } @@ -4264,7 +4457,7 @@ static struct builtin builtin_terminal = "terminal", terminal_func, BUILTIN_MENU | BUILTIN_CMDLINE | BUILTIN_HELP_LIST, - "terminal [--dumb] [--no-echo] [--no-edit] [--timeout=SECS] [--lines=LINES] [--silent] [console] [serial] [hercules]", + "terminal [--dumb] [--no-echo] [--no-edit] [--timeout=SECS] [--lines=LINES] [--silent] [console] [serial] [hercules] [graphics]", "Select a terminal. When multiple terminals are specified, wait until" " you push any key to continue. If both console and serial are specified," " the terminal to which you input a key first will be selected. If no" @@ -4276,7 +4469,7 @@ static struct builtin builtin_terminal = " seconds. The option --lines specifies the maximum number of lines." " The option --silent is used to suppress messages." }; -#endif /* SUPPORT_SERIAL || SUPPORT_HERCULES */ +#endif /* SUPPORT_SERIAL || SUPPORT_HERCULES || SUPPORT_GRAPHICS */ #ifdef SUPPORT_SERIAL @@ -4795,6 +4988,9 @@ static struct builtin builtin_vbeprobe = /* The table of builtin commands. Sorted in dictionary order. */ struct builtin *builtin_table[] = { +#ifdef SUPPORT_GRAPHICS + &builtin_background, +#endif &builtin_blocklist, &builtin_boot, #ifdef SUPPORT_NETBOOT @@ -4802,6 +4998,7 @@ struct builtin *builtin_table[] = #endif /* SUPPORT_NETBOOT */ &builtin_cat, &builtin_chainloader, + &builtin_clear, &builtin_cmp, &builtin_color, &builtin_configfile, @@ -4821,6 +5018,9 @@ struct builtin *builtin_table[] = &builtin_embed, &builtin_fallback, &builtin_find, +#ifdef SUPPORT_GRAPHICS + &builtin_foreground, +#endif &builtin_fstest, &builtin_geometry, &builtin_halt, @@ -4864,9 +5064,12 @@ struct builtin *builtin_table[] = #endif /* SUPPORT_SERIAL */ &builtin_setkey, &builtin_setup, -#if defined(SUPPORT_SERIAL) || defined(SUPPORT_HERCULES) +#ifdef SUPPORT_GRAPHICS + &builtin_splashimage, +#endif /* SUPPORT_GRAPHICS */ +#if defined(SUPPORT_SERIAL) || defined(SUPPORT_HERCULES) || defined(SUPPORT_GRAPHICS) &builtin_terminal, -#endif /* SUPPORT_SERIAL || SUPPORT_HERCULES */ +#endif /* SUPPORT_SERIAL || SUPPORT_HERCULES || SUPPORT_GRAPHICS */ #ifdef SUPPORT_SERIAL &builtin_terminfo, #endif /* SUPPORT_SERIAL */ diff -pruN grub-0.97.0/stage2/char_io.c grub-0.97.2/stage2/char_io.c --- grub-0.97.0/stage2/char_io.c 2005-02-01 20:51:23.000000000 +0000 +++ grub-0.97.2/stage2/char_io.c 2007-04-03 16:06:40.000000000 +0000 @@ -35,6 +35,7 @@ struct term_entry term_table[] = { "console", 0, + 24, console_putchar, console_checkkey, console_getkey, @@ -43,13 +44,16 @@ struct term_entry term_table[] = console_cls, console_setcolorstate, console_setcolor, - console_setcursor + console_setcursor, + 0, + 0 }, #ifdef SUPPORT_SERIAL { "serial", /* A serial device must be initialized. */ TERM_NEED_INIT, + 24, serial_putchar, serial_checkkey, serial_getkey, @@ -58,6 +62,8 @@ struct term_entry term_table[] = serial_cls, serial_setcolorstate, 0, + 0, + 0, 0 }, #endif /* SUPPORT_SERIAL */ @@ -65,6 +71,7 @@ struct term_entry term_table[] = { "hercules", 0, + 24, hercules_putchar, console_checkkey, console_getkey, @@ -73,9 +80,28 @@ struct term_entry term_table[] = hercules_cls, hercules_setcolorstate, hercules_setcolor, - hercules_setcursor + hercules_setcursor, + 0, + 0 }, #endif /* SUPPORT_HERCULES */ +#ifdef SUPPORT_GRAPHICS + { "graphics", + TERM_NEED_INIT, /* flags */ + 30, /* number of lines */ + graphics_putchar, /* putchar */ + console_checkkey, /* checkkey */ + console_getkey, /* getkey */ + graphics_getxy, /* getxy */ + graphics_gotoxy, /* gotoxy */ + graphics_cls, /* cls */ + graphics_setcolorstate, /* setcolorstate */ + graphics_setcolor, /* setcolor */ + graphics_setcursor, /* nocursor */ + graphics_init, /* initialize */ + graphics_end /* shutdown */ + }, +#endif /* SUPPORT_GRAPHICS */ /* This must be the last entry. */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }; @@ -1046,13 +1072,15 @@ grub_putchar (int c) the following grub_printf call will print newlines. */ count_lines = -1; + grub_printf("\n"); if (current_term->setcolorstate) current_term->setcolorstate (COLOR_STATE_HIGHLIGHT); - grub_printf ("\n[Hit return to continue]"); + grub_printf ("[Hit return to continue]"); if (current_term->setcolorstate) current_term->setcolorstate (COLOR_STATE_NORMAL); + do { @@ -1090,7 +1118,7 @@ void cls (void) { /* If the terminal is dumb, there is no way to clean the terminal. */ - if (current_term->flags & TERM_DUMB) + if (current_term->flags & TERM_DUMB) grub_putchar ('\n'); else current_term->cls (); @@ -1174,10 +1202,30 @@ grub_strlen (const char *str) } #endif /* ! STAGE1_5 */ +#ifdef GRUB_UTIL +# ifdef __PIC__ +# if defined(HAVE_START_SYMBOL) && defined(HAVE_END_SYMBOL) + extern char start[]; + extern char end[]; +# elif defined(HAVE_USCORE_START_SYMBOL) && defined (HAVE_USCORE_END_SYMBOL) + extern char _start[]; + extern char _end[]; +# endif +# endif +#endif int memcheck (int addr, int len) { #ifdef GRUB_UTIL +# ifdef __PIC__ +# if defined(HAVE_START_SYMBOL) && defined(HAVE_END_SYMBOL) + if (start <= addr && end > addr + len) + return ! errnum; +# elif defined(HAVE_USCORE_START_SYMBOL) && defined (HAVE_USCORE_END_SYMBOL) + if (_start <= addr && _end > addr + len) + return ! errnum; +# endif +# else /* __PIC__ */ auto int start_addr (void); auto int end_addr (void); @@ -1189,7 +1237,7 @@ memcheck (int addr, int len) # elif defined(HAVE_USCORE_START_SYMBOL) asm volatile ("movl $_start, %0" : "=a" (ret)); # endif - return ret; + return ret; } auto int end_addr (void) @@ -1205,6 +1253,7 @@ memcheck (int addr, int len) if (start_addr () <= addr && end_addr () > addr + len) return ! errnum; +# endif /* __PIC__ */ #endif /* GRUB_UTIL */ if ((addr < RAW_ADDR (0x1000)) @@ -1217,6 +1266,16 @@ memcheck (int addr, int len) return ! errnum; } +void +grub_memcpy(void *dest, const void *src, int len) +{ + int i; + register char *d = (char*)dest, *s = (char*)src; + + for (i = 0; i < len; i++) + d[i] = s[i]; +} + void * grub_memmove (void *to, const void *from, int len) { diff -pruN grub-0.97.0/stage2/disk_io.c grub-0.97.2/stage2/disk_io.c --- grub-0.97.0/stage2/disk_io.c 2004-05-23 16:35:24.000000000 +0000 +++ grub-0.97.2/stage2/disk_io.c 2007-04-03 16:06:40.000000000 +0000 @@ -63,6 +63,9 @@ struct fsys_entry fsys_table[NUM_FSYS + # ifdef FSYS_REISERFS {"reiserfs", reiserfs_mount, reiserfs_read, reiserfs_dir, 0, reiserfs_embed}, # endif +# ifdef FSYS_REISER4 + {"reiser4", reiser4_mount, reiser4_read, reiser4_dir, 0, reiser4_embed}, +# endif # ifdef FSYS_VSTAFS {"vstafs", vstafs_mount, vstafs_read, vstafs_dir, 0, 0}, # endif diff -pruN grub-0.97.0/stage2/filesys.h grub-0.97.2/stage2/filesys.h --- grub-0.97.0/stage2/filesys.h 2004-05-14 19:36:43.000000000 +0000 +++ grub-0.97.2/stage2/filesys.h 2007-04-03 16:06:40.000000000 +0000 @@ -77,6 +77,16 @@ int reiserfs_embed (int *start_sector, i #define FSYS_REISERFS_NUM 0 #endif +#ifdef FSYS_REISER4 +#define FSYS_REISER4_NUM 1 +int reiser4_mount (void); +int reiser4_read (char *buf, int len); +int reiser4_dir (char *dirname); +int reiser4_embed (int *start_sector, int needed_sectors); +#else +#define FSYS_REISER4_NUM 0 +#endif + #ifdef FSYS_VSTAFS #define FSYS_VSTAFS_NUM 1 int vstafs_mount (void); @@ -127,8 +137,8 @@ int iso9660_dir (char *dirname); #ifndef NUM_FSYS #define NUM_FSYS \ (FSYS_FFS_NUM + FSYS_FAT_NUM + FSYS_EXT2FS_NUM + FSYS_MINIX_NUM \ - + FSYS_REISERFS_NUM + FSYS_VSTAFS_NUM + FSYS_JFS_NUM + FSYS_XFS_NUM \ - + FSYS_TFTP_NUM + FSYS_ISO9660_NUM + FSYS_UFS2_NUM) + + FSYS_REISERFS_NUM + FSYS_REISER4_NUM + FSYS_VSTAFS_NUM + FSYS_JFS_NUM \ + + FSYS_XFS_NUM + FSYS_TFTP_NUM + FSYS_ISO9660_NUM + FSYS_UFS2_NUM) #endif /* defines for the block filesystem info area */ diff -pruN grub-0.97.0/stage2/fsys_reiser4.c grub-0.97.2/stage2/fsys_reiser4.c --- grub-0.97.0/stage2/fsys_reiser4.c 1970-01-01 00:00:00.000000000 +0000 +++ grub-0.97.2/stage2/fsys_reiser4.c 2007-04-03 16:06:40.000000000 +0000 @@ -0,0 +1,260 @@ +/* + * fsys_reiser4.c -- reiser4 filesystem support. + * Copyright (C) 2000, 2001 Free Software Foundation, Inc. + * + * GRUB -- GRand Unified Bootloader + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#ifdef FSYS_REISER4 +#include "shared.h" +#include "filesys.h" + +#define ENABLE_MINIMAL +#include + +static reiser4_fs_t *fs = NULL; +static aal_device_t *dev = NULL; +static reiser4_object_t *object = NULL; + +/* Read callback of grub specific device. It uses devread() for reading passed + @count of device blocks starting from @blk to passed @buff. */ +static errno_t grub_dev_read(aal_device_t *device, + void *buff, blk_t blk, + count_t count) +{ + unsigned int size; + unsigned int factor; + unsigned int sector; + + /* Calculating actual sector and size in bytes to be read from + device. */ + factor = device->blksize / SECTOR_SIZE; + sector = (unsigned int)blk << aal_log2(factor); + size = (unsigned int)count * (SECTOR_SIZE * factor); + + /* Reading from the current device */ + if (!devread(sector, 0, size, buff)) + return -EIO; + + return 0; +} + +/* Length callback of grub device */ +static count_t grub_dev_len(aal_device_t *device) { + unsigned int factor; + + /* Getting partition length in device blocks */ + factor = device->blksize / SECTOR_SIZE; + return (part_length >> aal_log2(factor)); +} + +/* + Initializing grub device abstraction instance. It will use devread and friends + for providing needed functionality. +*/ +struct aal_device_ops grub_dev_ops = { + .read = grub_dev_read, + .len = grub_dev_len +}; + +/* Initializes reiser4 */ +static int reiser4_init(void) { + extern aal_hash_table_t *plugins; + + plugins = NULL; + + /* Initializing memory manager */ + aal_mem_init((void *)FSYS_BUF, FSYS_BUFLEN); + + /* Initializing device abstraction on current device GRUB uses. */ + if (!(dev = aal_device_open(&grub_dev_ops, NULL, + SECTOR_SIZE, 0))) + { + return 0; + } + + /* Initializing libreiser4 (plugins, etc) */ + return !libreiser4_init(); +} + +#define MEMORY_WATERMARK 8192 + +/* Memory pressure detect function. */ +static int mpressure_detect(reiser4_tree_t *tree) { + return (aal_mem_free() <= MEMORY_WATERMARK); +} + +/* Reiser4 mount() routine */ +int reiser4_mount(void) { + + /* Initialize all reiser4 related stuff first */ + if (!reiser4_init()) + return 0; + + /* Open filesystem on @dev. */ + if (!(fs = reiser4_fs_open(dev))) + return 0; + + fs->tree->mpc_func = mpressure_detect; + + object = NULL; + return 1; +} + +/* Reiser4 read() handler */ +int reiser4_read(char *buf, int len) { + int64_t read; + + if (object == NULL) + return 0; + + /* Seet at current position denoted by @filepos */ + if (objplug(object)->o.object_ops->seek) { + plug_call(objplug(object)->o.object_ops, + seek, object->ent, filepos); + } + + /* Reading current file data starting from @filepos */ + disk_read_func = disk_read_hook; + read = objplug(object)->o.object_ops->read ? + plug_call(objplug(object)->o.object_ops, read, + object->ent, buf, len) : -EINVAL; + disk_read_func = NULL; + + if (read < 0) { + errnum = ERR_FSYS_CORRUPT; + return 0; + } + + filepos += read; + return read; +} + +/* Reiser4 file open() routine */ +int reiser4_dir(char *dirname) { + char *ch; + + if (fs == NULL) + return 0; + + if (object != NULL) { + plug_call(objplug(object)->o.object_ops, + close, object->ent); + aal_free(object); + object = NULL; + } + + /* Cutting out string after first space character */ + if ((ch = aal_strchr(dirname, ' '))) + *ch = '\0'; + + /* This function is also called for getting directory list for + maintaining the bash-like completion. */ +#ifndef STAGE1_5 + if (print_possibilities) { + char entry[256]; + entry_hint_t entry_hint; + + /* Getting last part of name (jsut after last '/') */ + if (*(dirname + aal_strlen(dirname) - 1) != '/') { + + if (!(ch = aal_strrchr(dirname, '/'))) { + errnum = ERR_BAD_FILETYPE; + return 0; + } + + aal_strncpy(entry, ch + 1, sizeof(entry)); + *(ch + 1) = '\0'; + } else { + aal_memset(entry, 0, sizeof(entry)); + } + + /* Open obejct by @dirname */ + if (!(object = reiser4_semantic_open(fs->tree, dirname, + NULL, 1))) + { + errnum = ERR_FILE_NOT_FOUND; + return 0; + } + + /* Checking if it is a directory object */ + if (object->ent->opset.plug[OPSET_OBJ]->id.group != DIR_OBJECT) + { + /* If not, cutting out last '/' character */ + if ((ch = aal_strrchr(dirname, '/'))) + *ch = '\0'; + + /* Close current object */ + plug_call(objplug(object)->o.object_ops, + close, object->ent); + aal_free(object); + return 0; + } + + /* Reading the opened directory to build the completion list. */ + if (objplug(object)->o.object_ops->readdir) { + while (plug_call(objplug(object)->o.object_ops, readdir, + object->ent, &entry_hint) > 0) + { + if (substring(entry, entry_hint.name) <= 0) { + if (print_possibilities > 0) + print_possibilities = + -print_possibilities; + + print_a_completion(entry_hint.name); + } + } + } + } else { +#endif + /* This is the case when resier4_dir() is called for open the + file @dirname, not for building completion list. */ + if (!(object = reiser4_semantic_open(fs->tree, dirname, + NULL, 1))) + { + errnum = ERR_FILE_NOT_FOUND; + return 0; + } + + if (object->ent->opset.plug[OPSET_OBJ]->id.group != REG_OBJECT) + { + errnum = ERR_BAD_FILETYPE; + return 0; + } + + /* Initializing GRUB global variables @filepos and @filemax. */ + filepos = 0; + filemax = reiser4_object_size(object); + + return 1; +#ifndef STAGE1_5 + } + + return 1; +#endif + + errnum = ERR_FILE_NOT_FOUND; + return 0; +} + +/* Returns how many sectors may be used for embeding reiser4_stage1_5 in teh + case of installing GRUB to partition instead of MBR. */ +int reiser4_embed (int *start_sector, int needed_sectors) { + *start_sector = 1; + return needed_sectors <= ((REISER4_MASTER_OFFSET >> SECTOR_BITS) - 1); +} +#endif /* FSYS_REISER4 */ diff -pruN grub-0.97.0/stage2/graphics.c grub-0.97.2/stage2/graphics.c --- grub-0.97.0/stage2/graphics.c 1970-01-01 00:00:00.000000000 +0000 +++ grub-0.97.2/stage2/graphics.c 2007-04-03 16:06:40.000000000 +0000 @@ -0,0 +1,552 @@ +/* graphics.c - graphics mode support for GRUB */ +/* Implemented as a terminal type by Jeremy Katz based + * on a patch by Paulo César Pereira de Andrade + */ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2001,2002 Red Hat, Inc. + * Portions copyright (C) 2000 Conectiva, Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + + + +#ifdef SUPPORT_GRAPHICS + +#include +#include +#include + +int saved_videomode; +unsigned char *font8x16; + +int graphics_inited = 0; +static char splashimage[64]; + +#define VSHADOW VSHADOW1 +unsigned char VSHADOW1[38400]; +unsigned char VSHADOW2[38400]; +unsigned char VSHADOW4[38400]; +unsigned char VSHADOW8[38400]; + +/* constants to define the viewable area */ +const int x0 = 0; +const int x1 = 80; +const int y0 = 0; +const int y1 = 30; + +/* text buffer has to be kept around so that we can write things as we + * scroll and the like */ +unsigned short text[80 * 30]; + +/* why do these have to be kept here? */ +int foreground = (63 << 16) | (63 << 8) | (63), background = 0, border = 0; + +/* current position */ +static int fontx = 0; +static int fonty = 0; + +/* global state so that we don't try to recursively scroll or cursor */ +static int no_scroll = 0; + +/* color state */ +static int graphics_standard_color = A_NORMAL; +static int graphics_normal_color = A_NORMAL; +static int graphics_highlight_color = A_REVERSE; +static int graphics_current_color = A_NORMAL; +static color_state graphics_color_state = COLOR_STATE_STANDARD; + + +/* graphics local functions */ +static void graphics_setxy(int col, int row); +static void graphics_scroll(); + +/* FIXME: where do these really belong? */ +static inline void outb(unsigned short port, unsigned char val) +{ + __asm __volatile ("outb %0,%1"::"a" (val), "d" (port)); +} + +static void MapMask(int value) { + outb(0x3c4, 2); + outb(0x3c5, value); +} + +/* bit mask register */ +static void BitMask(int value) { + outb(0x3ce, 8); + outb(0x3cf, value); +} + + + +/* Set the splash image */ +void graphics_set_splash(char *splashfile) { + grub_strcpy(splashimage, splashfile); +} + +/* Get the current splash image */ +char *graphics_get_splash(void) { + return splashimage; +} + +/* Initialize a vga16 graphics display with the palette based off of + * the image in splashimage. If the image doesn't exist, leave graphics + * mode. */ +int graphics_init() +{ + if (!graphics_inited) { + saved_videomode = set_videomode(0x12); + } + + if (!read_image(splashimage)) { + set_videomode(saved_videomode); + grub_printf("failed to read image\n"); + return 0; + } + + font8x16 = (unsigned char*)graphics_get_font(); + + graphics_inited = 1; + + /* make sure that the highlight color is set correctly */ + graphics_highlight_color = ((graphics_normal_color >> 4) | + ((graphics_normal_color & 0xf) << 4)); + + return 1; +} + +/* Leave graphics mode */ +void graphics_end(void) +{ + if (graphics_inited) { + set_videomode(saved_videomode); + graphics_inited = 0; + } +} + +/* Print ch on the screen. Handle any needed scrolling or the like */ +void graphics_putchar(int ch) { + ch &= 0xff; + + graphics_cursor(0); + + if (ch == '\n') { + if (fonty + 1 < y1) + graphics_setxy(fontx, fonty + 1); + else + graphics_scroll(); + graphics_cursor(1); + return; + } else if (ch == '\r') { + graphics_setxy(x0, fonty); + graphics_cursor(1); + return; + } + + graphics_cursor(0); + + text[fonty * 80 + fontx] = ch; + text[fonty * 80 + fontx] &= 0x00ff; + if (graphics_current_color & 0xf0) + text[fonty * 80 + fontx] |= 0x100; + + graphics_cursor(0); + + if ((fontx + 1) >= x1) { + graphics_setxy(x0, fonty); + if (fonty + 1 < y1) + graphics_setxy(x0, fonty + 1); + else + graphics_scroll(); + } else { + graphics_setxy(fontx + 1, fonty); + } + + graphics_cursor(1); +} + +/* get the current location of the cursor */ +int graphics_getxy(void) { + return (fontx << 8) | fonty; +} + +void graphics_gotoxy(int x, int y) { + graphics_cursor(0); + + graphics_setxy(x, y); + + graphics_cursor(1); +} + +void graphics_cls(void) { + int i; + unsigned char *mem, *s1, *s2, *s4, *s8; + + graphics_cursor(0); + graphics_gotoxy(x0, y0); + + mem = (unsigned char*)VIDEOMEM; + s1 = (unsigned char*)VSHADOW1; + s2 = (unsigned char*)VSHADOW2; + s4 = (unsigned char*)VSHADOW4; + s8 = (unsigned char*)VSHADOW8; + + for (i = 0; i < 80 * 30; i++) + text[i] = ' '; + graphics_cursor(1); + + BitMask(0xff); + + /* plano 1 */ + MapMask(1); + grub_memcpy(mem, s1, 38400); + + /* plano 2 */ + MapMask(2); + grub_memcpy(mem, s2, 38400); + + /* plano 3 */ + MapMask(4); + grub_memcpy(mem, s4, 38400); + + /* plano 4 */ + MapMask(8); + grub_memcpy(mem, s8, 38400); + + MapMask(15); + +} + +void graphics_setcolorstate (color_state state) { + switch (state) { + case COLOR_STATE_STANDARD: + graphics_current_color = graphics_standard_color; + break; + case COLOR_STATE_NORMAL: + graphics_current_color = graphics_normal_color; + break; + case COLOR_STATE_HIGHLIGHT: + graphics_current_color = graphics_highlight_color; + break; + default: + graphics_current_color = graphics_standard_color; + break; + } + + graphics_color_state = state; +} + +void graphics_setcolor (int normal_color, int highlight_color) { + graphics_normal_color = normal_color; + graphics_highlight_color = highlight_color; + + graphics_setcolorstate (graphics_color_state); +} + +void graphics_setcursor (int on) { + /* FIXME: we don't have a cursor in graphics */ + return; +} + +/* Read in the splashscreen image and set the palette up appropriately. + * Format of splashscreen is an xpm (can be gzipped) with 16 colors and + * 640x480. */ +int read_image(char *s) +{ + char buf[32], pal[16]; + unsigned char c, base, mask, *s1, *s2, *s4, *s8; + unsigned i, len, idx, colors, x, y, width, height; + + if (!grub_open(s)) + return 0; + + /* read header */ + if (!grub_read((char*)&buf, 10) || grub_memcmp(buf, "/* XPM */\n", 10)) { + grub_close(); + return 0; + } + + /* parse info */ + while (grub_read(&c, 1)) { + if (c == '"') + break; + } + + while (grub_read(&c, 1) && (c == ' ' || c == '\t')) + ; + + i = 0; + width = c - '0'; + while (grub_read(&c, 1)) { + if (c >= '0' && c <= '9') + width = width * 10 + c - '0'; + else + break; + } + while (grub_read(&c, 1) && (c == ' ' || c == '\t')) + ; + + height = c - '0'; + while (grub_read(&c, 1)) { + if (c >= '0' && c <= '9') + height = height * 10 + c - '0'; + else + break; + } + while (grub_read(&c, 1) && (c == ' ' || c == '\t')) + ; + + colors = c - '0'; + while (grub_read(&c, 1)) { + if (c >= '0' && c <= '9') + colors = colors * 10 + c - '0'; + else + break; + } + + base = 0; + while (grub_read(&c, 1) && c != '"') + ; + + /* palette */ + for (i = 0, idx = 1; i < colors; i++) { + len = 0; + + while (grub_read(&c, 1) && c != '"') + ; + grub_read(&c, 1); /* char */ + base = c; + grub_read(buf, 4); /* \t c # */ + + while (grub_read(&c, 1) && c != '"') { + if (len < sizeof(buf)) + buf[len++] = c; + } + + if (len == 6 && idx < 15) { + int r = ((hex(buf[0]) << 4) | hex(buf[1])) >> 2; + int g = ((hex(buf[2]) << 4) | hex(buf[3])) >> 2; + int b = ((hex(buf[4]) << 4) | hex(buf[5])) >> 2; + + pal[idx] = base; + graphics_set_palette(idx, r, g, b); + ++idx; + } + } + + x = y = len = 0; + + s1 = (unsigned char*)VSHADOW1; + s2 = (unsigned char*)VSHADOW2; + s4 = (unsigned char*)VSHADOW4; + s8 = (unsigned char*)VSHADOW8; + + for (i = 0; i < 38400; i++) + s1[i] = s2[i] = s4[i] = s8[i] = 0; + + /* parse xpm data */ + while (y < height) { + while (1) { + if (!grub_read(&c, 1)) { + grub_close(); + return 0; + } + if (c == '"') + break; + } + + while (grub_read(&c, 1) && c != '"') { + for (i = 1; i < 15; i++) + if (pal[i] == c) { + c = i; + break; + } + + mask = 0x80 >> (x & 7); + if (c & 1) + s1[len + (x >> 3)] |= mask; + if (c & 2) + s2[len + (x >> 3)] |= mask; + if (c & 4) + s4[len + (x >> 3)] |= mask; + if (c & 8) + s8[len + (x >> 3)] |= mask; + + if (++x >= 640) { + x = 0; + + if (y < 480) + len += 80; + ++y; + } + } + } + + grub_close(); + + graphics_set_palette(0, (background >> 16), (background >> 8) & 63, + background & 63); + graphics_set_palette(15, (foreground >> 16), (foreground >> 8) & 63, + foreground & 63); + graphics_set_palette(0x11, (border >> 16), (border >> 8) & 63, + border & 63); + + return 1; +} + + +/* Convert a character which is a hex digit to the appropriate integer */ +int hex(int v) +{ + if (v >= 'A' && v <= 'F') + return (v - 'A' + 10); + if (v >= 'a' && v <= 'f') + return (v - 'a' + 10); + return (v - '0'); +} + + +/* move the graphics cursor location to col, row */ +static void graphics_setxy(int col, int row) { + if (col >= x0 && col < x1) { + fontx = col; + cursorX = col << 3; + } + if (row >= y0 && row < y1) { + fonty = row; + cursorY = row << 4; + } +} + +/* scroll the screen */ +static void graphics_scroll() { + int i, j; + + /* we don't want to scroll recursively... that would be bad */ + if (no_scroll) + return; + no_scroll = 1; + + /* move everything up a line */ + for (j = y0 + 1; j < y1; j++) { + graphics_gotoxy(x0, j - 1); + for (i = x0; i < x1; i++) { + graphics_putchar(text[j * 80 + i]); + } + } + + /* last line should be blank */ + graphics_gotoxy(x0, y1 - 1); + for (i = x0; i < x1; i++) + graphics_putchar(' '); + graphics_setxy(x0, y1 - 1); + + no_scroll = 0; +} + + +void graphics_cursor(int set) { + unsigned char *pat, *mem, *ptr, chr[16 << 2]; + int i, ch, invert, offset; + + if (set && no_scroll) + return; + + offset = cursorY * 80 + fontx; + ch = text[fonty * 80 + fontx] & 0xff; + invert = (text[fonty * 80 + fontx] & 0xff00) != 0; + pat = font8x16 + (ch << 4); + + mem = (unsigned char*)VIDEOMEM + offset; + + if (!set) { + for (i = 0; i < 16; i++) { + unsigned char mask = pat[i]; + + if (!invert) { + chr[i ] = ((unsigned char*)VSHADOW1)[offset]; + chr[16 + i] = ((unsigned char*)VSHADOW2)[offset]; + chr[32 + i] = ((unsigned char*)VSHADOW4)[offset]; + chr[48 + i] = ((unsigned char*)VSHADOW8)[offset]; + + /* FIXME: if (shade) */ + if (1) { + if (ch == DISP_VERT || ch == DISP_LL || + ch == DISP_UR || ch == DISP_LR) { + unsigned char pmask = ~(pat[i] >> 1); + + chr[i ] &= pmask; + chr[16 + i] &= pmask; + chr[32 + i] &= pmask; + chr[48 + i] &= pmask; + } + if (i > 0 && ch != DISP_VERT) { + unsigned char pmask = ~(pat[i - 1] >> 1); + + chr[i ] &= pmask; + chr[16 + i] &= pmask; + chr[32 + i] &= pmask; + chr[48 + i] &= pmask; + if (ch == DISP_HORIZ || ch == DISP_UR || ch == DISP_LR) { + pmask = ~pat[i - 1]; + + chr[i ] &= pmask; + chr[16 + i] &= pmask; + chr[32 + i] &= pmask; + chr[48 + i] &= pmask; + } + } + } + chr[i ] |= mask; + chr[16 + i] |= mask; + chr[32 + i] |= mask; + chr[48 + i] |= mask; + + offset += 80; + } + else { + chr[i ] = mask; + chr[16 + i] = mask; + chr[32 + i] = mask; + chr[48 + i] = mask; + } + } + } + else { + MapMask(15); + ptr = mem; + for (i = 0; i < 16; i++, ptr += 80) { + cursorBuf[i] = pat[i]; + *ptr = ~pat[i]; + } + return; + } + + offset = 0; + for (i = 1; i < 16; i <<= 1, offset += 16) { + int j; + + MapMask(i); + ptr = mem; + for (j = 0; j < 16; j++, ptr += 80) + *ptr = chr[j + offset]; + } + + MapMask(15); +} + +#endif /* SUPPORT_GRAPHICS */ diff -pruN grub-0.97.0/stage2/graphics.h grub-0.97.2/stage2/graphics.h --- grub-0.97.0/stage2/graphics.h 1970-01-01 00:00:00.000000000 +0000 +++ grub-0.97.2/stage2/graphics.h 2007-04-03 16:06:40.000000000 +0000 @@ -0,0 +1,42 @@ +/* graphics.h - graphics console interface */ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2002 Free Software Foundation, Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#ifndef GRAPHICS_H +#define GRAPHICS_H + +/* magic constant */ +#define VIDEOMEM 0xA0000 + +/* function prototypes */ +char *graphics_get_splash(void); + +int read_image(char *s); +void graphics_cursor(int set); + +/* function prototypes for asm functions */ +void * graphics_get_font(); +void graphics_set_palette(int idx, int red, int green, int blue); +void set_int1c_handler(); +void unset_int1c_handler(); + +extern short cursorX, cursorY; +extern char cursorBuf[16]; + +#endif /* GRAPHICS_H */ diff -pruN grub-0.97.0/stage2/Makefile.am grub-0.97.2/stage2/Makefile.am --- grub-0.97.0/stage2/Makefile.am 2005-02-02 20:37:35.000000000 +0000 +++ grub-0.97.2/stage2/Makefile.am 2007-04-03 16:06:40.000000000 +0000 @@ -7,23 +7,31 @@ noinst_HEADERS = apic.h defs.h dir.h dis fat.h filesys.h freebsd.h fs.h hercules.h i386-elf.h \ imgact_aout.h iso9660.h jfs.h mb_header.h mb_info.h md5.h \ nbi.h pc_slice.h serial.h shared.h smp-imps.h term.h \ - terminfo.h tparm.h nbi.h ufs2.h vstafs.h xfs.h + terminfo.h tparm.h nbi.h ufs2.h vstafs.h xfs.h graphics.h EXTRA_DIST = setjmp.S apm.S $(noinst_SCRIPTS) # For . INCLUDES = -I$(top_srcdir)/stage1 +if ENABLE_REISER4_SUPPORT +REISER4_STAGE1_5 = reiser4_stage1_5 +REISER4_STAGE1_5_EXEC = reiser4_stage1_5.exec +else +REISER4_STAGE1_5 = +REISER4_STAGE1_5_EXEC = +endif + # The library for /sbin/grub. noinst_LIBRARIES = libgrub.a libgrub_a_SOURCES = boot.c builtins.c char_io.c cmdline.c common.c \ disk_io.c fsys_ext2fs.c fsys_fat.c fsys_ffs.c fsys_iso9660.c \ - fsys_jfs.c fsys_minix.c fsys_reiserfs.c fsys_ufs2.c \ + fsys_jfs.c fsys_minix.c fsys_reiserfs.c fsys_reiser4.c fsys_ufs2.c \ fsys_vstafs.c fsys_xfs.c gunzip.c md5.c serial.c stage2.c \ - terminfo.c tparm.c + terminfo.c tparm.c graphics.c libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \ -DGRUB_UTIL=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_FFS=1 \ -DFSYS_ISO9660=1 -DFSYS_JFS=1 -DFSYS_MINIX=1 -DFSYS_REISERFS=1 \ - -DFSYS_UFS2=1 -DFSYS_VSTAFS=1 -DFSYS_XFS=1 \ + $(REISER4_CFLAGS) -DFSYS_UFS2=1 -DFSYS_VSTAFS=1 -DFSYS_XFS=1 \ -DUSE_MD5_PASSWORDS=1 -DSUPPORT_SERIAL=1 -DSUPPORT_HERCULES=1 # Stage 2 and Stage 1.5's. @@ -34,24 +42,26 @@ EXTRA_PROGRAMS = nbloader.exec pxeloader if DISKLESS_SUPPORT pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \ - reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5 \ - nbgrub pxegrub + reiserfs_stage1_5 $(REISER4_STAGE1_5) ufs2_stage1_5 \ + vstafs_stage1_5 xfs_stage1_5 nbgrub pxegrub noinst_DATA = pre_stage2 start start_eltorito nbloader pxeloader diskless noinst_PROGRAMS = pre_stage2.exec start.exec start_eltorito.exec \ e2fs_stage1_5.exec fat_stage1_5.exec ffs_stage1_5.exec \ iso9660_stage1_5.exec jfs_stage1_5.exec minix_stage1_5.exec \ - reiserfs_stage1_5.exec ufs2_stage1_5.exec vstafs_stage1_5.exec \ - xfs_stage1_5.exec nbloader.exec pxeloader.exec diskless.exec + reiserfs_stage1_5.exec $(REISER4_STAGE1_5_EXEC) ufs2_stage1_5.exec \ + vstafs_stage1_5.exec xfs_stage1_5.exec nbloader.exec pxeloader.exec \ + diskless.exec else pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \ - reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5 + reiserfs_stage1_5 $(REISER4_STAGE1_5) ufs2_stage1_5 \ + vstafs_stage1_5 xfs_stage1_5 noinst_DATA = pre_stage2 start start_eltorito noinst_PROGRAMS = pre_stage2.exec start.exec start_eltorito.exec \ e2fs_stage1_5.exec fat_stage1_5.exec ffs_stage1_5.exec \ iso9660_stage1_5.exec jfs_stage1_5.exec minix_stage1_5.exec \ - reiserfs_stage1_5.exec ufs2_stage1_5.exec vstafs_stage1_5.exec \ - xfs_stage1_5.exec + reiserfs_stage1_5.exec $(REISER4_STAGE1_5_EXEC) ufs2_stage1_5.exec \ + vstafs_stage1_5.exec xfs_stage1_5.exec endif MOSTLYCLEANFILES = $(noinst_PROGRAMS) @@ -79,8 +89,14 @@ else HERCULES_FLAGS = endif -STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) +if GRAPHICS_SUPPORT +GRAPHICS_FLAGS = -DSUPPORT_GRAPHICS=1 +else +GRAPHICS_FLAGS = +endif + +STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-builtin \ + $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) $(GRAPHICS_FLAGS) STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 STAGE1_5_COMPILE = $(STAGE2_COMPILE) -DNO_DECOMPRESSION=1 -DSTAGE1_5=1 @@ -89,14 +105,17 @@ STAGE1_5_COMPILE = $(STAGE2_COMPILE) -DN pre_stage2_exec_SOURCES = asm.S bios.c boot.c builtins.c char_io.c \ cmdline.c common.c console.c disk_io.c fsys_ext2fs.c \ fsys_fat.c fsys_ffs.c fsys_iso9660.c fsys_jfs.c fsys_minix.c \ - fsys_reiserfs.c fsys_ufs2.c fsys_vstafs.c fsys_xfs.c gunzip.c \ - hercules.c md5.c serial.c smp-imps.c stage2.c terminfo.c tparm.c + fsys_reiserfs.c fsys_reiser4.c fsys_ufs2.c fsys_vstafs.c \ + fsys_xfs.c gunzip.c hercules.c md5.c serial.c smp-imps.c \ + stage2.c terminfo.c tparm.c graphics.c pre_stage2_exec_CFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) pre_stage2_exec_CCASFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) pre_stage2_exec_LDFLAGS = $(PRE_STAGE2_LINK) if NETBOOT_SUPPORT -pre_stage2_exec_LDADD = ../netboot/libdrivers.a +pre_stage2_exec_LDADD = ../netboot/libdrivers.a $(REISER4_LIBS) +else +pre_stage2_exec_LDADD = $(REISER4_LIBS) endif if DISKLESS_SUPPORT @@ -190,6 +209,16 @@ reiserfs_stage1_5_exec_CCASFLAGS = $(STA -DNO_BLOCK_FILES=1 reiserfs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK) +# For reiser4_stage1_5 target. +reiser4_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \ + disk_io.c stage1_5.c fsys_reiser4.c bios.c +reiser4_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) $(REISER4_CFLAGS) \ + -DNO_BLOCK_FILES=1 +reiser4_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) $(REISER4_CFLAGS) \ + -DNO_BLOCK_FILES=1 +reiser4_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK) +reiser4_stage1_5_exec_LDADD = $(REISER4_LIBS) + # For vstafs_stage1_5 target. vstafs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \ disk_io.c stage1_5.c fsys_vstafs.c bios.c diff -pruN grub-0.97.0/stage2/Makefile.in grub-0.97.2/stage2/Makefile.in --- grub-0.97.0/stage2/Makefile.in 2005-05-08 02:42:39.000000000 +0000 +++ grub-0.97.2/stage2/Makefile.in 2007-04-03 16:07:58.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.4 from Makefile.am. +# Makefile.in generated by automake 1.9.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. +# 2003, 2004, 2005 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. @@ -18,8 +18,6 @@ -SOURCES = $(libgrub_a_SOURCES) $(diskless_exec_SOURCES) $(e2fs_stage1_5_exec_SOURCES) $(fat_stage1_5_exec_SOURCES) $(ffs_stage1_5_exec_SOURCES) $(iso9660_stage1_5_exec_SOURCES) $(jfs_stage1_5_exec_SOURCES) $(minix_stage1_5_exec_SOURCES) $(nbloader_exec_SOURCES) $(pre_stage2_exec_SOURCES) $(pxeloader_exec_SOURCES) $(reiserfs_stage1_5_exec_SOURCES) $(start_exec_SOURCES) $(start_eltorito_exec_SOURCES) $(ufs2_stage1_5_exec_SOURCES) $(vstafs_stage1_5_exec_SOURCES) $(xfs_stage1_5_exec_SOURCES) - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ @@ -53,6 +51,7 @@ EXTRA_PROGRAMS = nbloader.exec$(EXEEXT) @DISKLESS_SUPPORT_FALSE@ jfs_stage1_5.exec$(EXEEXT) \ @DISKLESS_SUPPORT_FALSE@ minix_stage1_5.exec$(EXEEXT) \ @DISKLESS_SUPPORT_FALSE@ reiserfs_stage1_5.exec$(EXEEXT) \ +@DISKLESS_SUPPORT_FALSE@ $(am__EXEEXT_1) \ @DISKLESS_SUPPORT_FALSE@ ufs2_stage1_5.exec$(EXEEXT) \ @DISKLESS_SUPPORT_FALSE@ vstafs_stage1_5.exec$(EXEEXT) \ @DISKLESS_SUPPORT_FALSE@ xfs_stage1_5.exec$(EXEEXT) @@ -66,6 +65,7 @@ EXTRA_PROGRAMS = nbloader.exec$(EXEEXT) @DISKLESS_SUPPORT_TRUE@ jfs_stage1_5.exec$(EXEEXT) \ @DISKLESS_SUPPORT_TRUE@ minix_stage1_5.exec$(EXEEXT) \ @DISKLESS_SUPPORT_TRUE@ reiserfs_stage1_5.exec$(EXEEXT) \ +@DISKLESS_SUPPORT_TRUE@ $(am__EXEEXT_1) \ @DISKLESS_SUPPORT_TRUE@ ufs2_stage1_5.exec$(EXEEXT) \ @DISKLESS_SUPPORT_TRUE@ vstafs_stage1_5.exec$(EXEEXT) \ @DISKLESS_SUPPORT_TRUE@ xfs_stage1_5.exec$(EXEEXT) \ @@ -96,12 +96,15 @@ am_libgrub_a_OBJECTS = libgrub_a-boot.$( libgrub_a-fsys_iso9660.$(OBJEXT) libgrub_a-fsys_jfs.$(OBJEXT) \ libgrub_a-fsys_minix.$(OBJEXT) \ libgrub_a-fsys_reiserfs.$(OBJEXT) \ - libgrub_a-fsys_ufs2.$(OBJEXT) libgrub_a-fsys_vstafs.$(OBJEXT) \ - libgrub_a-fsys_xfs.$(OBJEXT) libgrub_a-gunzip.$(OBJEXT) \ - libgrub_a-md5.$(OBJEXT) libgrub_a-serial.$(OBJEXT) \ - libgrub_a-stage2.$(OBJEXT) libgrub_a-terminfo.$(OBJEXT) \ - libgrub_a-tparm.$(OBJEXT) + libgrub_a-fsys_reiser4.$(OBJEXT) libgrub_a-fsys_ufs2.$(OBJEXT) \ + libgrub_a-fsys_vstafs.$(OBJEXT) libgrub_a-fsys_xfs.$(OBJEXT) \ + libgrub_a-gunzip.$(OBJEXT) libgrub_a-md5.$(OBJEXT) \ + libgrub_a-serial.$(OBJEXT) libgrub_a-stage2.$(OBJEXT) \ + libgrub_a-terminfo.$(OBJEXT) libgrub_a-tparm.$(OBJEXT) \ + libgrub_a-graphics.$(OBJEXT) libgrub_a_OBJECTS = $(am_libgrub_a_OBJECTS) +@ENABLE_REISER4_SUPPORT_TRUE@am__EXEEXT_1 = \ +@ENABLE_REISER4_SUPPORT_TRUE@ reiser4_stage1_5.exec$(EXEEXT) PROGRAMS = $(noinst_PROGRAMS) am__objects_1 = diskless_exec-asm.$(OBJEXT) \ diskless_exec-bios.$(OBJEXT) diskless_exec-boot.$(OBJEXT) \ @@ -117,6 +120,7 @@ am__objects_1 = diskless_exec-asm.$(OBJE diskless_exec-fsys_jfs.$(OBJEXT) \ diskless_exec-fsys_minix.$(OBJEXT) \ diskless_exec-fsys_reiserfs.$(OBJEXT) \ + diskless_exec-fsys_reiser4.$(OBJEXT) \ diskless_exec-fsys_ufs2.$(OBJEXT) \ diskless_exec-fsys_vstafs.$(OBJEXT) \ diskless_exec-fsys_xfs.$(OBJEXT) \ @@ -125,7 +129,8 @@ am__objects_1 = diskless_exec-asm.$(OBJE diskless_exec-serial.$(OBJEXT) \ diskless_exec-smp-imps.$(OBJEXT) \ diskless_exec-stage2.$(OBJEXT) \ - diskless_exec-terminfo.$(OBJEXT) diskless_exec-tparm.$(OBJEXT) + diskless_exec-terminfo.$(OBJEXT) diskless_exec-tparm.$(OBJEXT) \ + diskless_exec-graphics.$(OBJEXT) am_diskless_exec_OBJECTS = $(am__objects_1) diskless_exec_OBJECTS = $(am_diskless_exec_OBJECTS) diskless_exec_DEPENDENCIES = ../netboot/libdrivers.a @@ -208,6 +213,7 @@ am_pre_stage2_exec_OBJECTS = pre_stage2_ pre_stage2_exec-fsys_jfs.$(OBJEXT) \ pre_stage2_exec-fsys_minix.$(OBJEXT) \ pre_stage2_exec-fsys_reiserfs.$(OBJEXT) \ + pre_stage2_exec-fsys_reiser4.$(OBJEXT) \ pre_stage2_exec-fsys_ufs2.$(OBJEXT) \ pre_stage2_exec-fsys_vstafs.$(OBJEXT) \ pre_stage2_exec-fsys_xfs.$(OBJEXT) \ @@ -217,13 +223,29 @@ am_pre_stage2_exec_OBJECTS = pre_stage2_ pre_stage2_exec-smp-imps.$(OBJEXT) \ pre_stage2_exec-stage2.$(OBJEXT) \ pre_stage2_exec-terminfo.$(OBJEXT) \ - pre_stage2_exec-tparm.$(OBJEXT) + pre_stage2_exec-tparm.$(OBJEXT) \ + pre_stage2_exec-graphics.$(OBJEXT) pre_stage2_exec_OBJECTS = $(am_pre_stage2_exec_OBJECTS) +am__DEPENDENCIES_1 = +@NETBOOT_SUPPORT_FALSE@pre_stage2_exec_DEPENDENCIES = \ +@NETBOOT_SUPPORT_FALSE@ $(am__DEPENDENCIES_1) @NETBOOT_SUPPORT_TRUE@pre_stage2_exec_DEPENDENCIES = \ -@NETBOOT_SUPPORT_TRUE@ ../netboot/libdrivers.a +@NETBOOT_SUPPORT_TRUE@ ../netboot/libdrivers.a \ +@NETBOOT_SUPPORT_TRUE@ $(am__DEPENDENCIES_1) am_pxeloader_exec_OBJECTS = pxeloader_exec-pxeloader.$(OBJEXT) pxeloader_exec_OBJECTS = $(am_pxeloader_exec_OBJECTS) pxeloader_exec_LDADD = $(LDADD) +am_reiser4_stage1_5_exec_OBJECTS = \ + reiser4_stage1_5_exec-start.$(OBJEXT) \ + reiser4_stage1_5_exec-asm.$(OBJEXT) \ + reiser4_stage1_5_exec-common.$(OBJEXT) \ + reiser4_stage1_5_exec-char_io.$(OBJEXT) \ + reiser4_stage1_5_exec-disk_io.$(OBJEXT) \ + reiser4_stage1_5_exec-stage1_5.$(OBJEXT) \ + reiser4_stage1_5_exec-fsys_reiser4.$(OBJEXT) \ + reiser4_stage1_5_exec-bios.$(OBJEXT) +reiser4_stage1_5_exec_OBJECTS = $(am_reiser4_stage1_5_exec_OBJECTS) +reiser4_stage1_5_exec_DEPENDENCIES = $(am__DEPENDENCIES_1) am_reiserfs_stage1_5_exec_OBJECTS = \ reiserfs_stage1_5_exec-start.$(OBJEXT) \ reiserfs_stage1_5_exec-asm.$(OBJEXT) \ @@ -287,19 +309,19 @@ SOURCES = $(libgrub_a_SOURCES) $(diskles $(ffs_stage1_5_exec_SOURCES) $(iso9660_stage1_5_exec_SOURCES) \ $(jfs_stage1_5_exec_SOURCES) $(minix_stage1_5_exec_SOURCES) \ $(nbloader_exec_SOURCES) $(pre_stage2_exec_SOURCES) \ - $(pxeloader_exec_SOURCES) $(reiserfs_stage1_5_exec_SOURCES) \ - $(start_exec_SOURCES) $(start_eltorito_exec_SOURCES) \ - $(ufs2_stage1_5_exec_SOURCES) $(vstafs_stage1_5_exec_SOURCES) \ - $(xfs_stage1_5_exec_SOURCES) + $(pxeloader_exec_SOURCES) $(reiser4_stage1_5_exec_SOURCES) \ + $(reiserfs_stage1_5_exec_SOURCES) $(start_exec_SOURCES) \ + $(start_eltorito_exec_SOURCES) $(ufs2_stage1_5_exec_SOURCES) \ + $(vstafs_stage1_5_exec_SOURCES) $(xfs_stage1_5_exec_SOURCES) DIST_SOURCES = $(libgrub_a_SOURCES) $(diskless_exec_SOURCES) \ $(e2fs_stage1_5_exec_SOURCES) $(fat_stage1_5_exec_SOURCES) \ $(ffs_stage1_5_exec_SOURCES) $(iso9660_stage1_5_exec_SOURCES) \ $(jfs_stage1_5_exec_SOURCES) $(minix_stage1_5_exec_SOURCES) \ $(nbloader_exec_SOURCES) $(pre_stage2_exec_SOURCES) \ - $(pxeloader_exec_SOURCES) $(reiserfs_stage1_5_exec_SOURCES) \ - $(start_exec_SOURCES) $(start_eltorito_exec_SOURCES) \ - $(ufs2_stage1_5_exec_SOURCES) $(vstafs_stage1_5_exec_SOURCES) \ - $(xfs_stage1_5_exec_SOURCES) + $(pxeloader_exec_SOURCES) $(reiser4_stage1_5_exec_SOURCES) \ + $(reiserfs_stage1_5_exec_SOURCES) $(start_exec_SOURCES) \ + $(start_eltorito_exec_SOURCES) $(ufs2_stage1_5_exec_SOURCES) \ + $(vstafs_stage1_5_exec_SOURCES) $(xfs_stage1_5_exec_SOURCES) am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ @@ -342,8 +364,12 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REISER4_SUPPORT_FALSE = @ENABLE_REISER4_SUPPORT_FALSE@ +ENABLE_REISER4_SUPPORT_TRUE = @ENABLE_REISER4_SUPPORT_TRUE@ EXEEXT = @EXEEXT@ FSYS_CFLAGS = @FSYS_CFLAGS@ +GRAPHICS_SUPPORT_FALSE = @GRAPHICS_SUPPORT_FALSE@ +GRAPHICS_SUPPORT_TRUE = @GRAPHICS_SUPPORT_TRUE@ GRUB_CFLAGS = @GRUB_CFLAGS@ GRUB_LIBS = @GRUB_LIBS@ HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ @@ -376,6 +402,8 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ RANLIB = @RANLIB@ +REISER4_CFLAGS = @REISER4_CFLAGS@ +REISER4_LIBS = @REISER4_LIBS@ SERIAL_SPEED_SIMULATION_FALSE = @SERIAL_SPEED_SIMULATION_FALSE@ SERIAL_SPEED_SIMULATION_TRUE = @SERIAL_SPEED_SIMULATION_TRUE@ SERIAL_SUPPORT_FALSE = @SERIAL_SUPPORT_FALSE@ @@ -435,35 +463,40 @@ noinst_HEADERS = apic.h defs.h dir.h dis fat.h filesys.h freebsd.h fs.h hercules.h i386-elf.h \ imgact_aout.h iso9660.h jfs.h mb_header.h mb_info.h md5.h \ nbi.h pc_slice.h serial.h shared.h smp-imps.h term.h \ - terminfo.h tparm.h nbi.h ufs2.h vstafs.h xfs.h + terminfo.h tparm.h nbi.h ufs2.h vstafs.h xfs.h graphics.h EXTRA_DIST = setjmp.S apm.S $(noinst_SCRIPTS) # For . INCLUDES = -I$(top_srcdir)/stage1 +@ENABLE_REISER4_SUPPORT_FALSE@REISER4_STAGE1_5 = +@ENABLE_REISER4_SUPPORT_TRUE@REISER4_STAGE1_5 = reiser4_stage1_5 +@ENABLE_REISER4_SUPPORT_FALSE@REISER4_STAGE1_5_EXEC = +@ENABLE_REISER4_SUPPORT_TRUE@REISER4_STAGE1_5_EXEC = reiser4_stage1_5.exec # The library for /sbin/grub. noinst_LIBRARIES = libgrub.a libgrub_a_SOURCES = boot.c builtins.c char_io.c cmdline.c common.c \ disk_io.c fsys_ext2fs.c fsys_fat.c fsys_ffs.c fsys_iso9660.c \ - fsys_jfs.c fsys_minix.c fsys_reiserfs.c fsys_ufs2.c \ + fsys_jfs.c fsys_minix.c fsys_reiserfs.c fsys_reiser4.c fsys_ufs2.c \ fsys_vstafs.c fsys_xfs.c gunzip.c md5.c serial.c stage2.c \ - terminfo.c tparm.c + terminfo.c tparm.c graphics.c libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \ -DGRUB_UTIL=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_FFS=1 \ -DFSYS_ISO9660=1 -DFSYS_JFS=1 -DFSYS_MINIX=1 -DFSYS_REISERFS=1 \ - -DFSYS_UFS2=1 -DFSYS_VSTAFS=1 -DFSYS_XFS=1 \ + $(REISER4_CFLAGS) -DFSYS_UFS2=1 -DFSYS_VSTAFS=1 -DFSYS_XFS=1 \ -DUSE_MD5_PASSWORDS=1 -DSUPPORT_SERIAL=1 -DSUPPORT_HERCULES=1 @DISKLESS_SUPPORT_FALSE@pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ @DISKLESS_SUPPORT_FALSE@ ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \ -@DISKLESS_SUPPORT_FALSE@ reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5 +@DISKLESS_SUPPORT_FALSE@ reiserfs_stage1_5 $(REISER4_STAGE1_5) ufs2_stage1_5 \ +@DISKLESS_SUPPORT_FALSE@ vstafs_stage1_5 xfs_stage1_5 @DISKLESS_SUPPORT_TRUE@pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \ @DISKLESS_SUPPORT_TRUE@ ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \ -@DISKLESS_SUPPORT_TRUE@ reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5 \ -@DISKLESS_SUPPORT_TRUE@ nbgrub pxegrub +@DISKLESS_SUPPORT_TRUE@ reiserfs_stage1_5 $(REISER4_STAGE1_5) ufs2_stage1_5 \ +@DISKLESS_SUPPORT_TRUE@ vstafs_stage1_5 xfs_stage1_5 nbgrub pxegrub @DISKLESS_SUPPORT_FALSE@noinst_DATA = pre_stage2 start start_eltorito @DISKLESS_SUPPORT_TRUE@noinst_DATA = pre_stage2 start start_eltorito nbloader pxeloader diskless @@ -479,8 +512,10 @@ START_ELTORITO_LINK = -nostdlib -Wl,-N - @SERIAL_SUPPORT_TRUE@SERIAL_FLAGS = -DSUPPORT_SERIAL=1 @HERCULES_SUPPORT_FALSE@HERCULES_FLAGS = @HERCULES_SUPPORT_TRUE@HERCULES_FLAGS = -DSUPPORT_HERCULES=1 -STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) +@GRAPHICS_SUPPORT_FALSE@GRAPHICS_FLAGS = +@GRAPHICS_SUPPORT_TRUE@GRAPHICS_FLAGS = -DSUPPORT_GRAPHICS=1 +STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-builtin \ + $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) $(GRAPHICS_FLAGS) STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 STAGE1_5_COMPILE = $(STAGE2_COMPILE) -DNO_DECOMPRESSION=1 -DSTAGE1_5=1 @@ -489,13 +524,15 @@ STAGE1_5_COMPILE = $(STAGE2_COMPILE) -DN pre_stage2_exec_SOURCES = asm.S bios.c boot.c builtins.c char_io.c \ cmdline.c common.c console.c disk_io.c fsys_ext2fs.c \ fsys_fat.c fsys_ffs.c fsys_iso9660.c fsys_jfs.c fsys_minix.c \ - fsys_reiserfs.c fsys_ufs2.c fsys_vstafs.c fsys_xfs.c gunzip.c \ - hercules.c md5.c serial.c smp-imps.c stage2.c terminfo.c tparm.c + fsys_reiserfs.c fsys_reiser4.c fsys_ufs2.c fsys_vstafs.c \ + fsys_xfs.c gunzip.c hercules.c md5.c serial.c smp-imps.c \ + stage2.c terminfo.c tparm.c graphics.c pre_stage2_exec_CFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) pre_stage2_exec_CCASFLAGS = $(STAGE2_COMPILE) $(FSYS_CFLAGS) pre_stage2_exec_LDFLAGS = $(PRE_STAGE2_LINK) -@NETBOOT_SUPPORT_TRUE@pre_stage2_exec_LDADD = ../netboot/libdrivers.a +@NETBOOT_SUPPORT_FALSE@pre_stage2_exec_LDADD = $(REISER4_LIBS) +@NETBOOT_SUPPORT_TRUE@pre_stage2_exec_LDADD = ../netboot/libdrivers.a $(REISER4_LIBS) @DISKLESS_SUPPORT_FALSE@BUILT_SOURCES = stage2_size.h @DISKLESS_SUPPORT_TRUE@BUILT_SOURCES = stage2_size.h diskless_size.h CLEANFILES = $(pkglib_DATA) $(noinst_DATA) $(BUILT_SOURCES) @@ -578,6 +615,19 @@ reiserfs_stage1_5_exec_CCASFLAGS = $(STA reiserfs_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK) +# For reiser4_stage1_5 target. +reiser4_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \ + disk_io.c stage1_5.c fsys_reiser4.c bios.c + +reiser4_stage1_5_exec_CFLAGS = $(STAGE1_5_COMPILE) $(REISER4_CFLAGS) \ + -DNO_BLOCK_FILES=1 + +reiser4_stage1_5_exec_CCASFLAGS = $(STAGE1_5_COMPILE) $(REISER4_CFLAGS) \ + -DNO_BLOCK_FILES=1 + +reiser4_stage1_5_exec_LDFLAGS = $(STAGE1_5_LINK) +reiser4_stage1_5_exec_LDADD = $(REISER4_LIBS) + # For vstafs_stage1_5 target. vstafs_stage1_5_exec_SOURCES = start.S asm.S common.c char_io.c \ disk_io.c stage1_5.c fsys_vstafs.c bios.c @@ -723,6 +773,9 @@ pre_stage2.exec$(EXEEXT): $(pre_stage2_e pxeloader.exec$(EXEEXT): $(pxeloader_exec_OBJECTS) $(pxeloader_exec_DEPENDENCIES) @rm -f pxeloader.exec$(EXEEXT) $(LINK) $(pxeloader_exec_LDFLAGS) $(pxeloader_exec_OBJECTS) $(pxeloader_exec_LDADD) $(LIBS) +reiser4_stage1_5.exec$(EXEEXT): $(reiser4_stage1_5_exec_OBJECTS) $(reiser4_stage1_5_exec_DEPENDENCIES) + @rm -f reiser4_stage1_5.exec$(EXEEXT) + $(LINK) $(reiser4_stage1_5_exec_LDFLAGS) $(reiser4_stage1_5_exec_OBJECTS) $(reiser4_stage1_5_exec_LDADD) $(LIBS) reiserfs_stage1_5.exec$(EXEEXT): $(reiserfs_stage1_5_exec_OBJECTS) $(reiserfs_stage1_5_exec_DEPENDENCIES) @rm -f reiserfs_stage1_5.exec$(EXEEXT) $(LINK) $(reiserfs_stage1_5_exec_LDFLAGS) $(reiserfs_stage1_5_exec_OBJECTS) $(reiserfs_stage1_5_exec_LDADD) $(LIBS) @@ -762,10 +815,12 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-fsys_iso9660.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-fsys_jfs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-fsys_minix.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-fsys_reiser4.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-fsys_reiserfs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-fsys_ufs2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-fsys_vstafs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-fsys_xfs.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-graphics.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-gunzip.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-hercules.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskless_exec-md5.Po@am__quote@ @@ -816,10 +871,12 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-fsys_iso9660.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-fsys_jfs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-fsys_minix.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-fsys_reiser4.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-fsys_reiserfs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-fsys_ufs2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-fsys_vstafs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-fsys_xfs.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-graphics.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-gunzip.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-md5.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgrub_a-serial.Po@am__quote@ @@ -846,10 +903,12 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-fsys_iso9660.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-fsys_jfs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-fsys_minix.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-fsys_reiser4.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-fsys_reiserfs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-fsys_ufs2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-fsys_vstafs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-fsys_xfs.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-graphics.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-gunzip.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-hercules.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-md5.Po@am__quote@ @@ -858,6 +917,12 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-stage2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-terminfo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre_stage2_exec-tparm.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiser4_stage1_5_exec-bios.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiser4_stage1_5_exec-char_io.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiser4_stage1_5_exec-common.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiser4_stage1_5_exec-disk_io.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiser4_stage1_5_exec-fsys_reiser4.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiser4_stage1_5_exec-stage1_5.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiserfs_stage1_5_exec-bios.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiserfs_stage1_5_exec-char_io.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reiserfs_stage1_5_exec-common.Po@am__quote@ @@ -985,6 +1050,18 @@ pxeloader_exec-pxeloader.o: pxeloader.S pxeloader_exec-pxeloader.obj: pxeloader.S $(CCAS) $(pxeloader_exec_CCASFLAGS) $(CCASFLAGS) -c -o pxeloader_exec-pxeloader.obj `if test -f 'pxeloader.S'; then $(CYGPATH_W) 'pxeloader.S'; else $(CYGPATH_W) '$(srcdir)/pxeloader.S'; fi` +reiser4_stage1_5_exec-start.o: start.S + $(CCAS) $(reiser4_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o reiser4_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S + +reiser4_stage1_5_exec-start.obj: start.S + $(CCAS) $(reiser4_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o reiser4_stage1_5_exec-start.obj `if test -f 'start.S'; then $(CYGPATH_W) 'start.S'; else $(CYGPATH_W) '$(srcdir)/start.S'; fi` + +reiser4_stage1_5_exec-asm.o: asm.S + $(CCAS) $(reiser4_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o reiser4_stage1_5_exec-asm.o `test -f 'asm.S' || echo '$(srcdir)/'`asm.S + +reiser4_stage1_5_exec-asm.obj: asm.S + $(CCAS) $(reiser4_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o reiser4_stage1_5_exec-asm.obj `if test -f 'asm.S'; then $(CYGPATH_W) 'asm.S'; else $(CYGPATH_W) '$(srcdir)/asm.S'; fi` + reiserfs_stage1_5_exec-start.o: start.S $(CCAS) $(reiserfs_stage1_5_exec_CCASFLAGS) $(CCASFLAGS) -c -o reiserfs_stage1_5_exec-start.o `test -f 'start.S' || echo '$(srcdir)/'`start.S @@ -1241,6 +1318,20 @@ libgrub_a-fsys_reiserfs.obj: fsys_reiser @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi` +libgrub_a-fsys_reiser4.o: fsys_reiser4.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_reiser4.o -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_reiser4.Tpo" -c -o libgrub_a-fsys_reiser4.o `test -f 'fsys_reiser4.c' || echo '$(srcdir)/'`fsys_reiser4.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_reiser4.Tpo" "$(DEPDIR)/libgrub_a-fsys_reiser4.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_reiser4.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_reiser4.c' object='libgrub_a-fsys_reiser4.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_reiser4.o `test -f 'fsys_reiser4.c' || echo '$(srcdir)/'`fsys_reiser4.c + +libgrub_a-fsys_reiser4.obj: fsys_reiser4.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_reiser4.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_reiser4.Tpo" -c -o libgrub_a-fsys_reiser4.obj `if test -f 'fsys_reiser4.c'; then $(CYGPATH_W) 'fsys_reiser4.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiser4.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_reiser4.Tpo" "$(DEPDIR)/libgrub_a-fsys_reiser4.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_reiser4.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_reiser4.c' object='libgrub_a-fsys_reiser4.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-fsys_reiser4.obj `if test -f 'fsys_reiser4.c'; then $(CYGPATH_W) 'fsys_reiser4.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiser4.c'; fi` + libgrub_a-fsys_ufs2.o: fsys_ufs2.c @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-fsys_ufs2.o -MD -MP -MF "$(DEPDIR)/libgrub_a-fsys_ufs2.Tpo" -c -o libgrub_a-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-fsys_ufs2.Tpo" "$(DEPDIR)/libgrub_a-fsys_ufs2.Po"; else rm -f "$(DEPDIR)/libgrub_a-fsys_ufs2.Tpo"; exit 1; fi @@ -1367,6 +1458,20 @@ libgrub_a-tparm.obj: tparm.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-tparm.obj `if test -f 'tparm.c'; then $(CYGPATH_W) 'tparm.c'; else $(CYGPATH_W) '$(srcdir)/tparm.c'; fi` +libgrub_a-graphics.o: graphics.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-graphics.o -MD -MP -MF "$(DEPDIR)/libgrub_a-graphics.Tpo" -c -o libgrub_a-graphics.o `test -f 'graphics.c' || echo '$(srcdir)/'`graphics.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-graphics.Tpo" "$(DEPDIR)/libgrub_a-graphics.Po"; else rm -f "$(DEPDIR)/libgrub_a-graphics.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='graphics.c' object='libgrub_a-graphics.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-graphics.o `test -f 'graphics.c' || echo '$(srcdir)/'`graphics.c + +libgrub_a-graphics.obj: graphics.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -MT libgrub_a-graphics.obj -MD -MP -MF "$(DEPDIR)/libgrub_a-graphics.Tpo" -c -o libgrub_a-graphics.obj `if test -f 'graphics.c'; then $(CYGPATH_W) 'graphics.c'; else $(CYGPATH_W) '$(srcdir)/graphics.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libgrub_a-graphics.Tpo" "$(DEPDIR)/libgrub_a-graphics.Po"; else rm -f "$(DEPDIR)/libgrub_a-graphics.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='graphics.c' object='libgrub_a-graphics.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgrub_a_CFLAGS) $(CFLAGS) -c -o libgrub_a-graphics.obj `if test -f 'graphics.c'; then $(CYGPATH_W) 'graphics.c'; else $(CYGPATH_W) '$(srcdir)/graphics.c'; fi` + diskless_exec-bios.o: bios.c @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-bios.o -MD -MP -MF "$(DEPDIR)/diskless_exec-bios.Tpo" -c -o diskless_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-bios.Tpo" "$(DEPDIR)/diskless_exec-bios.Po"; else rm -f "$(DEPDIR)/diskless_exec-bios.Tpo"; exit 1; fi @@ -1577,6 +1682,20 @@ diskless_exec-fsys_reiserfs.obj: fsys_re @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi` +diskless_exec-fsys_reiser4.o: fsys_reiser4.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_reiser4.o -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_reiser4.Tpo" -c -o diskless_exec-fsys_reiser4.o `test -f 'fsys_reiser4.c' || echo '$(srcdir)/'`fsys_reiser4.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_reiser4.Tpo" "$(DEPDIR)/diskless_exec-fsys_reiser4.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_reiser4.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_reiser4.c' object='diskless_exec-fsys_reiser4.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_reiser4.o `test -f 'fsys_reiser4.c' || echo '$(srcdir)/'`fsys_reiser4.c + +diskless_exec-fsys_reiser4.obj: fsys_reiser4.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_reiser4.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_reiser4.Tpo" -c -o diskless_exec-fsys_reiser4.obj `if test -f 'fsys_reiser4.c'; then $(CYGPATH_W) 'fsys_reiser4.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiser4.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_reiser4.Tpo" "$(DEPDIR)/diskless_exec-fsys_reiser4.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_reiser4.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_reiser4.c' object='diskless_exec-fsys_reiser4.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-fsys_reiser4.obj `if test -f 'fsys_reiser4.c'; then $(CYGPATH_W) 'fsys_reiser4.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiser4.c'; fi` + diskless_exec-fsys_ufs2.o: fsys_ufs2.c @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-fsys_ufs2.o -MD -MP -MF "$(DEPDIR)/diskless_exec-fsys_ufs2.Tpo" -c -o diskless_exec-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-fsys_ufs2.Tpo" "$(DEPDIR)/diskless_exec-fsys_ufs2.Po"; else rm -f "$(DEPDIR)/diskless_exec-fsys_ufs2.Tpo"; exit 1; fi @@ -1731,6 +1850,20 @@ diskless_exec-tparm.obj: tparm.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-tparm.obj `if test -f 'tparm.c'; then $(CYGPATH_W) 'tparm.c'; else $(CYGPATH_W) '$(srcdir)/tparm.c'; fi` +diskless_exec-graphics.o: graphics.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-graphics.o -MD -MP -MF "$(DEPDIR)/diskless_exec-graphics.Tpo" -c -o diskless_exec-graphics.o `test -f 'graphics.c' || echo '$(srcdir)/'`graphics.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-graphics.Tpo" "$(DEPDIR)/diskless_exec-graphics.Po"; else rm -f "$(DEPDIR)/diskless_exec-graphics.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='graphics.c' object='diskless_exec-graphics.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-graphics.o `test -f 'graphics.c' || echo '$(srcdir)/'`graphics.c + +diskless_exec-graphics.obj: graphics.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -MT diskless_exec-graphics.obj -MD -MP -MF "$(DEPDIR)/diskless_exec-graphics.Tpo" -c -o diskless_exec-graphics.obj `if test -f 'graphics.c'; then $(CYGPATH_W) 'graphics.c'; else $(CYGPATH_W) '$(srcdir)/graphics.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/diskless_exec-graphics.Tpo" "$(DEPDIR)/diskless_exec-graphics.Po"; else rm -f "$(DEPDIR)/diskless_exec-graphics.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='graphics.c' object='diskless_exec-graphics.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(diskless_exec_CFLAGS) $(CFLAGS) -c -o diskless_exec-graphics.obj `if test -f 'graphics.c'; then $(CYGPATH_W) 'graphics.c'; else $(CYGPATH_W) '$(srcdir)/graphics.c'; fi` + e2fs_stage1_5_exec-common.o: common.c @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(e2fs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT e2fs_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/e2fs_stage1_5_exec-common.Tpo" -c -o e2fs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/e2fs_stage1_5_exec-common.Tpo" "$(DEPDIR)/e2fs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/e2fs_stage1_5_exec-common.Tpo"; exit 1; fi @@ -2445,6 +2578,20 @@ pre_stage2_exec-fsys_reiserfs.obj: fsys_ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_reiserfs.obj `if test -f 'fsys_reiserfs.c'; then $(CYGPATH_W) 'fsys_reiserfs.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiserfs.c'; fi` +pre_stage2_exec-fsys_reiser4.o: fsys_reiser4.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_reiser4.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_reiser4.Tpo" -c -o pre_stage2_exec-fsys_reiser4.o `test -f 'fsys_reiser4.c' || echo '$(srcdir)/'`fsys_reiser4.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_reiser4.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_reiser4.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_reiser4.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_reiser4.c' object='pre_stage2_exec-fsys_reiser4.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_reiser4.o `test -f 'fsys_reiser4.c' || echo '$(srcdir)/'`fsys_reiser4.c + +pre_stage2_exec-fsys_reiser4.obj: fsys_reiser4.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_reiser4.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_reiser4.Tpo" -c -o pre_stage2_exec-fsys_reiser4.obj `if test -f 'fsys_reiser4.c'; then $(CYGPATH_W) 'fsys_reiser4.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiser4.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_reiser4.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_reiser4.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_reiser4.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_reiser4.c' object='pre_stage2_exec-fsys_reiser4.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-fsys_reiser4.obj `if test -f 'fsys_reiser4.c'; then $(CYGPATH_W) 'fsys_reiser4.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiser4.c'; fi` + pre_stage2_exec-fsys_ufs2.o: fsys_ufs2.c @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-fsys_ufs2.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-fsys_ufs2.Tpo" -c -o pre_stage2_exec-fsys_ufs2.o `test -f 'fsys_ufs2.c' || echo '$(srcdir)/'`fsys_ufs2.c; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-fsys_ufs2.Tpo" "$(DEPDIR)/pre_stage2_exec-fsys_ufs2.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-fsys_ufs2.Tpo"; exit 1; fi @@ -2599,6 +2746,104 @@ pre_stage2_exec-tparm.obj: tparm.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-tparm.obj `if test -f 'tparm.c'; then $(CYGPATH_W) 'tparm.c'; else $(CYGPATH_W) '$(srcdir)/tparm.c'; fi` +pre_stage2_exec-graphics.o: graphics.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-graphics.o -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-graphics.Tpo" -c -o pre_stage2_exec-graphics.o `test -f 'graphics.c' || echo '$(srcdir)/'`graphics.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-graphics.Tpo" "$(DEPDIR)/pre_stage2_exec-graphics.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-graphics.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='graphics.c' object='pre_stage2_exec-graphics.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-graphics.o `test -f 'graphics.c' || echo '$(srcdir)/'`graphics.c + +pre_stage2_exec-graphics.obj: graphics.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -MT pre_stage2_exec-graphics.obj -MD -MP -MF "$(DEPDIR)/pre_stage2_exec-graphics.Tpo" -c -o pre_stage2_exec-graphics.obj `if test -f 'graphics.c'; then $(CYGPATH_W) 'graphics.c'; else $(CYGPATH_W) '$(srcdir)/graphics.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/pre_stage2_exec-graphics.Tpo" "$(DEPDIR)/pre_stage2_exec-graphics.Po"; else rm -f "$(DEPDIR)/pre_stage2_exec-graphics.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='graphics.c' object='pre_stage2_exec-graphics.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pre_stage2_exec_CFLAGS) $(CFLAGS) -c -o pre_stage2_exec-graphics.obj `if test -f 'graphics.c'; then $(CYGPATH_W) 'graphics.c'; else $(CYGPATH_W) '$(srcdir)/graphics.c'; fi` + +reiser4_stage1_5_exec-common.o: common.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiser4_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiser4_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/reiser4_stage1_5_exec-common.Tpo" -c -o reiser4_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiser4_stage1_5_exec-common.Tpo" "$(DEPDIR)/reiser4_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/reiser4_stage1_5_exec-common.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='reiser4_stage1_5_exec-common.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiser4_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiser4_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c + +reiser4_stage1_5_exec-common.obj: common.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiser4_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiser4_stage1_5_exec-common.obj -MD -MP -MF "$(DEPDIR)/reiser4_stage1_5_exec-common.Tpo" -c -o reiser4_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiser4_stage1_5_exec-common.Tpo" "$(DEPDIR)/reiser4_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/reiser4_stage1_5_exec-common.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='common.c' object='reiser4_stage1_5_exec-common.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiser4_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiser4_stage1_5_exec-common.obj `if test -f 'common.c'; then $(CYGPATH_W) 'common.c'; else $(CYGPATH_W) '$(srcdir)/common.c'; fi` + +reiser4_stage1_5_exec-char_io.o: char_io.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiser4_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiser4_stage1_5_exec-char_io.o -MD -MP -MF "$(DEPDIR)/reiser4_stage1_5_exec-char_io.Tpo" -c -o reiser4_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiser4_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/reiser4_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/reiser4_stage1_5_exec-char_io.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='reiser4_stage1_5_exec-char_io.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiser4_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiser4_stage1_5_exec-char_io.o `test -f 'char_io.c' || echo '$(srcdir)/'`char_io.c + +reiser4_stage1_5_exec-char_io.obj: char_io.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiser4_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiser4_stage1_5_exec-char_io.obj -MD -MP -MF "$(DEPDIR)/reiser4_stage1_5_exec-char_io.Tpo" -c -o reiser4_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiser4_stage1_5_exec-char_io.Tpo" "$(DEPDIR)/reiser4_stage1_5_exec-char_io.Po"; else rm -f "$(DEPDIR)/reiser4_stage1_5_exec-char_io.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='char_io.c' object='reiser4_stage1_5_exec-char_io.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiser4_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiser4_stage1_5_exec-char_io.obj `if test -f 'char_io.c'; then $(CYGPATH_W) 'char_io.c'; else $(CYGPATH_W) '$(srcdir)/char_io.c'; fi` + +reiser4_stage1_5_exec-disk_io.o: disk_io.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiser4_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiser4_stage1_5_exec-disk_io.o -MD -MP -MF "$(DEPDIR)/reiser4_stage1_5_exec-disk_io.Tpo" -c -o reiser4_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiser4_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/reiser4_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/reiser4_stage1_5_exec-disk_io.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='reiser4_stage1_5_exec-disk_io.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiser4_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiser4_stage1_5_exec-disk_io.o `test -f 'disk_io.c' || echo '$(srcdir)/'`disk_io.c + +reiser4_stage1_5_exec-disk_io.obj: disk_io.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiser4_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiser4_stage1_5_exec-disk_io.obj -MD -MP -MF "$(DEPDIR)/reiser4_stage1_5_exec-disk_io.Tpo" -c -o reiser4_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiser4_stage1_5_exec-disk_io.Tpo" "$(DEPDIR)/reiser4_stage1_5_exec-disk_io.Po"; else rm -f "$(DEPDIR)/reiser4_stage1_5_exec-disk_io.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='disk_io.c' object='reiser4_stage1_5_exec-disk_io.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiser4_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiser4_stage1_5_exec-disk_io.obj `if test -f 'disk_io.c'; then $(CYGPATH_W) 'disk_io.c'; else $(CYGPATH_W) '$(srcdir)/disk_io.c'; fi` + +reiser4_stage1_5_exec-stage1_5.o: stage1_5.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiser4_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiser4_stage1_5_exec-stage1_5.o -MD -MP -MF "$(DEPDIR)/reiser4_stage1_5_exec-stage1_5.Tpo" -c -o reiser4_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiser4_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/reiser4_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/reiser4_stage1_5_exec-stage1_5.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='reiser4_stage1_5_exec-stage1_5.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiser4_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiser4_stage1_5_exec-stage1_5.o `test -f 'stage1_5.c' || echo '$(srcdir)/'`stage1_5.c + +reiser4_stage1_5_exec-stage1_5.obj: stage1_5.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiser4_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiser4_stage1_5_exec-stage1_5.obj -MD -MP -MF "$(DEPDIR)/reiser4_stage1_5_exec-stage1_5.Tpo" -c -o reiser4_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiser4_stage1_5_exec-stage1_5.Tpo" "$(DEPDIR)/reiser4_stage1_5_exec-stage1_5.Po"; else rm -f "$(DEPDIR)/reiser4_stage1_5_exec-stage1_5.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stage1_5.c' object='reiser4_stage1_5_exec-stage1_5.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiser4_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiser4_stage1_5_exec-stage1_5.obj `if test -f 'stage1_5.c'; then $(CYGPATH_W) 'stage1_5.c'; else $(CYGPATH_W) '$(srcdir)/stage1_5.c'; fi` + +reiser4_stage1_5_exec-fsys_reiser4.o: fsys_reiser4.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiser4_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiser4_stage1_5_exec-fsys_reiser4.o -MD -MP -MF "$(DEPDIR)/reiser4_stage1_5_exec-fsys_reiser4.Tpo" -c -o reiser4_stage1_5_exec-fsys_reiser4.o `test -f 'fsys_reiser4.c' || echo '$(srcdir)/'`fsys_reiser4.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiser4_stage1_5_exec-fsys_reiser4.Tpo" "$(DEPDIR)/reiser4_stage1_5_exec-fsys_reiser4.Po"; else rm -f "$(DEPDIR)/reiser4_stage1_5_exec-fsys_reiser4.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_reiser4.c' object='reiser4_stage1_5_exec-fsys_reiser4.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiser4_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiser4_stage1_5_exec-fsys_reiser4.o `test -f 'fsys_reiser4.c' || echo '$(srcdir)/'`fsys_reiser4.c + +reiser4_stage1_5_exec-fsys_reiser4.obj: fsys_reiser4.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiser4_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiser4_stage1_5_exec-fsys_reiser4.obj -MD -MP -MF "$(DEPDIR)/reiser4_stage1_5_exec-fsys_reiser4.Tpo" -c -o reiser4_stage1_5_exec-fsys_reiser4.obj `if test -f 'fsys_reiser4.c'; then $(CYGPATH_W) 'fsys_reiser4.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiser4.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiser4_stage1_5_exec-fsys_reiser4.Tpo" "$(DEPDIR)/reiser4_stage1_5_exec-fsys_reiser4.Po"; else rm -f "$(DEPDIR)/reiser4_stage1_5_exec-fsys_reiser4.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fsys_reiser4.c' object='reiser4_stage1_5_exec-fsys_reiser4.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiser4_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiser4_stage1_5_exec-fsys_reiser4.obj `if test -f 'fsys_reiser4.c'; then $(CYGPATH_W) 'fsys_reiser4.c'; else $(CYGPATH_W) '$(srcdir)/fsys_reiser4.c'; fi` + +reiser4_stage1_5_exec-bios.o: bios.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiser4_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiser4_stage1_5_exec-bios.o -MD -MP -MF "$(DEPDIR)/reiser4_stage1_5_exec-bios.Tpo" -c -o reiser4_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiser4_stage1_5_exec-bios.Tpo" "$(DEPDIR)/reiser4_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/reiser4_stage1_5_exec-bios.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='reiser4_stage1_5_exec-bios.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiser4_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiser4_stage1_5_exec-bios.o `test -f 'bios.c' || echo '$(srcdir)/'`bios.c + +reiser4_stage1_5_exec-bios.obj: bios.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiser4_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiser4_stage1_5_exec-bios.obj -MD -MP -MF "$(DEPDIR)/reiser4_stage1_5_exec-bios.Tpo" -c -o reiser4_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiser4_stage1_5_exec-bios.Tpo" "$(DEPDIR)/reiser4_stage1_5_exec-bios.Po"; else rm -f "$(DEPDIR)/reiser4_stage1_5_exec-bios.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bios.c' object='reiser4_stage1_5_exec-bios.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiser4_stage1_5_exec_CFLAGS) $(CFLAGS) -c -o reiser4_stage1_5_exec-bios.obj `if test -f 'bios.c'; then $(CYGPATH_W) 'bios.c'; else $(CYGPATH_W) '$(srcdir)/bios.c'; fi` + reiserfs_stage1_5_exec-common.o: common.c @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reiserfs_stage1_5_exec_CFLAGS) $(CFLAGS) -MT reiserfs_stage1_5_exec-common.o -MD -MP -MF "$(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo" -c -o reiserfs_stage1_5_exec-common.o `test -f 'common.c' || echo '$(srcdir)/'`common.c; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo" "$(DEPDIR)/reiserfs_stage1_5_exec-common.Po"; else rm -f "$(DEPDIR)/reiserfs_stage1_5_exec-common.Tpo"; exit 1; fi diff -pruN grub-0.97.0/stage2/shared.h grub-0.97.2/stage2/shared.h --- grub-0.97.0/stage2/shared.h 2004-06-19 16:40:09.000000000 +0000 +++ grub-0.97.2/stage2/shared.h 2007-04-03 16:06:40.000000000 +0000 @@ -36,8 +36,8 @@ /* Maybe redirect memory requests through grub_scratch_mem. */ #ifdef GRUB_UTIL -extern char *grub_scratch_mem; -# define RAW_ADDR(x) ((x) + (int) grub_scratch_mem) +extern void *grub_scratch_mem; +# define RAW_ADDR(x) ((x) + (unsigned long) grub_scratch_mem) # define RAW_SEG(x) (RAW_ADDR ((x) << 4) >> 4) #else # define RAW_ADDR(x) (x) @@ -207,11 +207,12 @@ extern char *grub_scratch_mem; #define STAGE2_ID_FAT_STAGE1_5 3 #define STAGE2_ID_MINIX_STAGE1_5 4 #define STAGE2_ID_REISERFS_STAGE1_5 5 -#define STAGE2_ID_VSTAFS_STAGE1_5 6 -#define STAGE2_ID_JFS_STAGE1_5 7 -#define STAGE2_ID_XFS_STAGE1_5 8 -#define STAGE2_ID_ISO9660_STAGE1_5 9 -#define STAGE2_ID_UFS2_STAGE1_5 10 +#define STAGE2_ID_REISER4_STAGE1_5 6 +#define STAGE2_ID_VSTAFS_STAGE1_5 7 +#define STAGE2_ID_JFS_STAGE1_5 8 +#define STAGE2_ID_XFS_STAGE1_5 9 +#define STAGE2_ID_ISO9660_STAGE1_5 10 +#define STAGE2_ID_UFS2_STAGE1_5 11 #ifndef STAGE1_5 # define STAGE2_ID STAGE2_ID_STAGE2 @@ -226,6 +227,8 @@ extern char *grub_scratch_mem; # define STAGE2_ID STAGE2_ID_MINIX_STAGE1_5 # elif defined(FSYS_REISERFS) # define STAGE2_ID STAGE2_ID_REISERFS_STAGE1_5 +# elif defined(FSYS_REISER4) +# define STAGE2_ID STAGE2_ID_REISER4_STAGE1_5 # elif defined(FSYS_VSTAFS) # define STAGE2_ID STAGE2_ID_VSTAFS_STAGE1_5 # elif defined(FSYS_JFS) @@ -871,6 +874,7 @@ int grub_sprintf (char *buffer, const ch int grub_tolower (int c); int grub_isspace (int c); int grub_strncat (char *s1, const char *s2, int n); +void grub_memcpy(void *dest, const void *src, int len); void *grub_memmove (void *to, const void *from, int len); void *grub_memset (void *start, int c, int len); int grub_strncat (char *s1, const char *s2, int n); diff -pruN grub-0.97.0/stage2/size_test grub-0.97.2/stage2/size_test --- grub-0.97.0/stage2/size_test 2004-05-14 19:30:52.000000000 +0000 +++ grub-0.97.2/stage2/size_test 2007-04-03 16:06:40.000000000 +0000 @@ -36,9 +36,9 @@ check () } # The bootloader area of a FFS partition is 14 sectors. -check ffs_stage1_5 7168 - -check ufs2_stage1_5 7168 +#check ffs_stage1_5 7168 +# +#check ufs2_stage1_5 7168 # Stage 1.5 can be installed in the sectors immediately after MBR in the # first cylinder, so the size is (63 - 1) sectors. diff -pruN grub-0.97.0/stage2/stage2.c grub-0.97.2/stage2/stage2.c --- grub-0.97.0/stage2/stage2.c 2005-03-19 17:51:57.000000000 +0000 +++ grub-0.97.2/stage2/stage2.c 2007-04-03 16:06:40.000000000 +0000 @@ -233,6 +233,7 @@ run_menu (char *menu_entries, char *conf { int c, time1, time2 = -1, first_entry = 0; char *cur_entry = 0; + struct term_entry *prev_term = NULL; /* * Main loop for menu UI. @@ -714,6 +715,15 @@ restart: cls (); setcursor (1); + /* if our terminal needed initialization, we should shut it down + * before booting the kernel, but we want to save what it was so + * we can come back if needed */ + prev_term = current_term; + if (current_term->shutdown) + { + (*current_term->shutdown)(); + current_term = term_table; /* assumption: console is first */ + } while (1) { @@ -748,6 +758,13 @@ restart: break; } + /* if we get back here, we should go back to what our term was before */ + current_term = prev_term; + if (current_term->startup) + /* if our terminal fails to initialize, fall back to console since + * it should always work */ + if ((*current_term->startup)() == 0) + current_term = term_table; /* we know that console is first */ show_menu = 1; goto restart; } @@ -1050,6 +1067,10 @@ cmain (void) while (is_preset); } + /* go ahead and make sure the terminal is setup */ + if (current_term->startup) + (*current_term->startup)(); + if (! num_entries) { /* If no acceptable config file, goto command-line, starting diff -pruN grub-0.97.0/stage2/term.h grub-0.97.2/stage2/term.h --- grub-0.97.0/stage2/term.h 2003-07-09 11:45:53.000000000 +0000 +++ grub-0.97.2/stage2/term.h 2007-04-03 16:06:40.000000000 +0000 @@ -60,6 +60,8 @@ struct term_entry const char *name; /* The feature flags defined above. */ unsigned long flags; + /* Default for maximum number of lines if not specified */ + unsigned short max_lines; /* Put a character. */ void (*putchar) (int c); /* Check if any input character is available. */ @@ -79,6 +81,11 @@ struct term_entry void (*setcolor) (int normal_color, int highlight_color); /* Turn on/off the cursor. */ int (*setcursor) (int on); + + /* function to start a terminal */ + int (*startup) (void); + /* function to use to shutdown a terminal */ + void (*shutdown) (void); }; /* This lists up available terminals. */ @@ -124,4 +131,23 @@ void hercules_setcolor (int normal_color int hercules_setcursor (int on); #endif +#ifdef SUPPORT_GRAPHICS +extern int foreground, background, border, graphics_inited; + +void graphics_set_splash(char *splashfile); +int set_videomode (int mode); +void graphics_putchar (int c); +int graphics_getxy(void); +void graphics_gotoxy(int x, int y); +void graphics_cls(void); +void graphics_setcolorstate (color_state state); +void graphics_setcolor (int normal_color, int highlight_color); +void graphics_setcursor (int on); +int graphics_init(void); +void graphics_end(void); + +int hex(int v); +void graphics_set_palette(int idx, int red, int green, int blue); +#endif /* SUPPORT_GRAPHICS */ + #endif /* ! GRUB_TERM_HEADER */ diff -pruN grub-0.97.0/util/Makefile.in grub-0.97.2/util/Makefile.in --- grub-0.97.0/util/Makefile.in 2005-05-08 02:42:39.000000000 +0000 +++ grub-0.97.2/util/Makefile.in 2007-04-03 16:07:59.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.4 from Makefile.am. +# Makefile.in generated by automake 1.9.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. +# 2003, 2004, 2005 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. @@ -15,8 +15,6 @@ @SET_MAKE@ -SOURCES = $(mbchk_SOURCES) - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ @@ -100,8 +98,12 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ENABLE_REISER4_SUPPORT_FALSE = @ENABLE_REISER4_SUPPORT_FALSE@ +ENABLE_REISER4_SUPPORT_TRUE = @ENABLE_REISER4_SUPPORT_TRUE@ EXEEXT = @EXEEXT@ FSYS_CFLAGS = @FSYS_CFLAGS@ +GRAPHICS_SUPPORT_FALSE = @GRAPHICS_SUPPORT_FALSE@ +GRAPHICS_SUPPORT_TRUE = @GRAPHICS_SUPPORT_TRUE@ GRUB_CFLAGS = @GRUB_CFLAGS@ GRUB_LIBS = @GRUB_LIBS@ HERCULES_SUPPORT_FALSE = @HERCULES_SUPPORT_FALSE@ @@ -134,6 +136,8 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ RANLIB = @RANLIB@ +REISER4_CFLAGS = @REISER4_CFLAGS@ +REISER4_LIBS = @REISER4_LIBS@ SERIAL_SPEED_SIMULATION_FALSE = @SERIAL_SPEED_SIMULATION_FALSE@ SERIAL_SPEED_SIMULATION_TRUE = @SERIAL_SPEED_SIMULATION_TRUE@ SERIAL_SUPPORT_FALSE = @SERIAL_SUPPORT_FALSE@