Towards 1.4.
[ir-tcl-moved-to-github.git] / configure.in
1 dnl IR toolkit for tcl/tk
2 dnl (c) Index Data 1996-2001
3 dnl See the file LICENSE for details.
4 dnl $Id: configure.in,v 1.31 2001-12-03 00:31:06 adam Exp $
5 AC_INIT(ir-tcl.h)
6 dnl ------ Substitutions
7 AC_SUBST(CC)
8 AC_SUBST(TCLLIB)
9 AC_SUBST(TKLIB)
10 AC_SUBST(TCLINC)
11 AC_SUBST(TKINC)
12 AC_SUBST(SHLIB_CFLAGS)
13 AC_SUBST(SHLIB_LD)
14 AC_SUBST(SHLIB_SUFFIX)
15 AC_SUBST(SHLIB_VERSION)
16 AC_SUBST(SHLIB_IRTCL)
17 AC_SUBST(ALL_SPEC)
18 AC_SUBST(IRCLIENT_SHELL)
19 dnl
20 dnl ------ Build root
21 AC_SUBST(build_root)
22 AC_ARG_WITH(build-root, [  --with-buildroot        RPM Build root],[build_root=$withval],[build_root=""])
23 dnl
24 dnl ------ Preliminary settings
25 AC_PROG_INSTALL
26 dnl
27 dnl ------ YAZ
28 YAZ_INIT
29 dnl
30 dnl ------ look for Tcl
31 tclconfig=NONE
32 tryprefix=NONE
33 AC_ARG_WITH(tclconfig, [  --with-tclconfig=DIR    tclConfig.sh/tkConfig.sh in DIR (example /usr/lib)], [tclconfig=$withval])
34 if test "x$tclconfig" = xNONE; then
35         saveprefix=${prefix}
36         AC_PREFIX_PROGRAM(tclsh)
37         if test "x$prefix" = xNONE; then
38                 AC_PREFIX_PROGRAM(tclsh8.3)
39         fi
40         if test "x$prefix" = xNONE; then
41                 AC_PREFIX_PROGRAM(tclsh8.2)
42         fi
43         if test "x$prefix" = xNONE; then
44                 AC_PREFIX_PROGRAM(tclsh8.1)
45         fi
46         if test "x$prefix" = xNONE; then
47                 AC_PREFIX_PROGRAM(tclsh8.0)
48         fi
49         if test "x$prefix" = xNONE; then
50                 AC_PREFIX_PROGRAM(tclsh7.6)
51         fi
52         if test "x$prefix" = xNONE; then
53                 AC_PREFIX_PROGRAM(tclsh7.5)
54         fi
55         if test "x$prefix" = xNONE; then
56                 prefix=/usr/local
57         fi
58         tclconfig=${prefix}/lib
59         tryprefix=${prefix}
60         prefix=${saveprefix}
61 fi
62 if test -r ${tclconfig}/tclConfig.sh; then
63         AC_MSG_CHECKING(for Tcl)
64         . ${tclconfig}/tclConfig.sh
65         TCLLIB="${TCL_LIB_SPEC} ${TCL_LIBS}"
66         if test -d ${TCL_PREFIX}/include/tcl${TCL_VERSION}; then
67                 TCLINC=-I${TCL_PREFIX}/include/tcl${TCL_VERSION}
68         elif test "${TCL_PREFIX}" = "/usr"; then
69                 TCLINC=""
70         else
71                 TCLINC=-I${TCL_PREFIX}/include
72         fi
73         RANLIB=$TCL_RANLIB
74         SHLIB_CFLAGS=$TCL_SHLIB_CFLAGS
75         SHLIB_LD=$TCL_SHLIB_LD
76         SHLIB_SUFFIX=$TCL_SHLIB_SUFFIX
77         SHLIB_VERSION=$TCL_SHLIB_VERSION
78         SHLIB_IRTCL=irtcl${TCL_SHLIB_SUFFIX}
79         ALL_SPEC="irtcl${TCL_SHLIB_SUFFIX} libirtcl.a"
80         AC_MSG_RESULT($TCL_VERSION)
81         CC=$TCL_CC
82 else
83         AC_PROG_CC
84         SHLIB_CFLAGS=""
85         SHLIB_LD="shared-linker"
86         SHLIB_SUFFIX=""
87         SHLIB_VERSION=""
88         SHLIB_IRTCL="irtcl-shared"
89         AC_PROG_RANLIB
90         AC_MSG_CHECKING(for Tcl)
91         TCL_VERSION=nope
92         for i in "" 7.4 7.5 7.6 8.0; do
93                 if test -r ${tryprefix}/lib/libtcl${i}.a; then
94                         TCL_VERSION=$i
95                 fi
96         done
97         if test "$TCL_VERSION" = nope; then
98                 AC_MSG_WARN(Didn't find Tcl)
99                 TCL_LIB_SPEC=-ltcl
100                 TCLINC=" # -I.. Tcl/Tk include path"
101         else
102                 if test "$TCL_VERSION" = ""; then
103                         AC_MSG_RESULT(7.3)
104                 else
105                         AC_MSG_RESULT($TCL_VERSION)
106                 fi
107                 TCL_LIB_SPEC=${tryprefix}/lib/libtcl${TCL_VERSION}.a
108                 TCLINC=-I${tryprefix}/include
109         fi
110         TCLLIB="${TCL_LIB_SPEC} ${LIBS} -lm"
111         ALL_SPEC="ir-tcl ir-tk"
112 fi
113 dnl 
114
115
116 dnl ------ look for Tk
117 dnl
118 if test -r ${tclconfig}/tkConfig.sh; then
119         AC_MSG_CHECKING(for Tk)
120         . ${tclconfig}/tkConfig.sh
121         AC_MSG_RESULT($TK_VERSION)
122         TKINC=${TK_XINCLUDES}
123         TKLIB="${TK_LIB_SPEC} ${TCL_LIB_SPEC} ${TK_LIBS}"
124         IRCLIENT_SHELL=wish${TK_VERSION}
125 else
126         AC_MSG_CHECKING(for Tk)
127         TK_VERSION=nope
128         for i in "" 4.0 4.1 4.2 8.0; do
129                 if test -r ${tryprefix}/lib/libtk${i}.a; then
130                         TK_VERSION=$i
131                 fi
132         done
133         if test "$TK_VERSION" = nope; then
134                 AC_MSG_WARN(Didn't find Tk)
135                 TKLIB=-ltk
136         else
137                 TKLIB=${tryprefix}/lib/libtk${TK_VERSION}.a
138                 if test "$TK_VERSION" = ""; then
139                         AC_MSG_RESULT(3.x)
140                 else
141                         AC_MSG_RESULT($TK_VERSION)
142                 fi
143                 AC_PATH_X
144                 not_really_there=""
145                 if test "$no_x" = ""; then
146                         if test "$x_includes" = ""; then
147                                 AC_TRY_CPP([#include <X11/XIntrinsic.h>], , not_really_there="yes")
148                         else
149                                 if test ! -r $x_includes/X11/Intrinsic.h; then
150                                         not_really_there="yes"
151                                 fi
152                         fi
153                 fi
154                 if test "$no_x" = "yes" -o "$not_really_there" = "yes"; then
155                         echo checking for X11 header files
156                         XINCLUDES="# no special path needed"
157                         AC_TRY_CPP([#include <X11/Intrinsic.h>], , XINCLUDES="nope")
158                         if test "$XINCLUDES" = nope; then dirs="/usr/unsupported/include /usr/local/include /usr/X386/include /usr/include/X11R4 /usr/X11R5/include /usr/include/X11R5 /usr/openwin/include /usr/X11/include /usr/sww/include"
159                                 for i in $dirs ; do
160                                         if test -r $i/X11/Intrinsic.h; then
161                                                 XINCLUDES=" -I$i"
162                                         fi
163                                 done
164                         fi
165                 else
166                         if test "$x_includes" != ""; then
167                                 XINCLUDES=-I$x_includes
168                         else
169                                 XINCLUDES="# no special path needed"
170                         fi
171                 fi
172                 if test "$XINCLUDES" = nope; then
173                         echo "Warning:  couldn't find any X11 include files."
174                         XINCLUDES="# no include files found"
175                 fi
176                 if test "$no_x" = yes; then
177                         XLIBSW=nope
178                         if test "$XLIBSW" = nope; then
179                                 dirs="/usr/unsupported/lib /usr/local/lib /usr/X386/lib /usr/lib/X11R4 /usr/X11R5/lib /usr/lib/X11R5 /usr/openwin/lib /usr/X11/lib /usr/sww/X11/lib"
180                         for i in $dirs ; do
181                                 if test -r $i/libX11.a; then
182                                         XLIBSW="-L$i -lX11"
183                                 fi
184                         done
185                 fi
186                 else
187                         if test "$x_libraries" = ""; then
188                                 XLIBSW=-lX11
189                         else
190                                 XLIBSW="-L$x_libraries -lX11"
191                         fi
192                 fi
193                 if test "$XLIBSW" = nope ; then
194                         AC_CHECK_LIB(Xwindow, XCreateWindow, XLIBSW=-lXwindow)
195                 fi
196                 if test "$XLIBSW" = nope ; then
197                         echo "Warning:  couldn't find the X11 library archive.  Using -lX11."
198                         XLIBSW=-lX11
199                 fi
200         fi
201         TKINC=$XINCLUDES
202         TKLIB="${TKLIB} ${XLIBSW} ${TCLLIB}"
203         IRCLIENT_SHELL=ir-tk
204 fi
205 AC_OUTPUT(Makefile)