Port of SDL 2.0.14

Fixes #210
This commit is contained in:
Josef Söntgen
2016-01-05 23:59:52 +01:00
committed by Norman Feske
parent 9903036142
commit 72cdf74805
18 changed files with 1725 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
SDL2_PORT_DIR := $(call select_from_ports,sdl2)
INC_DIR += $(SDL2_PORT_DIR)/include $(SDL2_PORT_DIR)/include/SDL2
REP_INC_DIR += include/SDL2

114
lib/mk/sdl2.mk Normal file
View File

@@ -0,0 +1,114 @@
SDL2_PORT_DIR := $(call select_from_ports,sdl2)
SDL2_DIR := $(SDL2_PORT_DIR)/src/lib/sdl2
# build shared object
SHARED_LIB = yes
CC_OPT += -DGENODE
CC_WARN += -Wno-unused-variable
# because of AARCH_64 : /gcc/aarch64-none-elf/8.3.0/include/arm_neon.h: narrowing conversion
CC_WARN += -Wno-narrowing
INC_DIR += $(SDL2_PORT_DIR)/include
INC_DIR += $(SDL2_PORT_DIR)/include/SDL2
#
# In case we use the depot add the location
# to the global include path.
#
ifeq ($(CONTRIB),)
REP_INC_DIR += include/SDL2
endif
# backends
SRC_CC = audio/SDL_genodeaudio.cc \
video/SDL_genode_fb_video.cc \
video/SDL_genode_fb_events.cc \
loadso/SDL_loadso.cc
INC_DIR += $(REP_DIR)/include/SDL2 \
$(REP_DIR)/src/lib/sdl2 \
$(REP_DIR)/src/lib/sdl2/thread \
$(REP_DIR)/src/lib/sdl2/video
# main files
SRC_C = SDL.c \
SDL_assert.c \
SDL_error.c \
SDL_hints.c \
SDL_log.c
INC_DIR += $(SDL2_DIR)/src
# atomic subsystem
SRC_C += $(addprefix atomic/,$(notdir $(wildcard $(SDL2_DIR)/src/atomic/*.c)))
# audio subsystem
SRC_C += $(addprefix audio/,$(notdir $(wildcard $(SDL2_DIR)/src/audio/*.c)))
INC_DIR += $(SDL2_DIR)/src/audio
# sensor subsystem
SRC_C += $(addprefix sensor/,$(notdir $(wildcard $(SDL2_DIR)/src/sensor/*.c)))
# cpuinfo subsystem
SRC_C += cpuinfo/SDL_cpuinfo.c
# event subsystem
SRC_C += $(addprefix events/,$(notdir $(wildcard $(SDL2_DIR)/src/events/*.c)))
INC_DIR += $(SDL2_DIR)/src/events
# file I/O subsystem
SRC_C += file/SDL_rwops.c
# filesystem subsystem
SRC_C += filesystem/unix/SDL_sysfilesystem.c
# haptic subsystem
SRC_C += haptic/SDL_haptic.c \
haptic/dummy/SDL_syshaptic.c
INC_DIR += $(SDL2_DIR)/src/haptic
# joystick subsystem
SRC_C += joystick/SDL_joystick.c \
joystick/SDL_gamecontroller.c \
joystick/dummy/SDL_sysjoystick.c
INC_DIR += $(SDL2_DIR)/src/joystick
# render subsystem
SRC_C += $(addprefix render/,$(notdir $(wildcard $(SDL2_DIR)/src/render/*.c)))
SRC_C += $(addprefix render/software/,$(notdir $(wildcard $(SDL2_DIR)/src/render/software/*.c)))
INC_DIR += $(SDL2_DIR)/src/render $(SDL2_DIR)/src/render/software
# stdlib files
SRC_C += stdlib/SDL_getenv.c \
stdlib/SDL_malloc.c \
stdlib/SDL_qsort.c \
stdlib/SDL_stdlib.c \
stdlib/SDL_string.c
# thread subsystem
SRC_C += thread/SDL_thread.c \
thread/generic/SDL_syscond.c \
thread/generic/SDL_sysmutex.c \
thread/generic/SDL_systls.c \
thread/pthread/SDL_syssem.c \
thread/pthread/SDL_systhread.c
# timer subsystem
SRC_C += timer/unix/SDL_systimer.c
# video subsystem
SRC_C += $(addprefix video/,$(notdir $(wildcard $(SDL2_DIR)/src/video/*.c)))
INC_DIR += $(SDL2_DIR)/src/video
SRC_C += $(addprefix video/yuv2rgb/,$(notdir $(wildcard $(SDL2_DIR)/src/video/yuv2rgb/*.c)))
SRC_CC += sdl_main.cc
# we need libc
LIBS = libc
# backend path
vpath % $(REP_DIR)/src/lib/sdl2
vpath % $(SDL2_DIR)/src

86
lib/symbols/sdl2 Normal file
View File

@@ -0,0 +1,86 @@
SDL_AssertionsQuit T
SDL_CondSignal T
SDL_CondWait T
SDL_CondWaitTimeout T
SDL_CreateCond T
SDL_CreateMutex T
SDL_CreateRGBSurfaceFrom T
SDL_CreateRenderer T
SDL_CreateTexture T
SDL_CreateThread T
SDL_CreateWindow T
SDL_Delay T
SDL_DestroyCond T
SDL_DestroyMutex T
SDL_DestroyRenderer T
SDL_DestroyTexture T
SDL_DestroyWindow T
SDL_EnableScreenSaver T
SDL_FillRect T
SDL_FreeSurface T
SDL_GL_BindTexture T
SDL_GL_GetProcAddress T
SDL_GL_UnbindTexture T
SDL_GetClipboardText T
SDL_GetDisplayUsableBounds T
SDL_GetErrBuf T
SDL_GetError T
SDL_GetKeyName T
SDL_GetMouseState T
SDL_GetRendererInfo T
SDL_GetTicks T
SDL_GetWindowSize T
SDL_GetWindowSurface T
SDL_Init T
SDL_LockMutex T
SDL_LogCritical T
SDL_LogDebug T
SDL_LogError T
SDL_LogInfo T
SDL_LogMessageV T
SDL_LogWarn T
SDL_MapRGB T
SDL_PollEvent T
SDL_PushEvent T
SDL_Quit T
SDL_RenderClear T
SDL_RenderCopy T
SDL_RenderCopyEx T
SDL_RenderGetScale T
SDL_RenderGetViewport T
SDL_RenderPresent T
SDL_RenderSetLogicalSize T
SDL_RestoreWindow T
SDL_SetClipboardText T
SDL_SetHint T
SDL_SetWindowFullscreen T
SDL_SetWindowIcon T
SDL_SetWindowSize T
SDL_ShowWindow T
SDL_UnlockMutex T
SDL_UpdateWindowSurface T
SDL_UpdateYUVTexture T
SDL_WaitEvent T
SDL_WaitThread T
SDL_free T
SDL_malloc T
SDL_strdup T
_ZN4Libc9Component9constructERNS_3EnvE T
SDL_HasNEON T
SDL_Has3DNow T
SDL_SIMDGetAlignment T
SDL_GetSystemRAM T
SDL_HasARMSIMD T
SDL_HasRDTSC T
SDL_HasAltiVec T
SDL_GetCPUCacheLineSize T
SDL_GetCPUCount T
SDL_HasMMX T
SDL_HasSSE T
SDL_HasSSE2 T
SDL_HasSSE3 T
SDL_HasSSE41 T
SDL_HasSSE42 T
SDL_HasAVX T
SDL_HasAVX2 T
SDL_HasAVX512F T