diff options
Diffstat (limited to 'configure')
| -rwxr-xr-x | configure | 90 | 
1 files changed, 86 insertions, 4 deletions
| @@ -25,6 +25,8 @@ msn=1  jabber=1  oscar=1  yahoo=1 +twitter=1 +purple=0  debug=0  strip=1 @@ -65,6 +67,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 + +--purple=0/1	Disable/enable libpurple support	$purple  --debug=0/1	Disable/enable debugging		$debug  --strip=0/1	Disable/enable binary stripping		$strip @@ -118,6 +123,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 @@ -155,7 +183,7 @@ else  fi  echo CFLAGS=$CFLAGS >> Makefile.settings -echo CFLAGS+=-I`pwd` -I`pwd`/lib -I`pwd`/protocols -I. >> Makefile.settings +echo CFLAGS+=-I${srcdir} -I${srcdir}/lib -I${srcdir}/protocols -I. >> Makefile.settings  echo CFLAGS+=-DHAVE_CONFIG_H >> Makefile.settings @@ -266,7 +294,7 @@ EOF  detect_ldap()  { -	TMPFILE=$(mktemp) +	TMPFILE=$(mktemp /tmp/bitlbee-configure.XXXXXX)  	if $CC -o $TMPFILE -shared -lldap 2>/dev/null >/dev/null; then  		cat<<EOF>>Makefile.settings  EFLAGS+=-lldap @@ -294,7 +322,7 @@ int main()  detect_resolv_dynamic()  { -	TMPFILE=$(mktemp) +	TMPFILE=$(mktemp /tmp/bitlbee-configure.XXXXXX)  	ret=1  	echo "$RESOLV_TESTCODE" | $CC -o $TMPFILE -x c - -lresolv >/dev/null 2>/dev/null  	if [ "$?" = "0" ]; then @@ -308,7 +336,7 @@ detect_resolv_dynamic()  detect_resolv_static()  { -	TMPFILE=$(mktemp) +	TMPFILE=$(mktemp /tmp/bitlbee-configure.XXXXXX)  	ret=1  	for i in $systemlibdirs; do  		if [ -f $i/libresolv.a ]; then @@ -475,6 +503,20 @@ if [ -n "$BITLBEE_VERSION" ]; then  	echo  fi +if ! make helloworld > /dev/null 2>&1; then +	echo "WARNING: Your version of make (BSD make?) does not support BitlBee's makefiles." +	echo "BitlBee needs GNU make to build properly. On most systems GNU make is available" +	echo "under the name 'gmake'." +	echo +	if gmake helloworld > /dev/null 2>&1; then +		echo "gmake seems to be available on your machine, great." +		echo +	else +		echo "gmake is not installed (or not working). Please try to install it." +		echo +	fi +fi +  cat <<EOF>bitlbee.pc  prefix=$prefix  includedir=$includedir @@ -491,6 +533,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 @@ -523,6 +597,14 @@ else  	protoobjs=$protoobjs'yahoo_mod.o '  fi +if [ "$twitter" = 0 ]; then +	echo '#undef WITH_TWITTER' >> config.h +else +	echo '#define WITH_TWITTER' >> config.h +	protocols=$protocols'twitter ' +	protoobjs=$protoobjs'twitter_mod.o ' +fi +  if [ "$protocols" = "PROTOCOLS = " ]; then  	echo "Warning: You haven't selected any communication protocol to compile!"  	echo "         BitlBee will run, but you will be unable to connect to IM servers!" | 
