travis-ci: test building 3rd party lib dependencies
This commit is contained in:
		
							parent
							
								
									3149d04110
								
							
						
					
					
						commit
						156656c51a
					
				
							
								
								
									
										11
									
								
								.travis.yml
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								.travis.yml
									
									
									
									
									
								
							@ -15,8 +15,14 @@ addons:
 | 
			
		||||
 | 
			
		||||
sudo: false
 | 
			
		||||
 | 
			
		||||
#env:
 | 
			
		||||
#  - 'WIN32CROSS=1'
 | 
			
		||||
env:
 | 
			
		||||
  - ''
 | 
			
		||||
  - 'WIN32CROSS=1'
 | 
			
		||||
 | 
			
		||||
matrix:
 | 
			
		||||
  exclude:
 | 
			
		||||
    - os: osx
 | 
			
		||||
      env: 'WIN32CROSS=1'
 | 
			
		||||
 | 
			
		||||
compiler:
 | 
			
		||||
  - gcc
 | 
			
		||||
@ -31,5 +37,6 @@ install:
 | 
			
		||||
 | 
			
		||||
script:
 | 
			
		||||
  - 'cd $TRAVIS_BUILD_DIR'
 | 
			
		||||
  - 'if [ "$WIN32CROSS" = "1" ] ; then make 3rdparty ; fi'
 | 
			
		||||
  - 'if [ "$TRAVIS_OS_NAME" = "osx" ] ; then make ; else make -j3 ; fi'
 | 
			
		||||
  - 'make ziprelease'
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										7
									
								
								3rdparty/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								3rdparty/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,7 @@
 | 
			
		||||
archives/
 | 
			
		||||
usr/
 | 
			
		||||
SDL-*/
 | 
			
		||||
SDL_image*/
 | 
			
		||||
jpeg-*/
 | 
			
		||||
libpng-*/
 | 
			
		||||
tiff-*/
 | 
			
		||||
							
								
								
									
										123
									
								
								3rdparty/Makefile
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										123
									
								
								3rdparty/Makefile
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,123 @@
 | 
			
		||||
SDLDEVEL = SDL-devel-1.2.15-mingw32.tar.gz
 | 
			
		||||
SDLDEVELURL = https://www.libsdl.org/release/$(SDLDEVEL)
 | 
			
		||||
SDLDEVELPATCH = SDL-1.2.15.patch
 | 
			
		||||
SDLIMAGE = SDL_image-1.2.12
 | 
			
		||||
SDLIMAGEARCH = SDL_image-1.2.12.tar.gz
 | 
			
		||||
SDLIMAGEURL = https://www.libsdl.org/projects/SDL_image/release/$(SDLIMAGEARCH)
 | 
			
		||||
LIBPNG = libpng-1.6.32
 | 
			
		||||
LIBPNGARCH = $(LIBPNG).tar.gz
 | 
			
		||||
LIBPNGURL = https://download.sourceforge.net/libpng/$(LIBPNGARCH)
 | 
			
		||||
JPEGVER = 9c
 | 
			
		||||
JPEGDIR = jpeg-$(JPEGVER)
 | 
			
		||||
JPEGARCH = jpegsrc.v$(JPEGVER).tar.gz
 | 
			
		||||
JPEGURL = http://www.ijg.org/files/$(JPEGARCH)
 | 
			
		||||
LIBTIFF = tiff-v3.4
 | 
			
		||||
LIBTIFFARCH = $(LIBTIFF)-tar.gz
 | 
			
		||||
LIBTIFFURL = ftp://ftp.sgi.com/graphics/tiff/$(LIBTIFFARCH)
 | 
			
		||||
# https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-0.6.1.tar.gz
 | 
			
		||||
 | 
			
		||||
PREFIX = $(PWD)/usr
 | 
			
		||||
 | 
			
		||||
MKDIR = mkdir -p
 | 
			
		||||
TAR = $(shell which tar)
 | 
			
		||||
GETURL = $(shell which wget || echo "curl -O -L")
 | 
			
		||||
 | 
			
		||||
BUILD_CC := $(CC)
 | 
			
		||||
 | 
			
		||||
ifdef WIN32CROSS
 | 
			
		||||
CROSS_CC ?= $(shell which i686-w64-mingw32-gcc || which mingw32-gcc)
 | 
			
		||||
CROSS_AR ?= $(shell which i686-w64-mingw32-ar || which mingw32-ar)
 | 
			
		||||
