capitalize dialplan function
[asterisk/asterisk.git] / editline / configure.in
1 dnl 
2 dnl Process this file with autoconf to produce a configure script.
3 dnl 
4 AC_INIT(Makefile.in)
5
6 dnl If CFLAGS isn't defined and using gcc, set CFLAGS to something reasonable.
7 dnl Otherwise, just prevent autoconf from molesting CFLAGS.
8 CFLAGS=$CFLAGS
9 AC_PROG_CC
10 if test "x$CFLAGS" = "x" ; then
11   no_CFLAGS="yes"
12 fi
13 if test "x$no_CFLAGS" = "xyes" -a "x$GCC" = "xyes" ; then
14         CFLAGS="-Wall -pipe -g3"
15 fi
16 A_CFLAGS=""
17 AC_SUBST(A_CFLAGS)
18 S_CFLAGS="-fPIC -DPIC"
19 AC_SUBST(S_CFLAGS)
20 AC_PROG_CPP
21
22 dnl Platform-specific settings.  The ABI can probably be determined
23 dnl programmatically, but doing so is error-prone, which makes it generally
24 dnl not worth the trouble.
25 AC_CANONICAL_HOST
26 case "${host}" in
27   *-*-darwin*)
28         CFLAGS="$CFLAGS -fno-common -no-cpp-precomp"
29         ABI="macho"
30         ;;
31   *-*-freebsd*)
32         ABI="elf"
33         ;;
34   *-*-linux* | *cygwin*)
35         if echo ${host} | grep -q cygwin ; then \
36                 echo "cygwin detected"; \
37                 S_CFLAGS=""; \
38                 echo "/* cygdef.h. Generated automatically by configure. */ 
39 #ifndef _CYGDEF_H_
40 #define _CYGDEF_H_ 1
41 #include <sys/ioctl.h>
42 #define __linux__ 1
43  
44
45 typedef void (*sig_t)(int);
46  
47
48 #endif /* _CYGDEF_H_ */" > cygdef.h; \
49         echo "
50  #define CYGWIN 1
51 " > confdefs.h; \
52         fi
53         ABI="elf"
54         ;;
55   *-*-netbsd*)
56         AC_MSG_CHECKING(ABI)
57         AC_EGREP_CPP(yes,
58 [#ifdef __ELF__
59   yes
60 #endif
61 ],
62                      ABI="elf",
63                      ABI="aout")
64         AC_MSG_RESULT($ABI)
65         ;;
66   *-*-solaris2*)
67         ABI="elf"
68         AC_DEFINE(SUNOS)
69         ;;
70   *)
71         AC_MSG_RESULT(Unsupported operating system: ${host})
72         ABI="elf"
73         ;;
74 esac
75
76 AC_PROG_INSTALL
77 AC_PROG_RANLIB
78 AC_PATH_PROG(AR, ar, , $PATH)
79
80 dnl Search for termcap access routines in termcap, tinfo, curses, and ncurses.
81 AC_CHECK_LIB(termcap, tgetent, , \
82   AC_CHECK_LIB(tinfo, tgetent, , \
83     AC_CHECK_LIB(curses, tgetent, , \
84       AC_CHECK_LIB(ncurses, tgetent, , \
85         AC_MSG_ERROR(termcap support not found)))))
86
87 dnl Use termcap.h if it exists; otherwise we need both term.h and [n]curses.h.
88 AC_CHECK_HEADERS(termcap.h, , \
89   AC_CHECK_HEADERS(term.h, , \
90     AC_MSG_RESULT(Need term.h since termcap.h is missing))
91   AC_CHECK_HEADERS(curses.h, , \
92     AC_CHECK_HEADERS(ncurses.h, , \
93       AC_MSG_RESULT(Need curses.h or ncurses.h))))
94
95 AC_CHECK_HEADERS(sys/cdefs.h vis.h)
96
97 AC_CHECK_FUNCS(issetugid)
98 AC_CHECK_FUNCS(strlcat, , CCSRCS="$CCSRCS np/strlcat.c")
99 AC_CHECK_FUNCS(strlcpy, , CCSRCS="$CCSRCS np/strlcpy.c")
100 AC_CHECK_FUNCS(fgetln, , CCSRCS="$CCSRCS np/fgetln.c")
101 AC_CHECK_FUNCS(strvis, , CCSRCS="$CCSRCS np/vis.c")
102 AC_CHECK_FUNCS(strunvis, , CCSRCS="$CCSRCS np/unvis.c")
103
104 AC_EGREP_CPP(yes,
105 [#include <sys/cdefs.h>
106 #ifdef __RCSID
107   yes
108 #endif
109 ], , [CPPFLAGS="$CPPFLAGS '-D__RCSID(x)='"])
110
111 AC_EGREP_CPP(yes,
112 [#include <sys/cdefs.h>
113 #ifdef __COPYRIGHT
114   yes
115 #endif
116 ], , [CPPFLAGS="$CPPFLAGS '-D__COPYRIGHT(x)='"])
117
118 AC_EGREP_CPP(yes,
119 [#include <sys/cdefs.h>
120 #ifdef __RENAME
121   yes
122 #endif
123 ], , [CPPFLAGS="$CPPFLAGS '-D__RENAME(x)='"])
124
125 AC_EGREP_CPP(yes,
126 [#include <sys/cdefs.h>
127 #ifdef _DIAGASSERT
128   yes
129 #endif
130 ], , [CPPFLAGS="$CPPFLAGS '-D_DIAGASSERT(x)='"])
131
132 dnl Enable readline compatibility by default.
133 AC_ARG_ENABLE(readline, [  --disable-readline      Disable readline compatibility],
134 if test "x$enable_readline" != "xyes" ; then
135   enable_readline="no"
136 fi
137 ,
138 enable_readline="yes"
139 )
140
141 dnl Optionally enable debugging.
142 AC_ARG_ENABLE(debug, [  --enable-debug          Enable debugging code],
143 if test "x$enable_debug" != "xyes" ; then
144   enable_debug="no"
145 fi
146 ,
147 enable_debug="no"
148 )
149 if test "x$enable_debug" = "xyes" ; then
150   CPPFLAGS="$CPPFLAGS -DDEBUG_TTY -DDEBUG_KEY -DDEBUG_READ -DDEBUG"
151   CPPFLAGS="$CPPFLAGS -DDEBUG_REFRESH -DDEBUG_PASTE"
152 else
153   CFLAGS="$CFLAGS -O"
154 fi
155
156
157 dnl 
158 dnl File lists.  This is done here instead of in the Makefile in order to avoid
159 dnl the need for conditionals.
160 dnl 
161
162 dnl .c files.
163 ACSRCS="common.c emacs.c vi.c"
164 BCSRCS="chared.c el.c hist.c key.c map.c parse.c prompt.c read.c refresh.c search.c sig.c term.c tty.c"
165 CCSRCS="$CCSRCS history.c tokenizer.c"
166
167 dnl Generated .c files.
168 AGCSRCS="fcns.c help.c"
169 BGCSRCS="editline.c"
170
171 dnl .h files.
172 HDRS="chared.h el.h hist.h key.h map.h parse.h prompt.h refresh.h search.h sig.h sys.h term.h tokenizer.h tty.h"
173
174 dnl Installed .h files.
175 IHDRS="histedit.h"
176
177 dnl Installed headers for readline compatibility.
178 IHDR_LINKS=
179
180 dnl Generated .h files.
181 AGHDRS="common.h emacs.h vi.h"
182 BGHDRS="fcns.h help.h"
183
184 dnl Header installation directories.
185 HDR_DIRS="include"
186
187 dnl Man pages.
188 MAN3="editline.3"
189 MAN5="editrc.5"
190
191 MAN3_LINKS=
192 for i in  el_init.3 el_end.3 el_reset.3 el_gets.3 el_getc.3 el_push.3 \
193           el_parse.3 el_set.3 el_get.3 el_source.3 el_resize.3 el_line.3 \
194           el_insertstr.3 el_deletestr.3 history_init.3 history_end.3 \
195           history.3 ; do
196   MAN3_LINKS="$MAN3_LINKS editline.3 $i"
197 done
198
199 dnl Man page installation directories.
200 MAN_DIRS="man/man3 man/man5"
201
202 dnl Library settings.
203 LIB_DIRS="lib"
204 LIB_MAJOR="2"
205 LIB_MINOR="6"
206 LIB_A="libedit.a"
207 LIB_A_LINKS=
208
209 if test "x$ABI" = "xelf" ; then
210   LIB_S="libedit.so.$LIB_MAJOR"
211   LIB_S_LINK="libedit.so"
212   LIB_S_LINKS="$LIB_S $LIB_S_LINK"
213   S_LDFLAGS="-shared"
214 elif test "x$ABI" = "xaout" ; then
215   LIB_S="libedit.so.$LIB_MAJOR.$LIB_MINOR"
216   LIB_S_LINKS=
217   S_LDFLAGS="-shared"
218 elif test "x$ABI" = "xmacho" ; then
219   S_LDFLAGS="-shared"
220   LIB_S="libedit.$LIB_MAJOR.dylib"
221   LIB_S_LINK="libedit.dylib"
222   LIB_S_LINKS="$LIB_S $LIB_S_LINK"
223   if test "x$prefix" = "xNONE" ; then
224     S_LDFLAGS="-undefined suppress -flat_namespace -dynamiclib -compatibility_version $LIB_MAJOR -current_version $LIB_MAJOR -install_name /usr/local/lib/$LIB_S"
225   else
226     S_LDFLAGS="-undefined suppress -flat_namespace -dynamiclib -compatibility_version $LIB_MAJOR -current_version $LIB_MAJOR -install_name $prefix/lib/$LIB_S"
227   fi
228 fi
229
230 dnl Test program.
231 TEST="TEST/test"
232 TCSRCS="TEST/test.c"
233
234 dnl Add files to the lists if readline compatibility is enabled.
235 if test "x$enable_readline" = "xyes" ; then
236   CCSRCS="$CCSRCS readline.c"
237   IHDRS="$IHDRS readline/readline.h"
238   IHDR_LINKS="readline.h readline/history.h"
239   HDR_DIRS="$HDR_DIRS include/readline"
240   LIB_A_LINKS="$LIB_A_LINKS libedit.a libreadline.a"
241   if test "x$ABI" = "xelf" ; then
242     LIB_S_LINKS="$LIB_S_LINKS $LIB_S_LINK libreadline.so"
243   elif test "x$ABI" = "xaout" ; then
244     LIB_S_LINKS="$LIB_S_LINKS $LIB_S libreadline.so.$LIB_MAJOR.$LIB_MINOR"
245   elif test "x$ABI" = "xmacho" ; then
246     LIB_S_LINKS="$LIB_S_LINKS $LIB_S_LINK libreadline.dylib"
247   fi
248 fi
249
250 AC_SUBST(ACSRCS)
251 AC_SUBST(BCSRCS)
252 AC_SUBST(CCSRCS)
253 AC_SUBST(AGCSRCS)
254 AC_SUBST(BGCSRCS)
255 AC_SUBST(HDRS)
256 AC_SUBST(IHDRS)
257 AC_SUBST(IHDR_LINKS)
258 AC_SUBST(AGHDRS)
259 AC_SUBST(BGHDRS)
260 AC_SUBST(HDR_DIRS)
261 AC_SUBST(MAN3)
262 AC_SUBST(MAN5)
263 AC_SUBST(MAN3_LINKS)
264 AC_SUBST(MAN_DIRS)
265 AC_SUBST(LIB_DIRS)
266 AC_SUBST(LIB_VER)
267 AC_SUBST(LIB_A)
268 AC_SUBST(LIB_A_LINKS)
269 AC_SUBST(LIB_S)
270 AC_SUBST(LIB_S_LINKS)
271 AC_SUBST(S_LDFLAGS)
272 AC_SUBST(TEST)
273 AC_SUBST(TCSRCS)
274
275 AC_CONFIG_HEADER(config.h)
276 AC_OUTPUT(Makefile)