(svn r13801) -Add: further configuration options to make packaging more union
authorskidd13
Wed, 23 Jul 2008 15:37:20 +0000
changeset 9694 dd079aa41896
parent 9693 cbc09e498392
child 9695 dc3599ef2d6d
(svn r13801) -Add: further configuration options to make packaging more union
-Add: Unix man file gets now installed if necessary
Makefile.in
config.lib
--- a/Makefile.in	Wed Jul 23 15:01:50 2008 +0000
+++ b/Makefile.in	Wed Jul 23 15:37:20 2008 +0000
@@ -14,6 +14,8 @@
 CONFIGURE_FILES = !!CONFIGURE_FILES!!
 LIPO = !!LIPO!!
 BIN_DIR = !!BIN_DIR!!
+ICON_THEME_DIR = !!ICON_THEME_DIR!!
+MAN_DIR = !!MAN_DIR!!
 MENU_DIR = !!MENU_DIR!!
 SRC_DIR = !!SRC_DIR!!
 ROOT_DIR = !!ROOT_DIR!!
@@ -21,9 +23,12 @@
 BUNDLES_DIR = "$(ROOT_DIR)/bundles"
 INSTALL_DIR = !!INSTALL_DIR!!
 INSTALL_BINARY_DIR = "$(INSTALL_DIR)/"!!BINARY_DIR!!
+INSTALL_MAN_DIR = "$(INSTALL_DIR)/$(MAN_DIR)"
 INSTALL_MENU_DIR = "$(INSTALL_DIR)/$(MENU_DIR)"
 INSTALL_ICON_DIR = "$(INSTALL_DIR)/"!!ICON_DIR!!
+INSTALL_ICON_THEME_DIR = "$(INSTALL_DIR)/$(ICON_THEME_DIR)"
 INSTALL_DATA_DIR = "$(INSTALL_DIR)/"!!DATA_DIR!!
+INSTALL_DOC_DIR = "$(INSTALL_DIR)/"!!DATA_DIR!!
 TTD = !!TTD!!
 TTDS = $(SRC_DIRS:%=%/$(TTD))
 OS = !!OS!!
@@ -203,9 +208,13 @@
 	$(Q)cp "$(ROOT_DIR)/docs/multiplayer.txt" "$(BUNDLE_DIR)/docs/"
 	$(Q)cp "$(ROOT_DIR)/docs/32bpp.txt"       "$(BUNDLE_DIR)/docs/"
 	$(Q)cp "$(ROOT_DIR)/changelog.txt"        "$(BUNDLE_DIR)/docs/"
-	$(Q)cp "$(ROOT_DIR)/media/openttd.64.png" "$(BUNDLE_DIR)/media/"
+ifdef MAN_DIR
+	$(Q)mkdir -p "$(BUNDLE_DIR)/man/"
+	$(Q)cp "$(ROOT_DIR)/docs/openttd.6"       "$(BUNDLE_DIR)/man/"
+	$(Q)gzip "$(BUNDLE_DIR)/man/openttd.6"
+endif
 	$(Q)cp "$(ROOT_DIR)/media/openttd.32.xpm" "$(BUNDLE_DIR)/media/"
-	$(Q)cp "$(ROOT_DIR)/media/openttd.32.bmp" "$(BUNDLE_DIR)/media/"
+	$(Q)cp "$(ROOT_DIR)/media/openttd."*.png  "$(BUNDLE_DIR)/media/"
 ifdef MENU_DIR
 	$(Q)cp "$(ROOT_DIR)/media/openttd.desktop" "$(BUNDLE_DIR)/media/"
 endif
@@ -274,10 +283,29 @@
 	$(Q)install -m 755 "$(BUNDLE_DIR)/$(TTD)" "$(INSTALL_BINARY_DIR)"
 	$(Q)install -m 644 "$(BUNDLE_DIR)/lang/"* "$(INSTALL_DATA_DIR)/lang"
 	$(Q)install -m 644 "$(BUNDLE_DIR)/data/"* "$(INSTALL_DATA_DIR)/data"
