summaryrefslogtreecommitdiff
path: root/config.lib
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2013-11-13 19:32:37 +0000
committerrubidium <rubidium@openttd.org>2013-11-13 19:32:37 +0000
commitee137a5cedd8440441057d80b42eab4f30217bd8 (patch)
tree6beb34177de1f52ee70a89173e8ea506ba18c837 /config.lib
parentdef597fe315dd6d778f27deb0961b9c54121e96b (diff)
downloadopenttd-ee137a5cedd8440441057d80b42eab4f30217bd8.tar.xz
(svn r25975) -Feature [FS#5385]: XDG base directory support
Diffstat (limited to 'config.lib')
-rw-r--r--config.lib61
1 files changed, 61 insertions, 0 deletions
diff --git a/config.lib b/config.lib
index b9618f9bf..3fefc1c83 100644
--- a/config.lib
+++ b/config.lib
@@ -72,6 +72,7 @@ set_default() {
with_zlib="1"
with_lzma="1"
with_lzo2="1"
+ with_xdg_basedir="1"
with_png="1"
enable_builtin_depend="1"
with_makedepend="0"
@@ -145,6 +146,7 @@ set_default() {
with_zlib
with_lzma
with_lzo2
+ with_xdg_basedir
with_png
enable_builtin_depend
with_makedepend
@@ -347,6 +349,13 @@ detect_params() {
--without-liblzo2) with_lzo2="0";;
--with-liblzo2=*) with_lzo2="$optarg";;
+ --with-xdg-basedir) with_xdg_basedir="2";;
+ --without-xdg-basedir) with_xdg_basedir="0";;
+ --with-xdg-basedir=*) with_xdg_basedir="$optarg";;
+ --with-libxdg-basedir) with_xdg_basedir="2";;
+ --without-libxdg-basedir) with_xdg_basedir="0";;
+ --with-libxdg-basedir=*) with_xdg_basedir="$optarg";;
+
--with-png) with_png="2";;
--without-png) with_png="0";;
--with-png=*) with_png="$optarg";;
@@ -818,6 +827,7 @@ check_params() {
fi
fi
+ detect_xdg_basedir
detect_png
detect_freetype
detect_fontconfig
@@ -1661,6 +1671,17 @@ make_cflags_and_ldflags() {
CFLAGS="$CFLAGS -DWITH_LZO"
fi
+ if [ -n "$xdg_basedir_config" ]; then
+ CFLAGS="$CFLAGS -DWITH_XDG_BASEDIR"
+ CFLAGS="$CFLAGS `$xdg_basedir_config --cflags | tr '\n\r' ' '`"
+
+ if [ "$enable_static" != "0" ]; then
+ LIBS="$LIBS `$xdg_basedir_config --libs --static | tr '\n\r' ' '`"
+ else
+ LIBS="$LIBS `$xdg_basedir_config --libs | tr '\n\r' ' '`"
+ fi
+ fi
+
# 64bit machines need -D_SQ64
if [ "$cpu_type" = "64" ] && [ "$enable_universal" = "0" ]; then
CFLAGS="$CFLAGS -D_SQ64"
@@ -2722,6 +2743,44 @@ detect_lzma() {
log 1 "checking liblzma... found"
}
+detect_xdg_basedir() {
+ # 0 means no, 1 is auto-detect, 2 is force
+ if [ "$with_xdg_basedir" = "0" ]; then
+ log 1 "checking libxdg_basedir... disabled"
+
+ xdg_basedir_config=""
+ return 0
+ fi
+
+ if [ "$with_xdg_basedir" = "1" ] || [ "$with_xdg_basedir" = "" ] || [ "$with_xdg_basedir" = "2" ]; then
+ xdg_basedir_config="pkg-config libxdg-basedir"
+ else
+ xdg_basedir_config="$with_xdg_basedir"
+ fi
+
+ version=`$xdg_basedir_config --modversion 2>/dev/null`
+ ret=$?
+ log 2 "executing $xdg_basedir_config --modversion"
+ log 2 " returned $version"
+ log 2 " exit code $ret"
+
+ if [ -z "$version" ] || [ "$ret" != "0" ]; then
+ log 1 "checking libxdg_basedir... not found"
+
+ # It was forced, so it should be found.
+ if [ "$with_xdg_basedir" != "1" ]; then
+ log 1 "configure: error: pkg-config libxdg_basedir couldn't be found"
+ log 1 "configure: error: you supplied '$with_xdg_basedir', but it seems invalid"
+ exit 1
+ fi
+
+ xdg_basedir_config=""
+ return 0
+ fi
+
+ log 1 "checking libxdg_basedir... found"
+}
+
detect_png() {
# 0 means no, 1 is auto-detect, 2 is force
if [ "$with_png" = "0" ]; then
@@ -3642,6 +3701,8 @@ showhelp() {
echo " enables libfreetype support"
echo " --with-fontconfig[=pkg-config fontconfig]"
echo " enables fontconfig support"
+ echo " --with-xdg-basedir[=pkg-config libxdg-basedir]"
+ echo " enables fontconfig support"
echo " --with-icu[=icu-config] enables icu (used for right-to-left support)"
echo " --static-icu try to link statically (libsicu instead of"
echo " libicu; can fail as the new name is guessed)"