3rdparty: build SDL for unix systems (incl macOS)
travis-ci: enable build 3rdparty for MacOS add patch for comiling SDL-1.2.15 under macOS
This commit is contained in:
parent
e5221ba8d6
commit
335db46911
@ -45,7 +45,7 @@ install:
|
||||
|
||||
script:
|
||||
- 'cd $TRAVIS_BUILD_DIR'
|
||||
- 'if [ "$WIN32CROSS" = "1" ] ; then make 3rdparty -j3 ; fi'
|
||||
- 'if [ "$WIN32CROSS" = "1" ] || [ "$TRAVIS_OS_NAME" = "osx" ] ; then make 3rdparty -j3 ; fi'
|
||||
- 'make -j3'
|
||||
- 'make ziprelease'
|
||||
- 'if [ "$WIN32CROSS" = "1" ] ; then make win32installer ; fi'
|
||||
|
||||
36
3rdparty/Makefile
vendored
36
3rdparty/Makefile
vendored
@ -1,5 +1,12 @@
|
||||
API ?= sdl
|
||||
|
||||
PLATFORM = $(shell uname)
|
||||
|
||||
SDL = SDL-1.2.15
|
||||
SDLARCH = $(SDL).tar.gz
|
||||
SDLURL = https://www.libsdl.org/release/$(SDLARCH)
|
||||
SDLPATCHES = SDL-1.2.15-patch-src_video_x11_SDL_x11sym.h \
|
||||
SDL-1.2.15-quartzvideo.patch
|
||||
SDLDEVEL = SDL-devel-1.2.15-mingw32.tar.gz
|
||||
SDLDEVELURL = https://www.libsdl.org/release/$(SDLDEVEL)
|
||||
SDLDEVELPATCH = SDL-1.2.15.patch
|
||||
@ -229,12 +236,12 @@ $(SDL2TTF)/.ok: archives/$(SDL2TTFARCH)
|
||||
$(TAR) xzf $<
|
||||
touch $@
|
||||
|
||||
ifdef WIN32
|
||||
$(PREFIX)/lib/libSDLmain.a: archives/$(SDLDEVEL)
|
||||
$(TAR) xzf $<
|
||||
patch -p0 < $(SDLDEVELPATCH)
|
||||
$(MKDIR) $(PREFIX)
|
||||
cd SDL-1.2.15 && CROSS_PATH=$(PREFIX) $(MAKE) cross
|
||||
ifdef WIN32
|
||||
$(MKDIR) ../bin && $(CP) $(PREFIX)/bin/SDL.dll ../bin && $(STRIP) ../bin/SDL.dll
|
||||
echo "The following file:" > ../doc/README-SDL.txt
|
||||
echo "" >> ../doc/README-SDL.txt
|
||||
@ -242,6 +249,23 @@ ifdef WIN32
|
||||
echo "" >> ../doc/README-SDL.txt
|
||||
echo "is the runtime environment for the SDL library." >> ../doc/README-SDL.txt
|
||||
tail --lines +3 SDL-1.2.15/README-SDL.txt >> ../doc/README-SDL.txt
|
||||
else
|
||||
$(PREFIX)/lib/libSDLmain.a: $(SDL)/.ok
|
||||
cd $(SDL) && ./configure --host=$(HOST) --prefix=$(PREFIX) \
|
||||
--disable-joystick --disable-audio
|
||||
cd $(SDL) && $(MAKE)
|
||||
cd $(SDL) && $(MAKE) install
|
||||
|
||||
$(SDL)/.ok: archives/$(SDLARCH)
|
||||
$(TAR) xzf $<
|
||||
cd $(SDL) ; for p in $(SDLPATCHES) ; do echo "applying $$p" ; patch -p0 < ../$$p ; done
|
||||
touch $@
|
||||
endif
|
||||
|
||||
ifndef WIN32
|
||||
ifeq ($(PLATFORM), FreeBSD)
|
||||
ADDLDFLAGS = -L/usr/local/lib
|
||||
endif
|
||||
endif
|
||||
|
||||
$(PREFIX)/lib/libSDL_image.a: $(PREFIX)/lib/libjpeg.a
|
||||
@ -249,7 +273,9 @@ $(PREFIX)/lib/libSDL_image.a: $(PREFIX)/lib/libtiff.a
|
||||
$(PREFIX)/lib/libSDL_image.a: $(PREFIX)/lib/libpng.a
|
||||
|
||||
$(PREFIX)/lib/libSDL_image.a: $(SDLIMAGE)/.ok
|
||||
cd $(SDLIMAGE) && CC="$(CC) $(LDFLAGS)" CPPFLAGS=-I$(PREFIX)/include LDFLAGS="-L$(PREFIX)/lib" LIBPNG_CFLAGS= LIBPNG_LIBS=-lpng ./configure --prefix=$(PREFIX) --with-sdl-prefix=$(PREFIX) --host=$(HOST) --disable-webp
|
||||
cd $(SDLIMAGE) && CC="$(CC) $(LDFLAGS)" CPPFLAGS=-I$(PREFIX)/include \
|
||||
LDFLAGS="-L$(PREFIX)/lib $(ADDLDFLAGS)" LIBPNG_CFLAGS= LIBPNG_LIBS=-lpng \
|
||||
./configure --prefix=$(PREFIX) --with-sdl-prefix=$(PREFIX) --host=$(HOST) --disable-webp
|
||||
cd $(SDLIMAGE) && $(MAKE)
|
||||
cd $(SDLIMAGE) && $(MAKE) install
|
||||
ifdef WIN32
|
||||
@ -274,7 +300,7 @@ $(PREFIX)/lib/libSDL_ttf.a: $(PREFIX)/lib/libfreetype.a
|
||||
|
||||
$(PREFIX)/lib/libSDL_ttf.a: $(SDLTTF)/.ok
|
||||
cd $(SDLTTF) && PKG_CONFIG_PATH=$(PREFIX)/lib/pkgconfig \
|
||||
CC=$(CC) CPPFLAGS=-I$(PREFIX)/include LDFLAGS="-L$(PREFIX)/lib $(LDFLAGS)" \
|
||||
CC=$(CC) CPPFLAGS=-I$(PREFIX)/include LDFLAGS="-L$(PREFIX)/lib $(LDFLAGS) $(ADDLDFLAGS)" \
|
||||
./configure --prefix=$(PREFIX) --with-sdl-prefix=$(PREFIX) --with-freetype-prefix=$(PREFIX) --host=$(HOST)
|
||||
cd $(SDLTTF) && $(MAKE)
|
||||
cd $(SDLTTF) && $(MAKE) install
|
||||
@ -407,6 +433,10 @@ $(RECOIL)/.ok: archives/$(RECOILARCH)
|
||||
$(TAR) xzf $<
|
||||
touch $@
|
||||
|
||||
archives/$(SDLARCH):
|
||||
@$(MKDIR) $(@D)
|
||||
cd $(@D) && $(GETURL) $(SDLURL)
|
||||
|
||||
archives/$(SDLDEVEL):
|
||||
@$(MKDIR) $(@D)
|
||||
cd $(@D) && $(GETURL) $(SDLDEVELURL)
|
||||
|
||||
11
3rdparty/SDL-1.2.15-patch-src_video_x11_SDL_x11sym.h
vendored
Normal file
11
3rdparty/SDL-1.2.15-patch-src_video_x11_SDL_x11sym.h
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
--- src/video/x11/SDL_x11sym.h.orig 2013-06-05 11:06:34.000000000 +0200
|
||||
+++ src/video/x11/SDL_x11sym.h 2013-06-05 11:08:02.000000000 +0200
|
||||
@@ -165,7 +165,7 @@
|
||||
*/
|
||||
#ifdef LONG64
|
||||
SDL_X11_MODULE(IO_32BIT)
|
||||
-SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return)
|
||||
+SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return)
|
||||
SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),)
|
||||
#endif
|
||||
|
||||
20
3rdparty/SDL-1.2.15-quartzvideo.patch
vendored
Normal file
20
3rdparty/SDL-1.2.15-quartzvideo.patch
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
# HG changeset patch
|
||||
# User Sam Lantinga <slouken@libsdl.org>
|
||||
# Date 1378535730 25200
|
||||
# Node ID bbfb41c13a870d2ef487242b3a23d59f8f27f783
|
||||
# Parent e9466ead70e5964b37575649d88602c10e6d01c8
|
||||
Better fix for bug 2085 - SDL 1.2.15 fails to build on OSX 10.9 Mavericks, thanks Ozkan!
|
||||
|
||||
diff -r e9466ead70e5 -r bbfb41c13a87 src/video/quartz/SDL_QuartzVideo.h
|
||||
--- src/video/quartz/SDL_QuartzVideo.h Thu Sep 05 06:38:57 2013 -0700
|
||||
+++ src/video/quartz/SDL_QuartzVideo.h Fri Sep 06 23:35:30 2013 -0700
|
||||
@@ -91,7 +91,9 @@
|
||||
CGDirectDisplayID display; /* 0 == main display (only support single display) */
|
||||
const void *mode; /* current mode of the display */
|
||||
const void *save_mode; /* original mode of the display */
|
||||
+#if (MAC_OS_X_VERSION_MIN_REQUIRED < 1070)
|
||||
CGDirectPaletteRef palette; /* palette of an 8-bit display */
|
||||
+#endif
|
||||
NSOpenGLContext *gl_context; /* OpenGL rendering context */
|
||||
NSGraphicsContext *nsgfx_context; /* Cocoa graphics context */
|
||||
Uint32 width, height, bpp; /* frequently used data about the display */
|
||||
Loading…
x
Reference in New Issue
Block a user