From 159027169185ed8d085a58db3a09a50af556fc28 Mon Sep 17 00:00:00 2001 From: andrew kesterson Date: Tue, 21 Jun 2011 21:26:27 +0000 Subject: [PATCH] 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) --- Makefile | 7 ++- demo/backtrace/Makefile | 3 +- demo/bouncingball/Makefile | 3 +- demo/exploder/Makefile | 3 +- demo/explodingball/Makefile | 3 +- demo/frictionball/Makefile | 3 +- demo/frictionball/gmon.out | Bin 198176 -> 64322 bytes demo/gravity/Makefile | 3 +- demo/gravity/gmon.out | Bin 197928 -> 52884 bytes demo/helloworld/Makefile | 3 +- demo/tilemap/Makefile | 3 +- deps/Makefile.apt | 65 ++++++++++++++++++++++++++++ deps/{Makefile => Makefile.mingw32} | 2 +- libsdlgame/Backtrace.cpp | 32 +++++++------- 14 files changed, 103 insertions(+), 27 deletions(-) create mode 100755 deps/Makefile.apt rename deps/{Makefile => Makefile.mingw32} (99%) diff --git a/Makefile b/Makefile index 416b58a..12a03f3 100755 --- a/Makefile +++ b/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 \ No newline at end of file + cd deps && make -f $(DEPMAKEFILE) diff --git a/demo/backtrace/Makefile b/demo/backtrace/Makefile index 7dd2271..11f1cef 100755 --- a/demo/backtrace/Makefile +++ b/demo/backtrace/Makefile @@ -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 diff --git a/demo/bouncingball/Makefile b/demo/bouncingball/Makefile index 7dd2271..11f1cef 100755 --- a/demo/bouncingball/Makefile +++ b/demo/bouncingball/Makefile @@ -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 diff --git a/demo/exploder/Makefile b/demo/exploder/Makefile index 7dd2271..11f1cef 100755 --- a/demo/exploder/Makefile +++ b/demo/exploder/Makefile @@ -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 diff --git a/demo/explodingball/Makefile b/demo/explodingball/Makefile index 7dd2271..11f1cef 100755 --- a/demo/explodingball/Makefile +++ b/demo/explodingball/Makefile @@ -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 diff --git a/demo/frictionball/Makefile b/demo/frictionball/Makefile index 7dd2271..11f1cef 100755 --- a/demo/frictionball/Makefile +++ b/demo/frictionball/Makefile @@ -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 diff --git a/demo/frictionball/gmon.out b/demo/frictionball/gmon.out index c282fa7e77eecb28a5cd8f6c8d707c20916f25c5..2183aef6353061d05d58d46e032d0ed161bea90b 100755 GIT binary patch literal 64322 zcmeI4aco^>6~I5FK$QYjDyveYNau=FR$OIOD!UhIR^Y*k*4V@+R%x_K4Ku4*jZLhv zaSf}mK$RsnS))y8pwS{#r>jz>YSGGyRBg1nCoA%lqSZ}Tvm*XZ&$+()7x5p3ghTT3 ze($_<&pqGoe&2WR8?cpEMdA44arkmBgin^A7TN>4Y+m0DxB)ld2Hb!fa070@4Y&a};0D}) z8*l?|zzw(oH{b@`fE#cFZomz=0XN_V+<+T!18%?#hynj^WPBdD0XN_V+<+T!18%?# zxB)ld2Hb!fa070@4Y&a};0D})8*l?|zzw(oH{b@`fE#cFZomz=0XN_V+<+T!18%?# zxB)ld2Hb!fcjijOC2N@4i^$^YHhL>s}p&C$?H0c*eLB-u}*b{ahpP z(Kl*N?Rimnv{AVS-ch5x1aG`fIc$i+X;&$i!2{crGw?@mRPKlO8IQsbTK`k`qI?I(T^KDSDborT}W zxFjbBKgM~#3$MYyXwV)?&d2$$m82R zN6v97{ik>g{?ZL`xU4LMNx1nhnv;XCij`Mk8KWFq@jCS&ya8~DtObIlC@nK#hCImyB&Z;HcrxJX@a?K8|Rcm+OOt@#VQmstK%idW$i zP1-~567r2#;Thb@xmKAwyBgJP#ida=^>KBTf&YHF#@ksR{nsk@!%5CT_^CH*yp;F7 z$CT^g6?0X!h2A!6%`WEM>rQVI<0BoI&RVYYS#BP|ImK2@QTGpE&hx85b`N5WiCsO#GBwx z@ZI@u=DNV)dgTmjUE<=l7rvPB3b)6FIX{%*`4pF2UC3!naZifJQ=Ct6Rs6W8cS~`Xt9o&J4Vf?}W>7_Hx#aI2@+md&v3)cJjjm{sINQmG?=9a`ue;b9JtR3NIxYOqO+V7$;Ok8R<9MSlC zeR$mRa~79l%YGk)Ig7VG5ryz)tvPm-wP}1DKL0K1xqPW`u3GrvI*sptG77g|p*#sE z{mjGXTD<JoYEXW#^qtam&+OU-ldsOM8k3;Qhp9EJG=tTaH4W zI#NHE;v&W>bq3gn%TinqOC8yZno>N-9&Ec01<+xc7+%D67VJ@ARMm5Yc~yg|J+7&9G0 zD;!SIcn4f++za2s@zUo$IJxd4aB{5|Qt@0-9Qsbvb1lPr&QWfAMI4Hl15&3G-cYJM z2;X)n4)-x1#^4p^gzz*xYw_doWVOzv8fpmFRGbo;;1!!!t-J^3lFX}}@E(p4?uCQBPSd1oyDm+b%j)a(4Mjy(@gu#ZUp;jB1J8JEMY>>Xziu7%r;o8UEA z^4s9zobo8#$o?YnDY)5q0UkGAfhUcNxo#CtXnrMJZCnrc8#lv)#(8-0sOAUUXW5Tr z4wS}G6hcnE>H2i5?NKW&HI2_`$aKmfjaKz$W z@CoA?cndGdDSmAnK5JYG-)h_nAH%2g*$tn=_{HZqyvcYGK5RKf=QC&cEIEzvL&h2S zUgJUd9`io|Z=;U%unfP)xV$0`yDTSy@8>(o>4i@k_rphxn>NOw>rtK0Q*hm3<}~?v ziNn%=#4}ON&041w-u)rv{cx?VyK(sV2Q@we|MVluIe5u9yfF@&`7HgE!aIzs;5F8} z#QWgC*u7>5-eWmqaB^>&fb*8$b16C9T5}K{Hm-eB9In};@g_KHoV_d#ZMSQ@3%>s@ zgOi+0Dkq!D>4NW`(_=^AGp&9H zef^3)^Dx|%*FL9HJjb)-UOr22dH9jHD+i9-ZZ(&h;;_oG^1M-eZGjuF zW6j#y&%$HI-SD}OX`McJA=w|Uk3%K*S6N@}u>39%?twEr-w5x6uVn2DAA~PuT?@~` zd5bT=$@9`GyyYjFUz{oARKQ729h~GergF0IyXaHu55Thj2=~*MJipz+bJUpepS1ld?9d)$Ppg2XzHl{M#{MH*)*Och?)~Dt5|-bd!u4<;9)vUS zZriWA;KR1R^}|){Ws)-pC(nly@GW?d_;e~~A(gX|$_Y0W>XgHG)2AHU1SflDDSgSa z>mi;S>x^$^4h+EZJ6G~Y;Eypj;YoO_^)?SDeXhVs{WZARa{AxPI_=P77vb{vD_3RN zi!M}dfzPyi=m2~yr+(^gE*#qkSA0bCv+%d9&NO`BER8S2J-npPV!r>D#Vg?}sVngY z_yf;r{TBFi?z0kagU>lfbE?`3z0JZ&{v!PJQO(c8N&YIl%j(yBpwMRnoQ!=EPR2V2 zAFzAP5}e#4NcfiDTh~r=8VBr9549;)Jy75q__cR`^{Su@0*QV zcrP*T;C+HINS%53+vac?PMoj7$+5*B<=$aAy&q%Vn&(lto|n{_=KU#)@8jO}35$=y z3%fPvApErPG;}H{5LZ&3*9GR%aF7Y`s+y8|Sn1)&Os} zcnf?RbtS$NevD^s;ePnOC-uC8@By2LtpkPL!siS5rSP4WUjZliHSoPwzYR|M+zBUR zUxAbH7Tpnt$M4b}%Hibx9>HVylHRiLXuWdXorO9Xxb1X}=ipZAO8yk}lKS}+@5I@x zdF$c*7UO>2BjX|7^Nd;Q6!Sdtj5(}?ld;so$*~Ra7JNzm%vX69I;33jHEMocxgD;) zNO=(c%2D;)^?>HfeZLQ0=2+n&_yETW7x8}NY(2IHp5!|@R}=gxY6-W)H@!l+2i|1Q z;r;ODQjL$n^1Df%L#E;6nPd@Ow0Oyb+NYd%4VHeSe#t~(Tmx`2mSOldo}(mZ0+weX z;YIi$E`(Pl|EOMKyB);q@tFQs@T#bKJ~TaK5UN%$f1<#)kMisw_j1Ro|} za*BV*bC=aGOL1k2YvGete;(evQO}k65o;5cI$iK#i+9bi?~%7YE_e&yNlw`#adDZ{a1}$9pw#sW}4g N;w4=6I8J`9{BOM?pmzWO literal 198176 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 literal 197928 zcmeI$aco`ZS;z6WiMs@5RIBr5v!<=vy2M>F#Z%qZT~g&>-@CZPjZGU7Zwcy!c#1{6 z#>H;pGD``XHydiGOG6V#My%B|W(i<6qh_roB4%xdcuPbKb-^NrxvkkU<}K-JNLcti z_k9k&|MJhIO5aLX_uDt`dCxhYd+xa>nY%d&;jL^K{f`ylnerP$YY3rj^FyKGf9?#s zPwLP34*>)aKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**-ctfMyr+(qgGB%V z1b%t~+#i2>*6axZ1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_Kd_o~2(_v(Rj+z23m00IagfB*srAb3dZqRl^>iwm4`97om?xS(M^n*#bsU~(t-R(W1UhItH zNmE=Zd4!G9@lSGf8&GEXU(lixNSomA69=ulo6$ zLzq+dJW`kMMfE^)+_vGaB>eNI;<@D1f87$hS8Y~yzO|J}Soy25i|$UscYME#>Sy%2 zA;{+=NqDt8c9r@szfhka n&%|?AzwP6_>aR@2@gwS2&&58a{`-H7J)!>Fe~3M$ zJ|Gj@*Cq8;zkXWRCE*nxUy}E2?~gt;)w)(M#BJNv2mUGchza}qA=|82bLu_WB>-LC%Qe~sp+^*wI?&A9%8y7^)puhlhZiygrMj;F{nz98HFbIoSMOZzTtN>O^qGQQEa-|| z%iA^=bgw$y?~wYhe81xbbLR9N+M}159MtiC?1|W;>ZiSnek}=Kl9ioTi`MwzZ^WKd zf3!Vz@9rf0oL>2L^f_PreEeP>v6T+1FaW2^gZ(N>Zg{!o0YmRruY2QYP;{*{3*5F_pImCcHgtEdV2Z(IkI2= zdf9mKGfBw)RuXi`Vbf=m@O8C~FTIq6-`2}|_@w;xvYtDob1CSzeU6RaqwUi!fGwHTZG%okWyO;ZgTVv0BB?TV1%iO23H(J*}>2s>_?q7xe1JI(^ThXL&(4 z%DBq!d%Fs{SKXuWKe#!BLj^sqKCf}RXHFILlGYxsuM2;sW9!nrr}Mw#z6R7sy@%Ap zPsZ^s-6vMAtPkJQ@7;iUo%fKsQS)qkTK!m2eg3}Ds%z7(Pg{RT@2BeGxsR(a>tzn- z_1@<_r}t`|zl|5~Tb_Ste_dG6wsy^os^8YjdP47?^`6%Il(x0;(7il=z51HAwa=wN zeLyekU3&k3ce~z$d~N)QI-TDygR#j>SgG-0_2|_&XG}fhy+-dg$F{9hr-qxD%al6( zEN0YwK7Uc2t`oE$oBv}uFX(=@@!oh|t91`s=Ut)R>U~kwJf58TS?_N3N$Ib~Tv-M$%ce#3pceQ$tcY}JrcTU~s-K{?CJ*Yn6J)(ZayLLb( z55{9?R+o8?C7E!Of41!Z-EVTbE=q;kx%O^;!LyjZdm? z*UNf!HWOBPC+dy*OznG`Q*Y4cYS+mj^&amt>brc-oVrObo74D-OnAwAK>e)ug!;H& zC-dsVTF3TVz9kdRd1uspKBrZELGx_RdG%VotV;?6^`poj@sOPn}s^WNq`X*W1c!&Dsd*b+{`W9_tcFm(-I!e^Jl!YkglOde;8b{c&H->dijht^V)>aePV7_&a>OT+i&^u8-p_ z>b*XGQ2qOvIG)kp58lnjZdGr1B=(qk{NdO^&!>I9ZH2n-m*aR&ecZ?U)hiy2<8$hJ zwY@o9QSbC#{dy*x`Al@^QJ?&`IOmx9sL#2ke%;4QW-{TF&o9+;?k%6m=I?1W>Wy8o zd)1R2alhx)8+5JPeizl-y5o4Yo^!YOcuu`ie`fc_F7-O^es#Nk2W|X_x48f z`pvT*SKB?-`jUFnd_4XleQr-^9ouiY+P1ZIs(zUHzvsQ2`e+j8bgS)m+2$WA=u!1+ zFUMn^P>(gmIn(Oro^xCEly7@Qovu^zqvdU<)ED&3Y3t9buX-=4kAE$$Q?9Wxedle? zdUd+5hJtP@=u!2~r{iz^8TG0kXY#-M3u-$C`@R?JS=jo^`k$hAmXD!A{m^3ESE8=> z{g!AAJ2rcMSg(Fv=WAW7p70*~NhUPUD#0yhmN4=RF%ARNHf)^(l3_ zZQIIh{+ZdvyVdqAZ9SlV|Esab)ON44@kw>Mula&5(st>1uiEzYqMrRmyuYt!gCRZ3 z+w-}tGp>F^=Wji$KIiw(+V^EclYDeZhF3w@vo$hO?pv$#gI^L?beKqSDxZm6UZR)%_-Pa}c_jUfZezE>-<1zm&Xj6Bl*N=Li zk1wsshCTi)QLW#KChuW&*V?$wn0o#fVz0R^s|&%ucj^ni<|TER|JIb;u66V*V#knE z_jz}#(>43m>6*nA%WGDuuU5u=)vD9qlwInIsyN=GKIr$QHvNtj`F;_ z&_1jywcbUYr*)$KmFHtGsMB*PxqG>f=)5oaxex2T&wEtwt=%Q$l^U6)=AJO;D&!u;LHoW5Vr`133KBC{u zdihrrQTH+$7j@gz00$jqqS`QcJ)bro*YoW;2l1p>%1w>DN!fh-Rki_kJnr6 zmTb6XJkDuQcWQfEvt8Zi$1tw`8}Dg#y5_t(U9+uWdCi0B9sWFUNS*$6pH}xY$Mt8_ zjc>+dn0Pp=XTCT-s~*1|ueX+8%7!WJ!;a@*V>WE`Imgs5z7WSV+E02e?FD^B=i1== z3VQ#JpL?YcvrtonqHCwi7ieHzv2 zeh1WF_4(cH*>L%Rc#f5NHksY$&nN0e?*_H~UC*8wa_aQ?p-VmG-^2Q&ZfcG_S@It zZR;F*etFKAdV@b>PwTo%x4oi1;Ln^noohN?{$e)&Tx4rj6?8_u`AGboU41zIMi*&L zc|q5xH~f+AzZ!2*+wYXE(^k;E>I0f%;|*HRp24hJ)qO|fc#k@LzN*z+dmgYgx2vyf zj&-}*o(-(~)#<*5)oYK%b;i~9`)KPAX}hgoisR+_^UG@6Hc_v8DUQ#)tY?)k$L>0j z4bQ1<&WQRoAFtH=y #endif -#include -#include - -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 #include #include @@ -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 +#include + +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 +}