version 0.2.5
[expresskeys.git] / configure.in
1 dnl --- Process this file with autoconf to produce a configure script ---
2
3 dnl --- Style and most code below nicked from the linuxwacom package ;-) ---
4
5 AC_INIT(src-expresskeys/main_setup.c)
6 AM_CONFIG_HEADER(config.h)
7 AM_INIT_AUTOMAKE(expresskeys, 0.2.5)
8 AM_MAINTAINER_MODE
9 AC_PROG_CC
10
11 dnl --- Specify our source directories. OBS: If they change, AC_OUTPUT must
12 dnl also be changed accordingly (at the end of this file) ---
13
14 SRC_DIRS=""
15 SRC_EXPRESSKEYS=src-expresskeys
16 SRC_EXPRESSKEYSCONF=src-expresskeysconf
17
18 dnl --- Begin function for checking Xlib development environment ---
19
20 XLIBDIR_DEFAULT=/usr/X11R6/lib
21 ENV_XLIB=no
22
23 AC_DEFUN([AC_CHECK_XLIB],[
24 XLIBDIR=
25 AC_ARG_WITH(xlib,
26 AS_HELP_STRING([--with-xlib=dir], [uses a specified X11R6 directory]),
27 [XLIBDIR=$withval])
28
29 AC_MSG_CHECKING(for Xlib directory)
30 if test "$XLIBDIR" == "" || test "$XLIBDIR" == "yes"; then
31         if test -d $XLIBDIR_DEFAULT; then
32                 XLIBDIR=$XLIBDIR_DEFAULT
33                 ENV_XLIB=yes
34                 AC_MSG_RESULT(found)
35         else
36                 ENV_XLIB=no
37                 AC_MSG_RESULT(not found - tried $XLIBDIR_DEFAULT)
38         fi
39 elif test -d $XLIBDIR; then
40         ENV_XLIB=yes
41         AC_MSG_RESULT(found)
42 else
43         ENV_XLIB=no
44         AC_MSG_RESULT(not found - tried $XLIBDIR)
45 fi
46
47 dnl --- Make sure we can use all required X libraries and header files ---
48
49 if test x$ENV_XLIB != xno; then
50
51 SOMEERROR=0
52
53 echo $'\nChecking the X compiling environment in detail...\n'
54
55 echo $'main(){}'|$CC -L$XLIBDIR -lX11 -xc - -o dum 2> /dev/null
56 if test $? != 0 ; then
57    echo "Can not link with X11 (libX11.so) library!"
58    SOMEERROR=1
59 else
60    echo "X11 OK"
61 fi
62
63 echo $'main(){}'|$CC -L$XLIBDIR -lXext -xc - -o dum 2> /dev/null
64 if test $? != 0 ; then
65    echo "Can not link with Xext (libXext.so) library!"
66    SOMEERROR=1
67 else
68    echo "Xext OK"
69 fi
70
71 echo $'main(){}'|$CC -L$XLIBDIR -lXi -xc - -o dum 2> /dev/null
72 if test $? != 0 ; then
73    echo "Can not link with Xi (libXi.so) library!"
74    SOMEERROR=1
75 else
76    echo "Xi OK"
77 fi
78
79 echo $'main(){}'|$CC -L$XLIBDIR -lXtst -xc - -o dum 2> /dev/null
80 if test $? != 0 ; then
81    echo "Can not link with Xtst (libXtst.so) library!"
82    SOMEERROR=1
83 else
84    echo "Xtst OK"
85 fi
86
87 echo $'#include <X11/Xlib.h>\nmain(){}'|$CC -L$XLIBDIR -xc - -o dum 2> /dev/null
88 if test $? != 0 ; then
89    echo "Can not include <X11/Xlib.h> header file!"
90    SOMEERROR=1
91 else
92    echo "Xlib.h OK"
93 fi
94
95 echo $'#include <X11/Xutil.h>\nmain(){}'|$CC -L$XLIBDIR -xc - -o dum 2> /dev/null
96 if test $? != 0 ; then
97    echo "Can not include <X11/Xutil.h> header file!"
98    SOMEERROR=1
99 else
100    echo "Xutil.h OK"
101 fi
102
103 echo $'#include <X11/extensions/XInput.h>\nmain(){}'|$CC -L$XLIBDIR -xc - -o dum 2>/dev/null
104 if test $? != 0 ; then
105    echo "Can not include <X11/extensions/XInput.h> header file!"
106    SOMEERROR=1
107 else
108    echo "XInput.h OK"
109 fi
110
111 echo $'#include <X11/extensions/XTest.h>\nmain(){}'|$CC -L$XLIBDIR -xc - -o dum 2>/dev/null
112 if test $? != 0 ; then
113    echo "Can not include <X11/extensions/XTest.h> header file!"
114    SOMEERROR=1
115 else
116    echo "XTest.h OK"
117 fi
118
119 rm -f dum
120
121 if test $SOMEERROR != 0 ; then
122    echo $'\nThe X compiling environment is NOT complete!
123 Some linux distributions omit parts of, or sometimes
124 the whole, X development environment. Based on the
125 error message(s) above you should be able to hunt down
126 which package(s) you need to install. For example, one
127 distribution call their xinput and xtest packages
128 libxi-dev and libxtst-dev\n'
129    exit
130 else
131    echo $'\nThe X compiling environment seems to be all OK\n'
132 fi
133
134 fi
135 ])
136
137 dnl --- End function for checking Xlib development environment ---
138
139 dnl --- Call function to check Xlib ---
140
141 AC_CHECK_XLIB
142
143 dnl --- Check if we should build expresskeys (default yes) ---
144
145 EXPRESSKEYS_DEFAULT=yes
146 OPTION_EXPRESSKEYS=no
147 AC_ARG_ENABLE(expresskeys,
148 AC_HELP_STRING([--enable-expresskeys], [Enable building expresskeys [[default=yes]]]),
149         , enable_expresskeys=$EXPRESSKEYS_DEFAULT)
150 if test "$enable_expresskeys" != "no"; then
151         if test x$ENV_XLIB != xyes; then
152                 echo "***"; echo "*** WARNING:";
153                 echo "*** expresskeys requires Xlib environment."
154                 echo "*** expresskeys will not be built."
155                 echo "*** Try ./configure --with-xlib=/some/directory"
156                 echo "*** if your Xlib environment is nonstandard."
157                 echo "*** By default we look for /usr/X11R6/lib"
158                 echo "***"
159                 exit
160         else
161                 OPTION_EXPRESSKEYS=yes
162                 EXPRESSKEYS_LIBS="-L$XLIBDIR -lX11 -lXi -lXtst"
163                 SRC_DIRS="$SRC_DIRS $SRC_EXPRESSKEYS"
164         fi
165 fi
166
167 dnl --- Check if we should build expresskeysconf (default no - not ready) ---
168
169 EXPRESSKEYSCONF_DEFAULT=no
170 OPTION_EXPRESSKEYSCONF=no
171 AC_ARG_ENABLE(expresskeysconf,
172 AC_HELP_STRING([--enable-expresskeysconf], [Enable building a non-working dummy file [[default=no]]]),
173         , enable_expresskeysconf=$EXPRESSKEYSCONF_DEFAULT)
174 if test "$enable_expresskeysconf" != "no"; then
175         if test x$ENV_XLIB != xyes; then
176                 echo "***"; echo "*** WARNING:";
177                 echo "*** expresskeysconf requires Xlib environment."
178                 echo "*** expresskeysconf will not be built."
179                 echo "*** Try ./configure --with-xlib=/some/directory"
180                 echo "*** if your Xlib environment is nonstandard."
181                 echo "*** By default we look for /usr/X11R6/lib"
182                 echo "***"
183                 exit
184         else
185                 OPTION_EXPRESSKEYSCONF=yes
186                 EXPRESSKEYSCONF_LIBS="-L$XLIBDIR -lX11"
187                 SRC_DIRS="$SRC_DIRS $SRC_EXPRESSKEYSCONF"
188         fi
189 fi
190
191 dnl --- Separate test output from file-generation output ---
192
193 AC_SUBST(SRC_DIRS)
194 AC_SUBST(EXPRESSKEYS_LIBS)
195 AC_SUBST(EXPRESSKEYSCONF_LIBS)
196
197 dnl --- Create the files ---
198
199 AC_OUTPUT(Makefile
200         src-expresskeys/Makefile
201         src-expresskeysconf/Makefile)
202
203 dnl --- Show the result ---
204
205 echo ""
206 echo "----------------------------------------"
207 echo "  BUILD ENVIRONMENT:"
208 echo "             Xlib - $ENV_XLIB $XLIBDIR"
209 echo ""
210 echo "  BUILD OPTIONS:"
211 echo "  expresskeysconf - $OPTION_EXPRESSKEYSCONF <-- (Non-working dummy file)"
212 echo "      expresskeys - $OPTION_EXPRESSKEYS"
213 echo "----------------------------------------"
214 echo ""
215