#!/bin/sh # # configure [ --floppy ] # # No parameters for now. # usage # # Prints usage. # usage() { cat << EOF Usage: $0 options: --floppy Specifies the location of the floppy (device or image). --debug Activates bochs serial debug emulation. --help Prints out this help. EOF } # assertparam # # Checks whether at least one parameter is left. # assertparam() { if [ $2 \< 2 ]; then echo $0: \`$1\': Parameter expected. exit 1 fi } # default parameter values # platform=`uname` floppy= debug=0 # parse parameters # while [ $# \> 0 ] ; do case "$1" in --floppy) assertparam "$1" $#; floppy=$2; shift 2;; --debug) debug=1; shift 1;; --help | -h) usage; exit 0;; *) echo Invalid argument: \`$1\'; exit 1;; esac done # check parameters # if [ -n "$floppy" ]; then case "$floppy" in /*) ;; *) echo "Warning: non-absolute floppy path. Parameter ignored."; floppy=;; esac fi # BeOS if [ "${platform}" == "BeOS" ] ; then # GGC_PATH if [ "x${GCC_PATH}" == "x" ] ; then gcclib=`gcc -print-libgcc-file-name` GCC_PATH=`dirname ${gcclib}` fi # Linux else if [ "${platform}" == "Linux" ] ; then # GGC_PATH if [ "x${GCC_PATH}" == "x" ] ; then gcclib=`gcc -print-libgcc-file-name` GCC_PATH=`dirname ${gcclib}` fi # Unknown platform else echo Unsupported platform: ${platform} exit 1 fi; fi # Generate BuildConfig cat << EOF > BuildConfig # BuildConfig # Note: This file has been automatically generated by configure. FLOPPY_PATH = "$floppy" ; GCC_PATH = ${GCC_PATH} ; EOF # Generate bochs debug emulation hack header cat << EOF > headers/private/kernel/arch/bochs_hack.h // Bochs serial debug emulation hack definition // Note: This file has been automatically generated by configure. #define BOCHS_E9_HACK $debug EOF