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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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