blob: caaca802eb218286a12d63e4eff269395f9199b5 [file] [log] [blame]
Benny Prijonoca391682005-11-07 19:57:09 +00001#!/bin/sh
2
3#
4# Detect machine
5#
Benny Prijonoe67d99a2006-03-20 12:39:24 +00006MACHINE=`uname -p`
Benny Prijonoca391682005-11-07 19:57:09 +00007
8if echo $MACHINE | grep sun4u > /dev/null; then
9 MACHINE_NAME=sparc
10elif echo $MACHINE | grep i.86 > /dev/null; then
11 MACHINE_NAME=i386
12elif echo $MACHINE | grep alpha > /dev/null; then
13 MACHINE_NAME=alpha
Benny Prijonoe67d99a2006-03-20 12:39:24 +000014elif echo $MACHINE | grep powerpc > /dev/null; then
15 MACHINE_NAME=powerpc
Benny Prijonoca391682005-11-07 19:57:09 +000016else
Benny Prijonoe67d99a2006-03-20 12:39:24 +000017 echo "Unable to detect processor type ('uname -p' == '$MACHINE')"
Benny Prijonoca391682005-11-07 19:57:09 +000018 exit 1
19fi
20
21#
22# Detect OS and host
23#
24SYSTEM=`uname -s`
25
26if echo $SYSTEM | grep -i sunos > /dev/null; then
27 OS_NAME=sunos
28 HOST_NAME=unix
29elif echo $SYSTEM | grep -i linux > /dev/null; then
30 OS_NAME=linux
31 HOST_NAME=unix
Benny Prijono1a73a052005-11-07 21:58:51 +000032 # More on linux version
33 KERNEL_VER=`uname -r`
34 if echo $KERNEL_VER | grep '^2\.4' > /dev/null; then
35 LINUX_POLL=select
36 elif echo $KERNEL_VER | grep '^2\.2' > /dev/null; then
37 LINUX_POLL=select
38 elif echo $KERNEL_VER | grep '^2\.0' > /dev/null; then
39 LINUX_EPOLL=select
40 else
41 LINUX_POLL=epoll
42 fi
Benny Prijonoca391682005-11-07 19:57:09 +000043elif echo $SYSTEM | grep -i mingw > /dev/null; then
44 OS_NAME=win32
45 HOST_NAME=mingw
46elif echo $SYSTEM | grep -i cygwin > /dev/null; then
47 OS_NAME=win32
48 HOST_NAME=mingw
Benny Prijonoe67d99a2006-03-20 12:39:24 +000049elif echo $SYSTEM | grep -i darwin > /dev/null; then
50 OS_NAME=darwinos
51 HOST_NAME=unix
Benny Prijonoca391682005-11-07 19:57:09 +000052else
53 echo "Unable to detect system type ('uname -s' == '$SYSTEM')"
54 exit 1
55fi
56
57#
58# Detect gcc
59#
60if gcc --version 2>&1 > /dev/null; then
61 CC_NAME=gcc
62else
63 echo "Unable to find gcc"
64 exit 1
65fi
66
Benny Prijono81fd5c32005-11-07 20:04:34 +000067if test -f build.mak; then
68 echo 'Saving build.mak --> build.mak.old'
69 cp -f build.mak build.mak.old
70fi
71
Benny Prijonoca391682005-11-07 19:57:09 +000072echo 'Writing build.mak as follows:'
Benny Prijono1a73a052005-11-07 21:58:51 +000073echo " MACHINE_NAME = $MACHINE_NAME"
74echo " OS_NAME = $OS_NAME"
75echo " HOST_NAME = $HOST_NAME"
76echo " CC_NAME = $CC_NAME"
77echo " LINUX_POLL = $LINUX_POLL"
Benny Prijonoca391682005-11-07 19:57:09 +000078
79echo "# Auto-generated build.mak" > build.mak
80echo "export MACHINE_NAME := $MACHINE_NAME" >> build.mak
81echo "export OS_NAME := $OS_NAME" >> build.mak
82echo "export HOST_NAME := $HOST_NAME" >> build.mak
83echo "export CC_NAME := $CC_NAME" >> build.mak
Benny Prijono1a73a052005-11-07 21:58:51 +000084echo "export LINUX_POLL := $LINUX_POLL" >> build.mak
85
Benny Prijono808f0ce2006-03-10 13:23:12 +000086touch user.mak
87
Benny Prijono1a73a052005-11-07 21:58:51 +000088echo
Benny Prijono808f0ce2006-03-10 13:23:12 +000089echo "The configuration for current host has been written to 'build.mak'."
90echo "Customizations can be put in:"
91echo " - 'user.mak'"
92echo " - 'pjlib/include/pj/config_site.h'"
93echo
94echo "Next, run 'make dep && make clean && make'"
Benny Prijonoca391682005-11-07 19:57:09 +000095