easier.legacy
@@ -1,6 +1,32 @@ | |||
# Autotools cruft | |||
*.o | |||
*.lo | |||
*.a | |||
*.la | |||
*.exe | |||
*.userprefs | |||
*.usertasks | |||
*.pidb | |||
.auto | |||
.libs | |||
.deps | |||
Makefile | |||
Makefile.in | |||
aclocal.m4 | |||
autom4te.cache | |||
config.h.in | |||
config.h | |||
config.log | |||
config.status | |||
configure | |||
libtool | |||
stamp-* | |||
*-stamp | |||
# Our binaries | |||
src/test-map | |||
src/editor | |||
tools/make-font | |||
# Our data | |||
art/*.png | |||
art/test/*.png | |||
gfx/font/*.png |
@@ -1,13 +0,0 @@ | |||
all: | |||
cd src && $(MAKE) all | |||
cd tools && $(MAKE) all | |||
cd art && $(MAKE) all | |||
cd gfx && $(MAKE) all | |||
clean: | |||
cd gfx && $(MAKE) clean | |||
cd art && $(MAKE) clean | |||
cd tools && $(MAKE) clean | |||
cd src && $(MAKE) clean | |||
@@ -0,0 +1,7 @@ | |||
SUBDIRS = src tools art gfx | |||
DIST_SUBDIRS = $(SUBDIRS) | |||
EXTRA_DIST = bootstrap | |||
AUTOMAKE_OPTIONS = dist-bzip2 | |||
@@ -0,0 +1,140 @@ | |||
#! /bin/sh | |||
# bootstrap: generic bootstrap/autogen.sh script for autotools projects | |||
# | |||
# Copyright (c) 2002-2010 Sam Hocevar <sam@hocevar.net> | |||
# | |||
# This program is free software. It comes without any warranty, to | |||
# the extent permitted by applicable law. You can redistribute it | |||
# and/or modify it under the terms of the Do What The Fuck You Want | |||
# To Public License, Version 2, as published by Sam Hocevar. See | |||
# http://sam.zoy.org/wtfpl/COPYING for more details. | |||
# | |||
# The latest version of this script can be found at the following place: | |||
# http://caca.zoy.org/wiki/build | |||
# Die if an error occurs | |||
set -e | |||
# Guess whether we are using configure.ac or configure.in | |||
if test -f configure.ac; then | |||
conffile="configure.ac" | |||
elif test -f configure.in; then | |||
conffile="configure.in" | |||
else | |||
echo "$0: could not find configure.ac or configure.in" | |||
exit 1 | |||
fi | |||
# Check for needed features | |||
auxdir="`sed -ne 's/^[ \t]*A._CONFIG_AUX_DIR *([[ ]*\([^] )]*\).*/\1/p' $conffile`" | |||
pkgconfig="`grep '^[ \t]*PKG_PROG_PKG_CONFIG' $conffile >/dev/null 2>&1 && echo yes || echo no`" | |||
libtool="`grep '^[ \t]*A._PROG_LIBTOOL' $conffile >/dev/null 2>&1 && echo yes || echo no`" | |||
header="`grep '^[ \t]*A._CONFIG_HEADER' $conffile >/dev/null 2>&1 && echo yes || echo no`" | |||
makefile="`[ -f Makefile.am ] && echo yes || echo no`" | |||
aclocalflags="`sed -ne 's/^[ \t]*ACLOCAL_AMFLAGS[ \t]*=//p' Makefile.am 2>/dev/null || :`" | |||
# Check for automake | |||
amvers="no" | |||
for v in 11 10 9 8 7 6 5; do | |||
if automake-1.${v} --version >/dev/null 2>&1; then | |||
amvers="-1.${v}" | |||
break | |||
elif automake1.${v} --version >/dev/null 2>&1; then | |||
amvers="1.${v}" | |||
break | |||
fi | |||
done | |||
if test "${amvers}" = "no" && automake --version > /dev/null 2>&1; then | |||
amvers="`automake --version | sed -e '1s/[^0-9]*//' -e q`" | |||
if expr "$amvers" "<" "1.5" > /dev/null 2>&1; then | |||
amvers="no" | |||
else | |||
amvers="" | |||
fi | |||
fi | |||
if test "$amvers" = "no"; then | |||
echo "$0: you need automake version 1.5 or later" | |||
exit 1 | |||
fi | |||
# Check for autoconf | |||
acvers="no" | |||
for v in "" "259" "253"; do | |||
if autoconf${v} --version >/dev/null 2>&1; then | |||
acvers="${v}" | |||
break | |||
fi | |||
done | |||
if test "$acvers" = "no"; then | |||
echo "$0: you need autoconf" | |||
exit 1 | |||
fi | |||
# Check for libtool | |||
if test "$libtool" = "yes"; then | |||
libtoolize="no" | |||
if glibtoolize --version >/dev/null 2>&1; then | |||
libtoolize="glibtoolize" | |||
else | |||
for v in "16" "15" "" "14"; do | |||
if libtoolize${v} --version >/dev/null 2>&1; then | |||
libtoolize="libtoolize${v}" | |||
break | |||
fi | |||
done | |||
fi | |||
if test "$libtoolize" = "no"; then | |||
echo "$0: you need libtool" | |||
exit 1 | |||
fi | |||
fi | |||
# Check for pkg-config | |||
if test "$pkgconfig" = "yes"; then | |||
if ! pkg-config --version >/dev/null 2>&1; then | |||
echo "$0: you need pkg-config" | |||
exit 1 | |||
fi | |||
fi | |||
# Remove old cruft | |||
for x in aclocal.m4 configure config.guess config.log config.sub config.cache config.h.in config.h compile libtool.m4 ltoptions.m4 ltsugar.m4 ltversion.m4 ltmain.sh libtool ltconfig missing mkinstalldirs depcomp install-sh; do rm -f $x autotools/$x; if test -n "$auxdir"; then rm -f "$auxdir/$x"; fi; done | |||
rm -Rf autom4te.cache | |||
if test -n "$auxdir"; then | |||
if test ! -d "$auxdir"; then | |||
mkdir "$auxdir" | |||
fi | |||
aclocalflags="${aclocalflags} -I $auxdir -I ." | |||
fi | |||
# Explain what we are doing from now | |||
set -x | |||
# Bootstrap package | |||
if test "$libtool" = "yes"; then | |||
${libtoolize} --copy --force | |||
if test -n "$auxdir" -a ! "$auxdir" = "." -a -f "ltmain.sh"; then | |||
echo "$0: working around a minor libtool issue" | |||
mv ltmain.sh "$auxdir/" | |||
fi | |||
fi | |||
aclocal${amvers} ${aclocalflags} | |||
autoconf${acvers} | |||
if test "$header" = "yes"; then | |||
autoheader${acvers} | |||
fi | |||
if test "$makefile" = "yes"; then | |||
#add --include-deps if you want to bootstrap with any other compiler than gcc | |||
#automake${amvers} --add-missing --copy --include-deps | |||
automake${amvers} --foreign --add-missing --copy | |||
fi | |||
# Remove cruft that we no longer want | |||
rm -Rf autom4te.cache | |||
@@ -0,0 +1,85 @@ | |||
# $Id$ | |||
AC_INIT(deushax, 0.0) | |||
AC_PREREQ(2.50) | |||
AC_CONFIG_AUX_DIR(.auto) | |||
AC_CANONICAL_SYSTEM | |||
AM_INIT_AUTOMAKE([no-define tar-ustar]) | |||
dnl AM_MAINTAINER_MODE | |||
AM_CONFIG_HEADER(config.h) | |||
AM_PROG_CC_C_O | |||
AC_PROG_CPP | |||
AC_PROG_CXX | |||
AC_PROG_CXXCPP | |||
AC_PROG_RANLIB | |||
AC_LIBTOOL_WIN32_DLL | |||
AM_PROG_LIBTOOL | |||
AC_LIBTOOL_CXX | |||
AC_C_CONST | |||
AC_C_INLINE | |||
dnl AC_PROG_EGREP only exists in autoconf 2.54+, so we use AC_EGREP_CPP right | |||
dnl now otherwise it might be set in an obscure if statement. Same thing for | |||
dnl PKG_PROG_PKG_CONFIG which needs to be called first. | |||
AC_EGREP_CPP(yes, foo) | |||
PKG_PROG_PKG_CONFIG() | |||
m4_pattern_allow([^PKG_CONFIG_LIBDIR$]) | |||
if test "${build}" != "${host}" -a "${PKG_CONFIG_LIBDIR}" = ""; then | |||
export PKG_CONFIG_LIBDIR=/dev/null | |||
fi | |||
dnl conditional builds | |||
AC_ARG_ENABLE(debug, | |||
[ --enable-debug build debug versions of the library (default no)]) | |||
AC_CHECK_HEADERS(stdio.h stdarg.h inttypes.h endian.h stdint.h getopt.h) | |||
# Optimizations | |||
CXXFLAGS="${CXXFLAGS} -g -O2 -fno-strength-reduce -fomit-frame-pointer" | |||
# Code qui fait des warnings == code de porc == deux baffes dans ta gueule | |||
CXXFLAGS="${CXXFLAGS} -Wall -Wextra -Wpointer-arith -Wcast-align -Wcast-qual -Wshadow -Wsign-compare" | |||
AC_CHECK_LIB(m, sin, MATH_LIBS="${MATH_LIBS} -lm") | |||
# Use SDL? | |||
ac_cv_my_have_sdl="no" | |||
save_CPPFLAGS="${CPPFLAGS}" | |||
AC_PATH_PROG(SDL_CONFIG, sdl-config, no) | |||
if test "${SDL_CONFIG}" != "no"; then | |||
CPPFLAGS="${CPPFLAGS} `sdl-config --cflags`" | |||
fi | |||
AC_CHECK_HEADERS(SDL_image.h, | |||
[ac_cv_my_have_sdl="yes"], | |||
[ac_cv_my_have_sdl="no"]) | |||
CPPFLAGS="${save_CPPFLAGS}" | |||
if test "${ac_cv_my_have_sdl}" != "no"; then | |||
AC_DEFINE(USE_SDL, 1, Define to 1 to use SDL_image) | |||
fi | |||
AM_CONDITIONAL(USE_SDL, test "${ac_cv_my_have_sdl}" = "yes") | |||
if test "${ac_cv_my_have_sdl}" = "no" -a "${ac_cv_my_have_imlib2}" = "no"; then | |||
AC_MSG_ERROR([[cannot find SDL_Image or GTK+, please install one of them]]) | |||
fi | |||
if test "${enable_debug}" = "yes"; then | |||
AC_DEFINE(DEBUG, 1, Define to 1 to activate debug) | |||
fi | |||
AC_SUBST(MATH_LIBS) | |||
AC_CONFIG_FILES([ | |||
Makefile | |||
src/Makefile | |||
tools/Makefile | |||
art/Makefile | |||
art/test/Makefile | |||
gfx/Makefile | |||
gfx/font/Makefile | |||
]) | |||
AC_OUTPUT | |||
@@ -1,7 +0,0 @@ | |||
all: | |||
cd font && $(MAKE) all | |||
clean: | |||
cd font && $(MAKE) clean | |||
@@ -0,0 +1,3 @@ | |||
SUBDIRS = font | |||
@@ -1,21 +0,0 @@ | |||
COMMON = test-map.cpp \ | |||
game.cpp tiler.cpp tileset.cpp scene.cpp \ | |||
font.cpp layer.cpp map.cpp joystick.cpp | |||
TEST_SRC = test-map.cpp sdlvideo.cpp $(COMMON) | |||
EDITOR_SRC = editor.cpp gtkvideo.cpp $(COMMON) | |||
all: test-map | |||
test-map: $(TEST_SRC:%.cpp=%.o) | |||
g++ -g -Wall -O3 $^ -o $@ `pkg-config --libs sdl gl SDL_image` | |||
editor-map: $(EDITOR_SRC:%.cpp=%.o) | |||
g++ -g -Wall -O3 $^ -o $@ `pkg-config --libs sdl gl SDL_image` | |||
%.o: %.cpp | |||
g++ -g -Wall -O3 -c $^ -o $@ `pkg-config --cflags sdl gl SDL_image` | |||
clean: | |||
rm -f *.o test-map | |||
@@ -0,0 +1,41 @@ | |||
noinst_PROGRAMS = test-map editor | |||
noinst_LIBRARIES = libcommon.a | |||
libcommon_a_SOURCES = \ | |||
game.cpp tiler.cpp tileset.cpp scene.cpp \ | |||
font.cpp layer.cpp map.cpp joystick.cpp | |||
libcommon_a_CXXFLAGS = `pkg-config --cflags sdl gl SDL_image` | |||
test_map_SOURCES = test-map.cpp sdlvideo.cpp | |||
test_map_CXXFLAGS = `pkg-config --cflags sdl gl SDL_image` | |||
test_map_LDADD = libcommon.a | |||
test_map_LDFLAGS = `pkg-config --libs sdl gl SDL_image` | |||
editor_SOURCES = editor.cpp gtkvideo.cpp | |||
editor_CXXFLAGS = `pkg-config --cflags sdl gl SDL_image gtk+-2.0 gtkgl-2.0` | |||
editor_LDADD = libcommon.a | |||
editor_LDFLAGS = `pkg-config --libs sdl gl gtk+-2.0 gtkgl-2.0 SDL_image` | |||
#COMMON = $(libcommon_a_SOURCES) | |||
# | |||
#TEST_SRC = test-map.cpp sdlvideo.cpp $(COMMON) | |||
#EDITOR_SRC = editor.cpp gtkvideo.cpp $(COMMON) | |||
# | |||
#CPPFLAGS = `pkg-config --cflags sdl gl SDL_image gtk+-2.0 gtkgl-2.0` | |||
#CXXFLAGS = -g -O3 -Wall \ | |||
# -Wpointer-arith -Wcast-align -Wcast-qual -Wshadow -Wsign-compare | |||
# | |||
#test-map: $(TEST_SRC:%.cpp=%.o) | |||
# g++ $(CXXFLAGS) $^ -o $@ `pkg-config --libs sdl gl SDL_image` | |||
# | |||
#editor: $(EDITOR_SRC:%.cpp=%.o) | |||
# g++ $(CXXFLAGS) $^ -o $@ `pkg-config --libs sdl gl gtk+-2.0 gtkgl-2.0 SDL_image` | |||
# | |||
#%.o: %.cpp | |||
# g++ -c $^ -o $@ $(CXXFLAGS) $(CPPFLAGS) | |||
# | |||
#clean: | |||
# rm -f *.o test-map editor | |||
@@ -0,0 +1,66 @@ | |||
#include <SDL.h> | |||
#include <stdio.h> | |||
#include <math.h> | |||
#include "gtkvideo.h" | |||
#include "game.h" | |||
#include <math.h> | |||
#include <gtk/gtk.h> | |||
#include <gtkgl/gtkglarea.h> | |||
#include <GL/gl.h> | |||
volatile int quit = 0; | |||
static gint main_quit(GtkWidget *widget, GdkEventExpose *event) | |||
{ | |||
quit = 1; | |||
return FALSE; | |||
} | |||
int main(int argc, char **argv) | |||
{ | |||
GtkWidget *window, *glarea; | |||
/* initialize gtk */ | |||
gtk_init(&argc, &argv); | |||
/* Create new top level window. */ | |||
window = gtk_window_new( GTK_WINDOW_TOPLEVEL); | |||
gtk_window_set_title(GTK_WINDOW(window), "Simple"); | |||
gtk_container_set_border_width(GTK_CONTAINER(window), 10); | |||
/* Quit form main if got delete event */ | |||
gtk_signal_connect(GTK_OBJECT(window), "delete_event", | |||
GTK_SIGNAL_FUNC(main_quit), NULL); | |||
/* You should always delete gtk_gl_area widgets before exit or else | |||
GLX contexts are left undeleted, this may cause problems (=core dump) | |||
in some systems. | |||
Destroy method of objects is not automatically called on exit. | |||
You need to manually enable this feature. Do gtk_quit_add_destroy() | |||
for all your top level windows unless you are certain that they get | |||
destroy signal by other means. | |||
*/ | |||
gtk_quit_add_destroy(1, GTK_OBJECT(window)); | |||
/* Create new OpenGL widget. */ | |||
GtkVideo *video = new GtkVideo("LOL", 640, 480); | |||
glarea = GTK_WIDGET(video->GetWidget()); | |||
/* put glarea into window and show it all */ | |||
gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(glarea)); | |||
gtk_widget_show(GTK_WIDGET(glarea)); | |||
gtk_widget_show(GTK_WIDGET(window)); | |||
while (!quit) | |||
{ | |||
while (g_main_context_iteration(NULL, FALSE)); | |||
} | |||
return 0; | |||
} |