aboutsummaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure71
1 files changed, 67 insertions, 4 deletions
diff --git a/configure b/configure
index 2841cfdb..3bdc4e76 100755
--- a/configure
+++ b/configure
@@ -26,6 +26,8 @@ jabber=1
oscar=1
yahoo=1
twitter=1
+twitter=1
+purple=0
debug=0
strip=1
@@ -67,7 +69,9 @@ Option Description Default
--jabber=0/1 Disable/enable Jabber part $jabber
--oscar=0/1 Disable/enable Oscar part (ICQ, AIM) $oscar
--yahoo=0/1 Disable/enable Yahoo part $yahoo
---twitter=0/1 Disable/enable Twitter part $twitter
+--twitter=0/1 Disable/enable Twitter part $twitter
+
+--purple=0/1 Disable/enable libpurple support $purple
--debug=0/1 Disable/enable debugging $debug
--strip=0/1 Disable/enable binary stripping $strip
@@ -122,6 +126,29 @@ LFLAGS=
EFLAGS=
EOF
+srcdir="$(dirname $0)"
+if [ "$srcdir" != "." ]; then
+ echo
+ echo "configure script run from a different directory. Will create some symlinks..."
+ if [ ! -e Makefile -o -L Makefile ]; then
+ COPYDIRS="doc lib protocols tests utils"
+ mkdir -p $(cd "$srcdir"; find $COPYDIRS -type d)
+ find . -name Makefile -type l -print0 | xargs -0 rm 2> /dev/null
+ dst="$PWD"
+ cd "$srcdir"
+ for i in $(find . -name Makefile -type f); do
+ ln -s "$PWD${i#.}" "$dst/$i";
+ done
+ cd "$dst"
+ rm -rf .bzr
+ fi
+
+ echo "SRCDIR=$srcdir/" >> Makefile.settings
+ CFLAGS="$CFLAGS -I${dst}"
+else
+ srcdir=$PWD
+fi
+
cat<<EOF>config.h
/* BitlBee settings, generated by configure
@@ -158,8 +185,8 @@ else
[ -z "$CFLAGS" ] && CFLAGS="-O2 -fno-strict-aliasing"
fi
-echo CFLAGS=$CFLAGS >> Makefile.settings
-echo CFLAGS+=-I`pwd` -I`pwd`/lib -I`pwd`/protocols -I. >> Makefile.settings
+echo CFLAGS=$CFLAGS $CPPFLAGS >> Makefile.settings
+echo CFLAGS+=-I${srcdir} -I${srcdir}/lib -I${srcdir}/protocols -I. >> Makefile.settings
echo CFLAGS+=-DHAVE_CONFIG_H >> Makefile.settings
@@ -175,6 +202,10 @@ else
fi
echo "CC=$CC" >> Makefile.settings;
+if echo $CC | grep -qw gcc; then
+ # Apparently -Wall is gcc-specific?
+ echo CFLAGS+=-Wall >> Makefile.settings
+fi
if [ -z "$LD" ]; then
if type ld > /dev/null 2> /dev/null; then
@@ -399,7 +430,7 @@ if detect_resolv_dynamic || detect_resolv_static; then
echo '#define HAVE_RESOLV_A' >> config.h
fi
-STORAGES="text xml"
+STORAGES="xml"
if [ "$ldap" = "auto" ]; then
detect_ldap
@@ -531,6 +562,38 @@ EOF
protocols=''
protoobjs=''
+if [ "$purple" = 0 ]; then
+ echo '#undef WITH_PURPLE' >> config.h
+else
+ if ! $PKG_CONFIG purple; then
+ echo
+ echo 'Cannot find libpurple development libraries, aborting. (Install libpurple-dev?)'
+ exit 1
+ fi
+ echo '#define WITH_PURPLE' >> config.h
+ cat<<EOF>>Makefile.settings
+EFLAGS += $($PKG_CONFIG purple --libs)
+PURPLE_CFLAGS += $($PKG_CONFIG purple --cflags)
+EOF
+ protocols=$protocols'purple '
+ protoobjs=$protoobjs'purple_mod.o '
+
+ # Having both libpurple and native IM modules in one binary may
+ # do strange things. Let's not do that.
+ msn=0
+ jabber=0
+ oscar=0
+ yahoo=0
+ twitter=0
+
+ if [ "$events" = "libevent" ]; then
+ echo
+ echo 'Warning: Some libpurple modules (including msn-pecan) do their event handling'
+ echo 'outside libpurple, talking to GLib directly. At least for now the combination'
+ echo 'libpurple + libevent is *not* recommended!'
+ fi
+fi
+
if [ "$msn" = 0 ]; then
echo '#undef WITH_MSN' >> config.h
else