/sbin/grub is always built and grub.8 is produced automatically
This commit is contained in:
parent
45d89b3d1a
commit
a0ca5d0c06
21 changed files with 697 additions and 92 deletions
26
ChangeLog
26
ChangeLog
|
@ -1,3 +1,29 @@
|
||||||
|
1999-06-23 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
||||||
|
|
||||||
|
* grub/asmstub.c [__linux__]: Include linux/fs.h for BLKFLSBUF.
|
||||||
|
(grub_stage2): Call sync before and after calling doit.
|
||||||
|
(gurb_stage2) [__linux__]: Invalidate buffer caches by BLKFLSBUF
|
||||||
|
ioctl.
|
||||||
|
* grub/main.c (main): Call sync first. Suggested by Pavel Roskin
|
||||||
|
<pavel_roskin@geocities.com>.
|
||||||
|
|
||||||
|
* configure.in: Curses libraries are always checked.
|
||||||
|
(--enable-sbin-grub): Deleted. Now /sbin/grub is always built.
|
||||||
|
(--enable-maintainer-mode): New option.
|
||||||
|
* grub/Makefile.am (EXTRA_PROGRAMS): Deleted.
|
||||||
|
(sbin_PROGRAMS): Just set to grub.
|
||||||
|
* docs/Makefile.am (man_MANS): New variable.
|
||||||
|
(HELP2MAN): Likewise.
|
||||||
|
(noinst_SCRIPTS): Likewise.
|
||||||
|
(EXTRA_DIST): Add $(man_MANS) and $(noinst_SCRIPTS).
|
||||||
|
[GRUB_MAINT]: Define the rule for the /sbin/grub manual.
|
||||||
|
* docs/help2man: Copied from texinfo-3.12i.
|
||||||
|
(--sector): New option to specify which section a manual belongs
|
||||||
|
to.
|
||||||
|
(opt_sector): New variable.
|
||||||
|
(sector): Likewise.
|
||||||
|
* docs/grub.8: Produced by help2man automatically.
|
||||||
|
|
||||||
1999-06-22 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
1999-06-22 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
||||||
|
|
||||||
* shared_src/char_io.c (get_cmdline): Add two missing `break's.
|
* shared_src/char_io.c (get_cmdline): Add two missing `break's.
|
||||||
|
|
|
@ -70,7 +70,6 @@ VERSION = @VERSION@
|
||||||
host_cpu = @host_cpu@
|
host_cpu = @host_cpu@
|
||||||
host_vendor = @host_vendor@
|
host_vendor = @host_vendor@
|
||||||
install_sh = @install_sh@
|
install_sh = @install_sh@
|
||||||
sbingrub = @sbingrub@
|
|
||||||
|
|
||||||
|
|
||||||
SUBDIRS = grub stage1 stage2 \
|
SUBDIRS = grub stage1 stage2 \
|
||||||
|
|
13
aclocal.m4
vendored
13
aclocal.m4
vendored
|
@ -230,3 +230,16 @@ else
|
||||||
fi
|
fi
|
||||||
AC_SUBST($1)])
|
AC_SUBST($1)])
|
||||||
|
|
||||||
|
# Define a conditional.
|
||||||
|
|
||||||
|
AC_DEFUN(AM_CONDITIONAL,
|
||||||
|
[AC_SUBST($1_TRUE)
|
||||||
|
AC_SUBST($1_FALSE)
|
||||||
|
if $2; then
|
||||||
|
$1_TRUE=
|
||||||
|
$1_FALSE='#'
|
||||||
|
else
|
||||||
|
$1_TRUE='#'
|
||||||
|
$1_FALSE=
|
||||||
|
fi])
|
||||||
|
|
||||||
|
|
112
configure
vendored
112
configure
vendored
|
@ -12,7 +12,8 @@ ac_help=
|
||||||
ac_default_prefix=/usr/local
|
ac_default_prefix=/usr/local
|
||||||
# Any additions from configure.in:
|
# Any additions from configure.in:
|
||||||
ac_help="$ac_help
|
ac_help="$ac_help
|
||||||
--enable-sbin-grub build /sbin/grub command-line utility"
|
--enable-maintainer-mode
|
||||||
|
enable the maintainer mode"
|
||||||
|
|
||||||
# Initialize some variables set by options.
|
# Initialize some variables set by options.
|
||||||
# The variables have the same names as the options, with
|
# The variables have the same names as the options, with
|
||||||
|
@ -554,7 +555,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
|
||||||
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
|
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
|
||||||
# ./install, which can be erroneously created by make from ./install.sh.
|
# ./install, which can be erroneously created by make from ./install.sh.
|
||||||
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
|
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
|
||||||
echo "configure:558: checking for a BSD compatible install" >&5
|
echo "configure:559: checking for a BSD compatible install" >&5
|
||||||
if test -z "$INSTALL"; then
|
if test -z "$INSTALL"; then
|
||||||
if eval "test \"\${ac_cv_path_install+set}\" = set"; then
|
if eval "test \"\${ac_cv_path_install+set}\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
|
@ -611,7 +612,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
|
||||||
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
|
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
|
||||||
|
|
||||||
echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
|
echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
|
||||||
echo "configure:615: checking whether build environment is sane" >&5
|
echo "configure:616: checking whether build environment is sane" >&5
|
||||||
# Just in case
|
# Just in case
|
||||||
sleep 1
|
sleep 1
|
||||||
echo timestamp > conftestfile
|
echo timestamp > conftestfile
|
||||||
|
@ -668,7 +669,7 @@ test "$program_suffix" != NONE &&
|
||||||
test "$program_transform_name" = "" && program_transform_name="s,x,x,"
|
test "$program_transform_name" = "" && program_transform_name="s,x,x,"
|
||||||
|
|
||||||
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
|
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
|
||||||
echo "configure:672: checking whether ${MAKE-make} sets \${MAKE}" >&5
|
echo "configure:673: checking whether ${MAKE-make} sets \${MAKE}" >&5
|
||||||
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
|
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
|
||||||
if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
|
if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
|
@ -717,7 +718,7 @@ EOF
|
||||||
|
|
||||||
missing_dir=`cd $ac_aux_dir && pwd`
|
missing_dir=`cd $ac_aux_dir && pwd`
|
||||||
echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
|
echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
|
||||||
echo "configure:721: checking for working aclocal" >&5
|
echo "configure:722: checking for working aclocal" >&5
|
||||||
# Run test in a subshell; some versions of sh will print an error if
|
# Run test in a subshell; some versions of sh will print an error if
|
||||||
# an executable is not found, even if stderr is redirected.
|
# an executable is not found, even if stderr is redirected.
|
||||||
# Redirect stdin to placate older versions of autoconf. Sigh.
|
# Redirect stdin to placate older versions of autoconf. Sigh.
|
||||||
|
@ -730,7 +731,7 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
|
echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
|
||||||
echo "configure:734: checking for working autoconf" >&5
|
echo "configure:735: checking for working autoconf" >&5
|
||||||
# Run test in a subshell; some versions of sh will print an error if
|
# Run test in a subshell; some versions of sh will print an error if
|
||||||
# an executable is not found, even if stderr is redirected.
|
# an executable is not found, even if stderr is redirected.
|
||||||
# Redirect stdin to placate older versions of autoconf. Sigh.
|
# Redirect stdin to placate older versions of autoconf. Sigh.
|
||||||
|
@ -743,7 +744,7 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo $ac_n "checking for working automake""... $ac_c" 1>&6
|
echo $ac_n "checking for working automake""... $ac_c" 1>&6
|
||||||
echo "configure:747: checking for working automake" >&5
|
echo "configure:748: checking for working automake" >&5
|
||||||
# Run test in a subshell; some versions of sh will print an error if
|
# Run test in a subshell; some versions of sh will print an error if
|
||||||
# an executable is not found, even if stderr is redirected.
|
# an executable is not found, even if stderr is redirected.
|
||||||
# Redirect stdin to placate older versions of autoconf. Sigh.
|
# Redirect stdin to placate older versions of autoconf. Sigh.
|
||||||
|
@ -756,7 +757,7 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
|
echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
|
||||||
echo "configure:760: checking for working autoheader" >&5
|
echo "configure:761: checking for working autoheader" >&5
|
||||||
# Run test in a subshell; some versions of sh will print an error if
|
# Run test in a subshell; some versions of sh will print an error if
|
||||||
# an executable is not found, even if stderr is redirected.
|
# an executable is not found, even if stderr is redirected.
|
||||||
# Redirect stdin to placate older versions of autoconf. Sigh.
|
# Redirect stdin to placate older versions of autoconf. Sigh.
|
||||||
|
@ -769,7 +770,7 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
|
echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
|
||||||
echo "configure:773: checking for working makeinfo" >&5
|
echo "configure:774: checking for working makeinfo" >&5
|
||||||
# Run test in a subshell; some versions of sh will print an error if
|
# Run test in a subshell; some versions of sh will print an error if
|
||||||
# an executable is not found, even if stderr is redirected.
|
# an executable is not found, even if stderr is redirected.
|
||||||
# Redirect stdin to placate older versions of autoconf. Sigh.
|
# Redirect stdin to placate older versions of autoconf. Sigh.
|
||||||
|
@ -789,7 +790,7 @@ do
|
||||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||||
set dummy $ac_prog; ac_word=$2
|
set dummy $ac_prog; ac_word=$2
|
||||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||||
echo "configure:793: checking for $ac_word" >&5
|
echo "configure:794: checking for $ac_word" >&5
|
||||||
if eval "test \"\${ac_cv_prog_AMTAR+set}\" = set"; then
|
if eval "test \"\${ac_cv_prog_AMTAR+set}\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
|
@ -829,7 +830,7 @@ fi
|
||||||
|
|
||||||
|
|
||||||
echo $ac_n "checking host system type""... $ac_c" 1>&6
|
echo $ac_n "checking host system type""... $ac_c" 1>&6
|
||||||
echo "configure:833: checking host system type" >&5
|
echo "configure:834: checking host system type" >&5
|
||||||
if test "x$ac_cv_host" = "x" || (test "x$host" != "xNONE" && test "x$host" != "x$ac_cv_host_alias"); then
|
if test "x$ac_cv_host" = "x" || (test "x$host" != "xNONE" && test "x$host" != "x$ac_cv_host_alias"); then
|
||||||
|
|
||||||
# Make sure we can run config.sub.
|
# Make sure we can run config.sub.
|
||||||
|
@ -880,22 +881,36 @@ esac
|
||||||
#
|
#
|
||||||
# Options
|
# Options
|
||||||
#
|
#
|
||||||
sbingrub=
|
|
||||||
# Check whether --enable-sbin-grub or --disable-sbin-grub was given.
|
# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
|
||||||
if test "${enable_sbin_grub+set}" = set; then
|
if test "${enable_maintainer_mode+set}" = set; then
|
||||||
enableval="$enable_sbin_grub"
|
enableval="$enable_maintainer_mode"
|
||||||
test "x$enableval" = xno || sbingrub=grub
|
case "x${enableval}" in
|
||||||
|
xyes) maintainermode=yes ;;
|
||||||
|
xno) maintainermode=no ;;
|
||||||
|
*) { echo "configure: error: invalid value ${enableval} for --enable-maintainer-mode" 1>&2; exit 1; } ;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
maintainermode=no
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if test "x${maintainermode}" = xyes; then
|
||||||
|
GRUB_MAINT_TRUE=
|
||||||
|
GRUB_MAINT_FALSE='#'
|
||||||
|
else
|
||||||
|
GRUB_MAINT_TRUE='#'
|
||||||
|
GRUB_MAINT_FALSE=
|
||||||
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
# Programs
|
# Programs
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
echo $ac_n "checking build system type""... $ac_c" 1>&6
|
echo $ac_n "checking build system type""... $ac_c" 1>&6
|
||||||
echo "configure:899: checking build system type" >&5
|
echo "configure:914: checking build system type" >&5
|
||||||
if test "x$ac_cv_build" = "x" || (test "x$build" != "xNONE" && test "x$build" != "x$ac_cv_build_alias"); then
|
if test "x$ac_cv_build" = "x" || (test "x$build" != "xNONE" && test "x$build" != "x$ac_cv_build_alias"); then
|
||||||
|
|
||||||
# Make sure we can run config.sub.
|
# Make sure we can run config.sub.
|
||||||
|
@ -942,7 +957,7 @@ fi
|
||||||
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
|
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
|
||||||
set dummy ${ac_tool_prefix}gcc; ac_word=$2
|
set dummy ${ac_tool_prefix}gcc; ac_word=$2
|
||||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||||
echo "configure:946: checking for $ac_word" >&5
|
echo "configure:961: checking for $ac_word" >&5
|
||||||
if eval "test \"\${ac_cv_prog_CC+set}\" = set"; then
|
if eval "test \"\${ac_cv_prog_CC+set}\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
|
@ -974,7 +989,7 @@ fi
|
||||||
# Extract the first word of "gcc", so it can be a program name with args.
|
# Extract the first word of "gcc", so it can be a program name with args.
|
||||||
set dummy gcc; ac_word=$2
|
set dummy gcc; ac_word=$2
|
||||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||||
echo "configure:978: checking for $ac_word" >&5
|
echo "configure:993: checking for $ac_word" >&5
|
||||||
if eval "test \"\${ac_cv_prog_CC+set}\" = set"; then
|
if eval "test \"\${ac_cv_prog_CC+set}\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
|
@ -1004,7 +1019,7 @@ if test -z "$CC"; then
|
||||||
# Extract the first word of "cc", so it can be a program name with args.
|
# Extract the first word of "cc", so it can be a program name with args.
|
||||||
set dummy cc; ac_word=$2
|
set dummy cc; ac_word=$2
|
||||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||||
echo "configure:1008: checking for $ac_word" >&5
|
echo "configure:1023: checking for $ac_word" >&5
|
||||||
if eval "test \"\${ac_cv_prog_CC+set}\" = set"; then
|
if eval "test \"\${ac_cv_prog_CC+set}\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
|
@ -1055,7 +1070,7 @@ fi
|
||||||
# Extract the first word of "cl", so it can be a program name with args.
|
# Extract the first word of "cl", so it can be a program name with args.
|
||||||
set dummy cl; ac_word=$2
|
set dummy cl; ac_word=$2
|
||||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||||
echo "configure:1059: checking for $ac_word" >&5
|
echo "configure:1074: checking for $ac_word" >&5
|
||||||
if eval "test \"\${ac_cv_prog_CC+set}\" = set"; then
|
if eval "test \"\${ac_cv_prog_CC+set}\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
|
@ -1087,7 +1102,7 @@ fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) works""... $ac_c" 1>&6
|
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) works""... $ac_c" 1>&6
|
||||||
echo "configure:1091: checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) works" >&5
|
echo "configure:1106: checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) works" >&5
|
||||||
|
|
||||||
ac_ext=c
|
ac_ext=c
|
||||||
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
|
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
|
||||||
|
@ -1098,12 +1113,12 @@ cross_compiling=$ac_cv_prog_cc_cross
|
||||||
|
|
||||||
cat > conftest.$ac_ext << EOF
|
cat > conftest.$ac_ext << EOF
|
||||||
|
|
||||||
#line 1102 "configure"
|
#line 1117 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
main(){return(0);}
|
main(){return(0);}
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:1107: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
if { (eval echo configure:1122: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||||
ac_cv_prog_cc_works=yes
|
ac_cv_prog_cc_works=yes
|
||||||
# If we can't run a trivial program, we are probably using a cross compiler.
|
# If we can't run a trivial program, we are probably using a cross compiler.
|
||||||
if (./conftest; exit) 2>/dev/null; then
|
if (./conftest; exit) 2>/dev/null; then
|
||||||
|
@ -1129,12 +1144,12 @@ if test $ac_cv_prog_cc_works = no; then
|
||||||
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
|
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
|
||||||
fi
|
fi
|
||||||
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
|
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
|
||||||
echo "configure:1133: checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) is a cross-compiler" >&5
|
echo "configure:1148: checking whether the C compiler ($CC $CFLAGS $CPPFLAGS $LDFLAGS) is a cross-compiler" >&5
|
||||||
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
|
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
|
||||||
cross_compiling=$ac_cv_prog_cc_cross
|
cross_compiling=$ac_cv_prog_cc_cross
|
||||||
|
|
||||||
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
|
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
|
||||||
echo "configure:1138: checking whether we are using GNU C" >&5
|
echo "configure:1153: checking whether we are using GNU C" >&5
|
||||||
if eval "test \"\${ac_cv_prog_gcc+set}\" = set"; then
|
if eval "test \"\${ac_cv_prog_gcc+set}\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
|
@ -1143,7 +1158,7 @@ else
|
||||||
yes;
|
yes;
|
||||||
#endif
|
#endif
|
||||||
EOF
|
EOF
|
||||||
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1147: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
|
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1162: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
|
||||||
ac_cv_prog_gcc=yes
|
ac_cv_prog_gcc=yes
|
||||||
else
|
else
|
||||||
ac_cv_prog_gcc=no
|
ac_cv_prog_gcc=no
|
||||||
|
@ -1162,7 +1177,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
|
||||||
ac_save_CFLAGS="$CFLAGS"
|
ac_save_CFLAGS="$CFLAGS"
|
||||||
CFLAGS=
|
CFLAGS=
|
||||||
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
|
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
|
||||||
echo "configure:1166: checking whether ${CC-cc} accepts -g" >&5
|
echo "configure:1181: checking whether ${CC-cc} accepts -g" >&5
|
||||||
if eval "test \"\${ac_cv_prog_cc_g+set}\" = set"; then
|
if eval "test \"\${ac_cv_prog_cc_g+set}\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
|
@ -1200,7 +1215,7 @@ CPPFLAGS="$CPPFLAGS -Wall -Wmissing-prototypes -Wunused"
|
||||||
# Extract the first word of "${ac_tool_prefix}ld", so it can be a program name with args.
|
# Extract the first word of "${ac_tool_prefix}ld", so it can be a program name with args.
|
||||||
set dummy ${ac_tool_prefix}ld; ac_word=$2
|
set dummy ${ac_tool_prefix}ld; ac_word=$2
|
||||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||||
echo "configure:1204: checking for $ac_word" >&5
|
echo "configure:1219: checking for $ac_word" >&5
|
||||||
if eval "test \"\${ac_cv_prog_LD+set}\" = set"; then
|
if eval "test \"\${ac_cv_prog_LD+set}\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
|
@ -1232,7 +1247,7 @@ fi
|
||||||
# Extract the first word of "${ac_tool_prefix}objcopy", so it can be a program name with args.
|
# Extract the first word of "${ac_tool_prefix}objcopy", so it can be a program name with args.
|
||||||
set dummy ${ac_tool_prefix}objcopy; ac_word=$2
|
set dummy ${ac_tool_prefix}objcopy; ac_word=$2
|
||||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||||
echo "configure:1236: checking for $ac_word" >&5
|
echo "configure:1251: checking for $ac_word" >&5
|
||||||
if eval "test \"\${ac_cv_prog_OBJCOPY+set}\" = set"; then
|
if eval "test \"\${ac_cv_prog_OBJCOPY+set}\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
|
@ -1265,7 +1280,7 @@ fi
|
||||||
# Defined in acinclude.m4.
|
# Defined in acinclude.m4.
|
||||||
|
|
||||||
echo $ac_n "checking symbol names produced by ${CC-cc}""... $ac_c" 1>&6
|
echo $ac_n "checking symbol names produced by ${CC-cc}""... $ac_c" 1>&6
|
||||||
echo "configure:1269: checking symbol names produced by ${CC-cc}" >&5
|
echo "configure:1284: checking symbol names produced by ${CC-cc}" >&5
|
||||||
if eval "test \"\${grub_cv_asm_ext_c+set}\" = set"; then
|
if eval "test \"\${grub_cv_asm_ext_c+set}\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
|
@ -1278,7 +1293,7 @@ func (int *list)
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
if { ac_try='${CC-cc} -S conftest.c'; { (eval echo configure:1282: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest.s; then :
|
if { ac_try='${CC-cc} -S conftest.c'; { (eval echo configure:1297: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest.s; then :
|
||||||
else
|
else
|
||||||
{ echo "configure: error: ${CC-cc} failed to produce assembly code" 1>&2; exit 1; }
|
{ echo "configure: error: ${CC-cc} failed to produce assembly code" 1>&2; exit 1; }
|
||||||
fi
|
fi
|
||||||
|
@ -1307,7 +1322,7 @@ EOF
|
||||||
|
|
||||||
|
|
||||||
echo $ac_n "checking whether ${OBJCOPY} works for absolute addresses""... $ac_c" 1>&6
|
echo $ac_n "checking whether ${OBJCOPY} works for absolute addresses""... $ac_c" 1>&6
|
||||||
echo "configure:1311: checking whether ${OBJCOPY} works for absolute addresses" >&5
|
echo "configure:1326: checking whether ${OBJCOPY} works for absolute addresses" >&5
|
||||||
if eval "test \"\${grub_cv_prog_objcopy_absolute+set}\" = set"; then
|
if eval "test \"\${grub_cv_prog_objcopy_absolute+set}\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
|
@ -1319,21 +1334,21 @@ blah (void)
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
if { (eval echo configure:1323: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then :
|
if { (eval echo configure:1338: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then :
|
||||||
else
|
else
|
||||||
{ echo "configure: error: ${CC-cc} cannot compile C source code" 1>&2; exit 1; }
|
{ echo "configure: error: ${CC-cc} cannot compile C source code" 1>&2; exit 1; }
|
||||||
fi
|
fi
|
||||||
grub_cv_prog_objcopy_absolute=yes
|
grub_cv_prog_objcopy_absolute=yes
|
||||||
for link_addr in 2000 8000 7C00; do
|
for link_addr in 2000 8000 7C00; do
|
||||||
if { ac_try='${LD-ld} -N -Ttext $link_addr conftest.o -o conftest.exec'; { (eval echo configure:1329: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then :
|
if { ac_try='${LD-ld} -N -Ttext $link_addr conftest.o -o conftest.exec'; { (eval echo configure:1344: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then :
|
||||||
else
|
else
|
||||||
{ echo "configure: error: ${LD-ld} cannot link at address $link_addr" 1>&2; exit 1; }
|
{ echo "configure: error: ${LD-ld} cannot link at address $link_addr" 1>&2; exit 1; }
|
||||||
fi
|
fi
|
||||||
if { ac_try='${OBJCOPY-objcopy} -O binary conftest.exec conftest'; { (eval echo configure:1333: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then :
|
if { ac_try='${OBJCOPY-objcopy} -O binary conftest.exec conftest'; { (eval echo configure:1348: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then :
|
||||||
else
|
else
|
||||||
{ echo "configure: error: ${OBJCOPY-objcopy} cannot create binary files" 1>&2; exit 1; }
|
{ echo "configure: error: ${OBJCOPY-objcopy} cannot create binary files" 1>&2; exit 1; }
|
||||||
fi
|
fi
|
||||||
if test ! -f conftest.old || { ac_try='cmp -s conftest.old conftest'; { (eval echo configure:1337: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
if test ! -f conftest.old || { ac_try='cmp -s conftest.old conftest'; { (eval echo configure:1352: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
|
||||||
mv -f conftest conftest.old
|
mv -f conftest conftest.old
|
||||||
else
|
else
|
||||||
grub_cv_prog_objcopy_absolute=no
|
grub_cv_prog_objcopy_absolute=no
|
||||||
|
@ -1350,7 +1365,7 @@ fi
|
||||||
|
|
||||||
|
|
||||||
echo $ac_n "checking for .code16 addr32 assembler support""... $ac_c" 1>&6
|
echo $ac_n "checking for .code16 addr32 assembler support""... $ac_c" 1>&6
|
||||||
echo "configure:1354: checking for .code16 addr32 assembler support" >&5
|
echo "configure:1369: checking for .code16 addr32 assembler support" >&5
|
||||||
if eval "test \"\${grub_cv_asm_addr32+set}\" = set"; then
|
if eval "test \"\${grub_cv_asm_addr32+set}\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
|
@ -1360,7 +1375,7 @@ l1: addr32
|
||||||
movb %al, l1
|
movb %al, l1
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
if { ac_try='${CC-cc} -c conftest.s'; { (eval echo configure:1364: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest.o; then
|
if { ac_try='${CC-cc} -c conftest.s'; { (eval echo configure:1379: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } && test -s conftest.o; then
|
||||||
grub_cv_asm_addr32=yes
|
grub_cv_asm_addr32=yes
|
||||||
else
|
else
|
||||||
grub_cv_asm_addr32=no
|
grub_cv_asm_addr32=no
|
||||||
|
@ -1373,10 +1388,9 @@ if test "x$grub_cv_asm_addr32" != xyes; then
|
||||||
{ echo "configure: error: GRUB requires GAS .code16 addr32 support; upgrade your binutils" 1>&2; exit 1; }
|
{ echo "configure: error: GRUB requires GAS .code16 addr32 support; upgrade your binutils" 1>&2; exit 1; }
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check for curses libraries if we are building /sbin/grub.
|
# Check for curses libraries.
|
||||||
if test -n "$sbingrub"; then
|
|
||||||
echo $ac_n "checking for getch in -lncurses""... $ac_c" 1>&6
|
echo $ac_n "checking for getch in -lncurses""... $ac_c" 1>&6
|
||||||
echo "configure:1380: checking for getch in -lncurses" >&5
|
echo "configure:1394: checking for getch in -lncurses" >&5
|
||||||
ac_lib_var=`echo ncurses'_'getch | sed 'y%./+-%__p_%'`
|
ac_lib_var=`echo ncurses'_'getch | sed 'y%./+-%__p_%'`
|
||||||
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
|
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
|
@ -1384,7 +1398,7 @@ else
|
||||||
ac_save_LIBS="$LIBS"
|
ac_save_LIBS="$LIBS"
|
||||||
LIBS="-lncurses $LIBS"
|
LIBS="-lncurses $LIBS"
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1388 "configure"
|
#line 1402 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
/* Override any gcc2 internal prototype to avoid an error. */
|
/* Override any gcc2 internal prototype to avoid an error. */
|
||||||
/* We use char because int might match the return type of a gcc2
|
/* We use char because int might match the return type of a gcc2
|
||||||
|
@ -1395,7 +1409,7 @@ int main() {
|
||||||
getch()
|
getch()
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:1399: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
if { (eval echo configure:1413: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||||
else
|
else
|
||||||
|
@ -1418,7 +1432,7 @@ EOF
|
||||||
else
|
else
|
||||||
echo "$ac_t""no" 1>&6
|
echo "$ac_t""no" 1>&6
|
||||||
echo $ac_n "checking for getch in -lcurses""... $ac_c" 1>&6
|
echo $ac_n "checking for getch in -lcurses""... $ac_c" 1>&6
|
||||||
echo "configure:1422: checking for getch in -lcurses" >&5
|
echo "configure:1436: checking for getch in -lcurses" >&5
|
||||||
ac_lib_var=`echo curses'_'getch | sed 'y%./+-%__p_%'`
|
ac_lib_var=`echo curses'_'getch | sed 'y%./+-%__p_%'`
|
||||||
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
|
if eval "test \"\${ac_cv_lib_$ac_lib_var+set}\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
|
@ -1426,7 +1440,7 @@ else
|
||||||
ac_save_LIBS="$LIBS"
|
ac_save_LIBS="$LIBS"
|
||||||
LIBS="-lcurses $LIBS"
|
LIBS="-lcurses $LIBS"
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1430 "configure"
|
#line 1444 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
/* Override any gcc2 internal prototype to avoid an error. */
|
/* Override any gcc2 internal prototype to avoid an error. */
|
||||||
/* We use char because int might match the return type of a gcc2
|
/* We use char because int might match the return type of a gcc2
|
||||||
|
@ -1437,7 +1451,7 @@ int main() {
|
||||||
getch()
|
getch()
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:1441: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
if { (eval echo configure:1455: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||||
else
|
else
|
||||||
|
@ -1463,7 +1477,6 @@ fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Create rules for our shared sources.
|
# Create rules for our shared sources.
|
||||||
SHARED_SRC_RULES=./ssrcrules.mk
|
SHARED_SRC_RULES=./ssrcrules.mk
|
||||||
|
@ -1663,7 +1676,8 @@ s%@host_alias@%$host_alias%g
|
||||||
s%@host_cpu@%$host_cpu%g
|
s%@host_cpu@%$host_cpu%g
|
||||||
s%@host_vendor@%$host_vendor%g
|
s%@host_vendor@%$host_vendor%g
|
||||||
s%@host_os@%$host_os%g
|
s%@host_os@%$host_os%g
|
||||||
s%@sbingrub@%$sbingrub%g
|
s%@GRUB_MAINT_TRUE@%$GRUB_MAINT_TRUE%g
|
||||||
|
s%@GRUB_MAINT_FALSE@%$GRUB_MAINT_FALSE%g
|
||||||
s%@build@%$build%g
|
s%@build@%$build%g
|
||||||
s%@build_alias@%$build_alias%g
|
s%@build_alias@%$build_alias%g
|
||||||
s%@build_cpu@%$build_cpu%g
|
s%@build_cpu@%$build_cpu%g
|
||||||
|
|
19
configure.in
19
configure.in
|
@ -32,11 +32,16 @@ AC_SUBST(host_vendor)
|
||||||
#
|
#
|
||||||
# Options
|
# Options
|
||||||
#
|
#
|
||||||
sbingrub=
|
|
||||||
AC_ARG_ENABLE(sbin-grub,
|
AC_ARG_ENABLE(maintainer-mode,
|
||||||
[ --enable-sbin-grub build /sbin/grub command-line utility],
|
[ --enable-maintainer-mode
|
||||||
[test "x$enableval" = xno || sbingrub=grub])
|
enable the maintainer mode],
|
||||||
AC_SUBST(sbingrub)
|
[case "x${enableval}" in
|
||||||
|
xyes) maintainermode=yes ;;
|
||||||
|
xno) maintainermode=no ;;
|
||||||
|
*) AC_MSG_ERROR(invalid value ${enableval} for --enable-maintainer-mode) ;;
|
||||||
|
esac],[maintainermode=no])
|
||||||
|
AM_CONDITIONAL(GRUB_MAINT, test "x${maintainermode}" = xyes)
|
||||||
|
|
||||||
#
|
#
|
||||||
# Programs
|
# Programs
|
||||||
|
@ -63,13 +68,11 @@ if test "x$grub_cv_asm_addr32" != xyes; then
|
||||||
AC_MSG_ERROR([GRUB requires GAS .code16 addr32 support; upgrade your binutils])
|
AC_MSG_ERROR([GRUB requires GAS .code16 addr32 support; upgrade your binutils])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check for curses libraries if we are building /sbin/grub.
|
# Check for curses libraries.
|
||||||
if test -n "$sbingrub"; then
|
|
||||||
AC_CHECK_LIB(ncurses, getch, [LIBS="$LIBS -lncurses"
|
AC_CHECK_LIB(ncurses, getch, [LIBS="$LIBS -lncurses"
|
||||||
AC_DEFINE(HAVE_LIBCURSES)],
|
AC_DEFINE(HAVE_LIBCURSES)],
|
||||||
[AC_CHECK_LIB(curses, getch, [LIBS="$LIBS -lcurses"
|
[AC_CHECK_LIB(curses, getch, [LIBS="$LIBS -lcurses"
|
||||||
AC_DEFINE(HAVE_LIBCURSES)])])
|
AC_DEFINE(HAVE_LIBCURSES)])])
|
||||||
fi
|
|
||||||
|
|
||||||
# Create rules for our shared sources.
|
# Create rules for our shared sources.
|
||||||
AC_SUBST_FILE(SHARED_SRC_RULES)dnl
|
AC_SUBST_FILE(SHARED_SRC_RULES)dnl
|
||||||
|
|
1
debian/Makefile.in
vendored
1
debian/Makefile.in
vendored
|
@ -70,7 +70,6 @@ VERSION = @VERSION@
|
||||||
host_cpu = @host_cpu@
|
host_cpu = @host_cpu@
|
||||||
host_vendor = @host_vendor@
|
host_vendor = @host_vendor@
|
||||||
install_sh = @install_sh@
|
install_sh = @install_sh@
|
||||||
sbingrub = @sbingrub@
|
|
||||||
|
|
||||||
|
|
||||||
EXTRA_DIST = README.debian changelog control copyright rules
|
EXTRA_DIST = README.debian changelog control copyright rules
|
||||||
|
|
|
@ -1,2 +1,12 @@
|
||||||
info_TEXINFOS = grub.texi multiboot.texi
|
info_TEXINFOS = grub.texi multiboot.texi
|
||||||
EXTRA_DIST = menu.lst
|
man_MANS = grub.8
|
||||||
|
HELP2MAN = $(srcdir)/help2man
|
||||||
|
noinst_SCRIPTS = $(HELP2MAN)
|
||||||
|
|
||||||
|
EXTRA_DIST = menu.lst $(man_MANS) $(noinst_SCRIPTS)
|
||||||
|
|
||||||
|
if GRUB_MAINT
|
||||||
|
$(srcdir)/grub.8: ../grub/grub $(HELP2MAN)
|
||||||
|
$(HELP2MAN) --name="the stage2 emulator shell" --section=8 \
|
||||||
|
--output=$@ $<
|
||||||
|
endif
|
||||||
|
|
|
@ -70,19 +70,28 @@ VERSION = @VERSION@
|
||||||
host_cpu = @host_cpu@
|
host_cpu = @host_cpu@
|
||||||
host_vendor = @host_vendor@
|
host_vendor = @host_vendor@
|
||||||
install_sh = @install_sh@
|
install_sh = @install_sh@
|
||||||
sbingrub = @sbingrub@
|
|
||||||
|
|
||||||
|
|
||||||
info_TEXINFOS = grub.texi multiboot.texi
|
info_TEXINFOS = grub.texi multiboot.texi
|
||||||
EXTRA_DIST = menu.lst
|
man_MANS = grub.8
|
||||||
|
HELP2MAN = $(srcdir)/help2man
|
||||||
|
noinst_SCRIPTS = $(HELP2MAN)
|
||||||
|
|
||||||
|
EXTRA_DIST = menu.lst $(man_MANS) $(noinst_SCRIPTS)
|
||||||
subdir = docs
|
subdir = docs
|
||||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||||
CONFIG_CLEAN_FILES =
|
CONFIG_CLEAN_FILES =
|
||||||
|
SCRIPTS = $(noinst_SCRIPTS)
|
||||||
|
|
||||||
DIST_SOURCES =
|
DIST_SOURCES =
|
||||||
TEXI2DVI = texi2dvi
|
TEXI2DVI = texi2dvi
|
||||||
INFO_DEPS = grub.info multiboot.info
|
INFO_DEPS = grub.info multiboot.info
|
||||||
DVIS = grub.dvi multiboot.dvi
|
DVIS = grub.dvi multiboot.dvi
|
||||||
TEXINFOS = grub.texi multiboot.texi
|
TEXINFOS = grub.texi multiboot.texi
|
||||||
|
man8dir = $(mandir)/man8
|
||||||
|
MANS = $(man_MANS)
|
||||||
|
|
||||||
|
NROFF = nroff
|
||||||
DIST_COMMON = Makefile.am Makefile.in mdate-sh stamp-vti texinfo.tex \
|
DIST_COMMON = Makefile.am Makefile.in mdate-sh stamp-vti texinfo.tex \
|
||||||
version.texi
|
version.texi
|
||||||
|
|
||||||
|
@ -252,6 +261,47 @@ maintainer-clean-aminfo:
|
||||||
rm -f $$i-[0-9]*; \
|
rm -f $$i-[0-9]*; \
|
||||||
fi; \
|
fi; \
|
||||||
done
|
done
|
||||||
|
|
||||||
|
install-man8:
|
||||||
|
$(mkinstalldirs) $(DESTDIR)$(man8dir)
|
||||||
|
@list='$(man8_MANS)'; \
|
||||||
|
l2='$(man_MANS)'; for i in $$l2; do \
|
||||||
|
case "$$i" in \
|
||||||
|
*.8*) list="$$list $$i" ;; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
for i in $$list; do \
|
||||||
|
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
|
||||||
|
else file=$$i; fi; \
|
||||||
|
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||||
|
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||||
|
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
||||||
|
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||||
|
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst"; \
|
||||||
|
$(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst; \
|
||||||
|
done
|
||||||
|
|
||||||
|
uninstall-man8:
|
||||||
|
@list='$(man8_MANS)'; \
|
||||||
|
l2='$(man_MANS)'; for i in $$l2; do \
|
||||||
|
case "$$i" in \
|
||||||
|
*.8*) list="$$list $$i" ;; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
for i in $$list; do \
|
||||||
|
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||||
|
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||||
|
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
||||||
|
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||||
|
echo " rm -f $(DESTDIR)$(man8dir)/$$inst"; \
|
||||||
|
rm -f $(DESTDIR)$(man8dir)/$$inst; \
|
||||||
|
done
|
||||||
|
install-man: $(MANS)
|
||||||
|
@$(NORMAL_INSTALL)
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) install-man8
|
||||||
|
uninstall-man:
|
||||||
|
@$(NORMAL_UNINSTALL)
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) uninstall-man8
|
||||||
tags: TAGS
|
tags: TAGS
|
||||||
TAGS:
|
TAGS:
|
||||||
|
|
||||||
|
@ -264,6 +314,7 @@ distdir: $(DISTFILES)
|
||||||
distdir=`cd $(distdir) && pwd`; \
|
distdir=`cd $(distdir) && pwd`; \
|
||||||
cd $(top_srcdir) \
|
cd $(top_srcdir) \
|
||||||
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu docs/Makefile
|
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu docs/Makefile
|
||||||
|
$(mkinstalldirs) $(distdir)/$(srcdir)
|
||||||
@for file in $(DISTFILES); do \
|
@for file in $(DISTFILES); do \
|
||||||
d=$(srcdir); \
|
d=$(srcdir); \
|
||||||
if test -d $$d/$$file; then \
|
if test -d $$d/$$file; then \
|
||||||
|
@ -286,20 +337,20 @@ installcheck: installcheck-am
|
||||||
install-exec-am:
|
install-exec-am:
|
||||||
install-exec: install-exec-am
|
install-exec: install-exec-am
|
||||||
|
|
||||||
install-data-am: install-info-am
|
install-data-am: install-info-am install-man
|
||||||
install-data: install-data-am
|
install-data: install-data-am
|
||||||
|
|
||||||
install-am: all-am
|
install-am: all-am
|
||||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||||
install: install-am
|
install: install-am
|
||||||
uninstall-am: uninstall-info
|
uninstall-am: uninstall-info uninstall-man
|
||||||
uninstall: uninstall-am
|
uninstall: uninstall-am
|
||||||
all-am: Makefile $(INFO_DEPS)
|
all-am: Makefile $(INFO_DEPS) $(SCRIPTS) $(MANS)
|
||||||
all-redirect: all-am
|
all-redirect: all-am
|
||||||
install-strip:
|
install-strip:
|
||||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
|
||||||
installdirs:
|
installdirs:
|
||||||
$(mkinstalldirs) $(DESTDIR)$(infodir)
|
$(mkinstalldirs) $(DESTDIR)$(infodir) $(DESTDIR)$(mandir)/man8
|
||||||
|
|
||||||
|
|
||||||
mostlyclean-generic:
|
mostlyclean-generic:
|
||||||
|
@ -332,14 +383,19 @@ maintainer-clean: maintainer-clean-am
|
||||||
|
|
||||||
.PHONY: mostlyclean-vti distclean-vti clean-vti maintainer-clean-vti \
|
.PHONY: mostlyclean-vti distclean-vti clean-vti maintainer-clean-vti \
|
||||||
install-info-am uninstall-info mostlyclean-aminfo distclean-aminfo \
|
install-info-am uninstall-info mostlyclean-aminfo distclean-aminfo \
|
||||||
clean-aminfo maintainer-clean-aminfo tags distdir info-am info dvi-am \
|
clean-aminfo maintainer-clean-aminfo install-man8 uninstall-man8 \
|
||||||
dvi check check-am installcheck-am installcheck install-exec-am \
|
install-man uninstall-man tags distdir info-am info dvi-am dvi check \
|
||||||
install-exec install-data-am install-data install-am install \
|
check-am installcheck-am installcheck install-exec-am install-exec \
|
||||||
uninstall-am uninstall all-redirect all-am all install-strip \
|
install-data-am install-data install-am install uninstall-am uninstall \
|
||||||
installdirs mostlyclean-generic distclean-generic clean-generic \
|
all-redirect all-am all install-strip installdirs mostlyclean-generic \
|
||||||
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
distclean-generic clean-generic maintainer-clean-generic clean \
|
||||||
|
mostlyclean distclean maintainer-clean
|
||||||
|
|
||||||
|
|
||||||
|
@GRUB_MAINT_TRUE@$(srcdir)/grub.8: ../grub/grub $(HELP2MAN)
|
||||||
|
@GRUB_MAINT_TRUE@ $(HELP2MAN) --name="the stage2 emulator shell" --section=8 \
|
||||||
|
@GRUB_MAINT_TRUE@ --output=$@ $<
|
||||||
|
|
||||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
.NOEXPORT:
|
.NOEXPORT:
|
||||||
|
|
57
docs/grub.8
Normal file
57
docs/grub.8
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.010.
|
||||||
|
.TH GRUB "8" "June 2000" "GNU GRUB 0.5.92" "FSF"
|
||||||
|
.SH NAME
|
||||||
|
GRUB \- the stage2 emulator shell
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B GRUB
|
||||||
|
[\fIOPTION\fR]...
|
||||||
|
.SH DESCRIPTION
|
||||||
|
.PP
|
||||||
|
Enter the GRand Unified Bootloader command shell.
|
||||||
|
.TP
|
||||||
|
\fB\-\-batch\fR
|
||||||
|
turn on batch mode for non-interactive use
|
||||||
|
.TP
|
||||||
|
\fB\-\-boot\-drive\fR=\fIDRIVE\fR
|
||||||
|
specify stage2 boot_drive [default=0x0]
|
||||||
|
.TP
|
||||||
|
\fB\-\-config\-file\fR=\fIFILE\fR
|
||||||
|
specify stage2 config_file [default=/boot/grub/menu.lst]
|
||||||
|
.TP
|
||||||
|
\fB\-\-help\fR
|
||||||
|
display this message and exit
|
||||||
|
.TP
|
||||||
|
\fB\-\-hold\fR
|
||||||
|
wait until a debugger will attach
|
||||||
|
.TP
|
||||||
|
\fB\-\-install\-partition\fR=\fIPAR\fR
|
||||||
|
specify stage2 install_partition [default=0x20000]
|
||||||
|
.TP
|
||||||
|
\fB\-\-no\-config\-file\fR
|
||||||
|
do not use the config file
|
||||||
|
.TP
|
||||||
|
\fB\-\-no\-curses\fR
|
||||||
|
do not use curses
|
||||||
|
.TP
|
||||||
|
\fB\-\-read\-only\fR
|
||||||
|
do not write anything to devices
|
||||||
|
.TP
|
||||||
|
\fB\-\-verbose\fR
|
||||||
|
print verbose messages
|
||||||
|
.TP
|
||||||
|
\fB\-\-version\fR
|
||||||
|
print version information and exit
|
||||||
|
.SH "REPORTING BUGS"
|
||||||
|
Report bugs to bug-grub@gnu.org
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
The full documentation for
|
||||||
|
.B GRUB
|
||||||
|
is maintained as a Texinfo manual. If the
|
||||||
|
.B info
|
||||||
|
and
|
||||||
|
.B GRUB
|
||||||
|
programs are properly installed at your site, the command
|
||||||
|
.IP
|
||||||
|
.B info GRUB
|
||||||
|
.PP
|
||||||
|
should give you access to the complete manual.
|
|
@ -364,7 +364,7 @@ on the floppy.
|
||||||
|
|
||||||
If you install GRUB using this method, it will only have access to the
|
If you install GRUB using this method, it will only have access to the
|
||||||
command-line interface, since there is no filesystem in which to find a
|
command-line interface, since there is no filesystem in which to find a
|
||||||
configuration file (FIXME: ref). If you want to use the menu interface, see
|
configuration file. If you want to use the menu interface, see
|
||||||
@ref{Automated install}.
|
@ref{Automated install}.
|
||||||
|
|
||||||
Under an UNIX-like operating system, such as GNU, use @code{dd} as
|
Under an UNIX-like operating system, such as GNU, use @code{dd} as
|
||||||
|
@ -427,7 +427,7 @@ place the @file{stage2} (and if desired, your configuration file called
|
||||||
(after booting from the GRUB floppy):
|
(after booting from the GRUB floppy):
|
||||||
|
|
||||||
@example
|
@example
|
||||||
install= (fd0)+1 (hd0) (hd0,2)/boot/grub/stage2 0x8000 p
|
install= (fd0)+1 (hd0) (hd0,1)/boot/grub/stage2 0x8000 p
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
This tells GRUB to grab the first sector of the floppy and use it as the
|
This tells GRUB to grab the first sector of the floppy and use it as the
|
||||||
|
@ -444,7 +444,7 @@ telling GRUB's stage1 to read from the first hard disk no matter where
|
||||||
the stage1 was loaded from:
|
the stage1 was loaded from:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
install= (fd0)+1 d (fd0) (hd0,2)/boot/grub/stage2 0x8000 p
|
install= (fd0)+1 d (fd0) (hd0,1)/boot/grub/stage2 0x8000 p
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
The @samp{d} option near the beginning is what sets the @emph{forced}
|
The @samp{d} option near the beginning is what sets the @emph{forced}
|
||||||
|
@ -452,6 +452,26 @@ loading from the disk where the stage2 was installed from. Also, the
|
||||||
@dfn{destination device} is changed to place the finished stage1 on the
|
@dfn{destination device} is changed to place the finished stage1 on the
|
||||||
floppy disk.
|
floppy disk.
|
||||||
|
|
||||||
|
@item
|
||||||
|
@strong{Same as above, but place the stage1.5 in the first cylinder of
|
||||||
|
the hard disk, and load the stage2 via the stage1.5:} Each of Stage 1.5s
|
||||||
|
supports only one filesystem, so choose a stage1.5 that supports the
|
||||||
|
filesystem where stage2 is located. Here it is assumed that the
|
||||||
|
filesystem is ext2fs.
|
||||||
|
|
||||||
|
First, copy @file{e2fs_stage1_5} to the first cylinder after MBR
|
||||||
|
(@pxref{MBR}):
|
||||||
|
|
||||||
|
@example
|
||||||
|
dd if=e2fs_stage1_5/e2fs_stage1_5 of=/dev/hda bs=512 seek=1
|
||||||
|
@end example
|
||||||
|
|
||||||
|
Second, specify the stage2 argument in the block-list format:
|
||||||
|
|
||||||
|
@example
|
||||||
|
install= (fd0)+1 (hd0) (hd0)1+1 0x2000 p (hd0,1)/boot/grub/stage2
|
||||||
|
@end example
|
||||||
|
|
||||||
@item
|
@item
|
||||||
@strong{Installing from an @emph{install directory} to the second hard
|
@strong{Installing from an @emph{install directory} to the second hard
|
||||||
disk:} Here we're loading the stage1 from a file on the first hard disk,
|
disk:} Here we're loading the stage1 from a file on the first hard disk,
|
||||||
|
@ -460,7 +480,7 @@ hard disk, and setting the stage2's @dfn{configuration file} to
|
||||||
@file{(hd1,a)/grubdir/configfile}:
|
@file{(hd1,a)/grubdir/configfile}:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
install= (hd0,2)/boot/grub/stage1 (hd1) (hd1,a)/boot/grub/stage2 0x8000 p /grubdir/configfile
|
install= (hd0,1)/boot/grub/stage1 (hd1) (hd1,a)/boot/grub/stage2 0x8000 p /grubdir/configfile
|
||||||
@end example
|
@end example
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
|
@ -517,7 +537,7 @@ file, used with exactly the same syntax.
|
||||||
@c The list of available keys should be listed in @table, and should be
|
@c The list of available keys should be listed in @table, and should be
|
||||||
@c explained exactly. Current explanation is obscure.
|
@c explained exactly. Current explanation is obscure.
|
||||||
Cursor movement and editing of the text on the line can be done via a
|
Cursor movement and editing of the text on the line can be done via a
|
||||||
subset of the functions available in the BASH (FIXME: ref) shell
|
subset of the functions available in the BASH shell
|
||||||
(@kbd{C-f} forward, @kbd{C-b} backward, @kbd{C-a} beginning of line,
|
(@kbd{C-f} forward, @kbd{C-b} backward, @kbd{C-a} beginning of line,
|
||||||
@kbd{C-e} end of line, @kbd{C-k} delete to end, @kbd{C-u} delete to
|
@kbd{C-e} end of line, @kbd{C-k} delete to end, @kbd{C-u} delete to
|
||||||
beginning; the PC left and right arrow keys, @key{HOME}, @key{DEL}, and
|
beginning; the PC left and right arrow keys, @key{HOME}, @key{DEL}, and
|
||||||
|
|
397
docs/help2man
Normal file
397
docs/help2man
Normal file
|
@ -0,0 +1,397 @@
|
||||||
|
#!/usr/local/bin/perl -w
|
||||||
|
|
||||||
|
# Generate a short man page from --help and --version output.
|
||||||
|
# Copyright © 1997, 98, 99 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.
|
||||||
|
|
||||||
|
# Written by Brendan O'Dea <bod@compusol.com.au>
|
||||||
|
|
||||||
|
use 5.004;
|
||||||
|
use strict;
|
||||||
|
use Getopt::Long;
|
||||||
|
use POSIX qw(strftime setlocale LC_TIME);
|
||||||
|
|
||||||
|
my $this_program = 'help2man';
|
||||||
|
my $this_version = '1.010';
|
||||||
|
my $version_info = <<EOT;
|
||||||
|
$this_program $this_version
|
||||||
|
|
||||||
|
Copyright (C) 1997, 98, 99 Free Software Foundation, Inc.
|
||||||
|
This is free software; see the source for copying conditions. There is NO
|
||||||
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
Written by Brendan O'Dea <bod\@compusol.com.au>
|
||||||
|
EOT
|
||||||
|
|
||||||
|
my $help_info = <<EOT;
|
||||||
|
`$this_program' generates a man page out of `--help' and `--version' output.
|
||||||
|
|
||||||
|
Usage: $this_program [OPTION]... EXECUTABLE
|
||||||
|
|
||||||
|
--name=STRING use `STRING' as the description for the NAME paragraph
|
||||||
|
--include=FILE include material from `FILE'
|
||||||
|
--opt-include=FILE include material from `FILE' if it exists
|
||||||
|
--output=FILE send output to `FILE'
|
||||||
|
--no-info suppress pointer to Texinfo manual
|
||||||
|
--section=SECTION use `SECTION' as the section for the man page
|
||||||
|
--help print this help, then exit
|
||||||
|
--version print $this_program program version number, then exit
|
||||||
|
|
||||||
|
EXECUTABLE should accept `--help' and `version' options.
|
||||||
|
EOT
|
||||||
|
|
||||||
|
my ($include, $opt_name, $opt_include, $opt_output, $opt_no_info,
|
||||||
|
$opt_section);
|
||||||
|
|
||||||
|
# Parse options.
|
||||||
|
GetOptions (
|
||||||
|
'name=s' => \$opt_name,
|
||||||
|
'include=s' => \$include,
|
||||||
|
'opt-include=s' => \$opt_include,
|
||||||
|
'output=s' => \$opt_output,
|
||||||
|
'no-info' => \$opt_no_info,
|
||||||
|
'section=s' => \$opt_section,
|
||||||
|
help => sub { print $help_info; exit },
|
||||||
|
version => sub { print $version_info; exit },
|
||||||
|
) or die $help_info;
|
||||||
|
|
||||||
|
die $help_info unless @ARGV == 1;
|
||||||
|
|
||||||
|
my %include = ();
|
||||||
|
my @include = (); # to retain order
|
||||||
|
|
||||||
|
# Process include file (if given). Format is:
|
||||||
|
#
|
||||||
|
# [section name]
|
||||||
|
# verbatim text
|
||||||
|
|
||||||
|
if ($include or $opt_include)
|
||||||
|
{
|
||||||
|
if (open INC, $include || $opt_include)
|
||||||
|
{
|
||||||
|
my $sect;
|
||||||
|
|
||||||
|
while (<INC>)
|
||||||
|
{
|
||||||
|
if (/^\[([^]]+)\]/)
|
||||||
|
{
|
||||||
|
$sect = uc $1;
|
||||||
|
$sect =~ s/^\s+//;
|
||||||
|
$sect =~ s/\s+$//;
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Silently ignore anything before the first
|
||||||
|
# section--allows for comments and revision info.
|
||||||
|
next unless $sect;
|
||||||
|
|
||||||
|
push @include, $sect unless $include{$sect};
|
||||||
|
$include{$sect} ||= '';
|
||||||
|
$include{$sect} .= $_;
|
||||||
|
}
|
||||||
|
|
||||||
|
close INC;
|
||||||
|
|
||||||
|
die "$this_program: no valid information found in `$include'\n"
|
||||||
|
unless %include;
|
||||||
|
|
||||||
|
# Compress trailing blank lines.
|
||||||
|
for (keys %include)
|
||||||
|
{
|
||||||
|
$include{$_} =~ s/\n+$//;
|
||||||
|
$include{$_} .= "\n" unless /^NAME$/;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
die "$this_program: can't open `$include' ($!)\n" if $include;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Turn off localisation of executable's ouput.
|
||||||
|
@ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3;
|
||||||
|
|
||||||
|
# Turn off localisation of date (for strftime)
|
||||||
|
setlocale LC_TIME, 'C';
|
||||||
|
|
||||||
|
# Grab help and version paragraphs from executable
|
||||||
|
my @help = split /\n\n+/, `$ARGV[0] --help 2>/dev/null`
|
||||||
|
or die "$this_program: can't get `--help' info from $ARGV[0]\n";
|
||||||
|
|
||||||
|
my @version = split /\n\n+/, `$ARGV[0] --version 2>/dev/null`
|
||||||
|
or die "$this_program: can't get `--version' info from $ARGV[0]\n";
|
||||||
|
|
||||||
|
my $date = strftime "%B %Y", localtime;
|
||||||
|
(my $program = $ARGV[0]) =~ s!.*/!!;
|
||||||
|
my $package = $program;
|
||||||
|
my $version;
|
||||||
|
|
||||||
|
# Set the section to 1 by default.
|
||||||
|
my $section = 1;
|
||||||
|
$section = $opt_section if $opt_section;
|
||||||
|
|
||||||
|
if ($opt_output)
|
||||||
|
{
|
||||||
|
unlink $opt_output
|
||||||
|
or die "$this_program: can't unlink $opt_output ($!)\n"
|
||||||
|
if -e $opt_output;
|
||||||
|
|
||||||
|
open STDOUT, ">$opt_output"
|
||||||
|
or die "$this_program: can't create $opt_output ($!)\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
# The first line of the --version information is assumed to be in one
|
||||||
|
# of the following formats:
|
||||||
|
#
|
||||||
|
# <version>
|
||||||
|
# <program> <version>
|
||||||
|
# {GNU,Free} <program> <version>
|
||||||
|
# <program> ({GNU,Free} <package>) <version>
|
||||||
|
# <program> - {GNU,Free} <package> <version>
|
||||||
|
#
|
||||||
|
# and seperated from any copyright/author details by a blank line.
|
||||||
|
|
||||||
|
$_ = shift @version;
|
||||||
|
|
||||||
|
if (/^(\S+)\s+\(((?:GNU|Free)\s+[^)]+)\)\s+(.*)/ or
|
||||||
|
/^(\S+)\s+-\s*((?:GNU|Free)\s+\S+)\s+(.*)/)
|
||||||
|
{
|
||||||
|
$program = $1;
|
||||||
|
$package = $2;
|
||||||
|
$version = $3;
|
||||||
|
}
|
||||||
|
elsif (/^((?:GNU|Free)\s+)?(\S+)\s+(.*)/)
|
||||||
|
{
|
||||||
|
$program = $2;
|
||||||
|
$package = $1 ? "$1$2" : $2;
|
||||||
|
$version = $3;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$version = $_;
|
||||||
|
}
|
||||||
|
|
||||||
|
$program =~ s!.*/!!;
|
||||||
|
|
||||||
|
# no info for `info' itself
|
||||||
|
$opt_no_info = 1 if $program eq 'info';
|
||||||
|
|
||||||
|
# --name overrides --include contents
|
||||||
|
$include{NAME} = "$program \\- $opt_name" if $opt_name;
|
||||||
|
|
||||||
|
# Default (useless) NAME paragraph
|
||||||
|
$include{NAME} ||= "$program \\- manual page for $program $version";
|
||||||
|
|
||||||
|
# Man pages traditionally have the page title in caps.
|
||||||
|
my $PROGRAM = uc $program;
|
||||||
|
|
||||||
|
# Header.
|
||||||
|
print <<EOT;
|
||||||
|
.\\" DO NOT MODIFY THIS FILE! It was generated by $this_program $this_version.
|
||||||
|
.TH $PROGRAM "$section" "$date" "$package $version" "FSF"
|
||||||
|
.SH NAME
|
||||||
|
$include{NAME}
|
||||||
|
EOT
|
||||||
|
|
||||||
|
my $accumulate = 1;
|
||||||
|
my @description = ();
|
||||||
|
|
||||||
|
sub convert_option;
|
||||||
|
|
||||||
|
# Output converted --help information.
|
||||||
|
for (@help)
|
||||||
|
{
|
||||||
|
chomp;
|
||||||
|
|
||||||
|
if (s/^Usage:\s+\S+\s+(.*)\n?//)
|
||||||
|
{
|
||||||
|
# Turn the usage clause into a synopsis.
|
||||||
|
my $synopsis = '';
|
||||||
|
|
||||||
|
do {
|
||||||
|
my $syn = $1;
|
||||||
|
$syn =~ s/(([][]|\.\.+)+)/\\fR$1\\fI/g;
|
||||||
|
$syn =~ s/^/\\fI/ unless $syn =~ s/^\\fR//;
|
||||||
|
$syn .= '\fR';
|
||||||
|
$syn =~ s/\\fI(\s*)\\fR/$1/g;
|
||||||
|
|
||||||
|
$synopsis .= ".br\n" unless $accumulate;
|
||||||
|
$synopsis .= ".B $program\n";
|
||||||
|
$synopsis .= "$syn\n";
|
||||||
|
$accumulate = 0;
|
||||||
|
} while s/^(?:Usage|\s*or):\s+\S+\s+(.*)\n?//;
|
||||||
|
|
||||||
|
# Include file overrides SYNOPSIS.
|
||||||
|
print ".SH SYNOPSIS\n", $include{SYNOPSIS} || $synopsis;
|
||||||
|
|
||||||
|
# Dump any accumulated description text.
|
||||||
|
print ".SH DESCRIPTION\n";
|
||||||
|
print @description;
|
||||||
|
|
||||||
|
# Add additional description text from include file.
|
||||||
|
if ($include{DESCRIPTION})
|
||||||
|
{
|
||||||
|
print ".PP\n" unless $include{DESCRIPTION} =~ /^\..P/;
|
||||||
|
print $include{DESCRIPTION};
|
||||||
|
}
|
||||||
|
|
||||||
|
next unless $_;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Accumulate text if the synopsis has not been produced yet.
|
||||||
|
if ($accumulate)
|
||||||
|
{
|
||||||
|
push @description, ".PP\n" if @description;
|
||||||
|
push @description, "$_\n";
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Convert some standard paragraph names
|
||||||
|
if (s/^(Options|Examples):\s*\n//)
|
||||||
|
{
|
||||||
|
print qq(.SH \U$1\n);
|
||||||
|
next unless length;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Catch bug report text.
|
||||||
|
if (/^Report bugs |^Email bug reports to /)
|
||||||
|
{
|
||||||
|
print qq(.SH "REPORTING BUGS"\n$_\n);
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Special case for tar 1.12: --label=NAME\nPATTERN.
|
||||||
|
s{(\n[ \t]*)(-V,[ \t]+--label=NAME.*)\n[ \t]+PATTERN[ \t]+}
|
||||||
|
{$1$2$1\\&...=PATTERN };
|
||||||
|
|
||||||
|
# Convert options.
|
||||||
|
s/((?:^|,)\s+)(-[][\w=-]+|\\&\S+)/$1 . convert_option $2/mge;
|
||||||
|
|
||||||
|
# Option subsections have second line indented.
|
||||||
|
print qq(.SS "$1"\n) if s/^(\S.*)\n(\s)/$2/;
|
||||||
|
|
||||||
|
my $ind = 0;
|
||||||
|
for (split /\n/)
|
||||||
|
{
|
||||||
|
# indented paragraph
|
||||||
|
if (/^\s/)
|
||||||
|
{
|
||||||
|
# Join continued lines when indented to the same point as
|
||||||
|
# text following at least two spaces on the previous line.
|
||||||
|
if ($ind > 0 and /^ {$ind}\S/)
|
||||||
|
{
|
||||||
|
s/^\s+//;
|
||||||
|
print "$_\n" if $_;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
# use the words(s) before two or more spaces for the
|
||||||
|
# tag
|
||||||
|
s/^(\s+)//;
|
||||||
|
$ind = length $1;
|
||||||
|
|
||||||
|
if (s/(\s\s+)/\n/)
|
||||||
|
{
|
||||||
|
$ind += (length $1) + index $_, "\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$ind = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
print ".TP\n$_\n" if $_;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# Anything else.
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print ".PP\n" unless $ind < 0;
|
||||||
|
print "$_\n";
|
||||||
|
$ind = -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Print any include items other than the ones we have already dealt
|
||||||
|
# with.
|
||||||
|
for (@include)
|
||||||
|
{
|
||||||
|
print qq(.SH "$_"\n$include{$_})
|
||||||
|
unless /^(NAME|SYNOPSIS|DESCRIPTION|SEE ALSO)$/;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Refer to the real documentation.
|
||||||
|
if ($include{'SEE ALSO'} or !$opt_no_info)
|
||||||
|
{
|
||||||
|
print qq(.SH "SEE ALSO"\n);
|
||||||
|
print $include{'SEE ALSO'}, ".PP\n" if $include{'SEE ALSO'};
|
||||||
|
|
||||||
|
print <<EOT unless $opt_no_info;
|
||||||
|
The full documentation for
|
||||||
|
.B $program
|
||||||
|
is maintained as a Texinfo manual. If the
|
||||||
|
.B info
|
||||||
|
and
|
||||||
|
.B $program
|
||||||
|
programs are properly installed at your site, the command
|
||||||
|
.IP
|
||||||
|
.B info $program
|
||||||
|
.PP
|
||||||
|
should give you access to the complete manual.
|
||||||
|
EOT
|
||||||
|
}
|
||||||
|
|
||||||
|
# Output converted --version information.
|
||||||
|
for (@version)
|
||||||
|
{
|
||||||
|
chomp;
|
||||||
|
|
||||||
|
# Join hyphenated lines.
|
||||||
|
s/([A-Za-z])-\n */$1/g;
|
||||||
|
|
||||||
|
# Convert copyright symbol or (c) to nroff character.
|
||||||
|
s/Copyright\s+(?:\xa9|\([Cc]\))/Copyright \\(co/g;
|
||||||
|
|
||||||
|
# Insert appropriate headings for copyright and author.
|
||||||
|
if (/^Copyright\s\\/) { print ".SH COPYRIGHT\n" }
|
||||||
|
elsif (/^Written\s+by/) { print ".SH AUTHOR\n" }
|
||||||
|
else { print ".PP\n"; }
|
||||||
|
|
||||||
|
# Insert line breaks before additional copyright messages and the
|
||||||
|
# disclaimer.
|
||||||
|
s/(.)\n(Copyright\s|This is free software)/$1\n.br\n$2/g;
|
||||||
|
|
||||||
|
print "$_\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
exit;
|
||||||
|
|
||||||
|
# Convert option dashes to \- to stop nroff from hyphenating 'em, and
|
||||||
|
# embolden. Option arguments get italicised.
|
||||||
|
sub convert_option
|
||||||
|
{
|
||||||
|
my $option = '\fB' . shift;
|
||||||
|
|
||||||
|
$option =~ s/-/\\-/g;
|
||||||
|
unless ($option =~ s/\[=(.*)\]$/\\fR[=\\fI$1\\fR]/)
|
||||||
|
{
|
||||||
|
$option =~ s/=(.)/\\fR=\\fI$1/;
|
||||||
|
$option =~ s/ (.)/ \\fI$1/;
|
||||||
|
$option .= '\fR';
|
||||||
|
}
|
||||||
|
|
||||||
|
$option;
|
||||||
|
}
|
|
@ -68,7 +68,6 @@ VERSION = @VERSION@
|
||||||
host_cpu = @host_cpu@
|
host_cpu = @host_cpu@
|
||||||
host_vendor = @host_vendor@
|
host_vendor = @host_vendor@
|
||||||
install_sh = @install_sh@
|
install_sh = @install_sh@
|
||||||
sbingrub = @sbingrub@
|
|
||||||
|
|
||||||
# Stage 1.5 can be installed into the first cylinder after MBR, so the
|
# Stage 1.5 can be installed into the first cylinder after MBR, so the
|
||||||
# limit is (63 - 1) * 512 = 31744.
|
# limit is (63 - 1) * 512 = 31744.
|
||||||
|
|
|
@ -68,7 +68,6 @@ VERSION = @VERSION@
|
||||||
host_cpu = @host_cpu@
|
host_cpu = @host_cpu@
|
||||||
host_vendor = @host_vendor@
|
host_vendor = @host_vendor@
|
||||||
install_sh = @install_sh@
|
install_sh = @install_sh@
|
||||||
sbingrub = @sbingrub@
|
|
||||||
|
|
||||||
# Stage 1.5 can be installed into the first cylinder after MBR, so the
|
# Stage 1.5 can be installed into the first cylinder after MBR, so the
|
||||||
# limit is (63 - 1) * 512 = 31744.
|
# limit is (63 - 1) * 512 = 31744.
|
||||||
|
|
|
@ -68,7 +68,6 @@ VERSION = @VERSION@
|
||||||
host_cpu = @host_cpu@
|
host_cpu = @host_cpu@
|
||||||
host_vendor = @host_vendor@
|
host_vendor = @host_vendor@
|
||||||
install_sh = @install_sh@
|
install_sh = @install_sh@
|
||||||
sbingrub = @sbingrub@
|
|
||||||
|
|
||||||
|
|
||||||
IMPORTANT_SIZE_LIMIT = 7168
|
IMPORTANT_SIZE_LIMIT = 7168
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
EXTRA_PROGRAMS = grub
|
sbin_PROGRAMS = grub
|
||||||
sbin_PROGRAMS = $(sbingrub)
|
|
||||||
CLEANFILES = $(EXTRA_PROGRAMS)
|
CLEANFILES = $(EXTRA_PROGRAMS)
|
||||||
|
|
||||||
COMPILE = $(CC) -DGRUB_UTIL=1 -fwritable-strings $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
|
COMPILE = $(CC) -DGRUB_UTIL=1 -fwritable-strings $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
|
||||||
|
|
|
@ -70,11 +70,9 @@ VERSION = @VERSION@
|
||||||
host_cpu = @host_cpu@
|
host_cpu = @host_cpu@
|
||||||
host_vendor = @host_vendor@
|
host_vendor = @host_vendor@
|
||||||
install_sh = @install_sh@
|
install_sh = @install_sh@
|
||||||
sbingrub = @sbingrub@
|
|
||||||
|
|
||||||
|
|
||||||
EXTRA_PROGRAMS = grub
|
sbin_PROGRAMS = grub
|
||||||
sbin_PROGRAMS = $(sbingrub)
|
|
||||||
CLEANFILES = $(EXTRA_PROGRAMS)
|
CLEANFILES = $(EXTRA_PROGRAMS)
|
||||||
|
|
||||||
COMPILE = $(CC) -DGRUB_UTIL=1 -fwritable-strings $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
|
COMPILE = $(CC) -DGRUB_UTIL=1 -fwritable-strings $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
|
||||||
|
|
|
@ -39,13 +39,14 @@ int grub_stage2 (void);
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
#ifdef __linux__
|
#ifdef __linux__
|
||||||
# include <sys/ioctl.h> /* ioctl */
|
# include <sys/ioctl.h> /* ioctl */
|
||||||
# include <linux/hdreg.h> /* HDIO_GETGEO */
|
# include <linux/hdreg.h> /* HDIO_GETGEO */
|
||||||
/* FIXME: only include if libc doesn't have large file support. */
|
/* FIXME: only include if libc doesn't have large file support. */
|
||||||
# include <unistd.h>
|
|
||||||
# include <linux/unistd.h> /* _llseek */
|
# include <linux/unistd.h> /* _llseek */
|
||||||
|
# include <linux/fs.h> /* BLKFLSBUF */
|
||||||
#endif /* __linux__ */
|
#endif /* __linux__ */
|
||||||
|
|
||||||
/* Simulated memory sizes. */
|
/* Simulated memory sizes. */
|
||||||
|
@ -223,10 +224,16 @@ grub_stage2 (void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Make sure that actual writing is done. */
|
||||||
|
sync ();
|
||||||
|
|
||||||
/* Set our stack, and go for it. */
|
/* Set our stack, and go for it. */
|
||||||
simstack = (char *) PROTSTACKINIT;
|
simstack = (char *) PROTSTACKINIT;
|
||||||
doit ();
|
doit ();
|
||||||
|
|
||||||
|
/* I don't know if this is necessary really. */
|
||||||
|
sync ();
|
||||||
|
|
||||||
#ifdef HAVE_LIBCURSES
|
#ifdef HAVE_LIBCURSES
|
||||||
if (use_curses)
|
if (use_curses)
|
||||||
endwin ();
|
endwin ();
|
||||||
|
@ -235,7 +242,14 @@ grub_stage2 (void)
|
||||||
/* Close off the file descriptors we used. */
|
/* Close off the file descriptors we used. */
|
||||||
for (i = 0; i < NUM_DISKS; i ++)
|
for (i = 0; i < NUM_DISKS; i ++)
|
||||||
if (disks[i].flags != -1)
|
if (disks[i].flags != -1)
|
||||||
|
{
|
||||||
|
#ifdef __linux__
|
||||||
|
/* In Linux, invalidate the buffer cache. In other OSes, reboot
|
||||||
|
is one of the solutions... */
|
||||||
|
ioctl (disks[i].flags, BLKFLSBUF, 0);
|
||||||
|
#endif
|
||||||
close (disks[i].flags);
|
close (disks[i].flags);
|
||||||
|
}
|
||||||
|
|
||||||
/* Release memory. */
|
/* Release memory. */
|
||||||
for (i = 0; i < NUM_DISKS; i++)
|
for (i = 0; i < NUM_DISKS; i++)
|
||||||
|
|
|
@ -107,6 +107,12 @@ main (int argc, char **argv)
|
||||||
{
|
{
|
||||||
int c;
|
int c;
|
||||||
int hold = 0;
|
int hold = 0;
|
||||||
|
|
||||||
|
/* First of all, call sync so that all in-core data is scheduled to be
|
||||||
|
actually written to disks. This is very important because GRUB does
|
||||||
|
not use ordinary stdio interface but raw devices. */
|
||||||
|
sync ();
|
||||||
|
|
||||||
program_name = argv[0];
|
program_name = argv[0];
|
||||||
default_boot_drive = boot_drive;
|
default_boot_drive = boot_drive;
|
||||||
default_install_partition = install_partition;
|
default_install_partition = install_partition;
|
||||||
|
|
|
@ -70,7 +70,6 @@ VERSION = @VERSION@
|
||||||
host_cpu = @host_cpu@
|
host_cpu = @host_cpu@
|
||||||
host_vendor = @host_vendor@
|
host_vendor = @host_vendor@
|
||||||
install_sh = @install_sh@
|
install_sh = @install_sh@
|
||||||
sbingrub = @sbingrub@
|
|
||||||
|
|
||||||
|
|
||||||
noinst_HEADERS = apic.h defs.h dir.h disk_inode.h disk_inode_ffs.h \
|
noinst_HEADERS = apic.h defs.h dir.h disk_inode.h disk_inode_ffs.h \
|
||||||
|
|
|
@ -68,7 +68,6 @@ VERSION = @VERSION@
|
||||||
host_cpu = @host_cpu@
|
host_cpu = @host_cpu@
|
||||||
host_vendor = @host_vendor@
|
host_vendor = @host_vendor@
|
||||||
install_sh = @install_sh@
|
install_sh = @install_sh@
|
||||||
sbingrub = @sbingrub@
|
|
||||||
|
|
||||||
|
|
||||||
pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
|
pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
|
||||||
|
|
|
@ -68,7 +68,6 @@ VERSION = @VERSION@
|
||||||
host_cpu = @host_cpu@
|
host_cpu = @host_cpu@
|
||||||
host_vendor = @host_vendor@
|
host_vendor = @host_vendor@
|
||||||
install_sh = @install_sh@
|
install_sh = @install_sh@
|
||||||
sbingrub = @sbingrub@
|
|
||||||
|
|
||||||
|
|
||||||
pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
|
pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue