Subject: build system
From: Julian Ospald <[email-masked]>
Date: Sat Jan 26 20:04:17 UTC 2013

fix FHS compliance
	add several switches for icon, desktopdir and tk
	fix a few macros

--- awale-1.5/src/Makefile.am
+++ awale-1.5/src/Makefile.am
@@ -1,24 +1,30 @@
 bin_PROGRAMS = awale
 awale_SOURCES = awale.c getopt.c getopt1.c getopt.h
-INCLUDES = -I. -I$(srcdir)
+AM_CPPFLAGS = -I. -I$(srcdir)
+
+if TK_GUI
 bin_SCRIPTS = xawale
 xawale:
 	echo "#! /bin/sh" >$@
-	echo '`dirname $$0`/../share/awale/xawale.tcl' >>$@
+	echo "cd \"$(datadir)/awale/\" ; exec \"$(datadir)/awale/xawale.tcl\"" >>$@
 	chmod ugo+x $@
-appdir = $(prefix)/share/applications
+appdir = @DESKTOPFILESDIR@
 app_DATA = awale.desktop
 awale.desktop:
 	echo "[Desktop Entry]" >$@
 	echo "Name=Free Awale" >>$@
 	echo "Comment=Awale game" >>$@
 	echo "Exec=xawale" >>$@
-	echo  'Icon=$(pkgdatadir)/awale.png' >>$@
+	echo  'Icon=awale' >>$@
 	echo "Terminal=false" >>$@
 	echo "Type=Application" >>$@
 	echo "Categories=Game;BoardGame;" >>$@
 	chmod 644 $@
 CLEANFILES = xawale awale.desktop
+
+xawale.tcl:
+	sed 's|@my_bindir@|$(bindir)|' < $@.in > $@
+
 pkgdata_SCRIPTS = xawale.tcl
 dist_pkgdata_DATA = Trou00.gif Trou01.gif Trou02.gif Trou03.gif Trou04.gif Trou05.gif \
                     Trou06.gif Trou07.gif Trou08.gif Trou09.gif Trou10.gif Trou11.gif \
@@ -28,3 +34,8 @@
                     Trou06.gif Trou07.gif Trou08.gif Trou09.gif Trou10.gif Trou11.gif \
                     Trou12.gif Trou13.gif Trou14.gif Trou15.gif board.gif copyright.gif \
 		    awale.png awale.ico uk.gif fr.gif sp.gif AwaleBanner.bmp README
+
+# icon
+iconsdir = @ICONSDIR@
+dist_icons_DATA = awale.png
+endif
--- awale-1.5/configure.in
+++ awale-1.5/configure.in
@@ -1,6 +1,34 @@
-AC_INIT(awale.c)
-AM_INIT_AUTOMAKE(awale, 1.5)
+AC_INIT([awale], [1.5])
+AM_INIT_AUTOMAKE([-Wall])
 AC_CONFIG_SRCDIR([src/awale.c])
 AC_PROG_CC
+
+
+# let user specify desktopdir
+AC_ARG_WITH([desktopdir],
+    [AS_HELP_STRING([--with-desktopdir=DIR],
+        [path where desktop files get installed (default: $datadir/applications)])],
+    [DESKTOPFILESDIR="$withval"],
+    [DESKTOPFILESDIR='$(datadir)/applications'])
+
+# let user specify iconsdir
+AC_ARG_WITH([iconsdir],
+    [AS_HELP_STRING([--with-iconsdir=DIR],
+        [path where icons get installed (default: $datadir/pixmaps)])],
+    [ICONSDIR="$withval"],
+    [ICONSDIR='$(datadir)/pixmaps'])
+
+# configure-switch for tkgui
+AC_ARG_ENABLE([tk],
+    [AS_HELP_STRING([--enable-tk],
+        [enable tk gui (default: enable)])],
+    [enable_tk=$enableval],
+    [enable_tk="no"])
+
+AM_CONDITIONAL([TK_GUI], [test "x$enable_tk" = "xyes"])
+
+AC_SUBST([ICONSDIR])
+AC_SUBST([DESKTOPFILESDIR])
+
 AC_CONFIG_FILES([Makefile src/Makefile man/Makefile])
 AC_OUTPUT

--- awale-1.5/man/Makefile.am
+++ awale-1.5/man/Makefile.am
@@ -1,3 +1,7 @@
-mandir = $(prefix)/share/man
+if TK_GUI
 man_MANS = awale.6 xawale.6
+else
+man_MANS = awale.6
+endif
+
 EXTRA_DIST = $(man_MANS)
--- awale-1.5/src/xawale.tcl
+++ awale-1.5/src/xawale.tcl
@@ -693,7 +693,7 @@
 
 switch $tcl_platform(platform) {
 "unix"      {
-    set JOUER [file join [file dirname [info script]] .. .. bin awale] 
+    set JOUER "@my_bindir@/awale"
             }
 "macintosh" {
     set JOUER [file join [file dirname [info script]] .. .. bin awale]