makefiledir/Makefile.libdetection
author bjarni
Sat, 10 Dec 2005 11:16:45 +0000
changeset 2736 1ea068235989
parent 2688 ef9861cdd745
child 3083 80fd38645e84
permissions -rw-r--r--
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
you can still use SDL drivers if you like and you have to run "make upgradeconf" to start using the cocoa drivers (or manually write WITH_COCOA:=1)
since SDL breaks the cocoa drivers, you can't compile with both SDL and cocoa support
Using cocoa drivers makes it easier to make universal binaries and it solves:
-FS#18 [OSX] SDL is weird in universal binaries
-FS#2 [OSX] lazy pointer crash on exit
-FS#10 [OSX] linking error when linking statically to SDL 1.2.8 (needless to explain this, but it means it should be able to compile statically with the default settings now)
-[ 1215073 ] Switching to large size out of fullscreen crashes
Using SDL drivers will still have those issues though
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
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
     3
# Automatically recognize if building on Win32
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
     4
ifdef WINDIR
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
     5
ifndef UNIX
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
     6
WIN32:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
     7
CYGWIN:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
     8
MINGW:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
     9
STATIC:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    10
SKIP_STATIC_CHECK:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    11
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    12
else
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    13
UNIX:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    14
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    15
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    16
# Automatically recognize if building on FreeBSD
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    17
ifeq ($(shell uname),FreeBSD)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    18
FREEBSD:=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
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    21
# 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
    22
ifeq ($(shell uname), Darwin)
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    23
OSX:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    24
# OSX uses the unix setup too
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    25
UNIX:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    26
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    27
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    28
# Automatically recognize if building on MorphOS
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    29
ifeq ($(shell uname), MorphOS)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    30
MORPHOS:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    31
# MorphOS uses UNIX setup too
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    32
UNIX:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    33
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    34
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    35
# Automatically recognize if building on BeOS
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    36
ifeq ($(shell uname), BeOS)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    37
BEOS:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    38
# BeOS uses UNIX setup too
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    39
UNIX:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    40
# 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
    41
ifeq ($(shell uname -r), 5.0)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    42
BEOS_NET_SERVER:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    43
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    44
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    45
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    46
# Automatically recognize if building on SunOS/Solaris
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    47
ifeq ($(shell uname), SunOS)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    48
SUNOS:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    49
# SunOS uses UNIX setup too
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    50
UNIX:=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
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    53
# FreeBSD uses sdl11 instead of sdl
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    54
ifdef FREEBSD
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    55
SDL-CONFIG:=sdl11-config
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    56
else
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    57
SDL-CONFIG:=sdl-config
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    58
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    59
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    60
# Networking, enabled by default
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    61
WITH_NETWORK:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    62
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    63
# Library detections
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    64
WITH_SDL:=$(shell $(SDL-CONFIG) --version 2>/dev/null)
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    65
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    66
# libpng detection
1955
52a84e880864 (svn r2461) -Feature [Makefile] libpng-config can now be called something else in Makefile.config
bjarni
parents: 1823
diff changeset
    67
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
    68
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    69
ifdef WITH_PNG
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    70
# LibPNG depends on Zlib
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    71
WITH_ZLIB:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    72
else
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    73
# We go looking for zlib with a little hack
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    74
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
    75
$(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
    76
ifdef WITH_ZLIB
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    77
WITH_ZLIB:=1
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    78
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    79
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    80
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    81
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    82
# sets the default paths
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    83
ifdef UNIX
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    84
ifndef OSX
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    85
ifndef MORPHOS
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    86
ifndef BIN_DIR
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    87
#BINARY_DIR:=
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    88
#DATA_DIR_PREFIX:=
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    89
#INSTALL_DIR:=/usr/local/
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    90
#USE_HOMEDIR:=
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    91
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    92
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    93
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    94
endif
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
    95
2736
1ea068235989 (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents: 2688
diff changeset
    96
ifdef OSX
1ea068235989 (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents: 2688
diff changeset
    97
# 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
    98
# 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
    99
WITH_COCOA:=1
1ea068235989 (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents: 2688
diff changeset
   100
WITH_SDL:=
1ea068235989 (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents: 2688
diff changeset
   101
endif
1ea068235989 (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents: 2688
diff changeset
   102
1ea068235989 (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents: 2688
diff changeset
   103
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
   104
# workaround
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
   105
# 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
   106
ifdef CYGWIN
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
   107
WITH_PNG:=
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 528
diff changeset
   108
endif