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