CROSS_RANLIB ?= $(shell which i686-w64-mingw32-ranlib || which mingw32-ranlib)
 | 
			
		||||
CC = $(CROSS_CC)
 | 
			
		||||
AR = $(CROSS_AR)
 | 
			
		||||
RANLIB = $(CROSS_RANLIB)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
HOST = $(shell $(CC) -dumpmachine)
 | 
			
		||||
#HOST = i686-pc-mingw32
 | 
			
		||||
 | 
			
		||||
.PHONY:	all clean libs libpng libsdl libsdl_image libjpeg libtiff
 | 
			
		||||
 | 
			
		||||
all:	libs
 | 
			
		||||
 | 
			
		||||
clean:
 | 
			
		||||
	$(RM) -r archives $(LIBPNG)
 | 
			
		||||
 | 
			
		||||
libs:	libpng libsdl libsdl_image
 | 
			
		||||
libsdl:	$(PREFIX)/lib/libSDLmain.a
 | 
			
		||||
libsdl_image:	$(PREFIX)/lib/libSDL_image.a
 | 
			
		||||
libjpeg:	$(PREFIX)/lib/libjpeg.a
 | 
			
		||||
libpng:	$(PREFIX)/lib/libpng.a
 | 
			
		||||
libtiff:	$(PREFIX)/lib/libtiff.a
 | 
			
		||||
 | 
			
		||||
$(PREFIX)/lib/libSDLmain.a:	archives/$(SDLDEVEL)
 | 
			
		||||
	$(TAR) xzf $<
 | 
			
		||||
	patch -p0 < $(SDLDEVELPATCH)
 | 
			
		||||
	cd SDL-1.2.15 && CROSS_PATH=$(PREFIX) $(MAKE) cross
 | 
			
		||||
 | 
			
		||||
$(PREFIX)/lib/libSDL_image.a:	$(PREFIX)/lib/libjpeg.a
 | 
			
		||||
$(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) CFLAGS=-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) && $(MAKE)
 | 
			
		||||
	cd $(SDLIMAGE) && $(MAKE) install
 | 
			
		||||
 | 
			
		||||
$(SDLIMAGE)/.ok:	archives/$(SDLIMAGEARCH)
 | 
			
		||||
	$(TAR) xzf $<
 | 
			
		||||
	touch $@
 | 
			
		||||
 | 
			
		||||
$(PREFIX)/lib/libjpeg.a:	$(JPEGDIR)/.ok
 | 
			
		||||
	cd $(JPEGDIR) && CC=$(CC) ./configure --prefix=$(PREFIX) --host=$(HOST)
 | 
			
		||||
	cd $(JPEGDIR) && $(MAKE)
 | 
			
		||||
	cd $(JPEGDIR) && $(MAKE) install
 | 
			
		||||
 | 
			
		||||
$(JPEGDIR)/.ok:	archives/$(JPEGARCH)
 | 
			
		||||
	$(TAR) xzf $<
 | 
			
		||||
	touch $@
 | 
			
		||||
 | 
			
		||||
$(PREFIX)/lib/libtiff.a:	$(PREFIX)/lib/libjpeg.a
 | 
			
		||||
 | 
			
		||||
$(PREFIX)/lib/libtiff.a:	$(LIBTIFF)/.ok
 | 
			
		||||
	cd $(LIBTIFF)/libtiff && mv Makefile.in Makefile.in.orig
 | 
			
		||||
	cd $(LIBTIFF)/libtiff && sed 's/[^	]*[ ]\(-o mk[^ ]*\)/$(subst /,\/,$(BUILD_CC)) \1/' Makefile.in.orig > Makefile.in
 | 
			
		||||
	cd $(LIBTIFF) && mv configure configure.orig
 | 
			
		||||
	cd $(LIBTIFF) && sed 's/^\(DIR.*=\).usr.local\(.*\)/\1$(subst /,\/,$(PREFIX))\2/' configure.orig | sed 's/^\(NONINTERACTIVE=\)no/\1yes/' | sed 's/^\(DIR_JPEGLIB=\)[^#]*/\1$(subst /,\/,$(PREFIX))\/lib/' > configure
 | 
			
		||||
	cd $(LIBTIFF) && chmod +x configure
 | 
			
		||||
	cd $(LIBTIFF) && CC=$(CC) AR=$(AR) RANLIB=$(RANLIB) GCOPT=-g ./configure --target=$(HOST)
 | 
			
		||||
	cd $(LIBTIFF) && $(MAKE)
 | 
			
		||||
	cd $(LIBTIFF) && $(MAKE) install
 | 
			
		||||
 | 
			
		||||
