source: configure @ b42269a

Last change on this file since b42269a was 7a80925, checked in by Wilmer van der Gaast <wilmer@…>, at 2014-02-13T08:48:37Z

Update json-parser code to git rev 11a80f389769d1f66ca7fbe64ad89c82d3ba4ba9.
Few BitlBee-specific diffs now. Annoyingly need to link to libm now for the
use of the function pow() since the lib now does its own number parsing...

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