فهرست منبع

Build Linux SDL from source.

woollybah 10 سال پیش
والد
کامیت
3cdce037d8
4فایلهای تغییر یافته به همراه286 افزوده شده و 6 حذف شده
  1. 2 0
      sdl.mod/common.bmx
  2. 272 0
      sdl.mod/linux_source.bmx
  3. 8 6
      sdl.mod/sdl.bmx
  4. 4 0
      sdl.mod/source.bmx

+ 2 - 0
sdl.mod/common.bmx

@@ -31,6 +31,8 @@ Import "source.bmx"
 Import "source.bmx"
 ?osx
 Import "source.bmx"
+?linux
+Import "source.bmx"
 ?raspberrypi
 Import "-lrt"
 ?

+ 272 - 0
sdl.mod/linux_source.bmx

@@ -0,0 +1,272 @@
+SuperStrict
+
+?linuxx86
+Import "SDL/src/SDL.c"
+Import "SDL/src/SDL_assert.c"
+Import "SDL/src/SDL_error.c"
+Import "SDL/src/SDL_hints.c"
+Import "SDL/src/SDL_log.c"
+Import "SDL/src/atomic/SDL_atomic.c"
+Import "SDL/src/atomic/SDL_spinlock.c"
+Import "SDL/src/audio/SDL_audio.c"
+Import "SDL/src/audio/SDL_audiocvt.c"
+Import "SDL/src/audio/SDL_audiodev.c"
+Import "SDL/src/audio/SDL_audiotypecvt.c"
+Import "SDL/src/audio/SDL_mixer.c"
+Import "SDL/src/audio/SDL_wave.c"
+Import "SDL/src/cpuinfo/SDL_cpuinfo.c"
+Import "SDL/src/dynapi/SDL_dynapi.c"
+Import "SDL/src/events/SDL_clipboardevents.c"
+Import "SDL/src/events/SDL_dropevents.c"
+Import "SDL/src/events/SDL_events.c"
+Import "SDL/src/events/SDL_gesture.c"
+Import "SDL/src/events/SDL_keyboard.c"
+Import "SDL/src/events/SDL_mouse.c"
+Import "SDL/src/events/SDL_quit.c"
+Import "SDL/src/events/SDL_touch.c"
+Import "SDL/src/events/SDL_windowevents.c"
+Import "SDL/src/file/SDL_rwops.c"
+Import "SDL/src/haptic/SDL_haptic.c"
+Import "SDL/src/joystick/SDL_gamecontroller.c"
+Import "SDL/src/joystick/SDL_joystick.c"
+Import "SDL/src/libm/e_atan2.c"
+Import "SDL/src/libm/e_log.c"
+Import "SDL/src/libm/e_pow.c"
+Import "SDL/src/libm/e_rem_pio2.c"
+Import "SDL/src/libm/e_sqrt.c"
+Import "SDL/src/libm/k_cos.c"
+Import "SDL/src/libm/k_rem_pio2.c"
+Import "SDL/src/libm/k_sin.c"
+Import "SDL/src/libm/k_tan.c"
+Import "SDL/src/libm/s_atan.c"
+Import "SDL/src/libm/s_copysign.c"
+Import "SDL/src/libm/s_cos.c"
+Import "SDL/src/libm/s_fabs.c"
+Import "SDL/src/libm/s_floor.c"
+Import "SDL/src/libm/s_scalbn.c"
+Import "SDL/src/libm/s_sin.c"
+Import "SDL/src/libm/s_tan.c"
+Import "SDL/src/power/SDL_power.c"
+Import "SDL/src/render/SDL_d3dmath.c"
+Import "SDL/src/render/SDL_render.c"
+Import "SDL/src/render/SDL_yuv_mmx.c"
+Import "SDL/src/render/SDL_yuv_sw.c"
+Import "SDL/src/render/direct3d/SDL_render_d3d.c"
+Import "SDL/src/render/direct3d11/SDL_render_d3d11.c"
+Import "SDL/src/render/opengl/SDL_render_gl.c"
+Import "SDL/src/render/opengl/SDL_shaders_gl.c"
+Import "SDL/src/render/opengles/SDL_render_gles.c"
+Import "SDL/src/render/opengles2/SDL_render_gles2.c"
+Import "SDL/src/render/opengles2/SDL_shaders_gles2.c"
+Import "SDL/src/render/psp/SDL_render_psp.c"
+Import "SDL/src/render/software/SDL_blendfillrect.c"
+Import "SDL/src/render/software/SDL_blendline.c"
+Import "SDL/src/render/software/SDL_blendpoint.c"
+Import "SDL/src/render/software/SDL_drawline.c"
+Import "SDL/src/render/software/SDL_drawpoint.c"
+Import "SDL/src/render/software/SDL_render_sw.c"
+Import "SDL/src/render/software/SDL_rotate.c"
+Import "SDL/src/stdlib/SDL_getenv.c"
+Import "SDL/src/stdlib/SDL_iconv.c"
+Import "SDL/src/stdlib/SDL_malloc.c"
+Import "SDL/src/stdlib/SDL_qsort.c"
+Import "SDL/src/stdlib/SDL_stdlib.c"
+Import "SDL/src/stdlib/SDL_string.c"
+Import "SDL/src/thread/SDL_thread.c"
+Import "SDL/src/timer/SDL_timer.c"
+Import "SDL/src/video/SDL_RLEaccel.c"
+Import "SDL/src/video/SDL_blit.c"
+Import "SDL/src/video/SDL_blit_0.c"
+Import "SDL/src/video/SDL_blit_1.c"
+Import "SDL/src/video/SDL_blit_A.c"
+Import "SDL/src/video/SDL_blit_N.c"
+Import "SDL/src/video/SDL_blit_auto.c"
+Import "SDL/src/video/SDL_blit_copy.c"
+Import "SDL/src/video/SDL_blit_slow.c"
+Import "SDL/src/video/SDL_bmp.c"
+Import "SDL/src/video/SDL_clipboard.c"
+Import "SDL/src/video/SDL_egl.c"
+Import "SDL/src/video/SDL_fillrect.c"
+Import "SDL/src/video/SDL_pixels.c"
+Import "SDL/src/video/SDL_rect.c"
+Import "SDL/src/video/SDL_shape.c"
+Import "SDL/src/video/SDL_stretch.c"
+Import "SDL/src/video/SDL_surface.c"
+Import "SDL/src/video/SDL_video.c"
+Import "SDL/src/video/dummy/SDL_nullevents.c"
+Import "SDL/src/video/dummy/SDL_nullframebuffer.c"
+Import "SDL/src/video/dummy/SDL_nullvideo.c"
+Import "SDL/src/audio/disk/SDL_diskaudio.c"
+Import "SDL/src/audio/dummy/SDL_dummyaudio.c"
+Import "SDL/src/loadso/dlopen/SDL_sysloadso.c"
+Import "SDL/src/audio/dsp/SDL_dspaudio.c"
+Import "SDL/src/audio/alsa/SDL_alsa_audio.c"
+Import "SDL/src/audio/pulseaudio/SDL_pulseaudio.c"
+Import "SDL/src/video/x11/SDL_x11clipboard.c"
+Import "SDL/src/video/x11/SDL_x11dyn.c"
+Import "SDL/src/video/x11/SDL_x11events.c"
+Import "SDL/src/video/x11/SDL_x11framebuffer.c"
+Import "SDL/src/video/x11/SDL_x11keyboard.c"
+Import "SDL/src/video/x11/SDL_x11messagebox.c"
+Import "SDL/src/video/x11/SDL_x11modes.c"
+Import "SDL/src/video/x11/SDL_x11mouse.c"
+Import "SDL/src/video/x11/SDL_x11opengl.c"
+Import "SDL/src/video/x11/SDL_x11opengles.c"
+Import "SDL/src/video/x11/SDL_x11shape.c"
+Import "SDL/src/video/x11/SDL_x11touch.c"
+Import "SDL/src/video/x11/SDL_x11video.c"
+Import "SDL/src/video/x11/SDL_x11window.c"
+Import "SDL/src/video/x11/SDL_x11xinput2.c"
+Import "SDL/src/video/x11/edid-parse.c"
+Import "SDL/src/video/x11/imKStoUCS.c"
+Import "SDL/src/core/linux/SDL_dbus.c"
+Import "SDL/src/thread/pthread/SDL_systhread.c"
+Import "SDL/src/thread/pthread/SDL_syssem.c"
+Import "SDL/src/thread/pthread/SDL_sysmutex.c"
+Import "SDL/src/thread/pthread/SDL_syscond.c"
+Import "SDL/src/thread/pthread/SDL_systls.c"
+Import "SDL/src/joystick/linux/SDL_sysjoystick.c"
+Import "SDL/src/haptic/linux/SDL_syshaptic.c"
+Import "SDL/src/power/linux/SDL_syspower.c"
+Import "SDL/src/filesystem/unix/SDL_sysfilesystem.c"
+Import "SDL/src/timer/unix/SDL_systimer.c"
+Import "SDL/src/core/linux/SDL_udev.c"
+Import "SDL/src/core/linux/SDL_evdev.c"
+Import "SDL/src/main/dummy/SDL_dummy_main.c"
+?linuxx64
+Import "SDL/src/SDL.c"
+Import "SDL/src/SDL_assert.c"
+Import "SDL/src/SDL_error.c"
+Import "SDL/src/SDL_hints.c"
+Import "SDL/src/SDL_log.c"
+Import "SDL/src/atomic/SDL_atomic.c"
+Import "SDL/src/atomic/SDL_spinlock.c"
+Import "SDL/src/audio/SDL_audio.c"
+Import "SDL/src/audio/SDL_audiocvt.c"
+Import "SDL/src/audio/SDL_audiodev.c"
+Import "SDL/src/audio/SDL_audiotypecvt.c"
+Import "SDL/src/audio/SDL_mixer.c"
+Import "SDL/src/audio/SDL_wave.c"
+Import "SDL/src/cpuinfo/SDL_cpuinfo.c"
+Import "SDL/src/dynapi/SDL_dynapi.c"
+Import "SDL/src/events/SDL_clipboardevents.c"
+Import "SDL/src/events/SDL_dropevents.c"
+Import "SDL/src/events/SDL_events.c"
+Import "SDL/src/events/SDL_gesture.c"
+Import "SDL/src/events/SDL_keyboard.c"
+Import "SDL/src/events/SDL_mouse.c"
+Import "SDL/src/events/SDL_quit.c"
+Import "SDL/src/events/SDL_touch.c"
+Import "SDL/src/events/SDL_windowevents.c"
+Import "SDL/src/file/SDL_rwops.c"
+Import "SDL/src/haptic/SDL_haptic.c"
+Import "SDL/src/joystick/SDL_gamecontroller.c"
+Import "SDL/src/joystick/SDL_joystick.c"
+Import "SDL/src/libm/e_atan2.c"
+Import "SDL/src/libm/e_log.c"
+Import "SDL/src/libm/e_pow.c"
+Import "SDL/src/libm/e_rem_pio2.c"
+Import "SDL/src/libm/e_sqrt.c"
+Import "SDL/src/libm/k_cos.c"
+Import "SDL/src/libm/k_rem_pio2.c"
+Import "SDL/src/libm/k_sin.c"
+Import "SDL/src/libm/k_tan.c"
+Import "SDL/src/libm/s_atan.c"
+Import "SDL/src/libm/s_copysign.c"
+Import "SDL/src/libm/s_cos.c"
+Import "SDL/src/libm/s_fabs.c"
+Import "SDL/src/libm/s_floor.c"
+Import "SDL/src/libm/s_scalbn.c"
+Import "SDL/src/libm/s_sin.c"
+Import "SDL/src/libm/s_tan.c"
+Import "SDL/src/power/SDL_power.c"
+Import "SDL/src/render/SDL_d3dmath.c"
+Import "SDL/src/render/SDL_render.c"
+Import "SDL/src/render/SDL_yuv_mmx.c"
+Import "SDL/src/render/SDL_yuv_sw.c"
+Import "SDL/src/render/direct3d/SDL_render_d3d.c"
+Import "SDL/src/render/direct3d11/SDL_render_d3d11.c"
+Import "SDL/src/render/opengl/SDL_render_gl.c"
+Import "SDL/src/render/opengl/SDL_shaders_gl.c"
+Import "SDL/src/render/opengles/SDL_render_gles.c"
+Import "SDL/src/render/opengles2/SDL_render_gles2.c"
+Import "SDL/src/render/opengles2/SDL_shaders_gles2.c"
+Import "SDL/src/render/psp/SDL_render_psp.c"
+Import "SDL/src/render/software/SDL_blendfillrect.c"
+Import "SDL/src/render/software/SDL_blendline.c"
+Import "SDL/src/render/software/SDL_blendpoint.c"
+Import "SDL/src/render/software/SDL_drawline.c"
+Import "SDL/src/render/software/SDL_drawpoint.c"
+Import "SDL/src/render/software/SDL_render_sw.c"
+Import "SDL/src/render/software/SDL_rotate.c"
+Import "SDL/src/stdlib/SDL_getenv.c"
+Import "SDL/src/stdlib/SDL_iconv.c"
+Import "SDL/src/stdlib/SDL_malloc.c"
+Import "SDL/src/stdlib/SDL_qsort.c"
+Import "SDL/src/stdlib/SDL_stdlib.c"
+Import "SDL/src/stdlib/SDL_string.c"
+Import "SDL/src/thread/SDL_thread.c"
+Import "SDL/src/timer/SDL_timer.c"
+Import "SDL/src/video/SDL_RLEaccel.c"
+Import "SDL/src/video/SDL_blit.c"
+Import "SDL/src/video/SDL_blit_0.c"
+Import "SDL/src/video/SDL_blit_1.c"
+Import "SDL/src/video/SDL_blit_A.c"
+Import "SDL/src/video/SDL_blit_N.c"
+Import "SDL/src/video/SDL_blit_auto.c"
+Import "SDL/src/video/SDL_blit_copy.c"
+Import "SDL/src/video/SDL_blit_slow.c"
+Import "SDL/src/video/SDL_bmp.c"
+Import "SDL/src/video/SDL_clipboard.c"
+Import "SDL/src/video/SDL_egl.c"
+Import "SDL/src/video/SDL_fillrect.c"
+Import "SDL/src/video/SDL_pixels.c"
+Import "SDL/src/video/SDL_rect.c"
+Import "SDL/src/video/SDL_shape.c"
+Import "SDL/src/video/SDL_stretch.c"
+Import "SDL/src/video/SDL_surface.c"
+Import "SDL/src/video/SDL_video.c"
+Import "SDL/src/video/dummy/SDL_nullevents.c"
+Import "SDL/src/video/dummy/SDL_nullframebuffer.c"
+Import "SDL/src/video/dummy/SDL_nullvideo.c"
+Import "SDL/src/audio/disk/SDL_diskaudio.c"
+Import "SDL/src/audio/dummy/SDL_dummyaudio.c"
+Import "SDL/src/loadso/dlopen/SDL_sysloadso.c"
+Import "SDL/src/audio/dsp/SDL_dspaudio.c"
+Import "SDL/src/audio/alsa/SDL_alsa_audio.c"
+Import "SDL/src/audio/pulseaudio/SDL_pulseaudio.c"
+Import "SDL/src/video/x11/SDL_x11clipboard.c"
+Import "SDL/src/video/x11/SDL_x11dyn.c"
+Import "SDL/src/video/x11/SDL_x11events.c"
+Import "SDL/src/video/x11/SDL_x11framebuffer.c"
+Import "SDL/src/video/x11/SDL_x11keyboard.c"
+Import "SDL/src/video/x11/SDL_x11messagebox.c"
+Import "SDL/src/video/x11/SDL_x11modes.c"
+Import "SDL/src/video/x11/SDL_x11mouse.c"
+Import "SDL/src/video/x11/SDL_x11opengl.c"
+Import "SDL/src/video/x11/SDL_x11opengles.c"
+Import "SDL/src/video/x11/SDL_x11shape.c"
+Import "SDL/src/video/x11/SDL_x11touch.c"
+Import "SDL/src/video/x11/SDL_x11video.c"
+Import "SDL/src/video/x11/SDL_x11window.c"
+Import "SDL/src/video/x11/SDL_x11xinput2.c"
+Import "SDL/src/video/x11/edid-parse.c"
+Import "SDL/src/video/x11/imKStoUCS.c"
+Import "SDL/src/core/linux/SDL_dbus.c"
+Import "SDL/src/thread/pthread/SDL_systhread.c"
+Import "SDL/src/thread/pthread/SDL_syssem.c"
+Import "SDL/src/thread/pthread/SDL_sysmutex.c"
+Import "SDL/src/thread/pthread/SDL_syscond.c"
+Import "SDL/src/thread/pthread/SDL_systls.c"
+Import "SDL/src/joystick/linux/SDL_sysjoystick.c"
+Import "SDL/src/haptic/linux/SDL_syshaptic.c"
+Import "SDL/src/power/linux/SDL_syspower.c"
+Import "SDL/src/filesystem/unix/SDL_sysfilesystem.c"
+Import "SDL/src/timer/unix/SDL_systimer.c"
+Import "SDL/src/core/linux/SDL_udev.c"
+Import "SDL/src/core/linux/SDL_evdev.c"
+Import "SDL/src/main/dummy/SDL_dummy_main.c"
+?raspberrypi
+
+?
+

