Build GLEW, SDL and zlib as static libraries from Externals as with

LZO/SFML/SOIL and subject to the same shared_foo exception options.

This makes building a self-contained distribution package much easier.

TBD: Cg and wxWidgets 2.9.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5712 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Soren Jorvang 2010-06-16 00:07:52 +00:00
parent 2db54798d7
commit 391312641c
15 changed files with 526 additions and 61 deletions

11
Externals/GLew/SConscript vendored Normal file
View File

@ -0,0 +1,11 @@
# -*- python -*-
Import('env')
files = [
'src/glew.c',
'src/glewinfo.c',
'src/visualinfo.c',
]
env.StaticLibrary(env['local_libs'] + "GLEW", files)

76
Externals/SDL/SConscript vendored Normal file
View File

@ -0,0 +1,76 @@
# -*- python -*-
import sys
Import('env')
files = [
'src/SDL.c',
'src/SDL_error.c',
'src/SDL_fatal.c',
#'src/audio/SDL_audio.c',
#'src/audio/SDL_audiocvt.c',
#'src/audio/SDL_audiodev.c',
#'src/audio/SDL_mixer.c',
#'src/audio/SDL_mixer_MMX.c',
#'src/audio/SDL_mixer_MMX_VC.c',
#'src/audio/SDL_mixer_m68k.c',
#'src/audio/SDL_wave.c',
#'src/cdrom/SDL_cdrom.c',
#'src/cpuinfo/SDL_cpuinfo.c',
'src/events/SDL_active.c',
'src/events/SDL_events.c',
'src/events/SDL_expose.c',
'src/events/SDL_keyboard.c',
'src/events/SDL_mouse.c',
'src/events/SDL_quit.c',
'src/events/SDL_resize.c',
#'src/file/SDL_rwops.c',
'src/joystick/SDL_joystick.c',
#'src/stdlib/SDL_getenv.c',
#'src/stdlib/SDL_iconv.c',
#'src/stdlib/SDL_malloc.c',
#'src/stdlib/SDL_qsort.c',
#'src/stdlib/SDL_stdlib.c',
'src/stdlib/SDL_string.c',
'src/thread/SDL_thread.c',
'src/timer/SDL_timer.c',
'src/timer/unix/SDL_systimer.c',
#'src/video/SDL_RLEaccel.c',
#'src/video/SDL_blit.c',
#'src/video/SDL_blit_0.c',
#'src/video/SDL_blit_1.c',
#'src/video/SDL_blit_A.c',
#'src/video/SDL_blit_N.c',
#'src/video/SDL_bmp.c',
#'src/video/SDL_cursor.c',
#'src/video/SDL_gamma.c',
#'src/video/SDL_pixels.c',
#'src/video/SDL_stretch.c',
#'src/video/SDL_surface.c',
#'src/video/SDL_video.c',
#'src/video/SDL_yuv.c',
#'src/video/SDL_yuv_mmx.c',
#'src/video/SDL_yuv_sw.c',
]
files += [
'src/thread/generic/SDL_syscond.c',
'src/thread/generic/SDL_sysmutex.c',
'src/thread/generic/SDL_syssem.c',
'src/thread/generic/SDL_systhread.c',
]
if sys.platform == 'darwin':
files += [
'src/joystick/darwin/SDL_sysjoystick.c',
]
elif sys.platform == 'linux2':
files += [
'src/joystick/linux/SDL_sysjoystick.c',
]
else:
files += [
'src/joystick/dummy/SDL_sysjoystick.c',
]
env.StaticLibrary(env['local_libs'] + "SDL", files)

2
Externals/SDL/SDL/SDL.h vendored Normal file
View File

@ -0,0 +1,2 @@
#include "SDL_config.h"
#include "include/SDL.h"

311
Externals/SDL/SDL/SDL_config_linux.h vendored Normal file
View File

