#
# This file contains all possible values for the build.mak. Select
# the appropriate settings, and put it in build.mak.
#
# (Just in case "./configure" fails to detect the appropriate values).
#
# Build configurations:
#
# MACHINE_NAME values: 
#	- i386 (generic x86)
#	- sparc
#	- alpha
#
# OS_NAME values:
#	- win32 (generic windows)
#	- linux
#	- sunos
#
# CC_NAME values:
#	- gcc
#	- msvc
#
# HOST_NAME values:
#	- win32 (Windows command line)
#	- mingw (Windows, mingw)
#	- unix
#

#
# PalmOS 6 cross-compile, cygwin
#
#export MACHINE_NAME := m68k
#export OS_NAME := palmos
#export CC_NAME := gcc
#export HOST_NAME := mingw

#
# Win32, mingw
#
#export MACHINE_NAME := i386
#export OS_NAME := win32
#export CC_NAME := gcc
#export HOST_NAME := mingw

#
# Linux i386, gcc
#
export MACHINE_NAME := i386
export OS_NAME := linux
export CC_NAME := gcc
export HOST_NAME := unix

#
# Linux KERNEL i386, gcc
#
#export MACHINE_NAME := i386
#export OS_NAME := linux-kernel
#export CC_NAME := gcc
#export HOST_NAME := unix
#export PJPROJECT_DIR := /usr/src/pjproject-0.3
##export KERNEL_DIR = /usr/src/linux
#export KERNEL_DIR = /usr/src/uml/linux
#export KERNEL_ARCH = ARCH=um

#
# SunOS, sparc, gcc
#
#export MACHINE_NAME := sparc
#export OS_NAME := sunos
#export CC_NAME := gcc
#export HOST_NAME := unix

