Move platform-specific stuff to configure (avoid relying on GNU make)

Autodetect gcc in configure
Autodetect X11DIR in configure
Rename PREFIX etc in line with GNU conventions


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@155 423420c4-83ab-492f-b58f-81f9feb106b5
This commit is contained in:
Matt Chapman 2002-09-15 11:36:23 +00:00
parent a3fdc9ff08
commit e76dae49d7
2 changed files with 57 additions and 27 deletions

View File

@ -7,31 +7,22 @@
# Configuration defaults
CC = cc
X11DIR = /usr/X11R6
CFLAGS = -O2 -DKEYMAP_PATH=\"$(KEYMAP_PATH)\"
INCLUDES = -I$(X11DIR)/include
LDFLAGS = -L$(X11DIR)/lib -lX11 -lXext
PREFIX = /usr/local
EPREFIX = $(PREFIX)
BINDIR = $(EPREFIX)/bin
MANDIR = $(PREFIX)/man
SHAREDIR = $(PREFIX)/share/rdesktop
KEYMAP_PATH = $(SHAREDIR)/keymaps/
prefix = /usr/local
exec_prefix = $(prefix)
bindir = $(exec_prefix)/bin
mandir = $(prefix)/man
datadir = $(prefix)/share/rdesktop
OS = $(shell uname -s)
ifeq "$(OS)" "SunOS"
LDFLAGS += -lsocket -lnsl -R$(X11DIR)/lib
endif
ifeq "$(OS)" "OSF1"
LDFLAGS += -Wl,-rpath,$(X11DIR)/lib
endif
KEYMAP_PATH = $(datadir)/keymaps/
RDPOBJ = rdesktop.o tcp.o iso.o mcs.o secure.o licence.o rdp.o orders.o bitmap.o cache.o xwin.o xkeymap.o readpass.o
CRYPTOBJ = crypto/rc4_enc.o crypto/rc4_skey.o crypto/md5_dgst.o crypto/sha1dgst.o crypto/bn_exp.o crypto/bn_mul.o crypto/bn_div.o crypto/bn_sqr.o crypto/bn_add.o crypto/bn_shift.o crypto/bn_asm.o crypto/bn_ctx.o crypto/bn_lib.o
include Makeconf # local configuration
include Makeconf # configure-generated
rdesktop: $(RDPOBJ) $(CRYPTOBJ)

53
configure vendored
View File

@ -7,27 +7,66 @@
echo "# Generated by $0 $*" >Makeconf
# 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"
for dir in $xdirs; do
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
# Process command line options
for arg in $*; do
optarg=`echo $arg | sed 's/[-a-z]*=//'`
case $arg in
--prefix=*)
echo "PREFIX = $optarg" >>Makeconf
echo "prefix = $optarg" >>Makeconf
;;
--exec-prefix=*)
echo "EPREFIX = $optarg" >>Makeconf
echo "exec_prefix = $optarg" >>Makeconf
;;
--bindir=*)
echo "BINDIR = $optarg" >>Makeconf
echo "bindir = $optarg" >>Makeconf
;;
--mandir=*)
echo "MANDIR = $optarg" >>Makeconf
echo "mandir = $optarg" >>Makeconf
;;
--sharedir=*)
echo "SHAREDIR = $optarg" >>Makeconf
echo "datadir = $optarg" >>Makeconf
;;
--with-openssl*)
echo "CFLAGS += -DWITH_OPENSSL" >>Makeconf
echo "LDLIBS += -lcrypto" >>Makeconf
echo "LDFLAGS += -lcrypto" >>Makeconf
echo "CRYPTOBJ =" >>Makeconf
;;
--without-openssl*)
@ -52,7 +91,7 @@ case $arg in
echo
echo "Build configuration:"
echo " --with-openssl use system OpenSSL libraries for crypto"
echo " --with-debug enable debugging output"
echo " --with-debug enable protocol debugging output"
echo " --with-debug-kbd enable debugging of keyboard handling"
echo
rm -f Makeconf