-	$(Q)install -m 644 "$(BUNDLE_DIR)/docs/"* "$(INSTALL_DATA_DIR)/docs"
-	$(Q)install -m 644 "$(BUNDLE_DIR)/media/openttd.64.png" "$(INSTALL_ICON_DIR)"
+	$(Q)install -m 644 "$(BUNDLE_DIR)/docs/"* "$(INSTALL_DOC_DIR)"
 	$(Q)install -m 644 "$(BUNDLE_DIR)/media/openttd.32.xpm" "$(INSTALL_ICON_DIR)"
-	$(Q)install -m 644 "$(BUNDLE_DIR)/media/openttd.32.bmp" "$(INSTALL_ICON_DIR)"
+ifdef ICON_THEME_DIR
+	$(Q)install -d "$(INSTALL_ICON_THEME_DIR)"
+	$(Q)install -d "$(INSTALL_ICON_THEME_DIR)/16x16/apps"
+	$(Q)install -m 644 "$(BUNDLE_DIR)/media/openttd.16.png" "$(INSTALL_ICON_THEME_DIR)/16x16/apps"
+	$(Q)install -d "$(INSTALL_ICON_THEME_DIR)/32x32/apps"
+	$(Q)install -m 644 "$(BUNDLE_DIR)/media/openttd.32.png" "$(INSTALL_ICON_THEME_DIR)/32x32/apps"
+	$(Q)install -d "$(INSTALL_ICON_THEME_DIR)/48x48/apps"
+	$(Q)install -m 644 "$(BUNDLE_DIR)/media/openttd.48.png" "$(INSTALL_ICON_THEME_DIR)/48x48/apps"
+	$(Q)install -d "$(INSTALL_ICON_THEME_DIR)/64x64/apps"
+	$(Q)install -m 644 "$(BUNDLE_DIR)/media/openttd.64.png" "$(INSTALL_ICON_THEME_DIR)/64x64/apps"
+	$(Q)install -d "$(INSTALL_ICON_THEME_DIR)/128x128/apps"
+	$(Q)install -m 644 "$(BUNDLE_DIR)/media/openttd.128.png" "$(INSTALL_ICON_THEME_DIR)/128x128/apps"
+	$(Q)install -d "$(INSTALL_ICON_THEME_DIR)/256x256/apps"
+	$(Q)install -m 644 "$(BUNDLE_DIR)/media/openttd.256.png" "$(INSTALL_ICON_THEME_DIR)/256x256/apps"
+else
+	$(Q)install -m 644 "$(BUNDLE_DIR)/media/"*.png "$(INSTALL_ICON_DIR)"
+endif
+ifdef MAN_DIR
+	$(Q)install -d "$(INSTALL_MAN_DIR)"
+	$(Q)install -m 644 "$(BUNDLE_DIR)/man/openttd.6.gz" "$(INSTALL_MAN_DIR)"
+endif
 ifdef MENU_DIR
 	$(Q)install -d "$(INSTALL_MENU_DIR)"
 	$(Q)install -m 644 "$(BUNDLE_DIR)/media/openttd.desktop" "$(INSTALL_MENU_DIR)"
--- a/config.lib	Wed Jul 23 15:01:50 2008 +0000
+++ b/config.lib	Wed Jul 23 15:37:20 2008 +0000
@@ -28,11 +28,14 @@
 	prefix_dir="/usr/local"
 	binary_dir="games"
 	data_dir="share/games/openttd"
+	doc_dir="1"
 	icon_dir="share/pixmaps"
+	icon_theme_dir="1"
 	personal_dir="1"
 	shared_dir="1"
 	install_dir="/"
-	menu_dir=""
+	man_dir="1"
+	menu_dir="1"
 	menu_group="Game;"
 	enable_debug="0"
 	enable_desync_debug="0"