@ -0,0 +1,311 @@
/* include/SDL_config.h. Generated from SDL_config.h.in by configure. */
/*
SDL - Simple DirectMedia Layer
Copyright (C) 1997-2009 Sam Lantinga
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Sam Lantinga
slouken@libsdl.org
*/
#ifndef _SDL_config_h
#define _SDL_config_h
/* This is a set of defines to configure the SDL features */
/* General platform specific identifiers */
#include "SDL_platform.h"
/* Make sure that this isn't included by Visual C++ */
#ifdef _MSC_VER
#error You should copy include/SDL_config.h.default to include/SDL_config.h
#endif
/* C language features */
/* #undef const */
/* #undef inline */
/* #undef volatile */
/* C datatypes */
/* #undef size_t */
/* #undef int8_t */
/* #undef uint8_t */
/* #undef int16_t */
/* #undef uint16_t */
/* #undef int32_t */
/* #undef uint32_t */
/* #undef int64_t */
/* #undef uint64_t */
/* #undef uintptr_t */
#define SDL_HAS_64BIT_TYPE 1
/* Endianness */
#define SDL_BYTEORDER 1234
/* Comment this if you want to build without any C library requirements */
#define HAVE_LIBC 1
#if HAVE_LIBC
/* Useful headers */
#define HAVE_ALLOCA_H 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_STDIO_H 1
#define STDC_HEADERS 1
#define HAVE_STDLIB_H 1
#define HAVE_STDARG_H 1
#define HAVE_MALLOC_H 1
#define HAVE_MEMORY_H 1
#define HAVE_STRING_H 1
#define HAVE_STRINGS_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_STDINT_H 1
#define HAVE_CTYPE_H 1
#define HAVE_MATH_H 1
#define HAVE_ICONV_H 1
#define HAVE_SIGNAL_H 1
/* #undef HAVE_ALTIVEC_H */
/* C library functions */
#define HAVE_MALLOC 1
#define HAVE_CALLOC 1
#define HAVE_REALLOC 1
#define HAVE_FREE 1
#define HAVE_ALLOCA 1
#ifndef _WIN32 /* Don't use C runtime versions of these on Windows */
#define HAVE_GETENV 1
#define HAVE_PUTENV 1
#define HAVE_UNSETENV 1
#endif
#define HAVE_QSORT 1
#define HAVE_ABS 1
#define HAVE_BCOPY 1
#define HAVE_MEMSET 1
#define HAVE_MEMCPY 1
#define HAVE_MEMMOVE 1
#define HAVE_MEMCMP 1
#define HAVE_STRLEN 1
/* #undef HAVE_STRLCPY */
/* #undef HAVE_STRLCAT */
#define HAVE_STRDUP 1
/* #undef HAVE__STRREV */
/* #undef HAVE__STRUPR */
/* #undef HAVE__STRLWR */
/* #undef HAVE_INDEX */
/* #undef HAVE_RINDEX */
#define HAVE_STRCHR 1
#define HAVE_STRRCHR 1
#define HAVE_STRSTR 1
/* #undef HAVE_ITOA */
/* #undef HAVE__LTOA */
/* #undef HAVE__UITOA */
/* #undef HAVE__ULTOA */
#define HAVE_STRTOL 1
#define HAVE_STRTOUL 1
/* #undef HAVE__I64TOA */
/* #undef HAVE__UI64TOA */
#define HAVE_STRTOLL 1
#define HAVE_STRTOULL 1
#define HAVE_STRTOD 1
#define HAVE_ATOI 1
#define HAVE_ATOF 1
#define HAVE_STRCMP 1
#define HAVE_STRNCMP 1
/* #undef HAVE__STRICMP */
#define HAVE_STRCASECMP 1
/* #undef HAVE__STRNICMP */
#define HAVE_STRNCASECMP 1
#define HAVE_SSCANF 1
#define HAVE_SNPRINTF 1
#define HAVE_VSNPRINTF 1
#define HAVE_ICONV 1
#define HAVE_SIGACTION 1
#define HAVE_SETJMP 1
#define HAVE_NANOSLEEP 1
/* #undef HAVE_CLOCK_GETTIME */
#define HAVE_GETPAGESIZE 1
#define HAVE_MPROTECT 1
#else
/* We may need some replacement for stdarg.h here */
#include <stdarg.h>
#endif /* HAVE_LIBC */
/* Allow disabling of core subsystems */
/* #undef SDL_AUDIO_DISABLED */
/* #undef SDL_CDROM_DISABLED */
/* #undef SDL_CPUINFO_DISABLED */
/* #undef SDL_EVENTS_DISABLED */
/* #undef SDL_FILE_DISABLED */
/* #undef SDL_JOYSTICK_DISABLED */
/* #undef SDL_LOADSO_DISABLED */
/* #undef SDL_THREADS_DISABLED */
/* #undef SDL_TIMERS_DISABLED */
/* #undef SDL_VIDEO_DISABLED */
/* Enable various audio drivers */
#define SDL_AUDIO_DRIVER_ALSA 1
#define SDL_AUDIO_DRIVER_ALSA_DYNAMIC "libasound.so.2"
/* #undef SDL_AUDIO_DRIVER_ARTS */
/* #undef SDL_AUDIO_DRIVER_ARTS_DYNAMIC */
/* #undef SDL_AUDIO_DRIVER_BAUDIO */
/* #undef SDL_AUDIO_DRIVER_BSD */
/* #undef SDL_AUDIO_DRIVER_COREAUDIO */
/* #undef SDL_AUDIO_DRIVER_DART */
/* #undef SDL_AUDIO_DRIVER_DC */
#define SDL_AUDIO_DRIVER_DISK 1
#define SDL_AUDIO_DRIVER_DUMMY 1
/* #undef SDL_AUDIO_DRIVER_DMEDIA */
/* #undef SDL_AUDIO_DRIVER_DSOUND */
#define SDL_AUDIO_DRIVER_PULSE 1
#define SDL_AUDIO_DRIVER_PULSE_DYNAMIC "libpulse-simple.so.0"
#define SDL_AUDIO_DRIVER_ESD 1
#define SDL_AUDIO_DRIVER_ESD_DYNAMIC "libesd.so.0"
/* #undef SDL_AUDIO_DRIVER_MINT */
/* #undef SDL_AUDIO_DRIVER_MMEAUDIO */
#define SDL_AUDIO_DRIVER_NAS 1
#define SDL_AUDIO_DRIVER_NAS_DYNAMIC "libaudio.so.2"
#define SDL_AUDIO_DRIVER_OSS 1
/* #undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H */
/* #undef SDL_AUDIO_DRIVER_PAUD */
/* #undef SDL_AUDIO_DRIVER_QNXNTO */
/* #undef SDL_AUDIO_DRIVER_SNDMGR */
/* #undef SDL_AUDIO_DRIVER_SUNAUDIO */
/* #undef SDL_AUDIO_DRIVER_WAVEOUT */
/* Enable various cdrom drivers */
/* #undef SDL_CDROM_AIX */
/* #undef SDL_CDROM_BEOS */
/* #undef SDL_CDROM_BSDI */
/* #undef SDL_CDROM_DC */
/* #undef SDL_CDROM_DUMMY */
/* #undef SDL_CDROM_FREEBSD */
#define SDL_CDROM_LINUX 1
/* #undef SDL_CDROM_MACOS */
/* #undef SDL_CDROM_MACOSX */
/* #undef SDL_CDROM_MINT */
/* #undef SDL_CDROM_OPENBSD */
/* #undef SDL_CDROM_OS2 */
/* #undef SDL_CDROM_OSF */
/* #undef SDL_CDROM_QNX */
/* #undef SDL_CDROM_WIN32 */
/* Enable various input drivers */
#define SDL_INPUT_LINUXEV 1
/* #undef SDL_INPUT_TSLIB */
/* #undef SDL_JOYSTICK_BEOS */
/* #undef SDL_JOYSTICK_DC */
/* #undef SDL_JOYSTICK_DUMMY */
/* #undef SDL_JOYSTICK_IOKIT */
#define SDL_JOYSTICK_LINUX 1
/* #undef SDL_JOYSTICK_MACOS */
/* #undef SDL_JOYSTICK_MINT */
/* #undef SDL_JOYSTICK_OS2 */
/* #undef SDL_JOYSTICK_RISCOS */
/* #undef SDL_JOYSTICK_WINMM */
/* #undef SDL_JOYSTICK_USBHID */
/* #undef SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H */
/* Enable various shared object loading systems */
/* #undef SDL_LOADSO_BEOS */
/* #undef SDL_LOADSO_DLCOMPAT */
#define SDL_LOADSO_DLOPEN 1
/* #undef SDL_LOADSO_DUMMY */
/* #undef SDL_LOADSO_LDG */
/* #undef SDL_LOADSO_MACOS */
/* #undef SDL_LOADSO_OS2 */
/* #undef SDL_LOADSO_WIN32 */
/* Enable various threading systems */
/* #undef SDL_THREAD_BEOS */
/* #undef SDL_THREAD_DC */
/* #undef SDL_THREAD_OS2 */
/* #undef SDL_THREAD_PTH */
#define SDL_THREAD_PTHREAD 1
#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 1
/* #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP */
/* #undef SDL_THREAD_SPROC */
/* #undef SDL_THREAD_WIN32 */
/* Enable various timer systems */
/* #undef SDL_TIMER_BEOS */
/* #undef SDL_TIMER_DC */
/* #undef SDL_TIMER_DUMMY */
/* #undef SDL_TIMER_MACOS */
/* #undef SDL_TIMER_MINT */
/* #undef SDL_TIMER_OS2 */
/* #undef SDL_TIMER_RISCOS */
#define SDL_TIMER_UNIX 1
/* #undef SDL_TIMER_WIN32 */
/* #undef SDL_TIMER_WINCE */
/* Enable various video drivers */
/* #undef SDL_VIDEO_DRIVER_AALIB */
/* #undef SDL_VIDEO_DRIVER_BWINDOW */
/* #undef SDL_VIDEO_DRIVER_CACA */
/* #undef SDL_VIDEO_DRIVER_DC */
/* #undef SDL_VIDEO_DRIVER_DDRAW */
#define SDL_VIDEO_DRIVER_DGA 1
#define SDL_VIDEO_DRIVER_DIRECTFB 1
/* #undef SDL_VIDEO_DRIVER_DRAWSPROCKET */
#define SDL_VIDEO_DRIVER_DUMMY 1
#define SDL_VIDEO_DRIVER_FBCON 1
/* #undef SDL_VIDEO_DRIVER_GAPI */
/* #undef SDL_VIDEO_DRIVER_GEM */
/* #undef SDL_VIDEO_DRIVER_GGI */
/* #undef SDL_VIDEO_DRIVER_IPOD */
/* #undef SDL_VIDEO_DRIVER_NANOX */
/* #undef SDL_VIDEO_DRIVER_OS2FS */
/* #undef SDL_VIDEO_DRIVER_PHOTON */
/* #undef SDL_VIDEO_DRIVER_PICOGUI */
/* #undef SDL_VIDEO_DRIVER_PS2GS */
/* #undef SDL_VIDEO_DRIVER_PS3 */
/* #undef SDL_VIDEO_DRIVER_QTOPIA */
/* #undef SDL_VIDEO_DRIVER_QUARTZ */
/* #undef SDL_VIDEO_DRIVER_RISCOS */
/* #undef SDL_VIDEO_DRIVER_SVGALIB */
/* #undef SDL_VIDEO_DRIVER_TOOLBOX */
/* #undef SDL_VIDEO_DRIVER_VGL */
/* #undef SDL_VIDEO_DRIVER_WINDIB */
/* #undef SDL_VIDEO_DRIVER_WSCONS */
#define SDL_VIDEO_DRIVER_X11 1
#define SDL_VIDEO_DRIVER_X11_DGAMOUSE 1
#define SDL_VIDEO_DRIVER_X11_DYNAMIC "libX11.so.6"
#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT "libXext.so.6"
#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR "libXrandr.so.2"
#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER "libXrender.so.1"
#define SDL_VIDEO_DRIVER_X11_VIDMODE 1
#define SDL_VIDEO_DRIVER_X11_XINERAMA 1
#define SDL_VIDEO_DRIVER_X11_XME 1
#define SDL_VIDEO_DRIVER_X11_XRANDR 1
#define SDL_VIDEO_DRIVER_X11_XV 1
/* #undef SDL_VIDEO_DRIVER_XBIOS */
/* Enable OpenGL support */
#define SDL_VIDEO_OPENGL 1
#define SDL_VIDEO_OPENGL_GLX 1
/* #undef SDL_VIDEO_OPENGL_WGL */
/* #undef SDL_VIDEO_OPENGL_OSMESA */
/* #undef SDL_VIDEO_OPENGL_OSMESA_DYNAMIC */
/* Disable screensaver */
#define SDL_VIDEO_DISABLE_SCREENSAVER 1
/* Enable assembly routines */
#define SDL_ASSEMBLY_ROUTINES 1
/* #undef SDL_HERMES_BLITTERS */
/* #undef SDL_ALTIVEC_BLITTERS */
#endif /* _SDL_config_h */

