source: configure @ 8407e25

Last change on this file since 8407e25 was b2b7f52, checked in by Miklos Vajna <vmiklos@…>, at 2013-03-01T10:28:44Z

#978 fix Mac build of the Skype plugin

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