@@ -50,7 +53,7 @@
 	enable_cocoa_quickdraw="1"
 	with_osx_sysroot="1"
 	with_application_bundle="1"
-	with_menu_entry="2"
+	with_menu_entry="1"
 	with_sdl="1"
 	with_cocoa="1"
 	with_zlib="1"
@@ -88,7 +91,10 @@
 		prefix_dir
 		binary_dir
 		data_dir
+		doc_dir
 		icon_dir
+		icon_theme_dir
+		man_dir
 		menu_dir
 		personal_dir
 		shared_dir
@@ -194,11 +200,22 @@
 			--data-dir)                   prevp_p="data-dir";;
 			--data-dir=*)                 data_dir="$optarg";;
 
+			--doc-dir)                    prevp_p="doc-dir";;
+			--doc-dir=*)                  doc_dir="$optarg";;
+
 			--icon-dir)                   prevp_p="icon-dir";;
 			--icon-dir=*)                 icon_dir="$optarg";;
 
+			--icon-theme-dir)             prevp_p="icon-theme-dir";;
+			--icon-theme-dir=*)           icon_theme_dir="$optarg";;
+			--without-icon-theme)         icon_theme_dir="";;
+
 			--menu-dir)                   prevp_p="menu_dir";;
 			--menu-dir=*)                 menu_dir="$optarg";;
+			--without-menu-entry)         menu_dir="";;
+
+			--man-dir)                    prevp_p="man_dir";;
+			--man-dir=*)                  menu_dir="$optarg";;
 
 			--personal-dir)               prevp_p="personal-dir";;
 			--personal-dir=*)             personal_dir="$optarg";;
@@ -213,10 +230,6 @@
 
 
 
-			--with-menu-entry)            with_menu_entry="1";;
-			--with-menu-entry=*)          with_menu_entry="$optarg";;
-			--without-menu-entry)         with_menu_entry="0";;
-
 			--menu-group)                 prevp_p="menu_group";;
 			--menu-group=*)               menu_group="$optarg";;
 
@@ -828,6 +841,22 @@
 		fi
 	fi
 
+	if [ "$doc_dir" = "1" ]; then
+		if [ "$os" = "UNIX" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "NETBSD" ] || [ "$os" = "HPUX" ] || [ "$os" = "SUNOS" ]; then
+			doc_dir="share/doc/openttd"
+		else
+			doc_dir="$data_dir/docs"
+		fi
+	fi
+
+	if [ "$icon_theme_dir" = "1" ]; then
+		if [ "$os" = "UNIX" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "NETBSD" ] || [ "$os" = "HPUX" ] || [ "$os" = "SUNOS" ]; then
+			icon_theme_dir="share/icons/hicolor"
+		else
+			icon_theme_dir=""
+		fi
+	fi
+
 	if [ "$personal_dir" = "1" ]; then
 		if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ] || [ "$os" = "WINCE" ]; then
 			personal_dir="OpenTTD"
@@ -847,13 +876,21 @@
 		fi
 	fi
 
-	if [ "$with_menu_entry" = "2" ]; then
+	if [ "$man_dir" = "1" ]; then
+		# add manpage on UNIX systems
+		if [ "$os" = "UNIX" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "NETBSD" ] || [ "$os" = "HPUX" ] || [ "$os" = "SUNOS" ] || [ "$os" = "OSX"]; then
+			man_dir="share/man/man6"
+		else
+			man_dir=""
+		fi
+	fi
+
+	if [ "$menu_dir" = "1" ]; then
 		# add a freedesktop menu item only for some UNIX systems
 		if [ "$os" = "UNIX" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "NETBSD" ] || [ "$os" = "HPUX" ] || [ "$os" = "SUNOS" ]; then
-			with_menu_entry="1"
 			menu_dir="share/applications"
 		else
-			with_menu_entry="0"
+			menu_dir=""
 		fi
 	fi
 
