You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
3.0 KiB
122 lines
3.0 KiB
#!/bin/sh
|
|
|
|
#
|
|
# Detect machine, unless the choice has been made already.
|
|
#
|
|
if [ "$MACHINE" = "" ]; then
|
|
MACHINE=`uname -m`
|
|
fi
|
|
|
|
if echo $MACHINE | grep sun4u > /dev/null; then
|
|
MACHINE_NAME=sparc
|
|
elif echo $MACHINE | grep i.86 > /dev/null; then
|
|
MACHINE_NAME=i386
|
|
elif echo $MACHINE | grep x86_64 > /dev/null; then
|
|
MACHINE_NAME=x86_64
|
|
elif echo $MACHINE | grep alpha > /dev/null; then
|
|
MACHINE_NAME=alpha
|
|
elif echo $MACHINE | grep Mac > /dev/null; then
|
|
MACHINE_NAME=powerpc
|
|
else
|
|
echo "Unable to detect processor type ('uname -m' == '$MACHINE')"
|
|
exit 1
|
|
fi
|
|
|
|
#
|
|
# Detect OS and host, unless the choice has been made already
|
|
#
|
|
if [ "$SYSTEM" = "" ]; then
|
|
SYSTEM=`uname -s`
|
|
fi
|
|
|
|
|
|
if echo $SYSTEM | grep -i sunos > /dev/null; then
|
|
OS_NAME=sunos
|
|
HOST_NAME=unix
|
|
elif echo $SYSTEM | grep -i linux > /dev/null; then
|
|
OS_NAME=linux
|
|
HOST_NAME=unix
|
|
# More on linux version
|
|
KERNEL_VER=`uname -r`
|
|
if echo $KERNEL_VER | grep '^2\.4' > /dev/null; then
|
|
LINUX_POLL=select
|
|
elif echo $KERNEL_VER | grep '^2\.2' > /dev/null; then
|
|
LINUX_POLL=select
|
|
elif echo $KERNEL_VER | grep '^2\.0' > /dev/null; then
|
|
LINUX_EPOLL=select
|
|
else
|
|
# LINUX_POLL=epoll
|
|
LINUX_POLL=select
|
|
fi
|
|
elif echo $SYSTEM | grep -i mingw > /dev/null; then
|
|
OS_NAME=win32
|
|
HOST_NAME=mingw
|
|
elif echo $SYSTEM | grep -i cygwin > /dev/null; then
|
|
OS_NAME=win32
|
|
HOST_NAME=mingw
|
|
elif echo $SYSTEM | grep -i darwin > /dev/null; then
|
|
OS_NAME=darwinos
|
|
HOST_NAME=unix
|
|
elif echo $SYSTEM | grep -i rtems > /dev/null; then
|
|
OS_NAME=rtems
|
|
HOST_NAME=unix
|
|
else
|
|
echo "Unable to detect system type ('uname -s' == '$SYSTEM')"
|
|
exit 1
|
|
fi
|
|
|
|
#
|
|
# Detect gcc, unless it has been chosen already
|
|
#
|
|
if [ "$CC_NAME" = "" ]; then
|
|
if gcc --version 2>&1 > /dev/null; then
|
|
CC_NAME=gcc
|
|
else
|
|
echo "Unable to find gcc"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
|
|
#
|
|
# Specify TARGET_NAME, if not already choosen.
|
|
#
|
|
if [ "$TARGET_NAME" = "" ]; then
|
|
TARGET_NAME=$MACHINE_NAME-$OS_NAME-$CC_NAME
|
|
fi
|
|
|
|
|
|
if test -f build.mak; then
|
|
echo 'Saving build.mak --> build.mak.old'
|
|
cp -f build.mak build.mak.old
|
|
fi
|
|
|
|
echo 'Writing build.mak as follows:'
|
|
echo " MACHINE_NAME = $MACHINE_NAME"
|
|
echo " OS_NAME = $OS_NAME"
|
|
echo " HOST_NAME = $HOST_NAME"
|
|
echo " CC_NAME = $CC_NAME"
|
|
echo " TARGET_NAME = $TARGET_NAME"
|
|
echo " CROSS_COMPILE= $CROSS_COMPILE"
|
|
echo " LINUX_POLL = $LINUX_POLL"
|
|
|
|
echo "# Auto-generated build.mak" > build.mak
|
|
echo "export MACHINE_NAME := $MACHINE_NAME" >> build.mak
|
|
echo "export OS_NAME := $OS_NAME" >> build.mak
|
|
echo "export HOST_NAME := $HOST_NAME" >> build.mak
|
|
echo "export CC_NAME := $CC_NAME" >> build.mak
|
|
echo "export TARGET_NAME := $TARGET_NAME" >> build.mak
|
|
echo "export CROSS_COMPILE := $CROSS_COMPILE" >> build.mak
|
|
echo "export LINUX_POLL := $LINUX_POLL" >> build.mak
|
|
|
|
touch user.mak
|
|
|
|
echo
|
|
echo "The configuration for current host has been written to 'build.mak'."
|
|
echo "Customizations can be put in:"
|
|
echo " - 'user.mak'"
|
|
echo " - 'pjlib/include/pj/config_site.h'"
|
|
echo
|
|
echo "Next, run 'make dep && make clean && make'"
|
|
|