[gnome-chess] Split several files off into an internal library
- From: Michael Catanzaro <mcatanzaro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-chess] Split several files off into an internal library
- Date: Wed, 9 Apr 2014 02:51:23 +0000 (UTC)
commit 17f0005f342e30c41cd089470f69eb8f3a2caa72
Author: Michael Catanzaro <mcatanzaro gnome org>
Date: Tue Apr 8 18:41:55 2014 -0500
Split several files off into an internal library
This will be a static convenience library, so we don't have to recompile
all of these files for each test binary.
Makefile.am | 10 ++++-
configure.ac | 16 ++++++++-
lib/Makefile.am | 39 ++++++++++++++++++++++
{src => lib}/chess-bitboard.vala | 0
{src => lib}/chess-clock.vala | 2 +-
{src => lib}/chess-game.vala | 8 ++--
{src => lib}/chess-move.vala | 0
{src => lib}/chess-pgn.vala | 4 +-
{src => lib}/chess-piece.vala | 0
{src => lib}/chess-player.vala | 0
{src => lib}/chess-state.vala | 0
po/POTFILES.in | 6 ---
po/POTFILES.skip | 7 ----
src/Makefile.am | 62 +++++++---------------------------
tests/Makefile.am | 45 +++++++++++++++++++++++++
{src => tests}/test-chess-game.vala | 0
{src => tests}/test-chess-pgn.vala | 0
17 files changed, 127 insertions(+), 72 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index 27375b8..66c3e32 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,4 +1,6 @@
-SUBDIRS = data src help po
+SUBDIRS = data lib src tests help po
+
+ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST = autogen.sh NEWS
@@ -6,6 +8,10 @@ DISTCLEANFILES = test-driver
MAINTAINERCLEANFILES = \
$(GITIGNORE_MAINTAINERCLEANFILES_TOPLEVEL) \
- $(GITIGNORE_MAINTAINERCLEANFILES_MAKEFILE_IN)
+ $(GITIGNORE_MAINTAINERCLEANFILES_MAKEFILE_IN) \
+ $(GITIGNORE_MAINTAINERCLEANFILES_M4_LIBTOOL)
+
+# We currently have no custom macros
+GITIGNOREFILES = m4
-include $(top_srcdir)/git.mk
diff --git a/configure.ac b/configure.ac
index 2b7999b..85e2a0a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,8 +1,11 @@
AC_PREREQ([2.63])
AC_INIT([GNOME Chess], [3.12.0], [https://bugzilla.gnome.org/],
[gnome-chess], [https://wiki.gnome.org/Apps/Chess])
-AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz foreign])
+
+AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([src/gnome-chess.vala])
+
+AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz foreign])
AM_SILENT_RULES([yes])
AM_MAINTAINER_MODE([enable])
GNOME_MAINTAINER_MODE_DEFINES
@@ -10,6 +13,9 @@ GNOME_MAINTAINER_MODE_DEFINES
AM_PROG_VALAC([0.23.1.11])
AM_PROG_CC_C_O
+LT_PREREQ([2.2])
+LT_INIT
+
GLIB_GSETTINGS
dnl ###########################################################################
@@ -30,7 +36,13 @@ PKG_CHECK_MODULES(GNOME_CHESS, [
x11
])
+PKG_CHECK_MODULES(LIBCHESS, [
+ glib-2.0
+ gio-2.0
+])
+
PKG_CHECK_MODULES(TEST, [
+ glib-2.0
gio-2.0
])
@@ -67,7 +79,9 @@ data/pieces/fancy/Makefile
data/pieces/simple/Makefile
data/textures/Makefile
help/Makefile
+lib/Makefile
po/Makefile.in
src/Makefile
+tests/Makefile
])
AC_OUTPUT
diff --git a/lib/Makefile.am b/lib/Makefile.am
new file mode 100644
index 0000000..8ed5fff
--- /dev/null
+++ b/lib/Makefile.am
@@ -0,0 +1,39 @@
+noinst_LTLIBRARIES = libchess.la
+
+libchess_la_SOURCES = \
+ chess-bitboard.vala \
+ chess-clock.vala \
+ chess-game.vala \
+ chess-move.vala \
+ chess-pgn.vala \
+ chess-piece.vala \
+ chess-player.vala \
+ chess-state.vala
+
+libchess_la_CFLAGS = \
+ -w
+
+libchess_la_CPPFLAGS = \
+ $(LIBCHESS_CFLAGS)
+
+libchess_la_LIBADD = \
+ $(LIBCHESS_LIBS)
+
+libchess_la_VALAFLAGS = \
+ --pkg glib-2.0 \
+ --pkg gio-2.0 \
+ --pkg posix \
+ --header=libchess.h \
+ --vapi=libchess.vapi
+
+EXTRA_DIST = libchess.h
+
+CLEANFILES = \
+ $(patsubst %.vala,%.c,$(filter %.vala, $(SOURCES))) \
+ *_vala.stamp \
+ *.log \
+ *.trs \
+ libchess.vapi \
+ libchess.h
+
+-include $(top_srcdir)/git.mk
diff --git a/src/chess-bitboard.vala b/lib/chess-bitboard.vala
similarity index 100%
rename from src/chess-bitboard.vala
rename to lib/chess-bitboard.vala
diff --git a/src/chess-clock.vala b/lib/chess-clock.vala
similarity index 99%
rename from src/chess-clock.vala
rename to lib/chess-clock.vala
index 5cbb9ae..6809c7d 100644
--- a/src/chess-clock.vala
+++ b/lib/chess-clock.vala
@@ -52,7 +52,7 @@ public class ChessClock : Object
{
get { return timer != null && expire_timeout_id != 0; }
}
-
+
public void start ()
{
if (is_active)
diff --git a/src/chess-game.vala b/lib/chess-game.vala
similarity index 99%
rename from src/chess-game.vala
rename to lib/chess-game.vala
index c255489..ab5603e 100644
--- a/src/chess-game.vala
+++ b/lib/chess-game.vala
@@ -38,7 +38,7 @@ public class ChessGame
public ChessResult result;
public ChessRule rule;
public List<ChessState> move_stack;
-
+
private int hold_count = 0;
public const string STANDARD_SETUP = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1";
@@ -51,7 +51,7 @@ public class ChessGame
public signal void ended ();
public bool is_paused { get; private set; default = false; }
-
+
public ChessState current_state
{
get { return move_stack.data; }
@@ -168,7 +168,7 @@ public class ChessGame
/* Wait until the hold is removed */
if (hold_count > 0)
return;
-
+
ChessRule rule;
var result = current_state.get_result (out rule);
if (result != ChessResult.IN_PROGRESS)
@@ -253,7 +253,7 @@ public class ChessGame
else
stop (ChessResult.WHITE_WON, ChessRule.TIMEOUT);
}
-
+
public ChessPiece? get_piece (int rank, int file, int move_number = -1)
{
if (move_number < 0)
diff --git a/src/chess-move.vala b/lib/chess-move.vala
similarity index 100%
rename from src/chess-move.vala
rename to lib/chess-move.vala
diff --git a/src/chess-pgn.vala b/lib/chess-pgn.vala
similarity index 99%
rename from src/chess-pgn.vala
rename to lib/chess-pgn.vala
index 0b94a87..edf227e 100644
--- a/src/chess-pgn.vala
+++ b/lib/chess-pgn.vala
@@ -174,7 +174,7 @@ public class PGNGame
}
public string escape (string value)
- {
+ {
var a = value.replace ("\\", "\\\\");
return a.replace ("\"", "\\\"");
}
@@ -247,7 +247,7 @@ public class PGN
line++;
line_offset = offset + 1;
}
-
+
switch (state)
{
case State.TAGS:
diff --git a/src/chess-piece.vala b/lib/chess-piece.vala
similarity index 100%
rename from src/chess-piece.vala
rename to lib/chess-piece.vala
diff --git a/src/chess-player.vala b/lib/chess-player.vala
similarity index 100%
rename from src/chess-player.vala
rename to lib/chess-player.vala
diff --git a/src/chess-state.vala b/lib/chess-state.vala
similarity index 100%
rename from src/chess-state.vala
rename to lib/chess-state.vala
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 59981e0..73275bb 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -10,17 +10,11 @@ data/org.gnome.gnome-chess.gschema.xml
[type: gettext/glade]data/promotion-type-selector.ui
src/3ds.vala
src/ai-profile.vala
-src/chess-bitboard.vala
-src/chess-clock.vala
src/chess-engine-cecp.vala
src/chess-engine-uci.vala
src/chess-engine.vala
-src/chess-game.vala
-src/chess-pgn.vala
src/chess-scene.vala
src/chess-view-2d.vala
src/chess-view-3d.vala
src/chess-view.vala
src/gnome-chess.vala
-src/test-chess-game.vala
-src/test-chess-pgn.vala
diff --git a/po/POTFILES.skip b/po/POTFILES.skip
index 5cb8a44..ce1b2c3 100644
--- a/po/POTFILES.skip
+++ b/po/POTFILES.skip
@@ -1,17 +1,10 @@
data/glchess.desktop.in
src/3ds.c
src/ai-profile.c
-src/chess-bitboard.c
-src/chess-clock.c
src/chess-engine.c
src/chess-engine-cecp.c
src/chess-engine-uci.c
-src/chess-game.c
-src/chess-pgn.c
-src/chess-scene.c
src/chess-view-2d.c
src/chess-view-3d.c
src/chess-view.c
src/gnome-chess.c
-src/test-chess-game.c
-src/test-chess-pgn.c
diff --git a/src/Makefile.am b/src/Makefile.am
index 3ba1c88..c587586 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,9 +1,5 @@
bin_PROGRAMS = gnome-chess
-noinst_PROGRAMS = test-chess-game test-chess-pgn
-
-TESTS = test-chess-game test-chess-pgn
-
gnome_chess_SOURCES = \
config.vapi \
gl.vapi \
@@ -15,70 +11,38 @@ gnome_chess_SOURCES = \
3ds.vala \
gnome-chess.vala \
ai-profile.vala \
- chess-bitboard.vala \
- chess-clock.vala \
chess-engine.vala \
chess-engine-cecp.vala \
chess-engine-uci.vala \
- chess-game.vala \
- chess-move.vala \
- chess-piece.vala \
- chess-player.vala \
- chess-pgn.vala \
chess-scene.vala \
- chess-state.vala \
chess-view.vala \
chess-view-2d.vala \
chess-view-3d.vala
-test_chess_game_SOURCES = \
- chess-bitboard.vala \
- chess-clock.vala \
- chess-game.vala \
- chess-move.vala \
- chess-piece.vala \
- chess-player.vala \
- chess-state.vala \
- test-chess-game.vala
-test_chess_game_CFLAGS = \
- -w \
- $(TEST_CFLAGS)
-test_chess_game_LDADD = \
- $(TEST_LIBS)
-test_chess_game_VALAFLAGS = \
- --pkg gobject-2.0 \
- --pkg posix
-
-test_chess_pgn_SOURCES = \
- chess-pgn.vala \
- test-chess-pgn.vala
-test_chess_pgn_CFLAGS = \
- -w \
- $(TEST_CFLAGS)
-test_chess_pgn_LDADD = \
- $(TEST_LIBS)
-test_chess_pgn_VALAFLAGS = \
- --pkg gio-2.0
-
gnome_chess_CFLAGS = \
+ -w
+
+gnome_chess_CPPFLAGS = \
-DVERSION=\"$(VERSION)\" \
-DGETTEXT_PACKAGE=\"$(GETTEXT_PACKAGE)\" \
-DPKGDATADIR=\"$(pkgdatadir)/\" \
-DLOCALEDIR=\"$(localedir)\" \
-DSYSCONFDIR=\"$(sysconfdir)\" \
- -w \
+ -I$(top_srcdir)/lib \
$(GNOME_CHESS_CFLAGS)
gnome_chess_LDADD = \
- $(GNOME_CHESS_LIBS)
+ $(GNOME_CHESS_LIBS) \
+ $(top_builddir)/lib/libchess.la
gnome_chess_VALAFLAGS = \
- --pkg gtk+-3.0 \
- --pkg gdk-x11-3.0 \
- --pkg gmodule-2.0 \
- --pkg librsvg-2.0 \
- --pkg posix \
- --pkg sqlite3
+ --pkg gdk-x11-3.0 \
+ --pkg glib-2.0 \
+ --pkg gmodule-2.0 \
+ --pkg gtk+-3.0 \
+ --pkg librsvg-2.0 \
+ --pkg posix \
+ $(top_builddir)/lib/libchess.vapi
CLEANFILES = \
$(patsubst %.vala,%.c,$(filter %.vala, $(SOURCES))) \
diff --git a/tests/Makefile.am b/tests/Makefile.am
new file mode 100644
index 0000000..3b869d6
--- /dev/null
+++ b/tests/Makefile.am
@@ -0,0 +1,45 @@
+noinst_PROGRAMS = test-chess-game test-chess-pgn
+
+TESTS = test-chess-game test-chess-pgn
+
+AM_CFLAGS = -w
+
+test_chess_game_SOURCES = \
+ test-chess-game.vala
+
+test_chess_game_CPPFLAGS = \
+ -I$(top_srcdir)/lib \
+ $(TEST_CFLAGS)
+
+test_chess_game_LDADD = \
+ $(top_builddir)/lib/libchess.la \
+ $(TEST_LIBS)
+
+test_chess_game_VALAFLAGS = \
+ --pkg glib-2.0 \
+ --pkg gio-2.0 \
+ $(top_builddir)/lib/libchess.vapi
+
+test_chess_pgn_SOURCES = \
+ test-chess-pgn.vala
+
+test_chess_pgn_CPPFLAGS = \
+ -I$(top_srcdir)/lib \
+ $(TEST_CFLAGS)
+
+test_chess_pgn_LDADD = \
+ $(top_builddir)/lib/libchess.la \
+ $(TEST_LIBS)
+
+test_chess_pgn_VALAFLAGS = \
+ --pkg glib-2.0 \
+ --pkg gio-2.0 \
+ $(top_builddir)/lib/libchess.vapi
+
+CLEANFILES = \
+ $(patsubst %.vala,%.c,$(filter %.vala, $(SOURCES))) \
+ *_vala.stamp \
+ *.log \
+ *.trs
+
+-include $(top_srcdir)/git.mk
diff --git a/src/test-chess-game.vala b/tests/test-chess-game.vala
similarity index 100%
rename from src/test-chess-game.vala
rename to tests/test-chess-game.vala
diff --git a/src/test-chess-pgn.vala b/tests/test-chess-pgn.vala
similarity index 100%
rename from src/test-chess-pgn.vala
rename to tests/test-chess-pgn.vala
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]