source: configure @ 25b80e9c

Last change on this file since 25b80e9c was 25b80e9c, checked in by Wilmer van der Gaast <wilmer@…>, at 2012-06-03T21:01:06Z

Commit two patches from RH package maintainer (#956).

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