/[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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 682 - (hide annotations)
Tue Apr 27 09:13:50 2004 UTC (20 years, 2 months ago) by stargo
File size: 8915 byte(s)
configure-test for NEED_ALIGNMENT

1 matty 30 #!/bin/sh
2     #
3     # rdesktop: A Remote Desktop Protocol client
4     # configure script
5 matthewc 207 # Copyright (C) Matthew Chapman 1999-2002
6 matty 30 #
7    
8 matthewc 202 echo "rdesktop build configuration script"
9     echo
10    
11 matty 30 echo "# Generated by $0 $*" >Makeconf
12    
13 matthewc 156
14 matthewc 189 # Process command line options
15 matthewc 156
16 matthewc 298 cflags='-DKEYMAP_PATH=\"$(KEYMAP_PATH)\"'
17     ldflags=''
18 matthewc 221 rpath=
19 stargo 634 withsound='yes'
20 matthewc 156
21 matty 30 for arg in $*; do
22 matthewc 220 optarg=`echo $arg | sed 's/[-a-z]*=//'`
23 matty 30 case $arg in
24     --prefix=*)
25 matthewc 156 echo "prefix = $optarg" >>Makeconf
26 matty 30 ;;
27     --exec-prefix=*)
28 matthewc 156 echo "exec_prefix = $optarg" >>Makeconf
29 matty 30 ;;
30     --bindir=*)
31 matthewc 156 echo "bindir = $optarg" >>Makeconf
32 matty 30 ;;
33     --mandir=*)
34 matthewc 156 echo "mandir = $optarg" >>Makeconf
35 matty 30 ;;
36 astrand 98 --sharedir=*)
37 matthewc 156 echo "datadir = $optarg" >>Makeconf
38 astrand 98 ;;
39 matthewc 220 --with-x*)
40     extraxdir=$optarg
41     ;;
42 matty 32 --with-openssl*)
43 matthewc 220 extrassldir=$optarg
44 matty 32 ;;
45     --without-openssl*)
46 astrand 267 withoutopenssl=yes
47 matty 32 ;;
48 matthewc 220 --with-egd-socket=*)
49     extraegdpath=$optarg
50     ;;
51 astrand 333 --with-libvncserver)
52     withvncserver=yes
53     ;;
54     --with-libvncserver-config=*)
55     vncserverconfig=$optarg
56     ;;
57 astrand 63 --with-debug)
58 matthewc 189 cflags="$cflags -g -DWITH_DEBUG"
59 matty 30 ;;
60 astrand 63 --with-debug-kbd)
61 matthewc 189 cflags="$cflags -g -DWITH_DEBUG_KBD"
62 astrand 63 ;;
63 forsberg 341 --with-debug-rdp5)
64     cflags="$cflags -g -DWITH_DEBUG_RDP5"
65     ;;
66 forsberg 403 --with-debug-clipboard)
67     cflags="$cflags -g -DWITH_DEBUG_CLIPBOARD"
68     ;;
69 matty 30 --without-debug*)
70     ;;
71 stargo 605 --with-ipv6)
72     cflags="$cflags -DIPv6"
73     ;;
74 stargo 634 --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 matty 30 *)
87     echo "Target directories:"
88 matthewc 220 echo " --prefix=PREFIX location for architecture-independent files"
89     echo " --exec-prefix=EPREFIX location for architecture-dependent files"
90     echo " --bindir=BINDIR location for program binaries [EPREFIX/bin]"
91     echo " --mandir=MANDIR location for man pages [PREFIX/man]"
92     echo " --sharedir=SHAREDIR location for architecture-independent shared files [PREFIX/share/rdesktop]"
93 matty 30 echo
94     echo "Build configuration:"
95 matthewc 220 echo " --with-x=DIR look for X Window System at DIR/include, DIR/lib"
96     echo " --with-openssl=DIR look for OpenSSL at DIR/include, DIR/lib"
97 matthewc 523 #echo " --without-openssl use in-tree crypto, even if OpenSSL is available"
98 matthewc 220 echo " --with-egd-socket=PATH look for Entropy Gathering Daemon socket at PATH"
99 astrand 333 echo " --with-libvncserver make rdp2vnc"
100     echo " --with-libvncserver-config=CMD"
101     echo " use CMD as libvncserver-config"
102 matthewc 220 echo " --with-debug enable protocol debugging output"
103     echo " --with-debug-kbd enable debugging of keyboard handling"
104 forsberg 403 echo " --with-debug-rdp5 enable debugging of RDP5 code"
105     echo " --with-debug-clipboard enable debugging of clipboard code"
106 stargo 605 echo " --with-ipv6 enable support for IPv6"
107 stargo 634 echo " --without-sound disable support for sound redirection"
108     echo " --with-sound=ARG only detect sound-support for \"oss\" or \"sun\" (and BSD)"
109 matty 30 echo
110     rm -f Makeconf
111     exit 1
112     ;;
113     esac
114     done
115    
116 matthewc 189
117 matthewc 258 # 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 matthewc 515 # 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 matthewc 189 # Find X installation
160    
161 matthewc 220 xdirs="$extraxdir /usr/X11R6 /usr/X11 /usr/openwin /usr /usr/local/X11R6 /usr/local/X11 /usr/local"
162 matthewc 189
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 matthewc 220 echo "(searched for include/X11/Xlib.h in: $xdirs)"
173 matthewc 189
174     # additional helpful information for Linux users
175 matthewc 451 if [ -f /etc/redhat-release ]; then
176 matthewc 189 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 matthewc 202 echo "X Window System:"
184     echo " includes $xdir/include"
185     echo " libraries $xdir/lib"
186     echo
187    
188 matthewc 189 if [ $xdir != "/usr" ]; then
189     cflags="$cflags -I$xdir/include"
190     ldflags="$ldflags -L$xdir/lib"
191 matthewc 221 rpath="$rpath:$xdir/lib"
192 matthewc 189 fi
193    
194 astrand 333 ldflags="$ldflags"
195     targets="$targets rdesktop"
196 matthewc 189
197 matthewc 523 #withoutopenssl not currently supported
198     #if [ -z "$withoutopenssl" ]; then
199 astrand 267 # 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 matthewc 523 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 astrand 267 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 matthewc 189 fi
236 matthewc 523 #fi
237 astrand 267
238 astrand 333 if [ ! -z "$withvncserver" ]; then
239     if [ -z "$vncserverconfig" ]; then
240     vncserverconfig=libvncserver-config
241     fi
242 matthewc 189
243 astrand 333 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 matthewc 220 # Find EGD socket if we don't have /dev/urandom or /dev/random
254 matthewc 221
255 matthewc 220 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 matthewc 474 # Check for OSS sound support
280 matthewc 221
281 stargo 634 if [ -f /usr/include/sys/soundcard.h -a \( "$withsound" = "yes" -o "$withsound" = "oss" \) ]; then
282 matthewc 474 echo Sound support enabled: Open Sound System
283     echo
284     echo "SOUNDOBJ = rdpsnd.o rdpsnd_oss.o" >>Makeconf
285     cflags="$cflags -DWITH_RDPSND"
286 stargo 634 elif [ -f /usr/include/sys/audioio.h -a \( "$withsound" = "yes" -o "$withsound" = "sun" \) ]; then
287 stargo 560 echo Sound support enabled: Sun/BSD
288 matthewc 476 echo
289     echo "SOUNDOBJ = rdpsnd.o rdpsnd_sun.o" >>Makeconf
290     cflags="$cflags -DWITH_RDPSND"
291 matthewc 474 else
292 stargo 603 echo "WARNING: sound support disabled (no /usr/include/sys/soundcard.h or /usr/include/sys/audioio.h)"
293 stargo 634 echo "Currently supported systems are Open Sound System (oss) and Sun/BSD (sun)"
294 matthewc 474 echo
295     fi
296    
297    
298 matthewc 221 # Platform-specific options
299 stargo 682 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 matthewc 221
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 matthewc 536 HP-UX)
335     cflags="$cflags -D_XOPEN_SOURCE_EXTENDED"
336     ;;
337 matthewc 221 esac
338    
339    
340 matthewc 298 echo "CFLAGS = $cflags" >>Makeconf
341     echo "LDFLAGS = $ldflags" >>Makeconf
342 astrand 333 echo "TARGETS = $targets" >>Makeconf
343 matthewc 189
344 matty 30 echo "configure complete - now run make"
345 matthewc 221

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.26