RingRacers/libs/SDL2/docs/README-riscos.md
James R fd3b045f80 Update libs/SDL2 to 2.0.22
# Conflicts:
#	libs/SDL2/COPYING.txt
#	libs/SDL2/WhatsNew.txt
#	libs/SDL2/docs/README-android.md
#	libs/SDL2/docs/README-linux.md
#	libs/SDL2/i686-w64-mingw32/bin/SDL2.dll
#	libs/SDL2/i686-w64-mingw32/bin/sdl2-config
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_assert.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_atomic.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_audio.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_bits.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_blendmode.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_clipboard.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_config.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_cpuinfo.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_egl.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_endian.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_error.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_events.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_filesystem.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_gamecontroller.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_gesture.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_haptic.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_hints.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_joystick.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_keyboard.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_keycode.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_loadso.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_log.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_main.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_messagebox.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_mouse.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_mutex.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_name.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_opengl.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_opengles.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_opengles2.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_pixels.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_platform.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_power.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_quit.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_rect.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_render.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_revision.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_rwops.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_scancode.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_sensor.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_shape.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_stdinc.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_surface.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_system.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_syswm.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test_assert.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test_common.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test_compare.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test_crc32.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test_font.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test_fuzzer.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test_harness.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test_images.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test_log.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test_md5.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test_memory.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_test_random.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_thread.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_timer.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_touch.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_types.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_version.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_video.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/SDL_vulkan.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/begin_code.h
#	libs/SDL2/i686-w64-mingw32/include/SDL2/close_code.h
#	libs/SDL2/i686-w64-mingw32/lib/libSDL2.a
#	libs/SDL2/i686-w64-mingw32/lib/libSDL2.dll.a
#	libs/SDL2/i686-w64-mingw32/lib/libSDL2.la
#	libs/SDL2/i686-w64-mingw32/lib/libSDL2_test.a
#	libs/SDL2/i686-w64-mingw32/lib/libSDL2_test.la
#	libs/SDL2/i686-w64-mingw32/lib/libSDL2main.a
#	libs/SDL2/i686-w64-mingw32/lib/libSDL2main.la
#	libs/SDL2/i686-w64-mingw32/lib/pkgconfig/sdl2.pc
#	libs/SDL2/test/Makefile.in
#	libs/SDL2/test/Makefile.os2
#	libs/SDL2/test/checkkeys.c
#	libs/SDL2/test/configure.ac
#	libs/SDL2/test/controllermap.c
#	libs/SDL2/test/loopwave.c
#	libs/SDL2/test/loopwavequeue.c
#	libs/SDL2/test/testatomic.c
#	libs/SDL2/test/testaudiocapture.c
#	libs/SDL2/test/testaudiohotplug.c
#	libs/SDL2/test/testaudioinfo.c
#	libs/SDL2/test/testautomation.c
#	libs/SDL2/test/testbounds.c
#	libs/SDL2/test/testcustomcursor.c
#	libs/SDL2/test/testdisplayinfo.c
#	libs/SDL2/test/testdraw2.c
#	libs/SDL2/test/testdrawchessboard.c
#	libs/SDL2/test/testdropfile.c
#	libs/SDL2/test/testerror.c
#	libs/SDL2/test/testfile.c
#	libs/SDL2/test/testfilesystem.c
#	libs/SDL2/test/testgamecontroller.c
#	libs/SDL2/test/testgesture.c
#	libs/SDL2/test/testgl2.c
#	libs/SDL2/test/testgles.c
#	libs/SDL2/test/testgles2.c
#	libs/SDL2/test/testhotplug.c
#	libs/SDL2/test/testiconv.c
#	libs/SDL2/test/testime.c
#	libs/SDL2/test/testintersections.c
#	libs/SDL2/test/testjoystick.c
#	libs/SDL2/test/testkeys.c
#	libs/SDL2/test/testloadso.c
#	libs/SDL2/test/testlock.c
#	libs/SDL2/test/testmessage.c
#	libs/SDL2/test/testmultiaudio.c
#	libs/SDL2/test/testnative.c
#	libs/SDL2/test/testnative.h
#	libs/SDL2/test/testnativew32.c
#	libs/SDL2/test/testnativex11.c
#	libs/SDL2/test/testoverlay2.c
#	libs/SDL2/test/testplatform.c
#	libs/SDL2/test/testpower.c
#	libs/SDL2/test/testqsort.c
#	libs/SDL2/test/testrelative.c
#	libs/SDL2/test/testrendercopyex.c
#	libs/SDL2/test/testrendertarget.c
#	libs/SDL2/test/testresample.c
#	libs/SDL2/test/testrumble.c
#	libs/SDL2/test/testscale.c
#	libs/SDL2/test/testsem.c
#	libs/SDL2/test/testsensor.c
#	libs/SDL2/test/testshader.c
#	libs/SDL2/test/testshape.c
#	libs/SDL2/test/testsprite2.c
#	libs/SDL2/test/testspriteminimal.c
#	libs/SDL2/test/teststreaming.c
#	libs/SDL2/test/testthread.c
#	libs/SDL2/test/testtimer.c
#	libs/SDL2/test/testver.c
#	libs/SDL2/test/testviewport.c
#	libs/SDL2/test/testvulkan.c
#	libs/SDL2/test/testwm2.c
#	libs/SDL2/test/testyuv.c
#	libs/SDL2/test/testyuv_cvt.c
#	libs/SDL2/test/testyuv_cvt.h
#	libs/SDL2/test/torturethread.c
#	libs/SDL2/x86_64-w64-mingw32/bin/SDL2.dll
#	libs/SDL2/x86_64-w64-mingw32/bin/sdl2-config
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_assert.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_atomic.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_audio.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_bits.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_blendmode.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_clipboard.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_config.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_cpuinfo.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_egl.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_endian.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_error.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_events.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_filesystem.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_gamecontroller.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_gesture.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_haptic.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_hints.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_joystick.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_keyboard.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_keycode.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_loadso.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_log.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_main.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_messagebox.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_mouse.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_mutex.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_name.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_opengl.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_opengles.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_opengles2.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_pixels.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_platform.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_power.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_quit.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_rect.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_render.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_revision.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_rwops.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_scancode.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_sensor.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_shape.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_stdinc.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_surface.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_system.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_syswm.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test_assert.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test_common.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test_compare.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test_crc32.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test_font.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test_fuzzer.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test_harness.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test_images.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test_log.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test_md5.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test_memory.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_test_random.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_thread.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_timer.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_touch.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_types.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_version.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_video.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/SDL_vulkan.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/begin_code.h
#	libs/SDL2/x86_64-w64-mingw32/include/SDL2/close_code.h
#	libs/SDL2/x86_64-w64-mingw32/lib/libSDL2.a
#	libs/SDL2/x86_64-w64-mingw32/lib/libSDL2.dll.a
#	libs/SDL2/x86_64-w64-mingw32/lib/libSDL2.la
#	libs/SDL2/x86_64-w64-mingw32/lib/libSDL2_test.a
#	libs/SDL2/x86_64-w64-mingw32/lib/libSDL2_test.la
#	libs/SDL2/x86_64-w64-mingw32/lib/libSDL2main.a
#	libs/SDL2/x86_64-w64-mingw32/lib/libSDL2main.la
#	libs/SDL2/x86_64-w64-mingw32/lib/pkgconfig/sdl2.pc
2022-09-05 15:13:45 +01:00

