Files
genode-world/recipes/api/sdl/content.mk
Norman Feske c070e64bd4 libsdl: config tweaks, remove sdlmain lib
This patch contains changes to the libSDL port that were needed to build
the Hatari emulator using cmake.

- Since SDL programs cannot use the posix library (because sdl's init
  function needs a way to get hold of the Genode env), the sdl_main
  library must be used instead of the posix library. The sdl_main
  code implements the Libc::Component::construct function for the
  final binary. However, 3rd-party build systems are not aware of this
  Genode-specific peculiarity and thereby create binaries that leave
  libsdl uninitialized. This patch adds the sdl_main to libsdl by
  default and thereby eliminates the need for specifying the extra
  sdl_main library. Customizing the Libc::Component::construct is
  still possible by overriding the library-provided implementation
  in the main program.

- A few missing config definitions are added to compile Hatari
  successfully.

- Avoid reliance on the include/SDL convention in SDL_config.h

- Cmake relies on the upper-case naming of the library with no way
  to tweak this convention. So we install an symlink named `SDL.lib.so`
  when installing the library into the <build-dir>/bin/ directory.

Fixes #161
2019-05-14 11:45:43 +02:00

29 lines
756 B
Makefile

MIRROR_FROM_REP_DIR := lib/symbols/sdl lib/import/import-sdl.mk \
MIRROR_FROM_LIBPORTS := lib/mk/mesa_api.mk
content: $(MIRROR_FROM_REP_DIR) $(MIRROR_FROM_LIBPORTS) include LICENSE
$(MIRROR_FROM_REP_DIR):
$(mirror_from_rep_dir)
$(MIRROR_FROM_LIBPORTS):
mkdir -p $(dir $@)
cp $(GENODE_DIR)/repos/libports/$@ $@
SDL_PORT_DIR := $(call port_dir,$(REP_DIR)/ports/sdl)
MESA_PORT_DIR := $(call port_dir,$(GENODE_DIR)/repos/libports/ports/mesa)
#
# The Mesa header files needed for SDL_OpenGL are copied as well.
#
include:
mkdir -p $@
cp -r $(SDL_PORT_DIR)/include/SDL $@/
cp -r $(REP_DIR)/include/SDL $@/
cp -r $(MESA_PORT_DIR)/include/* $@/
cp -r $(GENODE_DIR)/repos/libports/include/EGL $@/
LICENSE:
cp $(SDL_PORT_DIR)/src/lib/sdl/COPYING $@