# this file detects what OS and libs the computer have/are running

ifndef CONFIG_VERSION
CONFIG_VERSION:=0
endif

ifeq ($(shell expr $(CONFIG_VERSION) \< 9), 1)

ifndef BYPASS_OS_DETECT

# Automatically recognize if building on Win32
ifdef WINDIR
ifndef UNIX
WIN32:=1
CYGWIN:=1
MINGW:=1
STATIC:=1
SKIP_STATIC_CHECK:=1
endif
else
UNIX:=1
endif

# Automatically recognize if building on FreeBSD
ifeq ($(shell uname),FreeBSD)
FREEBSD:=1
endif

# Automatically recognize if building on MacOSX
ifeq ($(shell uname), Darwin)
OSX:=1
# OSX uses the unix setup too
UNIX:=1
endif

# Automatically recognize if building on MorphOS
ifeq ($(shell uname), MorphOS)
MORPHOS:=1
# MorphOS uses UNIX setup too
UNIX:=1
endif

# Automatically recognize if building on BeOS
ifeq ($(shell uname), BeOS)
BEOS:=1
# BeOS uses UNIX setup too
UNIX:=1
# Except that in BeOS 5.0 we need to use net_server, not BONE networking
ifeq ($(shell uname -r), 5.0)
BEOS_NET_SERVER:=1
endif
endif

# Automatically recognize if building on SunOS/Solaris
ifeq ($(shell uname), SunOS)
SUNOS:=1
# SunOS uses UNIX setup too
UNIX:=1
endif

# END BYPASS_OS_DETECT
endif

SDL_CONFIG:=sdl-config

# set libpng-config to the default value
LIBPNG_CONFIG :=libpng-config

# set freetype-config to the default value
ifndef FREETYPE_CONFIG
FREETYPE_CONFIG:=freetype-config
endif

# set pkg-config to the default value
FONTCONFIG_CONFIG:=pkg-config fontconfig

# Networking, enabled by default
WITH_NETWORK:=1

# Library detections
WITH_SDL:=$(shell $(SDL_CONFIG) --version 2>/dev/null)

# libpng detection
WITH_PNG:=$(shell $(LIBPNG_CONFIG) --version 2>/dev/null)

# Freetype detection
WITH_FREETYPE:=$(shell $(FREETYPE_CONFIG) --ftversion 2>/dev/null)

# fontconfig detection
WITH_FONTCONFIG:=$(shell $(FONTCONFIG_CONFIG) --modversion 2>/dev/null)

ifdef WITH_PNG
	# LibPNG depends on Zlib
	WITH_ZLIB:=1
else
# We go looking for zlib with a little hack
WITH_ZLIB:=$(shell ls /usr/include | grep "zlib.h" 2>/dev/null) \
$(shell ls /usr/local/include | grep "zlib.h" 2>/dev/null)
ifdef WITH_ZLIB
WITH_ZLIB:=1
endif
endif

ifdef WITH_ZLIB
	TEMP:=$(shell ls /lib 2>/dev/null | grep "zlib.a")$(shell ls /lib 2>/dev/null | grep "libz.a")
	ifdef TEMP
		STATIC_ZLIB_PATH:=/lib/$(TEMP)
	else
		TEMP:=$(shell ls /usr/lib 2>/dev/null | grep "zlib.a")$(shell ls /usr/lib 2>/dev/null | grep "libz.a")
		ifdef TEMP
			STATIC_ZLIB_PATH:=/usr/lib/$(TEMP)
		else
			TEMP:=$(shell ls /usr/local/lib 2>/dev/null | grep "zlib.a")$(shell ls /usr/local/lib 2>/dev/null | grep "libz.a")
			ifdef TEMP
				STATIC_ZLIB_PATH:=/usr/local/lib/$(TEMP)
			endif
		endif
	endif
endif

# sets the default paths
ifdef UNIX
ifndef OSX
ifndef MORPHOS
ifndef BIN_DIR
#BINARY_DIR:=
#DATA_DIR_PREFIX:=
#INSTALL_DIR:=/usr/local/
#USE_HOMEDIR:=
endif
endif
endif
endif

ifdef OSX
# OSX always has freetype, even though it can fail to be detected with our previous test
# fontconfig is also present by default, but the default one is too old for OpenTTD
# if the user installed a newer one, he/she can modify Makefile.config to enable it
WITH_FREETYPE:=1
WITH_FONTCONFIG:=
# we prefer to use cocoa drivers rather than SDL drivers
# if you really want SDL drivers, you can always modify Makefile.config
ifndef DEDICATED
WITH_COCOA:=1
WITH_SDL:=
endif
endif


# workaround
# cygwin have problems with libpng, so we will just disable it for now until the problem is solved
ifdef CYGWIN
WITH_PNG:=
endif

endif
