source: configure @ 4e4fa93

Last change on this file since 4e4fa93 was 04e2a05, checked in by dequis <dx@…>, at 2014-06-26T08:07:11Z

configure: Let the user enable both built-in protocols and purple

There's no real risk in enabling these, since protocols/purple/purple.c
already avoids adding duplicate protocols in purple_initmodule():

/* If we already have this one (as a native module), don't

add a libpurple duplicate. */

if( find_protocol( prot->info->id ) )

continue;

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