Got dependencies building on linux and mingw32; Got library building on linux again, as well as all demos; Got backtrace working in linux (currently the output is a little mangled, need to run it through addr2line to get file and line info out of it and demangle it)
This commit is contained in:
7
Makefile
7
Makefile
@@ -24,14 +24,18 @@ ifeq "$(OS)" "mingw32"
|
||||
ADDL_CFLAGS=-rdynamic -mwindows -DOS_WIN32
|
||||
EXESUFFIX=.exe
|
||||
LIBSUFFIX=.a
|
||||
DEPMAKEFILE=Makefile.mingw32
|
||||
endif
|
||||
|
||||
ifeq "$(OS)" "macosx"
|
||||
ADDL_CFLAGS=-rdynamic -DOS_MACOSX
|
||||
DEPMAKEFILE=Makefile.macosx
|
||||
endif
|
||||
|
||||
ifeq "$(OS)" "linux"
|
||||
ADDL_CFLAGS=-rdynamic -DOS_LINUX
|
||||
DEPMAKEFILE=Makefile.apt
|
||||
LIBSUFFIX=.a
|
||||
endif
|
||||
|
||||
ifeq "$(CFG)" "Debug"
|
||||
@@ -101,6 +105,7 @@ clean:
|
||||
rm -f $(OUTDIR)/$(LIBTARGET).*
|
||||
rm -rf docs/*
|
||||
cd demo && for dir in $(DEMOS); do cd $$dir && make CFG=$(CFG) OS=$(OS) clean; if [ $$? -ne 0 ]; then exit 1 ; fi; cd .. ; done
|
||||
|
||||
.PHONY: demos
|
||||
demos:
|
||||
cd demo && for dir in $(DEMOS); do cd $$dir && make "ADDL_CFLAGS=$(ADDL_CFLAGS)" CFG=$(CFG) OS=$(OS); if [ $$? -ne 0 ]; then exit 1 ; fi; cd .. ; done
|
||||
@@ -124,4 +129,4 @@ uninstall:
|
||||
|
||||
.PHONY: deps
|
||||
deps:
|
||||
cd deps && make
|
||||
cd deps && make -f $(DEPMAKEFILE)
|
||||
|
||||
@@ -25,6 +25,7 @@ ifeq "$(OS)" "mingw32"
|
||||
endif
|
||||
ifeq "$(OS)" "linux"
|
||||
ADDL_CFLAGS=-DBUILD_LINUX -rdynamic
|
||||
ADDL_LDFLAGS=-rdynamic
|
||||
endif
|
||||
|
||||
# default for release configs
|
||||
@@ -49,7 +50,7 @@ ifeq "$(CFG)" "Debug"
|
||||
CXXFLAGS=-I../../ -I$(HEADERDIR) -I./cpp -pg -g -ggdb -gstabs -Wall -c $(SDL_CFLAGS) $(ADDL_CFLAGS)
|
||||
endif
|
||||
|
||||
LINKLIBS=-L../../$(CFG) -L$(LIBDIR) -l$(LINKLIB) $(SDL_LDFLAGS) -lSDL_image -lSDL_mixer -lSDL_gfx -lSDL_ttf
|
||||
LINKLIBS=$(ADDL_LDFLAGS) -L../../$(CFG) -L$(LIBDIR) -l$(LINKLIB) $(SDL_LDFLAGS) -lSDL_image -lSDL_mixer -lSDL_gfx -lSDL_ttf
|
||||
|
||||
BINOBJ=$(OUTDIR)/demo.o
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ ifeq "$(OS)" "mingw32"
|
||||
endif
|
||||
ifeq "$(OS)" "linux"
|
||||
ADDL_CFLAGS=-DBUILD_LINUX -rdynamic
|
||||
ADDL_LDFLAGS=-rdynamic
|
||||
endif
|
||||
|
||||
# default for release configs
|
||||
@@ -49,7 +50,7 @@ ifeq "$(CFG)" "Debug"
|
||||
CXXFLAGS=-I../../ -I$(HEADERDIR) -I./cpp -pg -g -ggdb -gstabs -Wall -c $(SDL_CFLAGS) $(ADDL_CFLAGS)
|
||||
endif
|
||||
|
||||
LINKLIBS=-L../../$(CFG) -L$(LIBDIR) -l$(LINKLIB) $(SDL_LDFLAGS) -lSDL_image -lSDL_mixer -lSDL_gfx -lSDL_ttf
|
||||
LINKLIBS=$(ADDL_LDFLAGS) -L../../$(CFG) -L$(LIBDIR) -l$(LINKLIB) $(SDL_LDFLAGS) -lSDL_image -lSDL_mixer -lSDL_gfx -lSDL_ttf
|
||||
|
||||
BINOBJ=$(OUTDIR)/demo.o
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ ifeq "$(OS)" "mingw32"
|
||||
endif
|
||||
ifeq "$(OS)" "linux"
|
||||
ADDL_CFLAGS=-DBUILD_LINUX -rdynamic
|
||||
ADDL_LDFLAGS=-rdynamic
|
||||
endif
|
||||
|
||||
# default for release configs
|
||||
@@ -49,7 +50,7 @@ ifeq "$(CFG)" "Debug"
|
||||
CXXFLAGS=-I../../ -I$(HEADERDIR) -I./cpp -pg -g -ggdb -gstabs -Wall -c $(SDL_CFLAGS) $(ADDL_CFLAGS)
|
||||
endif
|
||||
|
||||
LINKLIBS=-L../../$(CFG) -L$(LIBDIR) -l$(LINKLIB) $(SDL_LDFLAGS) -lSDL_image -lSDL_mixer -lSDL_gfx -lSDL_ttf
|
||||
LINKLIBS=$(ADDL_LDFLAGS) -L../../$(CFG) -L$(LIBDIR) -l$(LINKLIB) $(SDL_LDFLAGS) -lSDL_image -lSDL_mixer -lSDL_gfx -lSDL_ttf
|
||||
|
||||
BINOBJ=$(OUTDIR)/demo.o
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ ifeq "$(OS)" "mingw32"
|
||||
endif
|
||||
ifeq "$(OS)" "linux"
|
||||
ADDL_CFLAGS=-DBUILD_LINUX -rdynamic
|
||||
ADDL_LDFLAGS=-rdynamic
|
||||
endif
|
||||
|
||||
# default for release configs
|
||||
@@ -49,7 +50,7 @@ ifeq "$(CFG)" "Debug"
|
||||
CXXFLAGS=-I../../ -I$(HEADERDIR) -I./cpp -pg -g -ggdb -gstabs -Wall -c $(SDL_CFLAGS) $(ADDL_CFLAGS)
|
||||
endif
|
||||
|
||||
LINKLIBS=-L../../$(CFG) -L$(LIBDIR) -l$(LINKLIB) $(SDL_LDFLAGS) -lSDL_image -lSDL_mixer -lSDL_gfx -lSDL_ttf
|
||||
LINKLIBS=$(ADDL_LDFLAGS) -L../../$(CFG) -L$(LIBDIR) -l$(LINKLIB) $(SDL_LDFLAGS) -lSDL_image -lSDL_mixer -lSDL_gfx -lSDL_ttf
|
||||
|
||||
BINOBJ=$(OUTDIR)/demo.o
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ ifeq "$(OS)" "mingw32"
|
||||
endif
|
||||
ifeq "$(OS)" "linux"
|
||||
ADDL_CFLAGS=-DBUILD_LINUX -rdynamic
|
||||
ADDL_LDFLAGS=-rdynamic
|
||||
endif
|
||||
|
||||
# default for release configs
|
||||
@@ -49,7 +50,7 @@ ifeq "$(CFG)" "Debug"
|
||||
CXXFLAGS=-I../../ -I$(HEADERDIR) -I./cpp -pg -g -ggdb -gstabs -Wall -c $(SDL_CFLAGS) $(ADDL_CFLAGS)
|
||||
endif
|
||||
|
||||
LINKLIBS=-L../../$(CFG) -L$(LIBDIR) -l$(LINKLIB) $(SDL_LDFLAGS) -lSDL_image -lSDL_mixer -lSDL_gfx -lSDL_ttf
|
||||
LINKLIBS=$(ADDL_LDFLAGS) -L../../$(CFG) -L$(LIBDIR) -l$(LINKLIB) $(SDL_LDFLAGS) -lSDL_image -lSDL_mixer -lSDL_gfx -lSDL_ttf
|
||||
|
||||
BINOBJ=$(OUTDIR)/demo.o
|
||||
|
||||
|
||||
Binary file not shown.
@@ -25,6 +25,7 @@ ifeq "$(OS)" "mingw32"
|
||||
endif
|
||||
ifeq "$(OS)" "linux"
|
||||
ADDL_CFLAGS=-DBUILD_LINUX -rdynamic
|
||||
ADDL_LDFLAGS=-rdynamic
|
||||
endif
|
||||
|
||||
# default for release configs
|
||||
@@ -49,7 +50,7 @@ ifeq "$(CFG)" "Debug"
|
||||
CXXFLAGS=-I../../ -I$(HEADERDIR) -I./cpp -pg -g -ggdb -gstabs -Wall -c $(SDL_CFLAGS) $(ADDL_CFLAGS)
|
||||
endif
|
||||
|
||||
LINKLIBS=-L../../$(CFG) -L$(LIBDIR) -l$(LINKLIB) $(SDL_LDFLAGS) -lSDL_image -lSDL_mixer -lSDL_gfx -lSDL_ttf
|
||||
LINKLIBS=$(ADDL_LDFLAGS) -L../../$(CFG) -L$(LIBDIR) -l$(LINKLIB) $(SDL_LDFLAGS) -lSDL_image -lSDL_mixer -lSDL_gfx -lSDL_ttf
|
||||
|
||||
BINOBJ=$(OUTDIR)/demo.o
|
||||
|
||||
|
||||
Binary file not shown.
@@ -25,6 +25,7 @@ ifeq "$(OS)" "mingw32"
|
||||
endif
|
||||
ifeq "$(OS)" "linux"
|
||||
ADDL_CFLAGS=-DBUILD_LINUX -rdynamic
|
||||
ADDL_LDFLAGS=-rdynamic
|
||||
endif
|
||||
|
||||
# default for release configs
|
||||
@@ -49,7 +50,7 @@ ifeq "$(CFG)" "Debug"
|
||||
CXXFLAGS=-I../../ -I$(HEADERDIR) -I./cpp -pg -g -ggdb -gstabs -Wall -c $(SDL_CFLAGS) $(ADDL_CFLAGS)
|
||||
endif
|
||||
|
||||
LINKLIBS=-L../../$(CFG) -L$(LIBDIR) -l$(LINKLIB) $(SDL_LDFLAGS) -lSDL_image -lSDL_mixer -lSDL_gfx -lSDL_ttf
|
||||
LINKLIBS=$(ADDL_LDFLAGS) -L../../$(CFG) -L$(LIBDIR) -l$(LINKLIB) $(SDL_LDFLAGS) -lSDL_image -lSDL_mixer -lSDL_gfx -lSDL_ttf
|
||||
|
||||
BINOBJ=$(OUTDIR)/demo.o
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ ifeq "$(OS)" "mingw32"
|
||||
endif
|
||||
ifeq "$(OS)" "linux"
|
||||
ADDL_CFLAGS=-DBUILD_LINUX -rdynamic
|
||||
ADDL_LDFLAGS=-rdynamic
|
||||
endif
|
||||
|
||||
# default for release configs
|
||||
@@ -49,7 +50,7 @@ ifeq "$(CFG)" "Debug"
|
||||
CXXFLAGS=-I../../ -I$(HEADERDIR) -I./cpp -pg -g -ggdb -gstabs -Wall -c $(SDL_CFLAGS) $(ADDL_CFLAGS)
|
||||
endif
|
||||
|
||||
LINKLIBS=-L../../$(CFG) -L$(LIBDIR) -l$(LINKLIB) $(SDL_LDFLAGS) -lSDL_image -lSDL_mixer -lSDL_gfx -lSDL_ttf
|
||||
LINKLIBS=$(ADDL_LDFLAGS) -L../../$(CFG) -L$(LIBDIR) -l$(LINKLIB) $(SDL_LDFLAGS) -lSDL_image -lSDL_mixer -lSDL_gfx -lSDL_ttf
|
||||
|
||||
BINOBJ=$(OUTDIR)/demo.o
|
||||
|
||||
|
||||
65
deps/Makefile.apt
vendored
Executable file
65
deps/Makefile.apt
vendored
Executable file
@@ -0,0 +1,65 @@
|
||||
all: clean packages
|
||||
#all: packages
|
||||
|
||||
#
|
||||
.PHONY: packages
|
||||
packages: SDL SDL_image SDL_mixer SDL_ttf SDL_gfx libxml2 cmake yasm ffmpeg SDL_ffmpeg yaml-cpp
|
||||
|
||||
.PHONY: SDL
|
||||
SDL:
|
||||
sudo apt-get install libsdl-dev
|
||||
|
||||
.PHONY:
|
||||
SDL_image:
|
||||
sudo apt-get install libsdl-image1.2-dev
|
||||
|
||||
.PHONY: SDL_mixer
|
||||
SDL_mixer:
|
||||
sudo apt-get install libsdl-mixer1.2-dev
|
||||
|
||||
.PHONY: SDL_ttf
|
||||
SDL_ttf:
|
||||
sudo apt-get install libsdl-ttf2.0-dev
|
||||
|
||||
.PHONY: SDL_gfx
|
||||
SDL_gfx:
|
||||
sudo apt-get install libsdl-gfx1.2-dev
|
||||
|
||||
.PHONY: cmake
|
||||
cmake:
|
||||
sudo apt-get install cmake
|
||||
|
||||
.PHONY: yasm
|
||||
yasm:
|
||||
sudo apt-get install yasm
|
||||
|
||||
.PHONY: ffmpeg
|
||||
ffmpeg:
|
||||
wget http://www.ffmpeg.org/releases/ffmpeg-0.7-rc1.tar.gz
|
||||
tar -zxvf ffmpeg-0.7-rc1.tar.gz
|
||||
cd ffmpeg-0.7-rc1 && ./configure $(FFMPEG_CONFIGURE_FLAGS) && make && make install
|
||||
|
||||
.PHONY: SDL_ffmpeg
|
||||
SDL_ffmpeg:
|
||||
wget http://www.arjanhouben.nl/SDL_ffmpeg/1.3.1/SDL_ffmpeg-1.3.1.tar.gz
|
||||
tar -zxvf SDL_ffmpeg-1.3.1.tar.gz
|
||||
cd SDL_ffmpeg && cmake -G "MSYS Makefiles" . && make
|
||||
cp SDL_ffmpeg/lib/libSDL_ffmpeg.dll.a /usr/local/lib/
|
||||
cp SDL_ffmpeg/include/SDL/SDL_ffmpeg.h /usr/local/include
|
||||
|
||||
.PHONY: yaml-cpp
|
||||
yaml-cpp:
|
||||
wget http://yaml-cpp.googlecode.com/files/yaml-cpp-0.2.6.tar.gz
|
||||
tar -zxvf yaml-cpp-0.2.6.tar.gz
|
||||
cd yaml-cpp && cmake -G "MSYS Makefiles" . && make
|
||||
cp -vR yaml-cpp/include/yaml-cpp /usr/local/include/
|
||||
cp yaml-cpp/libyaml-cpp.a /usr/local/lib/
|
||||
|
||||
.PHONY: libxml2
|
||||
libxml2:
|
||||
sudo apt-get install libxml2-dev
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf *gz *zip *bz2
|
||||
find . -maxdepth 1 -type d -iname "[a-zA-Z0-9]*" -exec rm -rf \{\} \;
|
||||
2
deps/Makefile → deps/Makefile.mingw32
vendored
2
deps/Makefile → deps/Makefile.mingw32
vendored
@@ -4,7 +4,7 @@ CFLAGS=$(CFLAGS) -I/usr/local/include -I/usr/include
|
||||
LDFLAGS=$(LDFLAGS) -L/usr/local/lib -L/usr/lib
|
||||
|
||||
.PHONY: packages
|
||||
packages: SDL zlib libpng libjpeg libtiff SDL_image libvorbis flac SDL_mixer freetype SDL_ttf SDL_gfx libxml2 cmake ffmpeg SDL_ffmpeg backtrace
|
||||
packages: SDL zlib libpng libjpeg libtiff SDL_image libvorbis flac SDL_mixer freetype SDL_ttf SDL_gfx libxml2 cmake ffmpeg SDL_ffmpeg backtrace yaml-cpp
|
||||
|
||||
.PHONY: SDL
|
||||
SDL:
|
||||
@@ -2,23 +2,7 @@
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <iostream>
|
||||
|
||||
void RegisterStacktrace()
|
||||
{
|
||||
#ifdef __WIN32__
|
||||
if ( LoadLibraryA("backtrace.dll") == NULL ) {
|
||||
std::cerr << "Unable to locate backtrace.dll.\n";
|
||||
exit(1);
|
||||
}
|
||||
#else
|
||||
signal(SIGSEGV, &__libsdlgame_sigsegvhandler);
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifndef __WIN32__
|
||||
|
||||
#include <execinfo.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
@@ -54,7 +38,7 @@ void __libsdlgame_show_stacktrace (void)
|
||||
void __libsdlgame_sigsegvhandler(int z)
|
||||
{
|
||||
fprintf(stderr, "Caught segmentation fault; stacktrace follows.\n");
|
||||
print_trace();
|
||||
__libsdlgame_show_stacktrace();
|
||||
#ifdef DEBUG_LOOPONSEGFAULT
|
||||
fprintf(stderr, "Entering infinite loop; please connect a debugger to me and then kill me.\n");
|
||||
fflush(stderr);
|
||||
@@ -65,3 +49,17 @@ void __libsdlgame_sigsegvhandler(int z)
|
||||
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <iostream>
|
||||
|
||||
void RegisterStacktrace()
|
||||
{
|
||||
#ifdef __WIN32__
|
||||
if ( LoadLibraryA("backtrace.dll") == NULL ) {
|
||||
std::cerr << "Unable to locate backtrace.dll.\n";
|
||||
exit(1);
|
||||
}
|
||||
#else
|
||||
signal(SIGSEGV, &__libsdlgame_sigsegvhandler);
|
||||
#endif
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user