@@ -878,6 +915,20 @@
 		log 1 "installation directory... none"
 	fi
 
+	if [ -n "$icon_theme_dir" ]
+	then
+		log 1 "icon theme directory... $icon_theme_dir"
+	else
+		log 1 "icon theme directory... none"
+	fi
+
+	if [ -n "$man_dir" ]
+	then
+		log 1 "manual page directory... $mean_dir"
+	else
+		log 1 "manual page directory... none"
+	fi
+
 	if [ -n "$menu_dir" ]
 	then
 		log 1 "menu item directory... $menu_dir"
@@ -2232,7 +2283,9 @@
 		s#!!TTD!!#$TTD#g;
 		s#!!BINARY_DIR!!#$prefix_dir/$binary_dir#g;
 		s#!!DATA_DIR!!#$prefix_dir/$data_dir#g;
+		s#!!MAN_DIR!!#$prefix_dir/$man_dir#g;
 		s#!!ICON_DIR!!#$prefix_dir/$icon_dir#g;
+		s#!!ICON_THEME_DIR!!#$prefix_dir/$icon_theme_dir#g;
 		s#!!PERSONAL_DIR!!#$personal_dir#g;
 		s#!!SHARED_DIR!!#$shared_dir#g;
 		s#!!INSTALL_DIR!!#$install_dir#g;
@@ -2263,7 +2316,27 @@
 		s#!!DISTCC!!#$distcc#g;
 	"
 
-	if [ "$with_menu_entry" = "1" ]; then
+	if [ "$icon_theme_dir" != "" ]; then
+		SRC_REPLACE="$SRC_REPLACE
+			s#!!ICON_THEME_DIR!!#$prefix_dir/$icon_theme_dir#g;
+		"
+	else
+		SRC_REPLACE="$SRC_REPLACE
+			s#!!ICON_THEME_DIR!!##g;
+		"
+	fi
+
+	if [ "$man_dir" != "" ]; then
+		SRC_REPLACE="$SRC_REPLACE
+			s#!!MAN_DIR!!#$prefix_dir/$man_dir#g;
+		"
+	else
+		SRC_REPLACE="$SRC_REPLACE
+			s#!!MAN_DIR!!##g;
+		"
+	fi
+
+	if [ "$menu_dir" != "" ]; then
 		SRC_REPLACE="$SRC_REPLACE
 			s#!!MENU_DIR!!#$prefix_dir/$menu_dir#g;
 		"
@@ -2298,7 +2371,7 @@
 	# Make sure config.cache is OLDER then config.cache.source.list
 	touch config.cache
 
-	if [ "$with_menu_entry" = "1" ]; then
+	if [ "$menu_dir" != "" ]; then
 		generate_menu_item
 	fi
 }
@@ -2397,8 +2470,17 @@
 	echo "  --data-dir=dir                 location of data files (lang, data, gm)."
 	echo "                                 Will be prefixed with the prefix-dir"
 	echo "                                 [$data_dir]"
+	echo "  --doc-dir=dir                  location of the doc files"
+	echo "                                 Will be prefixed with the prefix-dir"
+	echo "                                 [$doc_dir]"
 	echo "  --icon-dir=dir                 location of icons. Will be prefixed"
 	echo "                                 with the prefix-dir [$icon_dir]"
+	echo "  --icon-theme-dir=dir           location of icon theme."
+	echo "                                 Will be prefixed with the prefix-dir"
+	echo "                                 and postfixed with size-dirs [$icon_theme_dir]"
+	echo "  --man-dir=dir                  location of the manual page (UNIX only)"
+	echo "                                 Will be prefixed with the prefix-dir"
+	echo "                                 [$man_dir]"
 	echo "  --menu-dir=dir                 location of the menu item. (UNIX only, except OSX)"
 	echo "                                 Will be prefixed with the prefix-dir"
 	echo "                                 [$menu_dir]"