colinux64/configure
2025-02-13 19:09:34 -07:00

811 lines
23 KiB
Bash
Executable File

#!/bin/sh
# File: configure
#
# Simlpe configure script for develop coLinux and cross platform, checks
# build environment (gcc and tools) and create bin/user-build.cfg.
#
# - Henry Nestler <henry@bigfoot.de>
#
# More arguments and directory options:
# ./configure --help
# Some defaults from config file (Kernel version and dir, binutil version)
. bin/build-common.sh --get-vars
# Some default values
target=$TARGET
nonopt=NONE
prefix=NONE
distdir="\$USER_TOPDIR/dist"
downloaddir=NONE
builddir="\$USER_TOPDIR/build"
logfile="\$USER_TOPDIR/log/build-colinux-\$\$.log"
errfile="\$USER_TOPDIR/log/build-colinux-\$\$.err"
targetkernelsource="\$BUILD_DIR/linux-\$KERNEL_VERSION-source"
targetkernelbuild="\$BUILD_DIR/linux-\$KERNEL_VERSION-build"
targetkerneldir=NONE
targetmoduledir="\$COLINUX_TARGET_KERNEL_BUILD/_install"
hostkerneldir=NONE
colinux_os=NONE
configfile="bin/user-build.cfg"
no_create=""
verbose=no
kernel_untar=no
gcc_guest_target=i686-co-linux
gcc_guest_build=no
enable_wx=no
# Try the directory containing this script, then its working dir.
prog=$0
confdir=`echo $prog|sed 's%/[^/][^/]*$%%'`
test "x$confdir" = "x$prog" && confdir=.
# Go into source dir and give path absolute
srcdir=`( cd $confdir ; pwd )`
# Go into upper of source dir and give path absolute
topdir=`( cd $srcdir/.. ; pwd )`
prev=
for option
do
# If the previous option needs an argument, assign it.
if test -n "$prev"; then
eval "$prev=\$option"
prev=
continue
fi
case "$option" in
-*=*) optarg=`echo "$option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
*) optarg= ;;
esac
case "$option" in
help | -help | --help | --hel | --he)
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat << EOF
Usage: configure [options]
Options: [defaults in brackets after descriptions]
Configuration:
--help print this message
Host type:
--target=TARGET configure for TARGET [$target]
--colinux-os=OS target platform string OS=linux|winnt [winnt]
Directories:
--srcdir=DIR directory of this script
[$srcdir]
--topdir=TOPDIR base directory for all other dirs
[$topdir]
--downloaddir=DIR source download
[\$TOPDIR/download]
--builddir=BUILD_DIR extract and compile tools
[\$TOPDIR/build]
--prefix=PREFIX install architecture-independent files in PREFIX
[\$TOPDIR/mingw32]
--distdir=DIR distribution of all winnt files
[\$TOPDIR/dist]
--targetkernelsource=DIR path to patched colinux guest kernel source tree
[$targetkernelsource]
--targetkernelbuild=DIR output directory for building colinux guest kernel
[$targetkernelbuild]
--targetkerneldir=DIR path to patched colinux guest kernel tree, source
and builds in same directory (obsolate, see above)
--targetmoduledir=DIR Modules output for target kernel (Guest)
[$targetmoduledir]
--hostkerneldir=DIR path to your host kernel (only for linux as host)
[/usr/src/linux]
Options:
--configfile=FILE outputfile for batch build [$configfile]
--logfile=ARG logfile for build process, open append.
use \$\$ for process id and separate files.
[\$TOPDIR/log/build-colinux-\$\$.log]
--errfile=ARG error file for build process, open append.
[\$TOPDIR/log/build-colinux-\$\$.err]
--kernel-untar Untar can overwrite kernel tree, if exist. Is good
for clean builds or automation builds.
--disable-kernel-untar Never overwrite kernel sources. (default)
--dry-run Test only configure steps, don't write config.
--verbose More messages in configure.
--gcc-guest-build Build C compiler from source of gnu cross compiler,
and use for kernel compiling. Should use, if gcc version
(major + minor) is different from your distribution.
--enable-wx Build WxWidgets lib and console-wx (default disabled).
-------------------------------------------------------------------------------
Sample for WinNT as host (default):
./configure --target=i686-pc-mingw32 \\
--downloaddir=$DOWNLOADS \\
--prefix=$PREFIX
Sample for Linux as host:
./configure --target=i686-pc-linux \\
--downloaddir=$DOWNLOADS \\
--targetkerneldir=$BUILD_DIR/linux-$KERNEL_VERSION \\
--hostkerneldir=/usr/src/linux-`uname -r`
Sample for WinNT and Linux as host in same config:
./configure \\
--downloaddir=$DOWNLOADS \\
--prefix=$PREFIX \\
--targetkerneldir=$BUILD_DIR/linux-$KERNEL_VERSION \\
--hostkerneldir=/usr/src/linux-`uname -r`
EOF
exit 0 ;;
--topdir)
prev=topdir ;;
--topdir=*)
topdir="$optarg" ;;
--srcdir)
prev=srcdir ;;
--srcdir=*)
srcdir="$optarg" ;;
--target)
prev=target ;;
--target=*)
target="$optarg" ;;
--prefix)
prev=prefix ;;
--prefix=*)
prefix="$optarg" ;;
--downloaddir)
prev=downloaddir ;;
--downloaddir=*)
downloaddir="$optarg" ;;
--builddir)
prev=builddir ;;
--builddir=*)
builddir="$optarg" ;;
--distdir)
prev=distdir ;;
--distdir=*)
distdir="$optarg" ;;
--targetkernelsource)
prev=targetkernelsource ;;
--targetkernelsource=*)
targetkernelsource="$optarg" ;;
--targetkernelbuild)
prev=targetkernelbuild ;;
--targetkernelbuild=*)
targetkernelbuild="$optarg" ;;
--targetkerneldir)
prev=targetkerneldir ;;
--targetkerneldir=*)
targetkerneldir="$optarg" ;;
--targetmoduledir)
prev=targetmoduledir ;;
--targetmoduledir=*)
targetmoduledir="$optarg" ;;
--hostkerneldir)
prev=hostkerneldir ;;
--hostkerneldir=*)
hostkerneldir="$optarg" ;;
--colinux-os)
prev=colinux-os ;;
--colinux-os=*)
colinux_os="$optarg" ;;
--configfile)
prev=configfile ;;
--configfile=*)
configfile="$optarg" ;;
--logfile)
prev=logfile ;;
--logfile=*)
logfile="$optarg" ;;
--errfile)
prev=errfile ;;
--errfile=*)
errfile="$optarg" ;;
--no-create|--dry-run)
no_create=yes ;;
--no-kernel-untar | \
--disable-kernel-untar)
kernel_untar=no ;;
--kernel-untar | \
--enable-kernel-untar)
kernel_untar=yes ;;
--gcc-guest*)
gcc_guest_build=yes ;;
--enable-wx)
enable_wx=yes ;;
--disable-wx)
enable_wx=no ;;
-v | -verbose | --verbose)
verbose=yes ;;
-*) { echo "configure: error: $option: invalid option; use --help to show usage" 1>&2; exit 1; }
;;
*)
if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then
echo "configure: warning: $option: invalid host type" 1>&2
fi
if test "x$nonopt" != xNONE; then
{ echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
fi
nonopt="$option"
;;
esac
done
if test -n "$prev"; then
{ echo "configure: error: missing argument to --`echo $prev | sed 's/_/-/g'`" 1>&2; exit 1; }
fi
#
# Check for target system
#
target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
if [ "$verbose" = "yes" ]; then
echo " confdir=$confdir"
echo " srcdir=$srcdir"
echo " topdir=$topdir"
echo " TOPDIR=$TOPDIR"
echo " BINDIR=$BINDIR"
echo " target_cpu=$target_cpu"
echo " target_vendor=$target_vendor"
echo " target_os=$target_os"
echo " colinux version=$CO_VERSION"
echo " target kernel_dir=$KERNEL_DIR"
echo " target kernel_version=$KERNEL_VERSION"
fi
#
# Check building for linux or winnt
# Mapping real OS into coLinux OS-Name
#
case $colinux_os in
NONE)
case $target_os in
linux|Linux) colinux_os="linux" ;;
darwin*|Darwin) colinux_os="darwin" ;;
*) colinux_os="winnt" ;;
esac ;;
esac
echo "Setting colinux_os=$colinux_os"
# Default prefix directory
case $prefix in
NONE)
case $target_os in
NONE) prefix="$topdir/prefix-unknown" ;;
*) prefix="$topdir/$target_os" ;;
esac
echo "Setting prefix=$prefix"
;;
esac
# Default download directory
case $downloaddir in
NONE)
downloaddir="$topdir/download"
echo "Setting downloaddir=$downloaddir"
;;
esac
# Splitted target kernel directories?
case $targetkerneldir in
NONE)
targetkerneldir_cfg="# COLINUX_TARGET_KERNEL_PATH=\"\$BUILD_DIR/linux-\$KERNEL_VERSION\""
;;
*)
targetkerneldir_cfg="COLINUX_TARGET_KERNEL_PATH=\"$targetkerneldir\""
targetkernelsource="\$COLINUX_TARGET_KERNEL_PATH"
targetkernelbuild="\$COLINUX_TARGET_KERNEL_PATH"
;;
esac
#
# Check host system
#
if [ "$target_os" = "linux" ] ; then
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
echo " UNAME_RELEASE=$UNAME_RELEASE"
# Search Linux-Host kernel sourcs:
# 1. /lib/modules/$UNAME_RELEASE/build
# 2. /lib/modules/$UNAME_RELEASE/source
# 3. /usr/src/linux
# 4. /usr/src/linux-$UNAME_RELEASE
if [ "$hostkerneldir" = "NONE" ] ; then
if [ -d /lib/modules/$UNAME_RELEASE/build ] ; then
hostkerneldir="/lib/modules/$UNAME_RELEASE/build"
elif [ -d /lib/modules/$UNAME_RELEASE/source ] ; then
hostkerneldir="/lib/modules/$UNAME_RELEASE/source"
elif [ -d /usr/src/linux ] ; then
hostkerneldir="/usr/src/linux"
elif [ -d /usr/src/linux-$UNAME_RELEASE ] ; then
hostkerneldir="/usr/src/linux-$UNAME_RELEASE"
else
{ echo "configure: error: source directory for host kernel missing, use --hostkerneldir" 1>&2; exit 1; }
fi
echo "Setting hostkerneldir=$hostkerneldir"
fi
fi
if [ "$hostkerneldir" != "NONE" ] ; then
if [ ! -f $hostkerneldir/Makefile ] ; then
{ echo "configure: error: missing configured host kernel in $hostkerneldir" 1>&2; exit 1; }
fi
HOST_KERNELRELEASE=`cd $hostkerneldir; make kernelrelease 2>/dev/null | tail -n1`
if [ -n "$HOST_KERNELRELEASE" ]; then
set -- `echo "$HOST_KERNELRELEASE" | sed -e 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)\(.*\)$/\1 \2 \3 \4/'`
HOST_VERSION="$1"
HOST_PATCHLEVEL="$2"
HOST_SUBLEVEL="$3"
HOST_EXTRAVERSION="$4"
else
HOST_VERSION=`grep "^VERSION = " $hostkerneldir/Makefile | sed -e 's/\([^0-9]*\)\(.*\)$/\2/'`
HOST_PATCHLEVEL=`grep "^PATCHLEVEL = " $hostkerneldir/Makefile | sed -e 's/\([^0-9]*\)\(.*\)$/\2/'`
HOST_SUBLEVEL=`grep "^SUBLEVEL = " $hostkerneldir/Makefile | sed -e 's/\([^0-9]*\)\(.*\)$/\2/'`
HOST_EXTRAVERSION=`grep "^EXTRAVERSION = " $hostkerneldir/Makefile | sed -e 's/\([^0-9\.]*\)\(.*\)$/\2/'`
HOST_KERNELRELEASE="$HOST_VERSION.$HOST_PATCHLEVEL.$HOST_SUBLEVEL$HOST_EXTRAVERSION"
fi
echo " HOST_VERSION=$HOST_VERSION"
echo " HOST_PATCHLEVEL=$HOST_PATCHLEVEL"
echo " HOST_SUBLEVEL=$HOST_SUBLEVEL"
test -n "$HOST_EXTRAVERSION" && echo " HOST_EXTRAVERSION=$HOST_EXTRAVERSION"
# Hostkernel must be >= 2.6 (compile external module)
if [ "$HOST_VERSION" != "2" -o "$HOST_PATCHLEVEL" -lt 6 ] ; then
{ echo "configure: error: host kernel $HOST_VERSION.$HOST_PATCHLEVEL.$HOST_SUBLEVEL is to old! Need 2.6.x" 1>&2; exit 1; }
fi
if [ "$HOST_KERNELRELEASE" != "`uname -r`" ] ; then
echo -e "\n WARNING! Running kernel is not same as host kernel - You can not run colinux on this machine!\n"
fi
fi
# Remove path from md5 files
W32LIBS_CHECKSUM=`basename $W32LIBS_CHECKSUM`
KERNEL_CHECKSUM=`basename $KERNEL_CHECKSUM`
# $1 Name of component
# $2 yes: add to warnings | no: add to failed
add_failed()
{
if [ "$2" != "yes" ]; then
test -z "$failed" && failed="$1" || failed="$failed, $1"
else
test -z "$warnings" && warnings="$1" || warnings="$warnings, $1"
fi
}
# $1 Name of component
# $2 Call for check
# $3 Minimum version need, or empty string
# $4 Maximum version supported, or empty string
# '--warn' optional as first param, add to warning list
# Example: "wget-1.8" "wget --version" "1.8.x"
check_exec_tool()
{
local v1="" v2="" v3="" i1="" i2="" i3="" warn=""
if [ "$1" = "--warn" ]; then
warn="yes"
shift
fi
echo -n "Checking $1 ... "
if ($2) </dev/null >/dev/null 2>&1; then
if [ -n "$3" ]; then
# get needed version, transform the 'x' into 0
eval `echo $3 | sed -e \
's/\([0-9]*\)\.\([0-9x]*\)\.\([0-9x]*\)/v1=\1 v2=\2 v3=\3/' -e 'y/x/0/'`
# get installed version
eval `($2) 2>&1 | sed -n -e \
's/^[^0-9]*\([0-9]\{1,\}\)\.\([0-9]\{1,\}\)\.\([0-9]\{1,\}\).*/i1=\1 i2=\2 i3=\3/p'`
if [ "$v3" = "0" -a -z "$i1" ]; then
# get installed version with two numbers
eval `($2) 2>&1 | sed -n -e \
's/^.*\([0-9]\{1,\}\)\.\([0-9]\{1,\}\).*/i1=\1 i2=\2/p'`
i3="0"
fi
if [ -z "$i1" -o -z "$v1" -o -z "$i2" -o -z "$v2" -o -z "$i3" -o -z "$v3" ]; then
echo "Version not dectect"
add_failed "$1" $warn
return 1
fi
echo -n "($i1.$i2.$i3) "
if [ $i1 -lt $v1 -o \
$i1 -eq $v1 -a $i2 -lt $v2 -o \
$i1 -eq $v1 -a $i2 -eq $v2 -a $i3 -lt $v3 ]; then
echo "wrong version, need $3"
add_failed "$1" $warn
return 1
fi
if [ -n "$4" ]; then
local m1="" m2="" m3=""
# get needed version, transform the 'x' into 999
eval `echo $4 | sed -e \
's/\([0-9]*\)\.\([0-9x]*\)\.\([0-9x]*\)/m1=\1 m2=\2 m3=\3/'`
test "$m2" = "x" && m2="999"
test "$m3" = "x" && m3="999"
if [ $i1 -gt $m1 -o \
$i1 -eq $m1 -a $i2 -gt $m2 -o \
$i1 -eq $m1 -a $i2 -eq $m2 -a $i3 -gt $m3 ]; then
echo "version not supported, maximum $4"
add_failed "$1" $warn
return 1
fi
fi
fi
echo "found"
else
echo "missing (no exec)"
add_failed "$1" $warn
return 1
fi
return 0
}
as_helper()
{
if [ "$gcc_guest_build" = "yes" ]; then
echo " Build guest '${gcc_guest_target_prefix}as' and binutils for kernel later"
return
fi
exit 1
}
gcc_helper()
{
if [ "$gcc_guest_build" = "yes" ]; then
echo " Build guest '${gcc_guest_target_prefix}gcc' for kernel later"
return
fi
# ABI from local GCC
LOCAL_ABI=`echo | gcc -E -dM - | sed -n -e 's/.* __GXX_ABI_VERSION \([0-9]*\)/\1/p'`
# ABI from known mingw compilers
case $GCC_VERSION in
4.3.*|4.2.*|4.1.*|4.0.*|3.4.*)
MINGW_ABI="1002"
;;
3.3.*)
MINGW_ABI="102"
;;
# 3.2.*)
# MINGW_ABI="101"
# ;;
*) MINGW_ABI="unknown"
;;
esac
if [ x$LOCAL_ABI = x$MINGW_ABI ]; then
echo " ABI seems be compatible. Use local gcc `gcc -dumpversion` for kernel, $GCC_VERSION for daemons."
return
fi
cat <<EOF
Cross gcc and local gcc should be the same major and minor version.
Please use option "--gcc-guest-build" to enable building of guest gcc
from sources, if building cross tools later. (Need for kernel building)
--- OR ---
# download source for gcc $GCC_NEEDED, configure and build self:
cd $srcdir/bin
./build-cross.sh --download-only
cd /tmp
tar xzf $downloaddir/gcc-core-$GCC_RELEASE-src.tar.gz
tar xzf $downloaddir/gcc-g++-$GCC_RELEASE-src.tar.gz
cd gcc-$GCC_RELEASE
./configure --prefix=\$HOME/$gcc_guest_target
make && make install
cd / ; rm -rf /tmp/gcc-$GCC_RELEASE
# Than run configure and make again with binary path to this directory:
export PATH="\$HOME/$gcc_guest_target/bin:\$PATH"
cd $srcdir
./configure && make
EOF
exit 1
}
check_depmod()
{
echo -n "Checking depmod ... "
# Locate depmod in user dirs and check for module-init-tools version
if depmod_cfg=`PATH="$prefix/$target/bin:/sbin:/usr/sbin:/usr/local/sbin:$PATH" \
which depmod 2>/dev/null`; then
# Depmod 2.4.x is bugy with "-V" only, "--help" does nothing real.
installed=`$depmod_cfg -V --help 2>/dev/null | grep module-init-tools`
if [ -z "$installed" ]; then
cat << EOF
($depmod_cfg) wrong version.
Warning: you may need to install module-init-tools"
See http://www.codemonkey.org.uk/docs/post-halloween-2.6.txt
Install the file 'depmod', in directory
$prefix/$target/bin,
to use only for cross buildings.
EOF
add_failed "$1"
else
echo "($installed) found"
fi
else
echo "missing (no exec)"
add_failed "$1"
fi
}
#
# Check for tools
#
warning=""
failed=""
# Get version from script, replace the last digit
GCC_NEEDED=`echo "$GCC_VERSION" | sed -e 's/\([0-9]*\)\.\([0-9]*\).*$/\1.\2/'`.x
# Build specific path
if [ "$gcc_guest_build" = "no" ]; then
gcc_guest_build_comment="# "
gcc_guest_target_prefix=""
else
gcc_guest_build_comment=""
gcc_guest_target_prefix=${gcc_guest_target}-
PATH=$PATH:$prefix/$gcc_guest_target/bin
fi
# General tools for winnt and linux
check_exec_tool "wget" "wget --version" ""
check_exec_tool "Python interpreter" "python -V" "2.3.x" ""
check_exec_tool "patch" "patch --version" ""
check_exec_tool "make" "make --version" ""
check_exec_tool "bunzip2" "bunzip2 --help" ""
case $colinux_os in
linux) # for Linux as host
check_exec_tool "gcc for kernel" "${gcc_guest_target_prefix}gcc -dumpversion" "$GCC_NEEDED"
check_exec_tool "gcc g++" "${gcc_guest_target_prefix}g++ --version" "$GCC_NEEDED"
check_exec_tool "FLTK devel (patched)" "fltk-config --version" "$FLTK_VERSION" && \
if nm `fltk-config --libs` | grep -q "fl_x_global_event_hook"
then
if [ "$verbose" = "yes" ]; then
echo " `fltk-config --libs`: Label fl_x_global_event_hook found"
fi
else
echo " `fltk-config --libs`: label fl_x_global_event_hook not found"
echo " Please set right path to a patched FLTK"
fi
;;
darwin) # for darwin as host
GCC_NEEDED=""
# maybe we should check here for the XCode version, too
# ToDo: fail on PPC arch!
check_exec_tool "gcc for kernel" "${gcc_guest_target_prefix}gcc -dumpversion" "$GCC_NEEDED"
check_exec_tool "gcc g++" "${gcc_guest_target_prefix}g++ --version" "$GCC_NEEDED"
# check_exec_tool "FLTK devel (patched)" "fltk-config --version" "$FLTK_VERSION" && \
# if nm `fltk-config --libs` | grep -q "fl_x_global_event_hook"
# then
# if [ "$verbose" = "yes" ]; then
# echo " `fltk-config --libs`: Label fl_x_global_event_hook found"
# fi
# else
# echo " `fltk-config --libs`: label fl_x_global_event_hook not found"
# echo " Please set right path to a patched FLTK"
# fi
;;
*) # for Winnt as host
# Check GCC for kernel
check_exec_tool --warn "${gcc_guest_target_prefix}gcc for kernel" "${gcc_guest_target_prefix}gcc -dumpversion" \
"$GCC_NEEDED" "$GCC_NEEDED" || gcc_helper
check_exec_tool --warn "${gcc_guest_target_prefix}as binutils for kernel" "${gcc_guest_target_prefix}as --version" \
"$BINUTILS_REQUIREMENTS" || as_helper
# Locate users depmod and check for module-init-tools
check_depmod "depmod"
check_exec_tool "unzip" "unzip -h"
check_exec_tool "zip" "zip -h"
# bison-1.75-109 need by binutils (yacc 91.7.30 have a error YYEMPTY)
check_exec_tool "bison" "bison --version"
# need by binutils ...
check_exec_tool "texinfo" "texindex --version"
check_exec_tool "flex" "flex --version"
check_exec_tool "gettext" "gettext --version"
;;
esac
#
# Stop, if some tools missing or wrong version
#
if [ -n "$warnings" ]
then
echo " warnings: $warnings"
fi
if [ -n "$failed" ]
then
echo " failed: $failed"
exit 1
fi
#
# do nothing, if trace option enabled
#
test "$no_create" = yes && { echo "nothing created!" 1>&2; exit 1; }
# Backup old config file
test -f $configfile -a ! -f $configfile.old && mv $configfile $configfile.old
#
# Create config-file
# Needed for winnt in scripts, such bin/build-colinux.sh
#
echo "Create $configfile"
cat > $configfile << EOF
# File: $configfile
# Configfile for coLinux $CO_VERSION, kernel $KERNEL_VERSION
# created by configure at `date`
# Setup target OS (winnt or linux)
#
COLINUX_HOST_OS="$colinux_os"
# Directory where we start for all subdirs in build processing
# default: \$HOME/colinux-devel (use only in this file)
#
USER_TOPDIR="$topdir"
# Directory where we store download sources or where find source already stored
# default: \$USER_TOPDIR/download
#
DOWNLOADS="$downloaddir"
# In this directoy the cross-tools will be extract and compile (GCC and Co.)
# default: \$USER_TOPDIR/build
#
BUILD_DIR="$builddir"
# Directory for compiler binary (build by cross)
# default: \$USER_TOPDIR/mingw32
# (/usr/local/mingw32 not supported by this scripts, need root level)
#
PREFIX="$prefix"
# Overwrite kernelversion. Check series files for available versions.
# default: empty
#
# KERNEL_VERSION=$KERNEL_VERSION
# Path to guest kernel, need for colinux daemons build processing (obsolate)
# default: \$BUILD_DIR/linux-\$KERNEL_VERSION
#
$targetkerneldir_cfg
# Directory target kernel source path for unpacking source (Guest kernel)
# default: \$BUILD_DIR/linux-\$KERNEL_VERSION-source
#
COLINUX_TARGET_KERNEL_SOURCE="$targetkernelsource"
# Directory target kernel for building (Guest kernel)
# default: \$BUILD_DIR/linux-\$KERNEL_VERSION-build
#
COLINUX_TARGET_KERNEL_BUILD="$targetkernelbuild"
# Output directory for target modules. Used for INSTALL_MOD_PATH in kernel build
# default: \$COLINUX_TARGET_KERNEL_BUILD/_install
#
COLINUX_TARGET_MODULE_PATH="$targetmoduledir"
# HOST-Kernel (only, if host system is linux)
# default: /path/to/your/host/kernel/source
#
COLINUX_HOST_KERNEL_DIR="$hostkerneldir"
# Install directory for target binaries (daemons, kernel and modules)
# default: \$USER_TOPDIR/dist
#
COLINUX_INSTALL_DIR="$distdir"
# Logfile of building (append)
#
COLINUX_BUILD_LOG="$logfile"
COLINUX_BUILD_ERR="$errfile"
# Overwrite kerneltree before rebuild? yes/no
# yes: Build script will overwrite kerneltree and config.
# no: Leave kernel source untouched. User friendly for patches and config (default).
#
COLINUX_KERNEL_UNTAR="$kernel_untar"
# Strip the kernel image
# yes: Smalest size for package dist.
# no: Leave all debug symbols in image. Good choice for error tracing with gdb.
#
COLINUX_KERNEL_STRIP="no"
# Path to depmod, installed from module-init-tools
# default: /sbin/depmod
#
COLINUX_DEPMOD=$depmod_cfg
# "COLINUX_GCC_GUEST_TARGET" is running colinux guest system.
# This compiler will use for building colinux kernel as CROSS_COMPILE.
# Enable GUEST specific compiler, if your compiler from distribution
# is not compatible with current cross gcc.
# default: empty
# optional: $gcc_guest_target
#
${gcc_guest_build_comment}COLINUX_GCC_GUEST_TARGET="$gcc_guest_target"
${gcc_guest_build_comment}COLINUX_GCC_GUEST_PATH="\$PREFIX/\$COLINUX_GCC_GUEST_TARGET/bin"
# Library WxWidgets is disabled by default.
# To build colinux-console-wx.exe with this lib, set COLINUX_ENABLE_WX="yes".
COLINUX_ENABLE_WX="$enable_wx"
EOF
cat <<EOF
Configure DONE
Ready for "make download && make && make package && make installer"
Run "make help" for more instructions, and read doc/building.
EOF