pjproject/configure

96 lines
2.3 KiB
Bash
Executable File

#!/bin/sh
#
# Detect machine
#
MACHINE=`uname -p`
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 alpha > /dev/null; then
MACHINE_NAME=alpha
elif echo $MACHINE | grep powerpc > /dev/null; then
MACHINE_NAME=powerpc
else
echo "Unable to detect processor type ('uname -p' == '$MACHINE')"
exit 1
fi
#
# Detect OS and host
#
SYSTEM=`uname -s`
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
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
else
echo "Unable to detect system type ('uname -s' == '$SYSTEM')"
exit 1
fi
#
# Detect gcc
#
if gcc --version 2>&1 > /dev/null; then
CC_NAME=gcc
else
echo "Unable to find gcc"
exit 1
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 " 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 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'"