/[rdesktop]/sourceforge.net/trunk/rdesktop/configure
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /sourceforge.net/trunk/rdesktop/configure

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 156 by matthewc, Sun Sep 15 11:36:23 2002 UTC revision 682 by stargo, Tue Apr 27 09:13:50 2004 UTC
# Line 2  Line 2 
2  #  #
3  # rdesktop: A Remote Desktop Protocol client  # rdesktop: A Remote Desktop Protocol client
4  # configure script  # configure script
5  # Copyright (C) Matthew Chapman 1999-2001  # Copyright (C) Matthew Chapman 1999-2002
6  #  #
7    
8  echo "# Generated by $0 $*" >Makeconf  echo "rdesktop build configuration script"
9    echo
   
 # Choose gcc if available  
   
 if `which gcc >/dev/null`; then  
     echo "CC          = gcc" >>Makeconf  
 fi  
   
   
 # Find X installation  
   
 xdirs="/usr/X11 /usr/X11R6 /usr/openwin /usr /usr/local/X11 /usr/local/X11R6 /usr/local"  
10    
11  for dir in $xdirs; do  echo "# Generated by $0 $*" >Makeconf
     if [ -e $dir/include/X11/Xlib.h ]; then  
         xdir=$dir  
         break  
     fi  
 done  
   
 if [ -z $xdir ]; then  
     echo "ERROR: could not find X installation"  
     echo "(searched for include/X11/Xlib.h in $xdirs)"  
     exit 1  
 fi  
   
 echo "X11DIR      = $xdir" >> Makeconf  
   
   
 # Add platform-specific options  
   
 case `uname -s` in  
   SunOS)  
     echo "LDFLAGS    += -R$(X11DIR)/lib -lsocket -lnsl" >>Makeconf  
     ;;  
 esac  
12    
13    
14  # Process command line options  # Process command line options
15    
16    cflags='-DKEYMAP_PATH=\"$(KEYMAP_PATH)\"'
17    ldflags=''
18    rpath=
19    withsound='yes'
20    
21  for arg in $*; do  for arg in $*; do
22  optarg=`echo $arg | sed 's/[-a-z]*=//'`      optarg=`echo $arg | sed 's/[-a-z]*=//'`
23  case $arg in  case $arg in
24    --prefix=*)    --prefix=*)
25      echo "prefix      = $optarg" >>Makeconf      echo "prefix      = $optarg" >>Makeconf
# Line 64  case $arg in Line 36  case $arg in
36    --sharedir=*)    --sharedir=*)
37      echo "datadir     = $optarg" >>Makeconf      echo "datadir     = $optarg" >>Makeconf
38      ;;      ;;
39      --with-x*)
40        extraxdir=$optarg
41        ;;
42    --with-openssl*)    --with-openssl*)
43      echo "CFLAGS     += -DWITH_OPENSSL" >>Makeconf      extrassldir=$optarg
     echo "LDFLAGS    += -lcrypto" >>Makeconf  
     echo "CRYPTOBJ    =" >>Makeconf  
44      ;;      ;;
45    --without-openssl*)    --without-openssl*)
46        withoutopenssl=yes
47        ;;
48      --with-egd-socket=*)
49        extraegdpath=$optarg
50        ;;
51      --with-libvncserver)
52        withvncserver=yes
53        ;;
54      --with-libvncserver-config=*)
55        vncserverconfig=$optarg
56      ;;      ;;
57    --with-debug)    --with-debug)
58      echo "CFLAGS     += -g -DWITH_DEBUG" >>Makeconf      cflags="$cflags -g -DWITH_DEBUG"
59      ;;      ;;
60    --with-debug-kbd)    --with-debug-kbd)
61      echo "CFLAGS     += -g -DWITH_DEBUG_KBD" >>Makeconf      cflags="$cflags -g -DWITH_DEBUG_KBD"
62        ;;
63      --with-debug-rdp5)
64        cflags="$cflags -g -DWITH_DEBUG_RDP5"
65        ;;
66      --with-debug-clipboard)
67        cflags="$cflags -g -DWITH_DEBUG_CLIPBOARD"
68      ;;      ;;
69    --without-debug*)    --without-debug*)
70      ;;      ;;
71      --with-ipv6)
72        cflags="$cflags -DIPv6"
73        ;;
74      --without-sound*)
75        withsound=no
76        ;;
77      --with-sound)
78        withsound=yes
79        ;;
80      --with-sound=oss)
81        withsound=$optarg
82        ;;
83      --with-sound=sun)
84        withsound=$optarg
85        ;;
86    *)    *)
     echo "rdesktop build configuration script"  
     echo  