1
Externals/SDL/SDL/SDL_version.h vendored Normal file
View File

@ -0,0 +1 @@
#include "include/SDL_version.h"

17
Externals/SDL/SDL_config.h vendored Normal file
View File

@ -0,0 +1,17 @@
#if defined __APPLE__
#include "include/SDL_config_macosx.h"
#elif defined __linux__
#include "SDL/SDL_config_linux.h"
#endif
#define SDL_AUDIO_DISABLED 1
#define SDL_CDROM_DISABLED 1
#define SDL_CPUINFO_DISABLED 1
#define SDL_EVENTS_DISABLED 1
#define SDL_FILE_DISABLED 1
#undef SDL_JOYSTICK_DISABLED
#define SDL_LOADSO_DISABLED 1
#define SDL_THREADS_DISABLED 1
#define SDL_TIMERS_DISABLED 1
#define SDL_VIDEO_DISABLED 1

20
Externals/zlib/SConscript vendored Normal file
View File

@ -0,0 +1,20 @@
# -*- python -*-
Import('env')
files = [
'adler32.c',
'compress.c',
'crc32.c',
'deflate.c',
'gzio.c',
'infback.c',
'inffast.c',
'inflate.c',
'inftrees.c',
'trees.c',
'uncompr.c',
'zutil.c',
]
env.StaticLibrary(env['local_libs'] + "z", files)

