makefiledir/Makefile.libdetection
author Darkvater
Wed, 22 Mar 2006 20:41:48 +0000
changeset 3298 f85d87c72d36
parent 3197 95255bcc2e23
child 3308 287d8e862ddf
permissions -rw-r--r--
(svn r4030) Darkvater * r4030 /trunk/ (openttd.dsp openttd.vcproj): - [win32] Change compiler settings to use the multithreaded CRT. This prevents certain crashes on multi-threaded machines. (thx DmitryKo and KUDr)
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
     1
# this file detects what OS and libs the computer have/are running
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
     2
3083
80fd38645e84 (svn r3672) -Fix: [makefile] fixed bug where some settings where overwritten with the default ones when MAKEFILE_VERSION was changed
bjarni
parents: 2736
diff changeset
     3
ifndef CONFIG_VERSION
80fd38645e84 (svn r3672) -Fix: [makefile] fixed bug where some settings where overwritten with the default ones when MAKEFILE_VERSION was changed
bjarni
parents: 2736
diff changeset
     4
CONFIG_VERSION:=0
80fd38645e84 (svn r3672) -Fix: [makefile] fixed bug where some settings where overwritten with the default ones when MAKEFILE_VERSION was changed
bjarni
parents: 2736
diff changeset
     5
endif
80fd38645e84 (svn r3672) -Fix: [makefile] fixed bug where some settings where overwritten with the default ones when MAKEFILE_VERSION was changed
bjarni
parents: 2736
diff changeset
     6
80fd38645e84 (svn r3672) -Fix: [makefile] fixed bug where some settings where overwritten with the default ones when MAKEFILE_VERSION was changed
bjarni
parents: 2736
diff changeset
     7
ifeq ($(shell expr $(CONFIG_VERSION) \< 9), 1)
80fd38645e84 (svn r3672) -Fix: [makefile] fixed bug where some settings where overwritten with the default ones when MAKEFILE_VERSION was changed
bjarni
parents: 2736
diff changeset
     8
3197
95255bcc2e23 (svn r3864) -Fix: small problems with make-system, making room for a wrapper-configure
truelight
parents: 3083
diff changeset
     9
ifndef BYPASS_OS_DETECT
95255bcc2e23 (svn r3864) -Fix: small problems with make-system, making room for a wrapper-configure
truelight
parents: 3083
diff changeset
    10
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    11
# Automatically recognize if building on Win32
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    12
ifdef WINDIR
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    13
ifndef UNIX
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    14
WIN32:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    15
CYGWIN:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    16
MINGW:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    17
STATIC:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    18
SKIP_STATIC_CHECK:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    19
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    20
else
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    21
UNIX:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    22
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    23
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    24
# Automatically recognize if building on FreeBSD
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    25
ifeq ($(shell uname),FreeBSD)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    26
FREEBSD:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    27
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    28
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    29
# Automatically recognize if building on MacOSX
2000
56bcd637009d (svn r2506) - Fix: [OSX, makefile] The makefile can now also see OSX 10.4 as OSX
bjarni
parents: 1955
diff changeset
    30
ifeq ($(shell uname), Darwin)
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    31
OSX:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    32
# OSX uses the unix setup too
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    33
UNIX:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    34
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    35
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    36
# Automatically recognize if building on MorphOS
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    37
ifeq ($(shell uname), MorphOS)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    38
MORPHOS:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    39
# MorphOS uses UNIX setup too
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    40
UNIX:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    41
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    42
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    43
# Automatically recognize if building on BeOS
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    44
ifeq ($(shell uname), BeOS)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    45
BEOS:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    46
# BeOS uses UNIX setup too
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    47
UNIX:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    48
# Except that in BeOS 5.0 we need to use net_server, not BONE networking
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    49
ifeq ($(shell uname -r), 5.0)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    50
BEOS_NET_SERVER:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    51
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    52
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    53
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    54
# Automatically recognize if building on SunOS/Solaris
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    55
ifeq ($(shell uname), SunOS)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    56
SUNOS:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    57
# SunOS uses UNIX setup too
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    58
UNIX:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    59
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    60
3197
95255bcc2e23 (svn r3864) -Fix: small problems with make-system, making room for a wrapper-configure
truelight
parents: 3083
diff changeset
    61
# END BYPASS_OS_DETECT
95255bcc2e23 (svn r3864) -Fix: small problems with make-system, making room for a wrapper-configure
truelight
parents: 3083
diff changeset
    62
endif
95255bcc2e23 (svn r3864) -Fix: small problems with make-system, making room for a wrapper-configure
truelight
parents: 3083
diff changeset
    63
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    64
# FreeBSD uses sdl11 instead of sdl
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    65
ifdef FREEBSD
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    66
SDL-CONFIG:=sdl11-config
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    67
else
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    68
SDL-CONFIG:=sdl-config
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    69
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    70
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    71
# Networking, enabled by default
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    72
WITH_NETWORK:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    73
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    74
# Library detections
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    75
WITH_SDL:=$(shell $(SDL-CONFIG) --version 2>/dev/null)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    76
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    77
# libpng detection
1955
52a84e880864 (svn r2461) -Feature [Makefile] libpng-config can now be called something else in Makefile.config
bjarni
parents: 1823
diff changeset
    78
WITH_PNG:=$(shell $(LIBPNG-CONFIG) --version 2>/dev/null)
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    79
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    80
ifdef WITH_PNG
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    81
# LibPNG depends on Zlib
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    82
WITH_ZLIB:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    83
else
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    84
# We go looking for zlib with a little hack
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    85
WITH_ZLIB:=$(shell ls /usr/include | grep "zlib.h" 2>/dev/null) \
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    86
$(shell ls /usr/local/include | grep "zlib.h" 2>/dev/null)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    87
ifdef WITH_ZLIB
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    88
WITH_ZLIB:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    89
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    90
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    91
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    92
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    93
# sets the default paths
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    94
ifdef UNIX
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    95
ifndef OSX
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    96
ifndef MORPHOS
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    97
ifndef BIN_DIR
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    98
#BINARY_DIR:=
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    99
#DATA_DIR_PREFIX:=
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
   100
#INSTALL_DIR:=/usr/local/
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
   101
#USE_HOMEDIR:=
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
   102
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
   103
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
   104
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
   105
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
   106
2736
1ea068235989 (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents: 2688
diff changeset
   107
ifdef OSX
1ea068235989 (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents: 2688
diff changeset
   108
# we prefer to use cocoa drivers rather than SDL drivers
1ea068235989 (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents: 2688
diff changeset
   109
# if you really want SDL drivers, you can always modify Makefile.config
1ea068235989 (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents: 2688
diff changeset
   110
WITH_COCOA:=1
1ea068235989 (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents: 2688
diff changeset
   111
WITH_SDL:=
1ea068235989 (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents: 2688
diff changeset
   112
endif
1ea068235989 (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents: 2688
diff changeset
   113
1ea068235989 (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents: 2688
diff changeset
   114
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
   115
# workaround
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
   116
# cygwin have problems with libpng, so we will just disable it for now until the problem is solved
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
   117
ifdef CYGWIN
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
   118
WITH_PNG:=
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
   119
endif
3083
80fd38645e84 (svn r3672) -Fix: [makefile] fixed bug where some settings where overwritten with the default ones when MAKEFILE_VERSION was changed
bjarni
parents: 2736
diff changeset
   120
80fd38645e84 (svn r3672) -Fix: [makefile] fixed bug where some settings where overwritten with the default ones when MAKEFILE_VERSION was changed
bjarni
parents: 2736
diff changeset
   121
endif