1.8 KiB

RISC OS

Requirements:

Compiling:

Currently, SDL2 for RISC OS only supports compiling with GCCSDK under Linux. Both the autoconf and CMake build systems are supported.

The following commands can be used to build SDL2 for RISC OS using autoconf:

./configure --host=arm-unknown-riscos --prefix=$GCCSDK_INSTALL_ENV --disable-gcc-atomics
make
make install

The following commands can be used to build SDL2 for RISC OS using CMake:

cmake -Bbuild-riscos -DCMAKE_TOOLCHAIN_FILE=$GCCSDK_INSTALL_ENV/toolchain-riscos.cmake -DRISCOS=ON -DCMAKE_INSTALL_PREFIX=$GCCSDK_INSTALL_ENV -DCMAKE_BUILD_TYPE=Release -DSDL_GCC_ATOMICS=OFF
cmake --build build-riscos
cmake --build build-riscos --target install

Current level of implementation

The video driver currently provides full screen video support with keyboard and mouse input. Windowed mode is not yet supported, but is planned in the future. Only software rendering is supported.

The filesystem APIs return either Unix-style paths or RISC OS-style paths based on the value of the __riscosify_control symbol, as is standard for UnixLib functions.

The audio, loadso, thread and timer APIs are currently provided by UnixLib.

GCC atomics are currently broken on some platforms, meaning it's currently necessary to compile with --disable-gcc-atomics using autotools or -DSDL_GCC_ATOMICS=OFF using CMake.

The joystick, locale and power APIs are not yet implemented.