View File

@ -1255,7 +1255,7 @@ const Bytef *dictionary;
uInt dictLength;
{
struct inflate_state FAR *state;
unsigned long id;
unsigned long dictid;
/* check state */
if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
@ -1265,9 +1265,9 @@ uInt dictLength;
/* check for correct dictionary id */
if (state->mode == DICT) {
id = adler32(0L, Z_NULL, 0);
id = adler32(id, dictionary, dictLength);
if (id != state->check)
dictid = adler32(0L, Z_NULL, 0);
dictid = adler32(dictid, dictionary, dictLength);
if (dictid != state->check)
return Z_DATA_ERROR;
}

View File

@ -102,9 +102,12 @@ vars.AddVariables(
BoolVariable('wxgl', 'Set For Building with WX GL libs', False),
BoolVariable('opencl', 'Build with OpenCL', False),
BoolVariable('nojit', 'Remove entire jit cores', False),
BoolVariable('shared_soil', 'Use system shared libSOIL', False),
BoolVariable('shared_glew', 'Use system shared libGLEW', False),
BoolVariable('shared_lzo', 'Use system shared liblzo2', False),
BoolVariable('shared_sdl', 'Use system shared libSDL', False),
BoolVariable('shared_sfml', 'Use system shared libsfml-network', False),
BoolVariable('shared_soil', 'Use system shared libSOIL', False),
BoolVariable('shared_zlib', 'Use system shared libz', False),
PathVariable('userdir', 'Set the name of the user data directory in home',
'.dolphin-emu', PathVariable.PathAccept),
EnumVariable('install', 'Choose a local or global installation', 'local',
@ -258,23 +261,20 @@ env['LIBPATH'].append(env['local_libs'])
conf = env.Configure(custom_tests = tests,
config_h="Source/Core/Common/Src/Config.h")
if not conf.CheckPKGConfig('0.15.0'):
print "Can't find pkg-config, some tests will fail"
# Find MacPorts or Fink for library and include paths
if sys.platform == 'darwin':
# MacPorts usually has newer versions
conf.CheckMacports()
conf.CheckFink()
if not conf.CheckSDL('1.0.0'):
print "SDL is required"
Exit(1)
if env['shared_glew'] or env['shared_lzo'] or env['shared_sdl'] or \
env['shared_sfml'] or env['shared_soil'] or env['shared_zlib']:
if not conf.CheckPKGConfig('0.15.0'):
print "Can't find pkg-config, some tests will fail"
# Find MacPorts or Fink for library and include paths
if sys.platform == 'darwin':
# MacPorts usually has newer versions
conf.CheckMacports()
conf.CheckFink()
# OS X specifics
if sys.platform == 'darwin':
compileFlags += ['-mmacosx-version-min=10.5']
#compileFlags += ['-isysroot', '/Developer/SDKs/MacOSX10.5.sdk']
compileFlags += ['-isysroot', '/Developer/SDKs/MacOSX10.5.sdk']
conf.Define('MAP_32BIT', 0)
env['CC'] = "gcc-4.2"
env['CFLAGS'] = ['-x', 'objective-c']
@ -286,36 +286,21 @@ if sys.platform == 'darwin':
env['FRAMEWORKS'] += ['IOBluetooth', 'IOKit', 'OpenGL']
env['FRAMEWORKS'] += ['AudioUnit', 'CoreAudio']
# Bluetooth for wiimote support
env['HAVE_BLUEZ'] = conf.CheckPKG('bluez')
env['HAVE_ALSA'] = 0
env['HAVE_AO'] = 0
env['HAVE_OPENAL'] = 0
env['HAVE_PORTAUDIO'] = 0
env['HAVE_PULSEAUDIO'] = 0
if sys.platform != 'darwin':
env['HAVE_ALSA'] = conf.CheckPKG('alsa')
env['HAVE_AO'] = conf.CheckPKG('ao')
env['HAVE_OPENAL'] = conf.CheckPKG('openal')
env['HAVE_PORTAUDIO'] = conf.CheckPortaudio(1890)
env['HAVE_PULSEAUDIO'] = conf.CheckPKG('libpulse')
# OpenCL
env['HAVE_OPENCL'] = 0
if env['opencl']:
env['HAVE_OPENCL'] = conf.CheckPKG('OpenCL')
# SOIL
env['SHARED_SOIL'] = 0;
if env['shared_soil']:
env['SHARED_SOIL'] = conf.CheckPKG('SOIL')
if not env['SHARED_SOIL']:
print "shared SOIL library not detected"
# GLEW
env['SHARED_GLEW'] = 0;
if env['shared_glew']:
env['SHARED_GLEW'] = conf.CheckPKG('GLEW')
if not env['SHARED_GLEW']:
print "shared GLEW library not detected"
print "falling back to the static library"
if not env['SHARED_SOIL']:
env['CPPPATH'] += [ basedir + 'Externals/SOIL' ]
dirs += ['Externals/SOIL']
if not env['SHARED_GLEW']:
env['CPPPATH'] += [ basedir + 'Externals/GLew/include' ]
dirs += ['Externals/GLew']
# LZO
env['SHARED_LZO'] = 0;
@ -328,6 +313,29 @@ if not env['SHARED_LZO']:
env['CPPPATH'] += [ basedir + 'Externals/LZO' ]
dirs += ['Externals/LZO']
# SDL
env['SHARED_SDL'] = 0;
if env['shared_sdl']:
env['SHARED_SDL'] = conf.CheckPKG('SDL')
if not env['SHARED_SDL']:
print "shared SDL library not detected"
print "falling back to the static library"
if not env['SHARED_SDL']:
env['CPPPATH'] += [ basedir + 'Externals/SDL' ]
env['CPPPATH'] += [ basedir + 'Externals/SDL/include' ]
dirs += ['Externals/SDL']
# SOIL
env['SHARED_SOIL'] = 0;
if env['shared_soil']:
env['SHARED_SOIL'] = conf.CheckPKG('SOIL')
if not env['SHARED_SOIL']:
print "shared SOIL library not detected"
print "falling back to the static library"
if not env['SHARED_SOIL']:
env['CPPPATH'] += [ basedir + 'Externals/SOIL' ]
dirs += ['Externals/SOIL']
# SFML
env['SHARED_SFML'] = 0;
if env['shared_sfml']:
@ -341,6 +349,17 @@ if not env['SHARED_SFML']:
env['CPPPATH'] += [ basedir + 'Externals/SFML/include' ]
dirs += ['Externals/SFML/src']
# zlib
env['SHARED_ZLIB'] = 0;
if env['shared_zlib']:
env['SHARED_ZLIB'] = conf.CheckPKG('z')
if not env['SHARED_ZLIB']:
print "shared zlib library not detected"
print "falling back to the static library"
if not env['SHARED_ZLIB']:
env['CPPPATH'] += [ basedir + 'Externals/zlib' ]
dirs += ['Externals/zlib']
wxmods = ['aui', 'adv', 'core', 'base']
if env['wxgl'] or sys.platform == 'win32' or sys.platform == 'darwin':
env['USE_WX'] = 1
@ -364,7 +383,7 @@ else:
# which is not available for x86_64 and we don't use it anyway.
# Strip it out to silence some harmless linker warnings.
if env['FRAMEWORKS'].count('QuickTime'):
env['FRAMEWORKS'].remove('QuickTime')
env['FRAMEWORKS'].remove('QuickTime')
# Make sure that the libraries claimed by wx-config are valid
env['HAVE_WX'] = conf.CheckPKG('c')
@ -376,16 +395,28 @@ if not sys.platform == 'win32':
if not conf.CheckPKG('Cg'):
print "Must have Cg framework from NVidia to build"
Exit(1)
if not conf.CheckPKG('GLEW'):
print "Must have GLEW to build"
Exit(1)
env['HAVE_BLUEZ'] = 0
env['HAVE_ALSA'] = 0
env['HAVE_AO'] = 0
env['HAVE_OPENAL'] = 0
env['HAVE_PORTAUDIO'] = 0
env['HAVE_PULSEAUDIO'] = 0
env['HAVE_X11'] = 0
env['HAVE_XRANDR'] = 0
if not sys.platform == 'win32' and not sys.platform == 'darwin':
env['LINKFLAGS'] += ['-pthread']
env['HAVE_BLUEZ'] = conf.CheckPKG('bluez')
env['HAVE_ALSA'] = conf.CheckPKG('alsa')
env['HAVE_AO'] = conf.CheckPKG('ao')
env['HAVE_OPENAL'] = conf.CheckPKG('openal')
env['HAVE_PORTAUDIO'] = conf.CheckPortaudio(1890)
env['HAVE_PULSEAUDIO'] = conf.CheckPKG('libpulse-simple')
env['HAVE_X11'] = conf.CheckPKG('x11')
env['HAVE_XRANDR'] = env['HAVE_X11'] and conf.CheckPKG('xrandr')
env['LINKFLAGS'] += ['-pthread']
if not conf.CheckPKG('GL'):
print "Must have OpenGL to build"
Exit(1)
@ -396,10 +427,6 @@ if not sys.platform == 'win32' and not sys.platform == 'darwin':
print "Must have CgGl to build"
Exit(1)
if not conf.CheckPKG('z'):
print "zlib is required"
Exit(1)
# Check for GTK 2.0 or newer
if sys.platform == 'linux2':
if env['HAVE_WX'] and not conf.CheckPKG('gtk+-2.0'):

View File

@ -12,7 +12,8 @@ files = [
libs = [
'core', 'lzo2', 'discio', 'bdisasm', 'videocommon',
'inputcommon', 'inputuicommon', 'common', 'lua', 'z', 'sfml-network'
'inputcommon', 'inputuicommon', 'common', 'lua', 'z', 'sfml-network',
'SDL'
]
if wxenv['HAVE_WX']:
@ -60,7 +61,7 @@ if sys.platform == 'win32':
files += [ "stdafx.cpp" ]
if sys.platform == 'darwin':
files += [ 'cocoaApp.m', ]
files += [ 'cocoaApp.m' ]
exeGUI = env['binary_dir'] + 'Dolphin.app/Contents/MacOS/Dolphin'
exeNoGUI = env['binary_dir'] + 'DolphinNoGUI'
@ -74,8 +75,9 @@ if sys.platform == 'darwin':
CFBundleName = 'Dolphin',
CFBundlePackageType = 'APPL',
CFBundleShortVersionString =
os.popen('svnversion -n ' + Dir('#').abspath).read(),
os.popen('svnversion -n ' + Dir('#').abspath).read(),
CFBundleVersion = '2.0',
LSMinimumSystemVersion = '10.5.0',
LSRequiresCarbon = True,
))
)

View File

@ -25,13 +25,11 @@
#ifdef _WIN32
#include <SDL.h> // Externals
#include <SDL_version.h>
#if SDL_VERSION_ATLEAST(1, 3, 0)
#include <SDL_haptic.h>
#endif
#else
#include <SDL/SDL.h>
#include <SDL/SDL_version.h>
#if SDL_VERSION_ATLEAST(1, 3, 0)
#include <SDL/SDL_haptic.h>
#endif

View File

@ -28,7 +28,7 @@ files = [
linkFlags = [
]
libs = [
'videocommon', 'SOIL', 'common'
'videocommon', 'GLEW', 'SDL', 'SOIL', 'common'
]
gfxenv = env.Clone()

View File

@ -39,7 +39,7 @@ files = [
linkFlags = [
]
libs = [
'videocommon', 'SOIL', 'common'
'videocommon', 'GLEW', 'SDL', 'SOIL', 'common'
]
gfxenv = env.Clone()

View File

@ -30,7 +30,7 @@ if wmenv['HAVE_WX']:
"FillReport.cpp",
]
libs = [ 'common', 'inputcommon', 'inputuicommon' ]
libs = [ 'common', 'inputcommon', 'inputuicommon', 'SDL' ]
cxxflags = [ ]

View File

@ -20,7 +20,7 @@ files = [
]
wiinewenv.Append(
LIBS = [ 'inputuicommon', 'inputcommon', 'common' ],
LIBS = [ 'inputuicommon', 'inputcommon', 'common', 'SDL' ],
)
wiinewenv.SharedLibrary(env['plugin_dir']+name, files)