87      echo "Target directories:"      echo "Target directories:"
88      echo " --prefix=PREFIX        location for architecture-independent files"      echo " --prefix=PREFIX         location for architecture-independent files"
89      echo " --exec-prefix=EPREFIX  location for architecture-dependent files"      echo " --exec-prefix=EPREFIX   location for architecture-dependent files"
90      echo " --bindir=BINDIR        location for program binaries [EPREFIX/bin]"      echo " --bindir=BINDIR         location for program binaries [EPREFIX/bin]"
91      echo " --mandir=MANDIR        location for man pages [PREFIX/man]"      echo " --mandir=MANDIR         location for man pages [PREFIX/man]"
92      echo " --sharedir=SHAREDIR    location for architecture-independent shared files [PREFIX/share/rdesktop]"      echo " --sharedir=SHAREDIR     location for architecture-independent shared files [PREFIX/share/rdesktop]"
93      echo      echo
94      echo "Build configuration:"      echo "Build configuration:"
95      echo " --with-openssl         use system OpenSSL libraries for crypto"      echo " --with-x=DIR            look for X Window System at DIR/include, DIR/lib"
96      echo " --with-debug           enable protocol debugging output"      echo " --with-openssl=DIR      look for OpenSSL at DIR/include, DIR/lib"
97      echo " --with-debug-kbd       enable debugging of keyboard handling"      #echo " --without-openssl       use in-tree crypto, even if OpenSSL is available"
98        echo " --with-egd-socket=PATH  look for Entropy Gathering Daemon socket at PATH"
99        echo " --with-libvncserver     make rdp2vnc"
100        echo " --with-libvncserver-config=CMD"
101        echo "                         use CMD as libvncserver-config"
102        echo " --with-debug            enable protocol debugging output"
103        echo " --with-debug-kbd        enable debugging of keyboard handling"
104        echo " --with-debug-rdp5       enable debugging of RDP5 code"
105        echo " --with-debug-clipboard  enable debugging of clipboard code"
106        echo " --with-ipv6             enable support for IPv6"
107        echo " --without-sound         disable support for sound redirection"
108        echo " --with-sound=ARG        only detect sound-support for \"oss\" or \"sun\" (and BSD)"
109      echo      echo
110      rm -f Makeconf      rm -f Makeconf
111      exit 1      exit 1
# Line 100  case $arg in Line 113  case $arg in
113  esac  esac
114  done  done
115    
116    
117    # Find compiler
118    
119    compilers="$CC gcc cc"
120    
121    for compiler in $compilers; do
122        if [ -x "`which $compiler`" ]; then
123            cc=$compiler
124            break
125        fi
126    done
127    
128    if [ -z "$cc" ]; then
129        echo "ERROR: could not find a C compiler (tried: $compilers)"
130        echo "You probably want to install gcc"
131        exit 1
132    fi
133    
134    echo "CC          = $cc" >>Makeconf
135    
136    if $cc -v 2>&1 |grep '^gcc' >/dev/null; then
137        cflags="$cflags -Wall -O2"
138    else
139        cflags="$cflags -O"
140    fi
141    
142    
143    # Find install program
144    
145    if [ -z "$INSTALL" ]; then
146        # Want BSD install
147        if [ -x /usr/ucb/installbsd ]; then
148            INSTALL=/usr/ucb/installbsd
149        elif [ -x /usr/ucb/install ]; then
150            INSTALL=/usr/ucb/install
151        else
152            INSTALL=install
153        fi
154    fi
155    
156    echo "INSTALL     = $INSTALL" >>Makeconf
157    
158    
159    # Find X installation
160    
161    xdirs="$extraxdir /usr/X11R6 /usr/X11 /usr/openwin /usr /usr/local/X11R6 /usr/local/X11 /usr/local"
162    
163    for dir in $xdirs; do
164        if [ -f $dir/include/X11/Xlib.h ]; then
165            xdir=$dir
166            break
167        fi
168    done
169    
170    if [ -z "$xdir" ]; then
171        echo "ERROR: could not find X Window System headers"
172        echo "(searched for include/X11/Xlib.h in: $xdirs)"
173    
174        # additional helpful information for Linux users
175        if [ -f /etc/redhat-release ]; then
176          echo You probably need to install the XFree86-devel package
177        elif [ -f /etc/debian_version ]; then
178          echo You probably need to install the xlibs-dev package
179        fi
180        exit 1
181    fi
182    
183    echo "X Window System:"
184    echo "  includes  $xdir/include"
185    echo "  libraries $xdir/lib"
186    echo
187    
188    if [ $xdir != "/usr" ]; then
189        cflags="$cflags -I$xdir/include"
190        ldflags="$ldflags -L$xdir/lib"
191        rpath="$rpath:$xdir/lib"
192    fi
193    
194    ldflags="$ldflags"
195    targets="$targets rdesktop"
196    
197    #withoutopenssl not currently supported
198    #if [ -z "$withoutopenssl" ]; then
199        # Find OpenSSL installation if available
200        ssldirs="$extrassldir /usr/openssl /usr/ssl /usr /usr/local/openssl /usr/local/ssl /usr/local"
201        
202        for dir in $ssldirs; do
203            if [ -f $dir/include/openssl/rc4.h ]; then
204                ssldir=$dir
205                break
206            fi
207        done
208        
209        if [ -z "$ssldir" ]; then
210            echo "ERROR: could not find OpenSSL headers"
211            echo "(searched for include/openssl/rc4.h in: $ssldirs)"
212            # additional helpful information for Linux users
213            if [ -f /etc/redhat-release ]; then
214                echo You probably need to install the openssl-devel package
215            elif [ -f /etc/debian_version ]; then
216                echo You probably need to install the libssl-dev package
217            fi
218            exit 1
219        else
220            echo "OpenSSL:"
221            echo "  includes  $ssldir/include"
222            echo "  libraries $ssldir/lib"
223            echo
224        
225            echo "CRYPTOBJ    =" >>Makeconf
226        
227            if [ $ssldir != "/usr" ]; then
228                cflags="$cflags -I$ssldir/include"
229                ldflags="$ldflags -L$ssldir/lib"
230                rpath="$rpath:$ssldir/lib"
231            fi
232        
233            cflags="$cflags -DWITH_OPENSSL"
234            ldflags="$ldflags -lcrypto"
235        fi
236    #fi
237        
238    if [ ! -z "$withvncserver" ]; then
239        if [ -z "$vncserverconfig" ]; then
240            vncserverconfig=libvncserver-config
241        fi
242    
243        echo "VNCINC=`$vncserverconfig --cflags`" >> Makeconf
244        echo "LDVNC=`$vncserverconfig --libs`" >> Makeconf
245        echo "CCLD=`$vncserverconfig --link`" >> Makeconf
246        echo >> Makeconf
247        targets="$targets rdp2vnc"
248    
249        echo "Found libvncserver: Building rdp2vnc"
250    fi
251    
252    
253    # Find EGD socket if we don't have /dev/urandom or /dev/random
254    
255    if [ ! -c /dev/random -a ! -c /dev/urandom ]; then
256        egdpaths="$extraegdpath /var/run/egd-pool /dev/egd-pool /etc/egd-pool /etc/entropy"
257    
258        for path in $egdpaths; do
259            # -e isn't portable, so we use -r
260            if [ -r $path ]; then
261                egdpath=$path
262                break
263            fi
264        done
265    
266        if [ -z "$egdpath" ]; then
267            echo "WARNING: could not find /dev/urandom, /dev/random or Entropy Gathering Daemon (EGD) socket"
268            echo "(searched: $egdpaths)"
269            echo "Session keys may be less secure; installing a system randomness source is recommended."
270            echo
271        else
272            echo "Entropy Gathering Daemon (EGD):"
273            echo "  socket    $egdpath"
274            echo
275            cflags="$cflags -DEGD_SOCKET=\\\"$egdpath\\\""
276        fi
277    fi
278    
279    # Check for OSS sound support
280    
281    if [ -f /usr/include/sys/soundcard.h -a \( "$withsound" = "yes" -o "$withsound" = "oss" \) ]; then
282        echo Sound support enabled: Open Sound System
283        echo
284        echo "SOUNDOBJ    = rdpsnd.o rdpsnd_oss.o" >>Makeconf
285        cflags="$cflags -DWITH_RDPSND"
286    elif [ -f /usr/include/sys/audioio.h -a \( "$withsound" = "yes" -o "$withsound" = "sun" \) ]; then
287        echo Sound support enabled: Sun/BSD
288        echo
289        echo "SOUNDOBJ    = rdpsnd.o rdpsnd_sun.o" >>Makeconf
290        cflags="$cflags -DWITH_RDPSND"
291    else
292        echo "WARNING: sound support disabled (no /usr/include/sys/soundcard.h or /usr/include/sys/audioio.h)"
293        echo "Currently supported systems are Open Sound System (oss) and Sun/BSD (sun)"
294        echo
295    fi
296    
297    
298    # Platform-specific options
299    cat >conftest.$$.c << EOF
300    #include <stdlib.h>
301    #include <signal.h>
302    int main(int argc, char **argv)
303    {
304            unsigned char test[8] = { 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88 };
305            signal(SIGBUS, exit);
306            signal(SIGABRT, exit);
307            signal(SIGSEGV, exit);
308            if (*((unsigned int *)(test + 1)) != 0x55443322 && *((unsigned int *)(test + 1)) != 0x22334455) {
309                    return 1;
310            }
311            return 0;
312    }
313    EOF
314    $cc -o conftest.$$ conftest.$$.c
315    need_alignment=yes
316    ./conftest.$$ && need_alignment=no
317    if [ "$need_alignment" = "yes" ]; then
318            echo "Architecture needs alignment"
319            echo
320            cflags="$cflags -DNEED_ALIGNMENT"
321    fi
322    rm conftest.$$ conftest.$$.c
323    
324    # strip leading colon from rpath
325    rpath=`echo $rpath |sed 's/^://'`
326    
327    case `uname -s` in
328      SunOS)
329        ldflags="$ldflags -lsocket -lnsl -R$rpath"
330        ;;
331      OSF1)
332        ldflags="$ldflags -Wl,-rpath,$rpath"
333        ;;
334      HP-UX)
335        cflags="$cflags -D_XOPEN_SOURCE_EXTENDED"
336        ;;
337    esac
338    
339    
340    echo "CFLAGS      = $cflags" >>Makeconf
341    echo "LDFLAGS     = $ldflags" >>Makeconf
342    echo "TARGETS     = $targets" >>Makeconf
343    
344  echo "configure complete - now run make"  echo "configure complete - now run make"
345    

Legend:
Removed from v.156  
changed lines
  Added in v.682

  ViewVC Help
Powered by ViewVC 1.1.26