Port of libsdl, mixer, image, net, ttf

Imported from genode repository

Issue genodelabs/genode#3100
This commit is contained in:
Norman Feske
2019-01-03 15:53:06 +01:00
parent c698269e5c
commit c3ba011794
66 changed files with 3055 additions and 0 deletions

92
lib/mk/sdl.mk Normal file
View File

@@ -0,0 +1,92 @@
SDL_PORT_DIR := $(call select_from_ports,sdl)
SDL_DIR := $(SDL_PORT_DIR)/src/lib/sdl
# build shared object
SHARED_LIB = yes
# use default warning level for 3rd-party code
CC_WARN =
INC_DIR += $(SDL_PORT_DIR)/include
INC_DIR += $(SDL_PORT_DIR)/include/SDL
#
# In case we use the depot add the location
# to the global include path.
#
ifeq ($(CONTRIB),)
REP_INC_DIR += include/SDL
endif
# backends
SRC_CC = video/SDL_genode_fb_video.cc \
video/SDL_genode_fb_events.cc \
audio/SDL_genodeaudio.cc \
loadso/SDL_loadso.cc
INC_DIR += $(REP_DIR)/include/SDL \
$(REP_DIR)/src/lib/sdl \
$(REP_DIR)/src/lib/sdl/thread \
$(REP_DIR)/src/lib/sdl/video
# main files
SRC_C = SDL.c \
SDL_error.c \
SDL_fatal.c
INC_DIR += $(REP_DIR)/src/lib/sdl
# stdlib files
SRC_C += stdlib/SDL_getenv.c \
stdlib/SDL_string.h
# thread subsystem
SRC_C += thread/SDL_thread.c \
thread/pthread/SDL_systhread.c \
thread/generic/SDL_syscond.c \
thread/generic/SDL_sysmutex.c \
thread/pthread/SDL_syssem.c
INC_DIR += $(SDL_DIR)/src/thread
# cpuinfo subsystem
SRC_C += cpuinfo/SDL_cpuinfo.c
# timer subsystem
SRC_C += timer/SDL_timer.c \
timer/unix/SDL_systimer.c
INC_DIR += $(SDL_DIR)/src/timer
# video subsystem
SRC_C += $(addprefix video/,$(notdir $(wildcard $(SDL_DIR)/src/video/*.c)))
INC_DIR += $(SDL_DIR)/src/video
# event subsystem
SRC_C += $(addprefix events/,$(notdir $(wildcard $(SDL_DIR)/src/events/*.c)))
INC_DIR += $(SDL_DIR)/src/events
# audio subsystem
SRC_C += $(addprefix audio/,$(notdir $(wildcard $(SDL_DIR)/src/audio/*.c)))
INC_DIR += $(SDL_DIR)/src/audio
# file I/O subsystem
SRC_C += file/SDL_rwops.c
# joystick subsystem
SRC_C += joystick/SDL_joystick.c \
joystick/dummy/SDL_sysjoystick.c
INC_DIR += $(SDL_DIR)/src/joystick
# cdrom subsystem
SRC_C += cdrom/SDL_cdrom.c \
cdrom/dummy/SDL_syscdrom.c
INC_DIR += $(SDL_DIR)/src/cdrom
# we need libc
LIBS = libc mesa_api
# backend path
vpath % $(REP_DIR)/src/lib/sdl
vpath % $(SDL_DIR)/src
CC_CXX_WARN_STRICT =

15
lib/mk/sdl_image.mk Normal file
View File

@@ -0,0 +1,15 @@
SDL_IMAGE_PORT_DIR := $(call select_from_ports,sdl_image)
SRC_C = $(notdir $(wildcard $(SDL_IMAGE_PORT_DIR)/src/lib/sdl_image/IMG*.c))
LIBS += libc libm sdl jpeg libpng zlib
SUPPORTED_FORMATS = PNG JPG TGA PNM XPM
CC_OPT += $(addprefix -DLOAD_,$(SUPPORTED_FORMATS))
vpath %.c $(SDL_IMAGE_PORT_DIR)/src/lib/sdl_image
SHARED_LIB = yes
CC_CXX_WARN_STRICT =

22
lib/mk/sdl_mixer.mk Normal file
View File

@@ -0,0 +1,22 @@
SDL_MIXER_PORT_DIR := $(call select_from_ports,sdl_mixer)
# exclude example programs
FILTER_OUT = playmus.c playwave.c
ALL_SDL_MIXER_SRC_C = $(notdir $(wildcard $(SDL_MIXER_PORT_DIR)/src/lib/sdl_mixer/*.c))
SRC_C = $(filter-out $(FILTER_OUT), $(ALL_SDL_MIXER_SRC_C))
LIBS += libc libm sdl
# suppress warnings of 3rd-party code
CC_OPT_music = -Wno-unused-label -Wno-unused-function
CC_OPT_load_aiff = -Wno-unused-but-set-variable
CC_OPT_wavestream = -Wno-unused-but-set-variable
CC_OPT_effect_position = -Wno-misleading-indentation
vpath %.c $(SDL_MIXER_PORT_DIR)/src/lib/sdl_mixer
SHARED_LIB = yes
CC_CXX_WARN_STRICT =

14
lib/mk/sdl_net.mk Normal file
View File

@@ -0,0 +1,14 @@
SDL_NET_PORT_DIR := $(call select_from_ports,sdl_net)
SDL_NET_DIR := $(SDL_NET_PORT_DIR)/src/lib/sdl_net
SRC_C = $(notdir $(wildcard $(SDL_NET_PORT_DIR)/src/lib/sdl_net/SDLnet*.c))
vpath %.c $(SDL_NET_PORT_DIR)/src/lib/sdl_net
INC_DIR += $(SDL_NET_PORT_DIR)/src/lib/sdl_net
LIBS += libc sdl
SHARED_LIB = yes
CC_CXX_WARN_STRICT =

8
lib/mk/sdl_ttf.mk Normal file
View File

@@ -0,0 +1,8 @@
SRC_C = SDL_ttf.c
LIBS += libc libm freetype sdl
vpath %.c $(call select_from_ports,sdl_ttf)/src/lib/sdl_ttf
SHARED_LIB = yes
CC_CXX_WARN_STRICT =

7
lib/mk/sdlmain.mk Normal file
View File

@@ -0,0 +1,7 @@
SRC_CC = sdl_main.cc
LIBS += libc
vpath sdl_main.cc $(REP_DIR)/src/lib/sdl
CC_CXX_WARN_STRICT =