$(LIBTIFF)/.ok:	archives/$(LIBTIFFARCH)
 | 
			
		||||
	$(TAR) xzf $<
 | 
			
		||||
	touch $@
 | 
			
		||||
	
 | 
			
		||||
$(PREFIX)/lib/libpng.a:	$(LIBPNG)/.ok
 | 
			
		||||
	cd $(LIBPNG) && CC=$(CC) ./configure --prefix=$(PREFIX) --host=$(HOST)
 | 
			
		||||
	cd $(LIBPNG) && $(MAKE)
 | 
			
		||||
	cd $(LIBPNG) && $(MAKE) install
 | 
			
		||||
 | 
			
		||||
$(LIBPNG)/.ok:	archives/$(LIBPNGARCH)
 | 
			
		||||
	$(TAR) xzf $<
 | 
			
		||||
	touch $@
 | 
			
		||||
 | 
			
		||||
archives/$(LIBPNGARCH):
 | 
			
		||||
	@$(MKDIR) $(@D)
 | 
			
		||||
	cd $(@D) && $(GETURL) $(LIBPNGURL)
 | 
			
		||||
 | 
			
		||||
archives/$(SDLDEVEL):
 | 
			
		||||
	@$(MKDIR) $(@D)
 | 
			
		||||
	cd $(@D) && $(GETURL) $(SDLDEVELURL)
 | 
			
		||||
 | 
			
		||||
archives/$(SDLIMAGEARCH):
 | 
			
		||||
	@$(MKDIR) $(@D)
 | 
			
		||||
	cd $(@D) && $(GETURL) $(SDLIMAGEURL)
 | 
			
		||||
 | 
			
		||||
archives/$(JPEGARCH):
 | 
			
		||||
	@$(MKDIR) $(@D)
 | 
			
		||||
	cd $(@D) && $(GETURL) $(JPEGURL)
 | 
			
		||||
 | 
			
		||||
archives/$(LIBTIFFARCH):
 | 
			
		||||
	@$(MKDIR) $(@D)
 | 
			
		||||
	cd $(@D) && $(GETURL) $(LIBTIFFURL)
 | 
			
		||||
							
								
								
									
										11
									
								
								3rdparty/SDL-1.2.15.patch
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								3rdparty/SDL-1.2.15.patch
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,11 @@
 | 
			
		||||
--- SDL-1.2.15.orig/Makefile	2018-02-18 22:58:20.779552000 +0100
 | 
			
		||||
+++ SDL-1.2.15/Makefile	2018-02-18 22:58:27.229780000 +0100
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
 #
 | 
			
		||||
 # Makefile for installing the Mingw32 version of the SDL library
 | 
			
		||||
 
 | 
			
		||||
-CROSS_PATH := /usr/local/cross-tools/i686-w64-mingw32
 | 
			
		||||
+CROSS_PATH ?= /usr/local/cross-tools/i686-w64-mingw32
 | 
			
		||||
 
 | 
			
		||||
 all:
 | 
			
		||||
 	@echo "Type \"make native\" to install to /usr"
 | 
			
		||||
							
								
								
									
										14
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								Makefile
									
									
									
									
									
								
							@ -1,12 +1,20 @@
 | 
			
		||||
.PHONY:	all tools grafx2 ziprelease
 | 
			
		||||
ifdef WIN32CROSS
 | 
			
		||||
OPT = WIN32CROSS=1 \
 | 
			
		||||
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
.PHONY:	all tools grafx2 ziprelease 3rdparty
 | 
			
		||||
 | 
			
		||||
all:	grafx2 tools
 | 
			
		||||
 | 
			
		||||
grafx2:
 | 
			
		||||
	$(MAKE) -C src/
 | 
			
		||||
	$(OPT)$(MAKE) -C src/
 | 
			
		||||
 | 
			
		||||
ziprelease: grafx2
 | 
			
		||||
	$(MAKE) -C src/ ziprelease
 | 
			
		||||
	$(OPT)$(MAKE) -C src/ ziprelease
 | 
			
		||||
 | 
			
		||||
tools:
 | 
			
		||||
	$(MAKE) -C tools/
 | 
			
		||||
 | 
			
		||||
3rdparty:
 | 
			
		||||
	cd 3rdparty/ && $(OPT)$(MAKE)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user