+ 8 - 6
sdl.mod/sdl.bmx

@@ -52,11 +52,13 @@ Import "-framework CoreVideo"
 Import "-framework ForceFeedback"
 
 ?linuxx86
-ModuleInfo "LD_OPTS: -L%PWD%/lib/linuxx86"
+ModuleInfo "CC_OPTS: -mmmx -m3dnow -msse -msse2 -DHAVE_LINUX_VERSION_H"
+ModuleInfo "CC_OPTS: -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include"
 
 Import "include/linuxx86/*.h"
 ?linuxx64
-ModuleInfo "LD_OPTS: -L%PWD%/lib/linuxx64"
+ModuleInfo "CC_OPTS: -mmmx -m3dnow -msse -msse2 -DHAVE_LINUX_VERSION_H"
+ModuleInfo "CC_OPTS: -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include"
 
 Import "include/linuxx64/*.h"
 ?raspberrypi
@@ -83,10 +85,10 @@ Import "-lole32"
 Import "-loleaut32"
 Import "-lshell32"
 Import "-lversion" ' required in BlitzMax/lib
-?linuxx86
-Import "-lSDL2"
-?linuxx64
-Import "-lSDL2"
+'?linuxx86
+'Import "-lSDL2"
+'?linuxx64
+'Import "-lSDL2"
 ?raspberrypi
 Import "-lSDL2"
 ?linux

+ 4 - 0
sdl.mod/source.bmx

@@ -423,6 +423,10 @@ Import "SDL/src/video/SDL_stretch.c"
 Import "SDL/src/video/SDL_surface.c"
 Import "SDL/src/video/SDL_video.c"
 
+?Not android
+ ' linux desktop + raspberrypi
+Import "linux_source.bmx"
 ?
 
 
+