diff --git a/tools/cache.py b/tools/cache.py index a0c494327..81dcc96a6 100644 --- a/tools/cache.py +++ b/tools/cache.py @@ -94,8 +94,8 @@ class Cache: return os.path.join(self.dirname, 'sysroot') return 'sysroot' - def get_include_dir(self): - return self.get_sysroot_dir('include') + def get_include_dir(self, *parts): + return self.get_sysroot_dir('include', *parts) def get_sysroot_dir(self, *parts): return os.path.join(self.get_sysroot(absolute=True), *parts) diff --git a/tools/ports/sdl2.py b/tools/ports/sdl2.py index 3fe763722..cec8c102d 100644 --- a/tools/ports/sdl2.py +++ b/tools/ports/sdl2.py @@ -5,8 +5,8 @@ import os -TAG = 'version_23' -HASH = '1c37152529d1a2ff159d0e6f950d49dca61f65b582a6bc45c4f027629c7b83325eff26240992884eb3c4f2754e4d7516ee3ab7b54829d2bf81f2968f317b4fbd' +TAG = 'version_24' +HASH = '5a8181acdcce29cdda7e7a4cc876602740f5b9deebd366ecec71ae15c4bbf1f352da4dd0e3c5e0ba8160709dda0270566d64a6cd3892da894463ecf8502836aa' SUBDIR = 'SDL2-' + TAG @@ -27,10 +27,6 @@ def get(ports, settings, shared): source_include_path = os.path.join(ports.get_dir(), 'sdl2', SUBDIR, 'include') ports.install_headers(source_include_path, target='SDL2') - # write out an SDL_config.h file, that configure would normally emit - dest_include_path = os.path.join(ports.get_include_dir(), 'SDL2') - open(os.path.join(dest_include_path, 'SDL_config.h'), 'w').write(sdl_config_h) - # build srcs = '''SDL.c SDL_assert.c SDL_dataqueue.c SDL_error.c SDL_hints.c SDL_log.c atomic/SDL_atomic.c atomic/SDL_spinlock.c audio/SDL_audio.c audio/SDL_audiocvt.c audio/SDL_audiodev.c @@ -72,8 +68,8 @@ def get(ports, settings, shared): shared.safe_ensure_dirs(os.path.dirname(o)) command = [shared.EMCC, '-c', os.path.join(ports.get_dir(), 'sdl2', SUBDIR, 'src', src), - '-o', o, '-I' + dest_include_path, - '-O2', '-DUSING_GENERATED_CONFIG_H', '-w'] + '-o', o, '-I' + ports.get_include_dir('SDL2'), + '-O2', '-w'] if settings.USE_PTHREADS: command += ['-s', 'USE_PTHREADS'] commands.append(command) @@ -99,368 +95,3 @@ def process_args(ports): def show(): return 'SDL2 (USE_SDL=2; zlib license)' - - -sdl_config_h = r'''/* include/SDL_config.h. Generated from SDL_config.h.in by configure. */ -/* - Simple DirectMedia Layer - Copyright (C) 1997-2014 Sam Lantinga - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. -*/ - -#ifndef _SDL_config_h -#define _SDL_config_h - -/** - * \file SDL_config.h.in - * - * 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 run hg revert SDL_config.h -#endif - -/* C language features */ -/* #undef const */ -/* #undef inline */ -/* #undef volatile */ - -/* C datatypes */ -#ifdef __LP64__ -#define SIZEOF_VOIDP 8 -#else -#define SIZEOF_VOIDP 4 -#endif -#define HAVE_GCC_ATOMICS 1 -/* #undef HAVE_GCC_SYNC_LOCK_TEST_AND_SET */ -/* #undef HAVE_PTHREAD_SPINLOCK */ - -/* #undef HAVE_DXGI_H */ - -/* 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 */ -/* #undef HAVE_PTHREAD_NP_H */ -/* #undef HAVE_LIBUDEV_H */ -/* #undef HAVE_DBUS_DBUS_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_SETENV 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 -/* #undef HAVE_SSCANF */ -#define HAVE_VSSCANF 1 -/* #undef HAVE_SNPRINTF */ -#define HAVE_VSNPRINTF 1 -#define HAVE_M_PI /**/ -#define HAVE_ATAN 1 -#define HAVE_ATAN2 1 -#define HAVE_ACOS 1 -#define HAVE_ASIN 1 -#define HAVE_CEIL 1 -#define HAVE_COPYSIGN 1 -#define HAVE_COS 1 -#define HAVE_COSF 1 -#define HAVE_EXP -#define HAVE_EXPF -#define HAVE_FABS 1 -#define HAVE_FLOOR 1 -#define HAVE_FMOD -#define HAVE_FMODF -#define HAVE_LOG 1 -#define HAVE_LOGF 1 -#define HAVE_LOG10 1 -#define HAVE_LOG10F 1 -#define HAVE_POW 1 -#define HAVE_SCALBN 1 -#define HAVE_SIN 1 -#define HAVE_SINF 1 -#define HAVE_SQRT 1 -#define HAVE_SQRTF 1 -#define HAVE_TAN 1 -#define HAVE_TANF 1 -#define HAVE_FSEEKO 1 -#define HAVE_FSEEKO64 1 -#define HAVE_SIGACTION 1 -#define HAVE_SA_SIGACTION 1 -#define HAVE_SETJMP 1 -#define HAVE_NANOSLEEP 1 -#define HAVE_SYSCONF 1 -/* #undef HAVE_SYSCTLBYNAME */ -#define HAVE_CLOCK_GETTIME 1 -/* #undef HAVE_GETPAGESIZE */ -#define HAVE_MPROTECT 1 -#define HAVE_ICONV 1 -/* #undef HAVE_PTHREAD_SETNAME_NP */ -/* #undef HAVE_PTHREAD_SET_NAME_NP */ -/* #undef HAVE_SEM_TIMEDWAIT */ - -#else -#define HAVE_STDARG_H 1 -#define HAVE_STDDEF_H 1 -#define HAVE_STDINT_H 1 -#endif /* HAVE_LIBC */ - -/* SDL internal assertion support */ -/* #undef SDL_DEFAULT_ASSERT_LEVEL */ - -/* Allow disabling of core subsystems */ -/* #undef SDL_ATOMIC_DISABLED */ -/* #undef SDL_AUDIO_DISABLED */ -#define SDL_CPUINFO_DISABLED 1 -/* #undef SDL_EVENTS_DISABLED */ -/* #undef SDL_FILE_DISABLED */ -/* #undef SDL_JOYSTICK_DISABLED */ -#define SDL_HAPTIC_DISABLED 1 -/* #undef SDL_LOADSO_DISABLED */ -/* #undef SDL_RENDER_DISABLED */ -#define SDL_THREADS_DISABLED 1 -/* #undef SDL_TIMERS_DISABLED */ -/* #undef SDL_VIDEO_DISABLED */ -/* #undef SDL_POWER_DISABLED */ -/* #undef SDL_FILESYSTEM_DISABLED */ - -/* Enable various audio drivers */ -/* #undef SDL_AUDIO_DRIVER_ALSA */ -/* #undef SDL_AUDIO_DRIVER_ALSA_DYNAMIC */ -/* #undef SDL_AUDIO_DRIVER_ARTS */ -/* #undef SDL_AUDIO_DRIVER_ARTS_DYNAMIC */ -/* #undef SDL_AUDIO_DRIVER_PULSEAUDIO */ -/* #undef SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC */ -/* #undef SDL_AUDIO_DRIVER_HAIKU */ -/* #undef SDL_AUDIO_DRIVER_BSD */ -/* #undef SDL_AUDIO_DRIVER_COREAUDIO */ -#define SDL_AUDIO_DRIVER_DISK 1 -#define SDL_AUDIO_DRIVER_DUMMY 1 -/* #undef SDL_AUDIO_DRIVER_ANDROID */ -/* #undef SDL_AUDIO_DRIVER_XAUDIO2 */ -/* #undef SDL_AUDIO_DRIVER_DSOUND */ -/* #undef SDL_AUDIO_DRIVER_ESD */ -/* #undef SDL_AUDIO_DRIVER_ESD_DYNAMIC */ -/* #undef SDL_AUDIO_DRIVER_NACL */ -/* #undef SDL_AUDIO_DRIVER_NAS */ -/* #undef SDL_AUDIO_DRIVER_NAS_DYNAMIC */ -/* #undef SDL_AUDIO_DRIVER_SNDIO */ -/* #undef SDL_AUDIO_DRIVER_SNDIO_DYNAMIC */ -/* #undef SDL_AUDIO_DRIVER_OSS */ -/* #undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H */ -/* #undef SDL_AUDIO_DRIVER_PAUDIO */ -/* #undef SDL_AUDIO_DRIVER_QSA */ -/* #undef SDL_AUDIO_DRIVER_SUNAUDIO */ -/* #undef SDL_AUDIO_DRIVER_WINMM */ -/* #undef SDL_AUDIO_DRIVER_FUSIONSOUND */ -/* #undef SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC */ -#define SDL_AUDIO_DRIVER_EMSCRIPTEN 1 - -/* Enable various input drivers */ -/* #undef SDL_INPUT_LINUXEV */ -/* #undef SDL_INPUT_LINUXKD */ -/* #undef SDL_INPUT_TSLIB */ -/* #undef SDL_JOYSTICK_HAIKU */ -/* #undef SDL_JOYSTICK_DINPUT */ -/* #undef SDL_JOYSTICK_DUMMY */ -/* #undef SDL_JOYSTICK_IOKIT */ -/* #undef SDL_JOYSTICK_LINUX */ -/* #undef SDL_JOYSTICK_ANDROID */ -/* #undef SDL_JOYSTICK_WINMM */ -/* #undef SDL_JOYSTICK_USBHID */ -/* #undef SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H */ -#define SDL_JOYSTICK_EMSCRIPTEN 1 -/* #undef SDL_HAPTIC_DUMMY */ -/* #undef SDL_HAPTIC_LINUX */ -/* #undef SDL_HAPTIC_IOKIT */ -/* #undef SDL_HAPTIC_DINPUT */ - -/* Enable various shared object loading systems */ -/* #undef SDL_LOADSO_HAIKU */ -#define SDL_LOADSO_DLOPEN 1 -/* #undef SDL_LOADSO_DUMMY */ -/* #undef SDL_LOADSO_LDG */ -/* #undef SDL_LOADSO_WINDOWS */ - -/* Enable various threading systems */ -/* #undef SDL_THREAD_PTHREAD */ -/* #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX */ -/* #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP */ -/* #undef SDL_THREAD_WINDOWS */ - -/* Enable various timer systems */ -/* #undef SDL_TIMER_HAIKU */ -/* #undef SDL_TIMER_DUMMY */ -#define SDL_TIMER_UNIX 1 -/* #undef SDL_TIMER_WINDOWS */ - -/* Enable various video drivers */ -/* #undef SDL_VIDEO_DRIVER_HAIKU */ -/* #undef SDL_VIDEO_DRIVER_COCOA */ -/* #undef SDL_VIDEO_DRIVER_DIRECTFB */ -/* #undef SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC */ -/* #undef SDL_VIDEO_DRIVER_DUMMY */ -/* #undef SDL_VIDEO_DRIVER_WINDOWS */ -/* #undef SDL_VIDEO_DRIVER_WAYLAND */ -/* #undef SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH */ -/* #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC */ -/* #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL */ -/* #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR */ -/* #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON */ -/* #undef SDL_VIDEO_DRIVER_MIR */ -/* #undef SDL_VIDEO_DRIVER_MIR_DYNAMIC */ -/* #undef SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON */ -/* #undef SDL_VIDEO_DRIVER_X11 */ -/* #undef SDL_VIDEO_DRIVER_RPI */ -/* #undef SDL_VIDEO_DRIVER_ANDROID */ -#define SDL_VIDEO_DRIVER_EMSCRIPTEN 1 -/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC */ -/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT */ -/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XCURSOR */ -/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XINERAMA */ -/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2 */ -/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR */ -/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS */ -/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XVIDMODE */ -/* #undef SDL_VIDEO_DRIVER_X11_XCURSOR */ -/* #undef SDL_VIDEO_DRIVER_X11_XINERAMA */ -/* #undef SDL_VIDEO_DRIVER_X11_XINPUT2 */ -/* #undef SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH */ -/* #undef SDL_VIDEO_DRIVER_X11_XRANDR */ -/* #undef SDL_VIDEO_DRIVER_X11_XSCRNSAVER */ -/* #undef SDL_VIDEO_DRIVER_X11_XSHAPE */ -/* #undef SDL_VIDEO_DRIVER_X11_XVIDMODE */ -/* #undef SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS */ -/* #undef SDL_VIDEO_DRIVER_X11_CONST_PARAM_XDATA32 */ -/* #undef SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY */ -/* #undef SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM */ -/* #undef SDL_VIDEO_DRIVER_NACL */ - -/* #undef SDL_VIDEO_RENDER_D3D */ -/* #undef SDL_VIDEO_RENDER_D3D11 */ -/* #undef SDL_VIDEO_RENDER_OGL */ -/* #undef SDL_VIDEO_RENDER_OGL_ES */ -#define SDL_VIDEO_RENDER_OGL_ES2 1 -/* #undef SDL_VIDEO_RENDER_DIRECTFB */ - -/* Enable OpenGL support */ -/* #undef SDL_VIDEO_OPENGL */ -/* #undef SDL_VIDEO_OPENGL_ES */ -#define SDL_VIDEO_OPENGL_ES2 1 -/* #undef SDL_VIDEO_OPENGL_BGL */ -/* #undef SDL_VIDEO_OPENGL_CGL */ -#define SDL_VIDEO_OPENGL_EGL 1 -/* #undef SDL_VIDEO_OPENGL_GLX */ -/* #undef SDL_VIDEO_OPENGL_WGL */ -/* #undef SDL_VIDEO_OPENGL_OSMESA */ -/* #undef SDL_VIDEO_OPENGL_OSMESA_DYNAMIC */ - -/* Enable system power support */ -/* #undef SDL_POWER_LINUX */ -/* #undef SDL_POWER_WINDOWS */ -/* #undef SDL_POWER_MACOSX */ -/* #undef SDL_POWER_HAIKU */ -/* #undef SDL_POWER_ANDROID */ -#define SDL_POWER_EMSCRIPTEN 1 -/* #undef SDL_POWER_HARDWIRED */ - -/* Enable system filesystem support */ -/* #undef SDL_FILESYSTEM_HAIKU */ -/* #undef SDL_FILESYSTEM_COCOA */ -/* #undef SDL_FILESYSTEM_DUMMY */ -/* #undef SDL_FILESYSTEM_UNIX */ -/* #undef SDL_FILESYSTEM_WINDOWS */ -/* #undef SDL_FILESYSTEM_NACL */ -#define SDL_FILESYSTEM_EMSCRIPTEN 1 - -/* Enable assembly routines */ -/* #undef SDL_ASSEMBLY_ROUTINES */ -/* #undef SDL_ALTIVEC_BLITTERS */ - -#endif /* _SDL_config_h */ -''' - -sdl_config_mt_h = sdl_config_h -sdl_config_mt_h.replace('/* #undef SDL_THREAD_PTHREAD */', '#define SDL_THREAD_PTHREAD 1') -sdl_config_mt_h.replace('#define SDL_THREADS_DISABLED 1', '/* #undef SDL_THREADS_DISABLED */') diff --git a/tools/system_libs.py b/tools/system_libs.py index 8d8f587a4..a7d9c5762 100644 --- a/tools/system_libs.py +++ b/tools/system_libs.py @@ -1608,8 +1608,8 @@ class Ports: """ @staticmethod - def get_include_dir(): - dirname = shared.Cache.get_include_dir() + def get_include_dir(*parts): + dirname = shared.Cache.get_include_dir(*parts) shared.safe_ensure_dirs(dirname) return dirname