Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYves Combe <ycombe@src.gnome.org>2006-10-23 22:56:48 (GMT)
committer Yves Combe <ycombe@src.gnome.org>2006-10-23 22:56:48 (GMT)
commitc31d19c2269bf6f440f1a5283020909c2f483c56 (patch)
treefc2e00569bedeaaed10ae839a51952cdfb486329
parent99b48d68f571bb8b584ad0850ec571d831b56be7 (diff)
autotools croos compilation with mingw32
use glib headers instead of glibc (g_mkdir, g_unlink, g_stat) NEED MORE WORK. cvs maybe broken now.
-rw-r--r--ChangeLog30
-rw-r--r--Makefile.am14
-rw-r--r--acinclude.m423
-rw-r--r--configure.in110
-rwxr-xr-xcross-configure.sh46
-rw-r--r--po/Makefile.in.in182
-rw-r--r--src/boards/Makefile.am100
-rw-r--r--src/boards/gtans.c8
-rw-r--r--src/boards/gtans_support.c13
-rw-r--r--src/boards/py-mod-gcompris.c4
-rw-r--r--src/gcompris/Makefile.am32
-rw-r--r--src/gcompris/binreloc.c3
-rw-r--r--src/gcompris/board.c6
-rw-r--r--src/gcompris/board.h14
-rw-r--r--src/gcompris/file_selector.c2
-rw-r--r--src/gcompris/gameutil.c15
-rw-r--r--src/gcompris/gcompris.c10
-rw-r--r--src/gcompris/gcompris_db.c11
-rw-r--r--src/gcompris/images_selector.c2
-rw-r--r--src/gcompris/menu.c7
-rw-r--r--src/gcompris/properties.c2
-rw-r--r--src/gcompris/sdlplayer.c8
-rw-r--r--src/gcompris/soundutil.c5
23 files changed, 404 insertions, 243 deletions
diff --git a/ChangeLog b/ChangeLog
index 13ff044..f8a6a37 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,33 @@
+2006-10-24 Yves Combe <yves@ycombe.net>
+
+ autotools croos compilation with mingw32
+ use glib headers instead of glibc (g_mkdir, g_unlink, g_stat)
+ NEED MORE WORK. cvs maybe broken now.
+
+ * Makefile.am:
+ * acinclude.m4:
+ * configure.in:
+ * cross-configure.sh: script to run configure. Look variables.
+ * po/Makefile.in.in:
+ * src/boards/Makefile.am:
+ * src/boards/gtans.c:
+ * src/boards/gtans_support.c: (check_file_exists):
+ * src/boards/py-mod-gcompris.c: (py_gcompris_child_watch_add),
+ (py_gcompris_spawn_async):
+ * src/gcompris/Makefile.am:
+ * src/gcompris/binreloc.c: (_br_find_exe):
+ * src/gcompris/board.c:
+ * src/gcompris/board.h:
+ * src/gcompris/file_selector.c: (parse_doc):
+ * src/gcompris/gameutil.c: (gc_util_create_rootdir):
+ * src/gcompris/gcompris.c: (activation_done), (gc_init):
+ * src/gcompris/gcompris_db.c: (gc_db_init):
+ * src/gcompris/images_selector.c: (parse_doc):
+ * src/gcompris/menu.c: (gc_menu_load):
+ * src/gcompris/properties.c: (gc_prop_new):
+ * src/gcompris/sdlplayer.c: (errorv):
+ * src/gcompris/soundutil.c:
+
2006-10-23 Bruno coudoin <bruno.coudoin@free.fr>
- more fixes for the windows install procedure
diff --git a/Makefile.am b/Makefile.am
index 9653892..f2c6a00 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,22 +1,36 @@
## Process this file with automake to produce Makefile.in
+if !BUILD_MINGW32
if TEXINFO
DOCS_SUBDIR=docs
else
DOCS_SUBDIR=
endif
+else
+DOCS_SUBDIR=
+endif
SUBDIRS = po src boards $(DOCS_SUBDIR) autopackage
icondir=$(datadir)/pixmaps
icon_DATA = gcompris.png gcompris-edit.png
+if BUILD_MINGW32
+Applicationsdir = $(datadir)/
+Applications_in_files =
+Applications_DATA =
+
+Menudir=$(prefix)
+Menu_DATA=
+
+else
Applicationsdir = $(datadir)/applications/
Applications_in_files = gcompris.desktop.in gcompris-edit.desktop.in
Applications_DATA = gcompris.desktop gcompris-edit.desktop
Menudir=$(prefix)/lib/menu
Menu_DATA=gcompris
+endif
@INTLTOOL_DESKTOP_RULE@
diff --git a/acinclude.m4 b/acinclude.m4
index a351e4d..9ea0a8e 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -43,18 +43,25 @@ AC_DEFUN([AM_CHECK_PYTHON_HEADERS],
[AC_REQUIRE([AM_PATH_PYTHON])
AC_MSG_CHECKING(for headers required to compile python extensions)
dnl deduce PYTHON_CFLAGS
-py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
-py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"`
-PYTHON_CFLAGS="-I${py_prefix}/include/python${PYTHON_VERSION}"
-python_link=`$PYTHON -c "import distutils.sysconfig ; print distutils.sysconfig.get_config_var(\"LIBRARY\")" | sed -e "s%lib\(.*\)\.[[a-zA-Z]]*$%-l\1%"`
+if test "x$PYTHON_CFLAGS" = "x" ; then
+ py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
+ py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"`
-python_libdir=`$PYTHON -c "import distutils.sysconfig ; print distutils.sysconfig.get_config_var(\"LIBDIR\")"`
+ PYTHON_CFLAGS="-I${py_prefix}/include/python${PYTHON_VERSION}"
-PYTHON_LIBS="-L${python_libdir} ${python_link}"
-if test "$py_prefix" != "$py_exec_prefix"; then
- PYTHON_CFLAGS="$PYTHON_CFLAGS -I${py_exec_prefix}/include/python${PYTHON_VERSION}"
+ if test "$py_prefix" != "$py_exec_prefix"; then
+ PYTHON_CFLAGS="$PYTHON_CFLAGS -I${py_exec_prefix}/include/python${PYTHON_VERSION}"
+ fi
+fi
+
+if test "x$PYTHON_LIBS" = "x" ; then
+ python_link=`$PYTHON -c "import distutils.sysconfig ; print distutils.sysconfig.get_config_var(\"LIBRARY\")" | sed -e "s%lib\(.*\)\.[[a-zA-Z]]*$%-l\1%"`
+
+ python_libdir=`$PYTHON -c "import distutils.sysconfig ; print distutils.sysconfig.get_config_var(\"LIBDIR\")"`
+
+ PYTHON_LIBS="-L${python_libdir} ${python_link}"
fi
AC_SUBST(PYTHON_CFLAGS)
diff --git a/configure.in b/configure.in
index 861a45f..4f9fe9d 100644
--- a/configure.in
+++ b/configure.in
@@ -63,10 +63,24 @@ AM_PROG_LIBTOOL
dnl Check for SDL
SDL_VERSION=1.2.3
-AM_PATH_SDL($SDL_VERSION,
+
+cflags_previous=$CFLAGS
+libs_previous=$LIBS
+
+if test "x$SDL_CFLAGS" = "x" -o "x$SDL_LIBS" = "x" ; then
+ AM_PATH_SDL($SDL_VERSION,
:,
AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!])
-)
+ )
+else
+ AC_SUBST(SDL_CFLAGS)
+ AC_SUBST(SDL_LIBS)
+ echo "*** Not checking SDL. Using existing SDL_FLAGS and SDL_LIBS ***"
+fi
+
+dnl RESTAURE PREVIOUSLY SET VALUES
+CFLAGS=$cflags_previous
+LIBS=$libs_previous
dnl GNOME2 GNOME_X_CHECKS
AM_PATH_GLIB_2_0
@@ -214,27 +228,55 @@ dnl
dnl === DIRECTORY DEFINITIONS ===
dnl
-dnl Set PACKAGE_LOCALE_DIR in config.h.
-AC_DEFINE_UNQUOTED(PACKAGE_LOCALE_DIR, "${myprefix}/${DATADIRNAME}/locale", [GCompris locale directory])
+if test "x$platform_win32" = "xno" ; then
-dnl Set PACKAGE_DATA_DIR
-PACKAGE_DATA_DIR="boards"
-AC_SUBST(PACKAGE_DATA_DIR)
-AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${myprefix}/${DATADIRNAME}", [GCompris data directory])
+ dnl Set PACKAGE_LOCALE_DIR in config.h.
+ AC_DEFINE_UNQUOTED(PACKAGE_LOCALE_DIR, "${myprefix}/${DATADIRNAME}/locale", [GCompris locale directory])
-dnl Set PACKAGE_HELP_DIR
-PACKAGE_HELP_DIR="${myprefix}/${DATADIRNAME}/${PACKAGE}/help"
-AC_SUBST(PACKAGE_HELP_DIR)
+ dnl Set PACKAGE_DATA_DIR
+ PACKAGE_DATA_DIR="boards"
+ AC_SUBST(PACKAGE_DATA_DIR)
+ AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${myprefix}/${DATADIRNAME}", [GCompris data directory])
-dnl Plugin Directory
-my_libdir=`eval echo "${libdir}"`
-AC_DEFINE_UNQUOTED(PACKAGE_CLIB_DIR, "${my_libdir}", [Gcompris plugins directory])
-plugindir=$libdir/gcompris
-AC_SUBST(plugindir)
+ dnl Set PACKAGE_HELP_DIR
+ PACKAGE_HELP_DIR="${myprefix}/${DATADIRNAME}/${PACKAGE}/help"
+ AC_SUBST(PACKAGE_HELP_DIR)
+
+ dnl Plugin Directory
+ my_libdir=`eval echo "${libdir}"`
+ AC_DEFINE_UNQUOTED(PACKAGE_CLIB_DIR, "${my_libdir}", [Gcompris plugins directory])
+ plugindir=$libdir/gcompris
+ AC_SUBST(plugindir)
+
+ dnl Python plugin Directory
+ PYTHON_PLUGIN_DIR="${myprefix}/${DATADIRNAME}/${PACKAGE}/python"
+ AC_SUBST(PYTHON_PLUGIN_DIR)
+
+else
+ DATADIRNAME="share"
-dnl Python plugin Directory
-PYTHON_PLUGIN_DIR="${myprefix}/${DATADIRNAME}/${PACKAGE}/python"
-AC_SUBST(PYTHON_PLUGIN_DIR)
+ dnl Set PACKAGE_LOCALE_DIR in config.h for WINDOWS
+ AC_DEFINE_UNQUOTED(PACKAGE_LOCALE_DIR, "../${DATADIRNAME}/locale", [GCompris locale directory])
+
+ dnl Set PACKAGE_DATA_DIR
+ PACKAGE_DATA_DIR="boards"
+ AC_SUBST(PACKAGE_DATA_DIR)
+ AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "../${DATADIRNAME}", [GCompris data directory])
+
+ dnl Set PACKAGE_HELP_DIR
+ PACKAGE_HELP_DIR="${myprefix}/${DATADIRNAME}/gnome/help/gcompris"
+ AC_SUBST(PACKAGE_HELP_DIR)
+
+ dnl Plugin Directory
+ AC_DEFINE_UNQUOTED(PACKAGE_CLIB_DIR, "../${DATADIRNAME}", [Gcompris plugins directory])
+ plugindir=${myprefix}/${DATADIRNAME}/gcompris
+ AC_SUBST(plugindir)
+
+ dnl Python plugin Directory
+ PYTHON_PLUGIN_DIR="${myprefix}/${DATADIRNAME}/gcompris/python"
+ AC_SUBST(PYTHON_PLUGIN_DIR)
+
+fi
dnl Test for gnuchess
AC_PATH_PROG(GNUCHESS, gnuchess,no,[/usr/bin:/usr/games:/usr/local/bin:$PATH])
@@ -291,6 +333,7 @@ else
if test x$python_path != xnot ; then
PYTHON=$python_path
fi
+
AM_PATH_PYTHON(2.2)
AM_CHECK_PYTHON_HEADERS( [build_python_plugin="yes"], [build_python_plugin="no"] )
@@ -338,10 +381,11 @@ else
AC_MSG_WARN([py-build-only: Do not forget to install pygtk, pysqlite2])
fi
- if test x$with_sqlite = xyes; then
+fi
+
+if test x$with_sqlite = xyes; then
PKG_CHECK_MODULES(SQLITE3, sqlite3,, AC_MSG_ERROR([*** SQLITE3 not found!]))
AC_DEFINE([USE_SQLITE], 1,[SQLITE Database, Profiles are enabled])
- fi
fi
AM_CONDITIONAL(USE_SQLITE, test x$with_sqlite = xyes)
@@ -451,7 +495,31 @@ AC_SUBST(VERSION_VOICES_SV)
VERSION_VOICES_TR=1.0
AC_SUBST(VERSION_VOICES_TR)
+dnl mingw32 specific stuff.
+dnl use libgw32c
+dnl define __GW32__ and WIN32
+
+# Check platform - see if WinMain needed:
+AC_MSG_CHECKING([for native Win32])
+case "$host" in
+ *-*-mingw*)
+ native_win32=yes
+ ;;
+ *)
+ native_win32=no
+ ;;
+esac
+AC_MSG_RESULT([$native_win32])
+
+AM_CONDITIONAL(BUILD_MINGW32, test "$native_win32" = yes)
+if test "$native_win32" = yes; then
+ LIBS="$LIBS -luuid -lole32 -lwsock32 -mno-cygwin -mms-bitfields -mwindows"
+ #CFLAGS="$CFLAGS -D__GW32__ -DWIN32 -I$CROSS_ROOT/include -I$CROSS_ROOT/include/glibc"
+ #CFLAGS="$CFLAGS -DWIN32"
+fi
+
AC_SUBST(CFLAGS)
+AC_SUBST(LIBS)
dnl Autoconf output
AC_OUTPUT([ gcompris.spec
diff --git a/cross-configure.sh b/cross-configure.sh
new file mode 100755
index 0000000..61ff0a9
--- /dev/null
+++ b/cross-configure.sh
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+CONFIG_SHELL=/bin/sh
+export CONFIG_SHELL
+PREFIX=/usr/local/cross-tools
+TARGET=i586-mingw32msvc
+CROSS_DEV=/home/ycombe/Win32/dev2
+PATH="$PATH:$CROSS_DEV/bin"
+export PATH
+PKG_CONFIG_LIBDIR="$CROSS_DEV/lib/pkgconfig:$CROSS_DEV/Python24/Lib/pkgconfig"
+export PKG_CONFIG_LIBDIR
+export PKG_CONFIG_PATH
+PYTHONHOME="$CROSS_DEV/Python24"
+PYTHONPATH="$CROSS_DEV/Python24/Lib"
+PYTHON_CFLAGS="-I$CROSS_DEV/Python24/include"
+PYTHON_LIBS="-L$CROSS_DEV/Python24/libs -lpython24"
+export PYTHONHOME
+export PYTHONPATH
+export PYTHON_CFLAGS
+export PYTHON_LIBS
+
+SDL_MIXER_CFLAGS="-I$CROSS_DEV/SDL_mixer-1.2.7/include"
+SDL_MIXER_LDFLAGS="-L$CROSS_DEV/SDL_mixer-1.2.7/lib"
+SDL_CFLAGS="-I$CROSS_DEV/SDL-1.2.11/include"
+SDL_LIBS="-L$CROSS_DEV/SDL-1.2.11/lib -lSDLmain -lSDL"
+export SDL_CFLAGS
+export SDL_LIBS
+
+if [ -f "$CROSS_DEV/SDL-1.2.11/bin/i386-mingw32msvc-sdl-config" ]; then
+ SDL_CONFIG="$CROSS_DEV/SDL-1.2.11/bin/i386-mingw32msvc-sdl-config --prefix=$CROSS_DEV/SDL-1.2.11"
+ export SDL_CONFIG
+fi
+
+cache=cross-config.cache
+#CFLAGS="-I$CROSS_DEV/include -idirafter $CROSS_DEV/include/glibc" LDFLAGS=-L$CROSS_DEV/lib LIBS="-lgw32c -luuid -lole32 -lwsock32 -mwindows" sh configure --cache-file="$cache" \
+#CFLAGS="-I$CROSS_DEV/include -I$CROSS_DEV/include/glibc -I$CROSS_DEV/include/glibc -D__GW32__" LDFLAGS=-L$CROSS_DEV/lib LIBS=-lgw32c sh configure --cache-file="$cache"
+CFLAGS="-I$CROSS_DEV/include -idirafter $CROSS_DEV/include/glibc $SDL_MIXER_CFLAGS -D__GW32__" LDFLAGS="-L$CROSS_DEV/lib $SDL_MIXER_LDFLAGS" LIBS=-lgw32c sh configure --cache-file="$cache" \
+ --target=$TARGET --host=$TARGET --build=i386-linux \
+ --enable-py-build-only \
+ --with-sdl-prefix="$CROSS_DEV/SDL-1.2.11" \
+ --prefix=/media/hda5/GCompris_test \
+ --disable-binreloc \
+ $*
+status=$?
+rm -f "$cache"
+exit $status
diff --git a/po/Makefile.in.in b/po/Makefile.in.in
index 1a6961e..d2d4e4c 100644
--- a/po/Makefile.in.in
+++ b/po/Makefile.in.in
@@ -22,7 +22,6 @@ PACKAGE = @PACKAGE@
VERSION = @VERSION@
SHELL = /bin/sh
-@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
@@ -34,18 +33,17 @@ exec_prefix = @exec_prefix@
datadir = @datadir@
datarootdir = @datarootdir@
libdir = @libdir@
-localedir = $(libdir)/locale
-gnulocaledir = $(datadir)/locale
-gettextsrcdir = $(datadir)/glib-2.0/gettext/po
+DATADIRNAME = @DATADIRNAME@
+itlocaledir = $(prefix)/$(DATADIRNAME)/locale
subdir = po
install_sh = @install_sh@
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+# Automake >= 1.8 provides @mkdir_p@.
+# Until it can be supposed, use the safe fallback:
+mkdir_p = $(install_sh) -d
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
-CC = @CC@
-GENCAT = @GENCAT@
GMSGFMT = @GMSGFMT@
MSGFMT = @MSGFMT@
XGETTEXT = @XGETTEXT@
@@ -54,32 +52,22 @@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
-DEFS = @DEFS@
-CFLAGS = @CFLAGS@
-CPPFLAGS = @CPPFLAGS@
+ALL_LINGUAS = @ALL_LINGUAS@
-INCLUDES = -I.. -I$(top_srcdir)/intl
+PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi)
-COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
+POFILES=$(shell if test -n "$(PO_LINGUAS)"; then LINGUAS="$(PO_LINGUAS)"; else LINGUAS="$(ALL_LINGUAS)"; fi; for lang in $$LINGUAS; do printf "$$lang.po "; done)
-SOURCES =
-POFILES = @POFILES@
-GMOFILES = @GMOFILES@
-DISTFILES = ChangeLog Makefile.in.in POTFILES.in \
-$(POFILES) $(SOURCES)
+DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(POFILES)
EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS
POTFILES = \
+#This Gets Replace for some reason
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-INSTOBJEXT = @INSTOBJEXT@
+CATALOGS=$(shell if test -n "$(PO_LINGUAS)"; then LINGUAS="$(PO_LINGUAS)"; else LINGUAS="$(ALL_LINGUAS)"; fi; for lang in $$LINGUAS; do printf "$$lang.gmo "; done)
.SUFFIXES:
-.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat
-
-.c.o:
- $(COMPILE) $<
+.SUFFIXES: .po .pox .gmo .mo .msg .cat
.po.pox:
$(MAKE) $(GETTEXT_PACKAGE).pot
@@ -94,7 +82,7 @@ INSTOBJEXT = @INSTOBJEXT@
.po.cat:
sed -f ../intl/po2msg.sed < $< > $*.msg \
- && rm -f $@ && $(GENCAT) $@ $*.msg
+ && rm -f $@ && gencat $@ $*.msg
all: all-@USE_NLS@
@@ -105,120 +93,98 @@ all-no:
$(GETTEXT_PACKAGE).pot: $(POTFILES)
$(GENPOT)
-install: install-exec install-data
-install-exec:
+install: install-data
install-data: install-data-@USE_NLS@
install-data-no: all
install-data-yes: all
- if test -n "$(MKINSTALLDIRS)"; then \
- $(MKINSTALLDIRS) $(DESTDIR)$(datadir); \
+ $(mkdir_p) $(DESTDIR)$(itlocaledir)
+ if test -n "$(PO_LINGUAS)"; then \
+ linguas="$(PO_LINGUAS)"; \
else \
- $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \
- fi
- @catalogs='$(CATALOGS)'; \
- for cat in $$catalogs; do \
- cat=`basename $$cat`; \
- case "$$cat" in \
- *.gmo) destdir=$(gnulocaledir);; \
- *) destdir=$(localedir);; \
- esac; \
- lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
- dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \
- if test -n "$(MKINSTALLDIRS)"; then \
- $(MKINSTALLDIRS) $$dir; \
+ linguas="$(ALL_LINGUAS)"; \
+ fi; \
+ for lang in $$linguas; do \
+ dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \
+ $(mkdir_p) $$dir; \
+ if test -r $$lang.gmo; then \
+ $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
+ echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \
else \
- $(SHELL) $(top_srcdir)/mkinstalldirs $$dir; \
+ $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
+ echo "installing $(srcdir)/$$lang.gmo as" \
+ "$$dir/$(GETTEXT_PACKAGE).mo"; \
fi; \
- if test -r $$cat; then \
- $(INSTALL_DATA) $$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \
- echo "installing $$cat as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \
+ if test -r $$lang.gmo.m; then \
+ $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \
+ echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \
else \
- $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \
- echo "installing $(srcdir)/$$cat as" \
- "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \
- fi; \
- if test -r $$cat.m; then \
- $(INSTALL_DATA) $$cat.m $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \
- echo "installing $$cat.m as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \
- else \
- if test -r $(srcdir)/$$cat.m ; then \
- $(INSTALL_DATA) $(srcdir)/$$cat.m \
- $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \
- echo "installing $(srcdir)/$$cat as" \
- "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \
+ if test -r $(srcdir)/$$lang.gmo.m ; then \
+ $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \
+ $$dir/$(GETTEXT_PACKAGE).mo.m; \
+ echo "installing $(srcdir)/$$lang.gmo.m as" \
+ "$$dir/$(GETTEXT_PACKAGE).mo.m"; \
else \
true; \
fi; \
fi; \
done
- if test "$(PACKAGE)" = "glib"; then \
- if test -n "$(MKINSTALLDIRS)"; then \
- $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \
- else \
- $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \
- fi; \
- $(INSTALL_DATA) $(srcdir)/Makefile.in.in \
- $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \
- else \
- : ; \
- fi
+
+# Empty stubs to satisfy archaic automake needs
+dvi info tags TAGS ID:
# Define this as empty until I found a useful application.
installcheck:
uninstall:
- catalogs='$(CATALOGS)'; \
- for cat in $$catalogs; do \
- cat=`basename $$cat`; \
- lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
- rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \
- rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \
- rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \
- rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \
+ if test -n "$(PO_LINGUAS)"; then \
+ linguas="$(PO_LINGUAS)"; \
+ else \
+ linguas="$(ALL_LINGUAS)"; \
+ fi; \
+ for lang in $$linguas; do \
+ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \
+ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \
done
- if test "$(PACKAGE)" = "glib"; then \
- rm -f $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \
- fi
check: all $(GETTEXT_PACKAGE).pot
-dvi info tags TAGS ID:
-
mostlyclean:
- rm -f core core.* *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
- rm -fr *.o
+ rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
rm -f .intltool-merge-cache
clean: mostlyclean
distclean: clean
- rm -f Makefile Makefile.in POTFILES
- rm -f *.mo *.msg *.cat *.cat.m $(GMOFILES)
+ rm -f Makefile Makefile.in POTFILES stamp-it
+ rm -f *.mo *.msg *.cat *.cat.m *.gmo
maintainer-clean: distclean
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
rm -f Makefile.in.in
-distdir = ../$(GETTEXT_PACKAGE)-$(VERSION)/$(subdir)
+distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
dist distdir: $(DISTFILES)
dists="$(DISTFILES)"; \
extra_dists="$(EXTRA_DISTFILES)"; \
for file in $$extra_dists; do \
- test -f $$file && dists="$$dists $$file"; \
+ test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \
done; \
for file in $$dists; do \
- ln $(srcdir)/$$file $(distdir) 2> /dev/null \
- || cp -p $(srcdir)/$$file $(distdir); \
+ test -f $$file || file="$(srcdir)/$$file"; \
+ ln $$file $(distdir) 2> /dev/null \
+ || cp -p $$file $(distdir); \
done
update-po: Makefile
$(MAKE) $(GETTEXT_PACKAGE).pot
tmpdir=`pwd`; \
- catalogs='$(CATALOGS)'; \
- for cat in $$catalogs; do \
- cat=`basename $$cat`; \
- lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
+ if test -n "$(PO_LINGUAS)"; then \
+ linguas="$(PO_LINGUAS)"; \
+ else \
+ linguas="$(ALL_LINGUAS)"; \
+ fi; \
+ for lang in $$linguas; do \
echo "$$lang:"; \
result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \
if $$result; then \
@@ -234,28 +200,20 @@ update-po: Makefile
fi; \
fi; \
else \
- echo "msgmerge for $$cat failed!"; \
+ echo "msgmerge for $$lang.gmo failed!"; \
rm -f $$tmpdir/$$lang.new.po; \
fi; \
done
-# POTFILES is created from POTFILES.in by stripping comments, empty lines
-# and Intltool tags (enclosed in square brackets), and appending a full
-# relative path to them
-POTFILES: POTFILES.in
- ( posrcprefix='$(top_srcdir)/'; \
- rm -f $@-t $@ \
- && (sed -e '/^#/d' \
- -e 's/^[[].*] *//' \
- -e '/^[ ]*$$/d' \
- -e "s@^@ $$posrcprefix@" $(srcdir)/$@.in \
- | sed -e '$$!s/$$/ \\/') > $@-t \
- && chmod a-w $@-t \
- && mv $@-t $@ )
-
-Makefile: Makefile.in.in ../config.status POTFILES
+Makefile POTFILES: stamp-it
+ @if test ! -f $@; then \
+ rm -f stamp-it; \
+ $(MAKE) stamp-it; \
+ fi
+
+stamp-it: Makefile.in.in ../config.status POTFILES.in
cd .. \
- && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
+ && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \
$(SHELL) ./config.status
# Tell versions [3.59,3.63) of GNU make not to export all variables.
diff --git a/src/boards/Makefile.am b/src/boards/Makefile.am
index 0e8e04a..cd27119 100644
--- a/src/boards/Makefile.am
+++ b/src/boards/Makefile.am
@@ -23,6 +23,15 @@ cairo_ldflags =
cairo_cflags =
endif
+if PLATFORM_WIN32
+shared = -shared
+no_undefined = -no-undefined
+gc_libs = $(GCOMPRIS_LIBS)
+else
+shared =
+no_undefined =
+gc_libs
+endif
SUBDIRS= $(python_subdir)
@@ -80,192 +89,193 @@ INCLUDES = \
$(PYTHON_CFLAGS) \
$(PYGTK_CFLAGS) \
$(sqlite_cflags) \
- $(cairo_cflags)
+ $(cairo_cflags) \
+ -DBOARD_DLL_EXPORT
-libdraw_la_LDFLAGS = -module -avoid-version
+libdraw_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libdraw_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libdraw_la_SOURCES = draw.c
-libawele_la_LDFLAGS = -module -avoid-version
+libawele_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libawele_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libawele_la_SOURCES = awele.c awele_alphaBeta.c awele_utils.c awele_utils.h awele.h
-libcrane_la_LDFLAGS = -module -avoid-version
+libcrane_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libcrane_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libcrane_la_SOURCES = crane.c
-libmenu_la_LDFLAGS = -module -avoid-version
+libmenu_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libmenu_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libmenu_la_SOURCES = menu2.c
-libclickgame_la_LDFLAGS = -module -avoid-version
+libclickgame_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libclickgame_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libclickgame_la_SOURCES = clickgame.c
-libalgebra_la_LDFLAGS = -module -avoid-version
+libalgebra_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libalgebra_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libalgebra_la_SOURCES = algebra.c
-libclockgame_la_LDFLAGS = -module -avoid-version
+libclockgame_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libclockgame_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libclockgame_la_SOURCES = clockgame.c
-libshapegame_la_LDFLAGS = -module -avoid-version
+libshapegame_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) $(XML_LIBS)
libshapegame_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libshapegame_la_SOURCES = shapegame.c
-libwordsgame_la_LDFLAGS = -module -avoid-version
+libwordsgame_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libwordsgame_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libwordsgame_la_SOURCES = wordsgame.c
-libgletters_la_LDFLAGS = -module -avoid-version
+libgletters_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libgletters_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libgletters_la_SOURCES = gletters.c
-libgtans_la_LDFLAGS = -module -avoid-version
+libgtans_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libgtans_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libgtans_la_SOURCES = gtans.c gtans_interface.c gtans_support.c gtans_callbacks.c \
gtans_callbacks.h gtans.h gtans_interface.h gtans_support.h
-libplanegame_la_LDFLAGS = -module -avoid-version
+libplanegame_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libplanegame_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libplanegame_la_SOURCES = planegame.c
-libsmallnumbers_la_LDFLAGS = -module -avoid-version
+libsmallnumbers_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libsmallnumbers_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libsmallnumbers_la_SOURCES = smallnumbers.c
-libparatrooper_la_LDFLAGS = -module -avoid-version
+libparatrooper_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libparatrooper_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libparatrooper_la_SOURCES = paratrooper.c
-libreading_la_LDFLAGS = -module -avoid-version
+libreading_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libreading_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libreading_la_SOURCES = reading.c
-libmemory_la_LDFLAGS = -module -avoid-version
+libmemory_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libmemory_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libmemory_la_SOURCES = memory.c
-libimageid_la_LDFLAGS = -module -avoid-version
+libimageid_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) $(XML_LIBS)
libimageid_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libimageid_la_SOURCES = imageid.c
-libmissingletter_la_LDFLAGS = -module -avoid-version
+libmissingletter_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) $(XML_LIBS)
libmissingletter_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libmissingletter_la_SOURCES = missingletter.c
-libclick_on_letter_la_LDFLAGS = -module -avoid-version
+libclick_on_letter_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libclick_on_letter_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libclick_on_letter_la_SOURCES = click_on_letter.c
-librailroad_la_LDFLAGS = -module -avoid-version
+librailroad_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
librailroad_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
librailroad_la_SOURCES = railroad.c
-liberase_la_LDFLAGS = -module -avoid-version
+liberase_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
liberase_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
liberase_la_SOURCES = erase.c
-libalgebra_guesscount_la_LDFLAGS = -module -avoid-version
+libalgebra_guesscount_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libalgebra_guesscount_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libalgebra_guesscount_la_SOURCES = algebra_guesscount.c
-libleftright_la_LDFLAGS = -module -avoid-version
+libleftright_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libleftright_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libleftright_la_SOURCES = leftright.c
-libcolors_la_LDFLAGS = -module -avoid-version
+libcolors_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libcolors_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libcolors_la_SOURCES = colors.c
-libtarget_la_LDFLAGS = -module -avoid-version
+libtarget_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libtarget_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libtarget_la_SOURCES = target.c
-libmagic_hat_la_LDFLAGS = -module -avoid-version
+libmagic_hat_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libmagic_hat_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libmagic_hat_la_SOURCES = magic_hat.c
-libmaze_la_LDFLAGS = -module -avoid-version
+libmaze_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libmaze_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libmaze_la_SOURCES = maze.c
-libreversecount_la_LDFLAGS = -module -avoid-version
+libreversecount_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libreversecount_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libreversecount_la_SOURCES = reversecount.c
-libcanal_lock_la_LDFLAGS = -module -avoid-version
+libcanal_lock_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libcanal_lock_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libcanal_lock_la_SOURCES = canal_lock.c
-libadvanced_colors_la_LDFLAGS = -module -avoid-version
+libadvanced_colors_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) $(XML_LIBS)
libadvanced_colors_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libadvanced_colors_la_SOURCES = advanced_colors.c
-libsuperbrain_la_LDFLAGS = -module -avoid-version
+libsuperbrain_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libsuperbrain_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libsuperbrain_la_SOURCES = superbrain.c
-libread_colors_la_LDFLAGS = -module -avoid-version
+libread_colors_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs) $(XML_LIBS)
libread_colors_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libread_colors_la_SOURCES = read_colors.c
-libchess_la_LDFLAGS = -module -avoid-version
+libchess_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libchess_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libchess_la_SOURCES = chess.c chess_position.c chess_notation.c \
chess_notation.h chess_position.h chess_makros.h
-libenumerate_la_LDFLAGS = -module -avoid-version
+libenumerate_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libenumerate_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libenumerate_la_SOURCES = enumerate.c
-libmoney_la_LDFLAGS = -module -avoid-version
+libmoney_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libmoney_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libmoney_la_SOURCES = money.c money_widget.c money_widget.h
-libtraffic_la_LDFLAGS = -module -avoid-version
+libtraffic_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libtraffic_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libtraffic_la_SOURCES = traffic.c traffic.h
-libmachpuzzle_la_LDFLAGS = -module -avoid-version
+libmachpuzzle_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libmachpuzzle_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libmachpuzzle_la_SOURCES = machpuzzle.c
-libsubmarine_la_LDFLAGS = -module -avoid-version
+libsubmarine_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libsubmarine_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libsubmarine_la_SOURCES = submarine.c
-libhanoi_la_LDFLAGS = -module -avoid-version
+libhanoi_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libhanoi_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libhanoi_la_SOURCES = hanoi.c
-libhanoi_real_la_LDFLAGS = -module -avoid-version
+libhanoi_real_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libhanoi_real_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libhanoi_real_la_SOURCES = hanoi_real.c
-libfifteen_la_LDFLAGS = -module -avoid-version
+libfifteen_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libfifteen_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libfifteen_la_SOURCES = fifteen.c
-libwordprocessor_la_LDFLAGS = -module -avoid-version
+libwordprocessor_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
libwordprocessor_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libwordprocessor_la_SOURCES = wordprocessor.c
-libpython_la_LDFLAGS = -export-dynamic -module -avoid-version $(PYTHON_LIBS)
+libpython_la_LDFLAGS = -export-dynamic $(shared) $(no_undefined) -module -avoid-version $(gc_libs) $(PYTHON_LIBS)
libpython_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
-libpython_la_CFLAGS = -fno-strict-aliasing
+libpython_la_CFLAGS = -fno-strict-aliasing $(PYGTK_CFLAGS)
libpython_la_SOURCES = python.c \
canvas.c canvasmodule.c \
py-gcompris-board.c py-gcompris-board.h \
diff --git a/src/boards/gtans.c b/src/boards/gtans.c
index 03bed7b..d57ba17 100644
--- a/src/boards/gtans.c
+++ b/src/boards/gtans.c
@@ -20,20 +20,12 @@
#include "gcompris/gcompris.h"
-#include <math.h>
-#include <stdio.h>
#include <string.h>
/* Added by Florian Ernst <florian_ernst@gmx.net> for lines 193 and 194 */
//#include <string.h>
/* End of added section */
-/* uniquement pour mkdir() */
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <fcntl.h>
-#include <unistd.h>
-
#include "gtans.h"
#include "gtans_interface.h"
#include "gtans_support.h"
diff --git a/src/boards/gtans_support.c b/src/boards/gtans_support.c
index 2590ced..9891b88 100644
--- a/src/boards/gtans_support.c
+++ b/src/boards/gtans_support.c
@@ -1,17 +1,14 @@
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
+
+
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <string.h>
+#include "strings.h"
#include "gcompris/gcompris.h"
+#include <glib/gstdio.h>
#include "gtans_support.h"
@@ -150,7 +147,7 @@ check_file_exists (const gchar *directory,
strcat (full_filename, G_DIR_SEPARATOR_S);
strcat (full_filename, filename);
- status = stat (full_filename, &s);
+ status = g_stat (full_filename, &s);
if (status == 0 && S_ISREG (s.st_mode))
return full_filename;
g_free (full_filename);
diff --git a/src/boards/py-mod-gcompris.c b/src/boards/py-mod-gcompris.c
index 12c1bd3..c5ae83c 100644
--- a/src/boards/py-mod-gcompris.c
+++ b/src/boards/py-mod-gcompris.c
@@ -671,7 +671,7 @@ py_gcompris_child_watch_add(PyObject *unused, PyObject *args, PyObject *kwargs)
static char *kwlist[] = { "pid", "function", "data", "priority", NULL };
guint id;
gint priority = G_PRIORITY_DEFAULT;
- int pid;
+ GPid pid;
PyObject *func, *user_data = NULL;
struct _PyGChildData *child_data;
@@ -738,7 +738,7 @@ py_gcompris_spawn_async(PyObject *unused, PyObject *args, PyObject *kwargs)
gint *standard_input, *standard_output, *standard_error;
struct _PyGChildSetupData *callback_data = NULL;
GError *error = NULL;
- GPid child_pid = -1;
+ GPid child_pid = (GPid) -1;
int len, i;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|OsiOOOOO:gcompris.spawn_async",
diff --git a/src/gcompris/Makefile.am b/src/gcompris/Makefile.am
index 6fafa87..f796882 100644
--- a/src/gcompris/Makefile.am
+++ b/src/gcompris/Makefile.am
@@ -27,6 +27,25 @@ endif
#cairo_c =
#endif
+if PLATFORM_WIN32
+no_undefined = -no-undefined
+shared = -shared
+else
+no_undefined =
+shared =
+endif
+
+if OS_WIN32
+install-libtool-import-lib:
+ $(INSTALL) .libs/libgcompris-1.dll.a $(DESTDIR)$(libdir)
+
+uninstall-libtool-import-lib:
+ -rm $(DESTDIR)$(libdir)/libgcompris-1.dll.a
+else
+install-libtool-import-lib:
+uninstall-libtool-import-lib:
+endif
+
bin_PROGRAMS = gcompris
INCLUDES = \
@@ -45,26 +64,25 @@ gcompris_SOURCES = \
main.c
gcompris_LDFLAGS = \
- -export-dynamic $(python_ldflags) $(SDL_LIBS) $(cairo_ldflags)
+ -export-dynamic $(python_ldflags) $(cairo_ldflags)
gcompris_LDADD = \
+ $(top_builddir)/src/gcompris/libgcompris-1.la \
$(LIBICONV) \
$(INTLLIBS) \
$(python_ldadd) \
- $(top_builddir)/src/gcompris/libgcompris-1.la \
$(LIBPOPT)
-
#
# Gcompris library
#
lib_LTLIBRARIES = libgcompris-1.la
libgcompris_1_la_LIBADD = \
- $(GCOMPRIS_LIBS) $(sqlite_ldadd) $(XML_LIBS) $(GNET_LIBS)
+ $(GCOMPRIS_LIBS) $(sqlite_ldadd) $(XML_LIBS) $(GNET_LIBS) $(SDL_LIBS)
-libgcompris_1_la_LDFLAGS = $(no_undefined) \
+libgcompris_1_la_LDFLAGS = $(shared) $(no_undefined) \
-version-info $(LIBGCOMPRIS_CURRENT):$(LIBGCOMPRIS_REVISION):$(LIBGCOMPRIS_AGE)
libgcomprisincludedir = $(includedir)/libgcompris-1.0/libgcompris
@@ -164,5 +182,9 @@ dist-hook:
rm -f $(distdir)/$$file ; \
done
+install-data-local: install-libtool-import-lib
+
+uninstall-local: uninstall-libtool-import-lib
+
clean-local:
rm -f $(marshal_sources)
diff --git a/src/gcompris/binreloc.c b/src/gcompris/binreloc.c
index 6b92634..03ffbc7 100644
--- a/src/gcompris/binreloc.c
+++ b/src/gcompris/binreloc.c
@@ -17,7 +17,6 @@
#ifdef ENABLE_BINRELOC
#include <sys/types.h>
- #include <sys/stat.h>
#include <unistd.h>
#endif /* ENABLE_BINRELOC */
#include <glib/gstdio.h>
@@ -86,7 +85,7 @@ _br_find_exe (GbrInitError *error)
/* Check whether the symlink's target is also a symlink.
* We want to get the final target. */
- i = stat (path, &stat_buf);
+ i = g_stat (path, &stat_buf);
if (i == -1) {
/* Error. */
g_free (path2);
diff --git a/src/gcompris/board.c b/src/gcompris/board.c
index 67193f2..ed300e3 100644
--- a/src/gcompris/board.c
+++ b/src/gcompris/board.c
@@ -28,7 +28,7 @@ static struct BoardPluginData *bp_data;
static gboolean get_board_playing(void);
-#ifdef WIN32
+#ifdef STATIC_MODULE
extern gchar *keycode[];
extern BoardPlugin * get_advanced_colors_bplugin_info();
extern BoardPlugin * get_algebra_bplugin_info();
@@ -79,7 +79,7 @@ static BoardPlugin *static_boards[MAX_NUMBER_OF_BOARDS];
#endif
-#ifdef WIN32
+#ifdef STATIC_MODULE
int gc_board_number_in_demo;
void gc_board_init(void)
{
@@ -203,7 +203,7 @@ void gc_board_set_current(GcomprisBoard * gcomprisBoard)
bp_data->current_gcompris_board = gcomprisBoard;
}
-#ifdef WIN32
+#ifdef STATIC_MODULE
gboolean
gc_board_check_file(GcomprisBoard *gcomprisBoard)
{
diff --git a/src/gcompris/board.h b/src/gcompris/board.h
index cec22ac..8a81f89 100644
--- a/src/gcompris/board.h
+++ b/src/gcompris/board.h
@@ -23,9 +23,9 @@
/**
* Handles plugins initialization
*
- * WIN32 = Static module, else it's dynamic
+ * STATIC_MODULE = Static module, else it's dynamic
*/
-#if defined WIN32
+#if defined STATIC_MODULE
#define GET_BPLUGIN_INFO(pluginname) \
BoardPlugin \
*get_##pluginname##_bplugin_info(void) \
@@ -34,8 +34,16 @@
} \
BoardPlugin * _##pluginname##_menu_bp = &menu_bp;
#else
+
+#ifdef BOARD_DLL_EXPORT
+// the dll exports
+# define EXPORT __declspec(dllexport)
+#else
+# define EXPORT
+#endif
+
#define GET_BPLUGIN_INFO(pluginname) \
- BoardPlugin \
+EXPORT BoardPlugin \
*get_bplugin_info(void) \
{ \
return &menu_bp; \
diff --git a/src/gcompris/file_selector.c b/src/gcompris/file_selector.c
index b6aaf2b..f8c577a 100644
--- a/src/gcompris/file_selector.c
+++ b/src/gcompris/file_selector.c
@@ -847,7 +847,7 @@ static void parse_doc(xmlDocPtr doc) {
cur = xmlDocGetRootElement(doc);
if (cur == NULL) {
- fprintf(stderr,"empty document\n");
+ g_warning("empty document\n");
xmlFreeDoc(doc);
return;
}
diff --git a/src/gcompris/gameutil.c b/src/gcompris/gameutil.c
index 41792fb..337be1e 100644
--- a/src/gcompris/gameutil.c
+++ b/src/gcompris/gameutil.c
@@ -23,10 +23,8 @@
#include <string.h>
#include <time.h>
-/* for gc_util_create_rootdir */
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+/* g_mkdir */
+#include <glib/gstdio.h>
/* libxml includes */
#include <libxml/parserInternals.h>
@@ -630,16 +628,13 @@ gc_util_create_rootdir (gchar *rootdir)
/* Case where ~/.gcompris already exist as a file. We remove it */
if(g_file_test(rootdir, G_FILE_TEST_IS_REGULAR)) {
- unlink(rootdir);
+ g_unlink(rootdir);
}
if(g_file_test(rootdir, G_FILE_TEST_IS_DIR)) {
return 0;
}
-#if defined WIN32
- return(mkdir(rootdir));
-#else
- return(mkdir(rootdir, 0755));
-#endif
+ return(g_mkdir(rootdir, 0755));
+
}
diff --git a/src/gcompris/gcompris.c b/src/gcompris/gcompris.c
index 609bd92..a1f9e55 100644
--- a/src/gcompris/gcompris.c
+++ b/src/gcompris/gcompris.c
@@ -60,7 +60,7 @@ void gc_terminate(int signum);
/*
* For the Activation dialog
*/
-#ifdef WIN32
+#ifdef STATIC_MODULE
/* List of keycodes */
gchar *keycode[] =
{
@@ -798,7 +798,7 @@ static void setup_window ()
}
-#ifdef WIN32
+#ifdef STATIC_MODULE
extern int gc_board_number_in_demo;
/** Display the activation dialog for the windows version
*
@@ -903,7 +903,7 @@ activation_done()
(strcmp((char *)gtk_entry_get_text(GTK_ENTRY(widget_activation_entry)), "GOOD") != 0) &&
(strcmp((char *)gtk_entry_get_text(GTK_ENTRY(widget_activation_entry)), "WRONG") != 0))
{
- activation_enter_callback(widget_activation_entry, NULL);
+ activation_enter_callback(GTK_WIDGET(widget_activation_entry), NULL);
}
gc_board_play(properties->menu_board);
@@ -1633,10 +1633,10 @@ gc_init (int argc, char *argv[])
if(popt_web_only) {
g_free(properties->package_data_dir);
- properties->package_data_dir = g_strdup("");
+ properties->package_data_dir = "";
g_free(properties->system_icon_dir);
- properties->system_icon_dir = g_strdup("");
+ properties->system_icon_dir = "";
}
if (popt_server){
diff --git a/src/gcompris/gcompris_db.c b/src/gcompris/gcompris_db.c
index c7f1207..31c21aa 100644
--- a/src/gcompris/gcompris_db.c
+++ b/src/gcompris/gcompris_db.c
@@ -20,8 +20,7 @@
#include <string.h>
#include "gcompris.h"
-#include <sys/stat.h>
-
+#include <glib/gstdio.h>
#ifdef USE_SQLITE
static sqlite3 *gcompris_db=NULL;
@@ -127,12 +126,17 @@ int gc_db_init()
if (!g_file_test(properties->database, G_FILE_TEST_EXISTS))
creation = TRUE;
+
+#ifndef WIN32
+ /* this stat() does not work on WinXP */
+ /* NEEDS CHECKING IN WINXP */
+
else {
/* we have to check this file is not empty,
because bug in administration */
struct stat buf;
- if (stat(properties->database, &buf)!=0)
+ if (g_stat(properties->database, &buf)!=0)
g_error("Can't stat %s", properties->database);
/* if size of file is null, we recreate the tables */
@@ -141,6 +145,7 @@ int gc_db_init()
g_warning("Database file is empty! Trying to create table...");
}
}
+#endif
rc = sqlite3_open(properties->database, &gcompris_db);
if( rc ){
diff --git a/src/gcompris/images_selector.c b/src/gcompris/images_selector.c
index 0bbd9ae..32e27d0 100644
--- a/src/gcompris/images_selector.c
+++ b/src/gcompris/images_selector.c
@@ -784,7 +784,7 @@ parse_doc(xmlDocPtr doc) {
cur = xmlDocGetRootElement(doc);
if (cur == NULL) {
- fprintf(stderr,"empty document\n");
+ g_warning("empty document\n");
xmlFreeDoc(doc);
return;
}
diff --git a/src/gcompris/menu.c b/src/gcompris/menu.c
index da1d4cf..4eb08e0 100644
--- a/src/gcompris/menu.c
+++ b/src/gcompris/menu.c
@@ -633,8 +633,13 @@ void gc_menu_load()
int db = (gc_profile_get_current() ? TRUE: FALSE);
properties->reread_menu = TRUE;
gc_menu_load_dir(properties->package_data_dir, db);
+
+ /* use GTimeVal for portability */
GDate *today = g_date_new();
- g_date_set_time (today, time (NULL));
+ GTimeVal now;
+
+ g_get_current_time (&now);
+ g_date_set_time_val (today, &now);
gchar date[11];
g_date_strftime (date, 11, "%F", today);
diff --git a/src/gcompris/properties.c b/src/gcompris/properties.c
index 5a8d2d6..f4953b5 100644
--- a/src/gcompris/properties.c
+++ b/src/gcompris/properties.c
@@ -128,7 +128,7 @@ gc_prop_new ()
GScanner *scanner;
int filefd;
gchar *full_rootdir;
- const gchar *locale;
+ //const gchar *locale;
gchar *user_dir;
tmp = (GcomprisProperties *) malloc (sizeof (GcomprisProperties));
diff --git a/src/gcompris/sdlplayer.c b/src/gcompris/sdlplayer.c
index f17b56d..87b20e8 100644
--- a/src/gcompris/sdlplayer.c
+++ b/src/gcompris/sdlplayer.c
@@ -46,15 +46,15 @@ static gboolean sound_paused = FALSE;
void errorv(char *str, va_list ap)
{
- vfprintf(stderr,str,ap);
+ //vfprintf(stderr,str,ap);
if(strcmp(Mix_GetError(), "Unrecognized file type (not VOC)")==0) {
- fprintf(stderr,"*** You need a version of \"SDL_mixer\" with OGG Vorbis supported ***\n");
+ g_warning("*** You need a version of \"SDL_mixer\" with OGG Vorbis supported ***\n");
exit(EXIT_FAILURE);
}
- fprintf(stderr,": %s.\n", Mix_GetError());
- fprintf(stderr,": %s.\n", SDL_GetError());
+ g_warning(": %s.\n", Mix_GetError());
+ g_warning(": %s.\n", SDL_GetError());
}
diff --git a/src/gcompris/soundutil.c b/src/gcompris/soundutil.c
index 9892e03..44274b6 100644
--- a/src/gcompris/soundutil.c
+++ b/src/gcompris/soundutil.c
@@ -20,6 +20,11 @@
#include "string.h"
#include <unistd.h> /* sleep */
+/* sleep missing in mingw headers */
+#ifdef __GW32__
+extern unsigned int sleep (unsigned int __seconds);
+#endif
+
#ifdef __APPLE__
# include <sys/types.h>
#endif