source: configure @ 18e1f3b

Last change on this file since 18e1f3b was 18e1f3b, checked in by Wilmer van der Gaast <wilmer@…>, at 2012-05-02T07:58:22Z

Set PACKAGE to BitlBee-LIBPURPLE for the libpurple variant, because in many
ways it's not BitlBee and I'm tired of getting libpurple-related bug reports.

  • Property mode set to 100755
File size: 19.3 KB
Line 
1#!/bin/sh
2
3##############################
4##  Configurer for BitlBee  ##
5##                          ##
6##  Copyright 2004 Lintux   ##
7##  Copyright 2002 Lucumo   ##
8##############################
9
10prefix='/usr/local/'
11bindir='$prefix/bin/'
12sbindir='$prefix/sbin/'
13etcdir='$prefix/etc/bitlbee/'
14mandir='$prefix/share/man/'
15datadir='$prefix/share/bitlbee/'
16config='/var/lib/bitlbee/'
17plugindir='$prefix/lib/bitlbee/'
18includedir='$prefix/include/bitlbee/'
19systemdsystemunitdir=''
20libevent='/usr/'
21pidfile='/var/run/bitlbee.pid'
22ipcsocket=''
23pcdir='$prefix/lib/pkgconfig'
24systemlibdirs="/lib /lib64 /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64"
25
26msn=1
27jabber=1
28oscar=1
29yahoo=1
30twitter=1
31purple=0
32
33debug=0
34strip=1
35gcov=0
36plugins=1
37otr=0
38skype=0
39
40events=glib
41ldap=0
42ssl=auto
43
44arch=`uname -s`
45cpu=`uname -m`
46
47GLIB_MIN_VERSION=2.14
48
49echo BitlBee configure
50
51while [ -n "$1" ]; do
52        e="`expr "X$1" : 'X--\(.*=.*\)'`"
53        if [ -z "$e" ]; then
54                cat<<EOF
55
56Usage: $0 [OPTIONS]
57
58Option          Description                             Default
59
60--prefix=...    Directories to put files in             $prefix
61--bindir=...                                            $bindir
62--sbindir=...                                           $sbindir
63--etcdir=...                                            $etcdir
64--mandir=...                                            $mandir
65--datadir=...                                           $datadir
66--plugindir=...                                         $plugindir
67--systemdsystemunitdir=...                              $systemdsystemunitdir
68--pidfile=...                                           $pidfile
69--config=...                                            $config
70
71--msn=0/1       Disable/enable MSN part                 $msn
72--jabber=0/1    Disable/enable Jabber part              $jabber
73--oscar=0/1     Disable/enable Oscar part (ICQ, AIM)    $oscar
74--yahoo=0/1     Disable/enable Yahoo part               $yahoo
75--twitter=0/1   Disable/enable Twitter part             $twitter
76
77--purple=0/1    Disable/enable libpurple support        $purple
78                (automatically disables other protocol modules)
79
80--debug=0/1     Disable/enable debugging                $debug
81--strip=0/1     Disable/enable binary stripping         $strip
82--gcov=0/1      Disable/enable test coverage reporting  $gcov
83--plugins=0/1   Disable/enable plugins support          $plugins
84--otr=0/1/auto/plugin
85                Disable/enable OTR encryption support   $otr
86--skype=0/1/plugin
87                Disable/enable Skype support            $skype
88
89--events=...    Event handler (glib, libevent)          $events
90--ssl=...       SSL library to use (gnutls, nss, openssl, bogus, auto)
91                                                        $ssl
92
93--target=...    Cross compilation target                same as host
94EOF
95                exit;
96        fi
97        eval "$e"
98        shift;
99done
100
101# Expand $prefix and get rid of double slashes
102bindir=`eval echo "$bindir/" | sed 's/\/\{1,\}/\//g'`
103sbindir=`eval echo "$sbindir/" | sed 's/\/\{1,\}/\//g'`
104etcdir=`eval echo "$etcdir/" | sed 's/\/\{1,\}/\//g'`
105mandir=`eval echo "$mandir/" | sed 's/\/\{1,\}/\//g'`
106datadir=`eval echo "$datadir/" | sed 's/\/\{1,\}/\//g'`
107config=`eval echo "$config/" | sed 's/\/\{1,\}/\//g'`
108plugindir=`eval echo "$plugindir/" | sed 's/\/\{1,\}/\//g'`
109includedir=`eval echo "$includedir"/ | sed 's/\/\{1,\}/\//g'`
110libevent=`eval echo "$libevent"/ | sed 's/\/\{1,\}/\//g'`
111
112pidfile=`eval echo "$pidfile" | sed 's/\/\{1,\}/\//g'`
113ipcsocket=`eval echo "$ipcsocket" | sed 's/\/\{1,\}/\//g'`
114pcdir=`eval echo "$pcdir" | sed 's/\/\{1,\}/\//g'`
115
116protocols_mods=""
117
118cat<<EOF>Makefile.settings
119## BitlBee settings, generated by configure
120PREFIX=$prefix
121BINDIR=$bindir
122SBINDIR=$sbindir
123ETCDIR=$etcdir
124MANDIR=$mandir
125DATADIR=$datadir
126PLUGINDIR=$plugindir
127CONFIG=$config
128INCLUDEDIR=$includedir
129PCDIR=$pcdir
130
131TARGET=$target
132ARCH=$arch
133CPU=$cpu
134
135DESTDIR=
136LFLAGS=
137EFLAGS=
138EOF
139
140srcdir=$(cd $(dirname $0);pwd)
141currdir=$(pwd)
142if [ "$srcdir" != "$currdir" ]; then 
143        echo
144        echo "configure script run from a different directory. Will create some symlinks..."
145        if [ ! -e Makefile -o -L Makefile ]; then
146                COPYDIRS="doc lib protocols tests utils"
147                mkdir -p $(cd "$srcdir"; find $COPYDIRS -type d)
148                find . -name Makefile -type l -print0 | xargs -0 rm 2> /dev/null
149                dst="$PWD"
150                cd "$srcdir"
151                for i in $(find . -name Makefile -type f); do
152                        ln -s "$PWD${i#.}" "$dst/$i";
153                done
154                cd "$dst"
155                rm -rf .bzr
156        fi
157       
158        echo "_SRCDIR_=$srcdir/" >> Makefile.settings
159        CFLAGS="$CFLAGS -I${dst}"
160else
161        srcdir=$PWD
162fi
163
164cat<<EOF>config.h
165/* BitlBee settings, generated by configure
166   
167   Do *NOT* use any of these defines in your code without thinking twice, most
168   of them can/will be overridden at run-time */
169
170#define CONFIG "$config"
171#define ETCDIR "$etcdir"
172#define VARDIR "$datadir"
173#define PLUGINDIR "$plugindir"
174#define PIDFILE "$pidfile"
175#define IPCSOCKET "$ipcsocket"
176#define ARCH "$arch"
177#define CPU "$cpu"
178EOF
179
180
181
182if [ -n "$target" ]; then
183        PKG_CONFIG_LIBDIR=/usr/$target/lib/pkgconfig
184        export PKG_CONFIG_LIBDIR
185        PATH=/usr/$target/bin:$PATH
186        CC=$target-cc
187        LD=$target-ld
188        systemlibdirs="/usr/$target/lib"
189fi
190
191
192if [ "$debug" = "1" ]; then
193        [ -z "$CFLAGS" ] && CFLAGS=-g
194        echo 'DEBUG=1' >> Makefile.settings
195        CFLAGS="$CFLAGS -DDEBUG"
196else
197        [ -z "$CFLAGS" ] && CFLAGS="-O2 -fno-strict-aliasing"
198fi
199
200echo CFLAGS=$CFLAGS $CPPFLAGS >> Makefile.settings
201echo CFLAGS+=-I${srcdir} -I${srcdir}/lib -I${srcdir}/protocols -I. >> Makefile.settings
202
203echo CFLAGS+=-DHAVE_CONFIG_H >> Makefile.settings
204
205if [ -n "$CC" ]; then
206        CC=$CC
207elif type gcc > /dev/null 2> /dev/null; then
208        CC=gcc
209elif type cc > /dev/null 2> /dev/null; then
210        CC=cc
211else
212        echo 'Cannot find a C compiler, aborting.'
213        exit 1;
214fi
215
216echo "CC=$CC" >> Makefile.settings;
217if echo $CC | grep -qw gcc; then
218        # Apparently -Wall is gcc-specific?
219        echo CFLAGS+=-Wall >> Makefile.settings
220fi
221
222if [ -z "$LD" ]; then
223        if type ld > /dev/null 2> /dev/null; then
224                LD=ld
225        else
226                echo 'Cannot find ld, aborting.'
227                exit 1;
228        fi
229fi
230
231echo "LD=$LD" >> Makefile.settings
232
233if [ -z "$PKG_CONFIG" ]; then
234        PKG_CONFIG=pkg-config
235fi
236
237if $PKG_CONFIG --version > /dev/null 2>/dev/null && $PKG_CONFIG glib-2.0; then
238        if $PKG_CONFIG glib-2.0 --atleast-version=$GLIB_MIN_VERSION; then
239                cat<<EOF>>Makefile.settings
240EFLAGS+=`$PKG_CONFIG --libs glib-2.0 gmodule-2.0`
241CFLAGS+=`$PKG_CONFIG --cflags glib-2.0 gmodule-2.0`
242EOF
243        else
244                echo
245                echo 'Found glib2 '`$PKG_CONFIG glib-2.0 --modversion`', but version '$GLIB_MIN_VERSION' or newer is required.'
246                exit 1
247        fi
248else
249        echo
250        echo 'Cannot find glib2 development libraries, aborting. (Install libglib2-dev?)'
251        exit 1
252fi
253
254if [ "$events" = "libevent" ]; then
255        if ! [ -f "${libevent}include/event.h" ]; then
256                echo
257                echo 'Warning: Could not find event.h, you might have to install it and/or specify'
258                echo 'its location using the --libevent= argument. (Example: If event.h is in'
259                echo '/usr/local/include and binaries are in /usr/local/lib: --libevent=/usr/local)'
260        fi
261       
262        echo '#define EVENTS_LIBEVENT' >> config.h
263        cat <<EOF>>Makefile.settings
264EFLAGS+=-levent -L${libevent}lib
265CFLAGS+=-I${libevent}include
266EOF
267elif [ "$events" = "glib" ]; then
268        ## We already use glib anyway, so this is all we need (and in fact not even this, but just to be sure...):
269        echo '#define EVENTS_GLIB' >> config.h
270else
271        echo
272        echo 'ERROR: Unknown event handler specified.'
273        exit 1
274fi
275echo 'EVENT_HANDLER=events_'$events'.o' >> Makefile.settings
276
277detect_gnutls()
278{
279        if $PKG_CONFIG --exists gnutls; then
280                cat <<EOF>>Makefile.settings
281EFLAGS+=`$PKG_CONFIG --libs gnutls` `libgcrypt-config --libs`
282CFLAGS+=`$PKG_CONFIG --cflags gnutls` `libgcrypt-config --cflags`
283EOF
284                ssl=gnutls
285                if ! pkg-config gnutls --atleast-version=2.8; then
286                        echo
287                        echo 'Warning: With GnuTLS versions <2.8, certificate expire dates are not verified.'
288                fi
289                ret=1
290        elif libgnutls-config --version > /dev/null 2> /dev/null; then
291                cat <<EOF>>Makefile.settings
292EFLAGS+=`libgnutls-config --libs` `libgcrypt-config --libs`
293CFLAGS+=`libgnutls-config --cflags` `libgcrypt-config --cflags`
294EOF
295               
296                ssl=gnutls
297                ret=1;
298        else
299                ret=0;
300        fi;
301}
302
303detect_nss()
304{
305        if $PKG_CONFIG --version > /dev/null 2>/dev/null && $PKG_CONFIG nss; then
306                cat<<EOF>>Makefile.settings
307EFLAGS+=`$PKG_CONFIG --libs nss`
308CFLAGS+=`$PKG_CONFIG --cflags nss`
309EOF
310               
311                ssl=nss
312                ret=1;
313        else
314                ret=0;
315        fi;
316}
317
318detect_ldap()
319{
320        TMPFILE=$(mktemp /tmp/bitlbee-configure.XXXXXX)
321        if $CC -o $TMPFILE -shared -lldap 2>/dev/null >/dev/null; then
322                cat<<EOF>>Makefile.settings
323EFLAGS+=-lldap
324CFLAGS+=
325EOF
326                ldap=1
327                rm -f $TMPFILE
328                ret=1
329        else
330                ldap=0
331                ret=0
332        fi
333}
334
335RESOLV_TESTCODE='
336#include <sys/types.h>
337#include <netinet/in.h>
338#include <arpa/nameser.h>
339#include <resolv.h>
340
341int main()
342{
343        ns_initparse( NULL, 0, NULL );
344        ns_parserr( NULL, ns_s_an, 0, NULL );
345}
346'
347
348detect_resolv_dynamic()
349{
350        case "$arch" in
351        FreeBSD )
352                # In FreeBSD res_* routines are present in libc.so
353                LIBRESOLV=;;
354        * )
355                LIBRESOLV=-lresolv;;
356        esac
357        TMPFILE=$(mktemp /tmp/bitlbee-configure.XXXXXX)
358        ret=1
359        echo "$RESOLV_TESTCODE" | $CC -o $TMPFILE -x c - $LIBRESOLV >/dev/null 2>/dev/null
360        if [ "$?" = "0" ]; then
361                echo "EFLAGS+=$LIBRESOLV" >> Makefile.settings
362                ret=0
363        fi
364
365        rm -f $TMPFILE
366        return $ret
367}
368
369detect_resolv_static()
370{
371        TMPFILE=$(mktemp /tmp/bitlbee-configure.XXXXXX)
372        ret=1
373        for i in $systemlibdirs; do
374                if [ -f $i/libresolv.a ]; then
375                        echo "$RESOLV_TESTCODE" | $CC -o $TMPFILE -x c - -Wl,$i/libresolv.a >/dev/null 2>/dev/null
376                        if [ "$?" = "0" ]; then
377                                echo 'EFLAGS+='$i'/libresolv.a' >> Makefile.settings
378                                ret=0
379                        fi
380                fi
381        done
382
383        rm -f $TMPFILE
384        return $ret
385}
386
387if [ "$ssl" = "auto" ]; then
388        detect_gnutls
389        if [ "$ret" = "0" ]; then
390                # Disable NSS for now as it's known to not work very well ATM.
391                #detect_nss
392                :
393        fi
394elif [ "$ssl" = "gnutls" ]; then
395        detect_gnutls
396elif [ "$ssl" = "nss" ]; then
397        detect_nss
398elif [ "$ssl" = "sspi" ]; then
399        echo
400elif [ "$ssl" = "openssl" ]; then
401        echo
402        echo 'No detection code exists for OpenSSL. Make sure that you have a complete'
403        echo 'install of OpenSSL (including devel/header files) before reporting'
404        echo 'compilation problems.'
405        echo
406        echo 'Also, keep in mind that the OpenSSL is, according to some people, not'
407        echo 'completely GPL-compatible. Using GnuTLS or NSS is recommended and better'
408        echo 'supported by us. However, on many BSD machines, OpenSSL can be considered'
409        echo 'part of the operating system, which makes it GPL-compatible.'
410        echo
411        echo 'For more info, see: http://www.openssl.org/support/faq.html#LEGAL2'
412        echo '                    http://www.gnome.org/~markmc/openssl-and-the-gpl.html'
413        echo
414        echo 'Please note that distributing a BitlBee binary which links to OpenSSL is'
415        echo 'probably illegal. If you want to create and distribute a binary BitlBee'
416        echo 'package, you really should use GnuTLS or NSS instead.'
417        echo
418        echo 'Also, the OpenSSL license requires us to say this:'
419        echo ' *    "This product includes software developed by the OpenSSL Project'
420        echo ' *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"'
421       
422        echo 'EFLAGS+=-lssl -lcrypto' >> Makefile.settings
423       
424        ret=1
425elif [ "$ssl" = "bogus" ]; then
426        echo
427        echo 'Using bogus SSL code. This means some features will not work properly.'
428       
429        ## Yes, you, at the console! How can you authenticate if you don't have any SSL!?
430        if [ "$msn" = "1" -o "$yahoo" = "1" ]; then
431                echo
432                echo 'WARNING: The MSN and Yahoo! modules will not work without SSL. Disabling.'
433                msn=0
434                yahoo=0
435        fi
436       
437        ret=1
438else
439        echo
440        echo 'ERROR: Unknown SSL library specified.'
441        exit 1
442fi
443
444if [ "$ret" = "0" ]; then
445        echo
446        echo 'ERROR: Could not find a suitable SSL library (GnuTLS, libnss or OpenSSL).'
447        echo '       Please note that this script doesn'\''t have detection code for OpenSSL,'
448        echo '       so if you want to use that, you have to select it by hand. If you don'\''t'
449        echo '       need SSL support, you can select the "bogus" SSL library. (--ssl=bogus)'
450       
451        exit 1
452fi;
453
454if [ "$msn" = "1" -a "$ssl" != "openssl" -a "$ssl" != "gnutls" ]; then
455        # Needed for MSN only. OpenSSL exports nice cipher functions already,
456        # in case of GnuTLS we should be able to use gcrypt. Otherwise, use
457        # built-in stuff. (Since right now those are the only two supported
458        # SSL modules anyway, this is mostly unnecessary.)
459        echo 'DES=des.o' >> Makefile.settings
460fi
461
462echo 'SSL_CLIENT=ssl_'$ssl'.o' >> Makefile.settings
463
464if detect_resolv_dynamic || detect_resolv_static; then
465        echo '#define HAVE_RESOLV_A' >> config.h
466fi
467
468STORAGES="xml"
469
470if [ "$ldap" = "auto" ]; then
471        detect_ldap
472fi
473
474if [ "$ldap" = 0 ]; then
475        echo "#undef WITH_LDAP" >> config.h
476elif [ "$ldap" = 1 ]; then
477        echo
478        echo 'LDAP support is a work in progress and does NOT work AT ALL right now.'
479        echo
480        exit 1
481       
482        echo "#define WITH_LDAP 1" >> config.h
483        STORAGES="$STORAGES ldap"
484fi
485
486for i in $STORAGES; do
487        STORAGE_OBJS="$STORAGE_OBJS storage_$i.o"
488done
489echo "STORAGE_OBJS="$STORAGE_OBJS >> Makefile.settings
490
491if [ "$strip" = 0 ]; then
492        echo "STRIP=\# skip strip" >> Makefile.settings;
493else
494        if [ "$debug" = 1 ]; then
495                echo
496                echo 'Stripping binaries does not make sense when debugging. Stripping disabled.'
497                echo 'STRIP=\# skip strip' >> Makefile.settings
498                strip=0;
499        elif [ -n "$STRIP" ]; then
500                echo "STRIP=$STRIP" >> Makefile.settings;
501        elif type strip > /dev/null 2> /dev/null; then
502                echo "STRIP=strip" >> Makefile.settings;
503        else
504                echo
505                echo 'No strip utility found, cannot remove unnecessary parts from executable.'
506                echo 'STRIP=\# skip strip' >> Makefile.settings
507                strip=0;
508        fi;
509fi
510
511if [ -z "$systemdsystemunitdir" ]; then
512        if $PKG_CONFIG --exists systemd; then
513                systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd`
514        fi
515fi
516if [ -n "$systemdsystemunitdir" ]; then
517        if [ "$systemdsystemunitdir" != "no" ]; then
518                echo "SYSTEMDSYSTEMUNITDIR=$systemdsystemunitdir" >> Makefile.settings
519        fi
520fi
521
522if [ "$gcov" = "1" ]; then
523        echo "CFLAGS+=--coverage" >> Makefile.settings
524        echo "EFLAGS+=--coverage" >> Makefile.settings
525fi
526
527if [ "$plugins" = 0 ]; then
528        echo '#undef WITH_PLUGINS' >> config.h
529else
530        echo '#define WITH_PLUGINS' >> config.h
531fi
532
533otrprefix=""
534for i in / /usr /usr/local; do
535        if [ -f ${i}/lib/libotr.a ]; then
536                otrprefix=${i}
537                break
538        fi
539done
540if [ "$otr" = "auto" ]; then
541        if [ -n "$otrprefix" ]; then
542                otr=1
543        else
544                otr=0
545        fi
546fi
547if [ "$otr" = 1 ]; then
548        # BI == built-in
549        echo '#define OTR_BI' >> config.h
550        echo "EFLAGS+=-L${otrprefix}/lib -lotr" >> Makefile.settings
551        echo "CFLAGS+=-I${otrprefix}/include" >> Makefile.settings
552        echo 'OTR_BI=otr.o' >> Makefile.settings
553elif [ "$otr" = "plugin" ]; then
554        echo '#define OTR_PI' >> config.h
555        echo "OTRFLAGS=-L${otrprefix}/lib -lotr" >> Makefile.settings
556        echo "CFLAGS+=-I${otrprefix}/include" >> Makefile.settings
557        echo 'OTR_PI=otr.so' >> Makefile.settings
558fi
559
560if [ "$skype" = "1" -o "$skype" = "plugin" ]; then
561        echo 'SKYPE_PI=skype.so' >> Makefile.settings
562        protocols_mods="$protocol_mods skype(plugin)"
563fi
564
565if [ ! -e doc/user-guide/help.txt ] && ! type xmlto > /dev/null 2> /dev/null; then
566        echo
567        echo 'WARNING: Building from an unreleased source tree without prebuilt helpfile.'
568        echo 'Install xmlto if you want online help to work.'
569fi
570
571echo
572if [ -z "$BITLBEE_VERSION" -a -d .bzr ] && type bzr > /dev/null 2> /dev/null; then
573        nick=`bzr nick`
574        if [ -n "$nick" -a "$nick" != "bitlbee" ]; then
575                nick="-$nick"
576        else
577                nick=""
578        fi
579        rev=`bzr revno`
580        echo 'Using bzr revision #'$rev' as version number'
581        BITLBEE_VERSION=\"bzr$nick-$rev\"
582fi
583
584if [ -n "$BITLBEE_VERSION" ]; then
585        echo 'Spoofing version number: '$BITLBEE_VERSION
586        echo '#undef BITLBEE_VERSION' >> config.h
587        echo '#define BITLBEE_VERSION '$BITLBEE_VERSION >> config.h
588        echo
589fi
590
591if ! make helloworld > /dev/null 2>&1; then
592        echo "WARNING: Your version of make (BSD make?) does not support BitlBee's makefiles."
593        echo "BitlBee needs GNU make to build properly. On most systems GNU make is available"
594        echo "under the name 'gmake'."
595        echo
596        if gmake helloworld > /dev/null 2>&1; then
597                echo "gmake seems to be available on your machine, great."
598                echo
599        else
600                echo "gmake is not installed (or not working). Please try to install it."
601                echo
602        fi
603fi
604
605cat <<EOF>bitlbee.pc
606prefix=$prefix
607includedir=$includedir
608
609Name: bitlbee
610Description: IRC to IM gateway
611Requires: glib-2.0
612Version: $BITLBEE_VERSION
613Libs:
614Cflags: -I\${includedir}
615
616EOF
617
618protocols=''
619protoobjs=''
620
621if [ "$purple" = 0 ]; then
622        echo '#undef WITH_PURPLE' >> config.h
623else
624        if ! $PKG_CONFIG purple; then
625                echo
626                echo 'Cannot find libpurple development libraries, aborting. (Install libpurple-dev?)'
627                exit 1
628        fi
629        echo '#define WITH_PURPLE' >> config.h
630        cat<<EOF>>Makefile.settings
631EFLAGS += $($PKG_CONFIG purple --libs)
632PURPLE_CFLAGS += $($PKG_CONFIG purple --cflags)
633EOF
634        protocols=$protocols'purple '
635        protoobjs=$protoobjs'purple_mod.o '
636
637        # Having both libpurple and native IM modules in one binary may
638        # do strange things. Let's not do that.
639        msn=0
640        jabber=0
641        oscar=0
642        yahoo=0
643
644        echo '#undef PACKAGE' >> config.h
645        echo '#define PACKAGE "BitlBee-LIBPURPLE"' >> config.h
646       
647        if [ "$events" = "libevent" ]; then
648                echo 'Warning: Some libpurple modules (including msn-pecan) do their event handling'
649                echo 'outside libpurple, talking to GLib directly. At least for now the combination'
650                echo 'libpurple + libevent is *not* recommended!'
651                echo
652        fi
653fi
654
655case "$CC" in
656*gcc* )
657        echo CFLAGS+=-MMD -MF .depend/\$@.d >> Makefile.settings
658        for i in . lib protocols protocols/*/; do
659                mkdir -p $i/.depend
660        done
661esac
662
663if [ "$msn" = 0 ]; then
664        echo '#undef WITH_MSN' >> config.h
665else
666        echo '#define WITH_MSN' >> config.h
667        protocols=$protocols'msn '
668        protoobjs=$protoobjs'msn_mod.o '
669fi
670
671if [ "$jabber" = 0 ]; then
672        echo '#undef WITH_JABBER' >> config.h
673else
674        echo '#define WITH_JABBER' >> config.h
675        protocols=$protocols'jabber '
676        protoobjs=$protoobjs'jabber_mod.o '
677fi
678
679if [ "$oscar" = 0 ]; then
680        echo '#undef WITH_OSCAR' >> config.h
681else
682        echo '#define WITH_OSCAR' >> config.h
683        protocols=$protocols'oscar '
684        protoobjs=$protoobjs'oscar_mod.o '
685fi
686
687if [ "$yahoo" = 0 ]; then
688        echo '#undef WITH_YAHOO' >> config.h
689else
690        echo '#define WITH_YAHOO' >> config.h
691        protocols=$protocols'yahoo '
692        protoobjs=$protoobjs'yahoo_mod.o '
693fi
694
695if [ "$twitter" = 0 ]; then
696        echo '#undef WITH_TWITTER' >> config.h
697else
698        echo '#define WITH_TWITTER' >> config.h
699        protocols=$protocols'twitter '
700        protoobjs=$protoobjs'twitter_mod.o '
701fi
702
703if [ "$protocols" = "PROTOCOLS = " ]; then
704        echo "Warning: You haven't selected any communication protocol to compile!"
705        echo "         BitlBee will run, but you will be unable to connect to IM servers!"
706fi
707
708echo "PROTOCOLS = $protocols" >> Makefile.settings
709echo "PROTOOBJS = $protoobjs" >> Makefile.settings
710
711echo Architecture: $arch
712case "$arch" in
713Linux )
714;;
715GNU/* )
716;;
717*BSD )
718;;
719Darwin )
720        echo 'STRIP=\# skip strip' >> Makefile.settings
721;;
722IRIX )
723;;
724SunOS )
725        echo 'EFLAGS+=-lresolv -lnsl -lsocket' >> Makefile.settings
726        echo 'STRIP=\# skip strip' >> Makefile.settings
727        echo '#define NO_FD_PASSING' >> config.h
728;;
729AIX )
730        echo 'EFLAGS+=-Wl,-brtl' >> Makefile.settings
731;;
732CYGWIN* )
733        echo 'Cygwin is not officially supported.'
734;;
735Windows )
736;;
737* )
738        echo 'We haven'\''t tested BitlBee on many platforms yet, yours is untested. YMMV.'
739        echo 'Please report any problems at http://bugs.bitlbee.org/.'
740;;
741esac
742
743if [ -n "$target" ]; then
744        echo "Cross-compiling for: $target"
745fi
746
747echo
748echo 'Configuration done:'
749
750if [ "$debug" = "1" ]; then
751        echo '  Debugging enabled.'
752else
753        echo '  Debugging disabled.'
754fi
755
756if [ "$strip" = "1" ]; then
757        echo '  Binary stripping enabled.'
758else
759        echo '  Binary stripping disabled.'
760fi
761
762if [ "$otr" = "1" ]; then
763        echo '  Off-the-Record (OTR) Messaging enabled.'
764elif [ "$otr" = "plugin" ]; then
765        echo '  Off-the-Record (OTR) Messaging enabled (as a plugin).'
766else
767        echo '  Off-the-Record (OTR) Messaging disabled.'
768fi
769
770if [ -n "$systemdsystemunitdir" ]; then
771        echo '  systemd enabled.'
772else
773        echo '  systemd disabled.'
774fi
775
776echo '  Using event handler: '$events
777echo '  Using SSL library: '$ssl
778#echo '  Building with these storage backends: '$STORAGES
779
780if [ -n "$protocols" ]; then
781        echo '  Building with these protocols:' $protocols$protocols_mods
782        case "$protocols" in
783        *purple*)
784                echo "    Note that BitlBee-libpurple is supported on a best-effort basis. It's"
785                echo "    not *fully* compatible with normal BitlBee. Don't use it unless you"
786                echo "    absolutely need it (i.e. support for a certain protocol or feature)."
787        esac
788else
789        echo '  Building without IM-protocol support. We wish you a lot of fun...'
790fi
Note: See TracBrowser for help on using the repository browser.