Develop and Download Open Source Software

Browse CVS Repository

Contents of /freewnn/FreeWnn/configure.in

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.34 - (show annotations) (download)
Wed Jun 4 14:05:22 2003 UTC (20 years, 10 months ago) by hiroo
Branch: MAIN
Changes since 1.33: +12 -17 lines
* configure.in: Darwin support by Mr.Aono.
	Use newer AC_CHECK_TYPES usage.
* config.h.in, configure: regenerate.
* acconfig.h: Remove according to the new usage of AC_DEFINE.

1 dnl
2 dnl $Id: configure.in,v 1.33 2003/05/11 18:22:57 hiroo Exp $
3 dnl
4
5 dnl
6 dnl FreeWnn is a network-extensible Kana-to-Kanji conversion system.
7 dnl This file is part of FreeWnn.
8 dnl
9 dnl Copyright Kyoto University Research Institute for Mathematical Sciences
10 dnl 1987, 1988, 1989, 1990, 1991, 1992
11 dnl Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999
12 dnl Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992
13 dnl Copyright FreeWnn Project 1999, 2000, 2001, 2002, 2003
14 dnl
15 dnl Maintainer: FreeWnn Project <freewnn@tomo.gr.jp>
16 dnl
17 dnl This program is free software; you can redistribute it and/or modify
18 dnl it under the terms of the GNU General Public License as published by
19 dnl the Free Software Foundation; either version 2 of the License, or
20 dnl (at your option) any later version.
21 dnl
22 dnl This program is distributed in the hope that it will be useful,
23 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
24 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 dnl GNU General Public License for more details.
26 dnl
27 dnl You should have received a copy of the GNU General Public License
28 dnl along with this program; if not, write to the Free Software
29 dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
30 dnl
31
32 dnl
33 dnl Process this file with autoconf to produce a configure script.
34 dnl
35 AC_INIT(Wnn/conv/cvt_head.h)
36 AC_CONFIG_HEADER(config.h)
37
38 dnl ====================================================================
39 dnl Check optional features
40 dnl ====================================================================
41
42 AC_CANONICAL_HOST
43
44 dnl build and install libraries, server or client
45
46 AC_ARG_ENABLE(debug,
47 [ --enable-debug enable debug options [default=no]],
48 [case "${enableval}" in
49 yes) debug=true ;;
50 no) debug=false ;;
51 *) AC_MSG_ERROR(bad value for --enable-debug)
52 esac], debug=false)
53
54 AC_ARG_ENABLE(libraries,
55 [ --enable-libraries build and install libraries [default=yes]],
56 [case "${enableval}" in
57 yes) libraries=true ;;
58 no) libraries=false ;;
59 *) AC_MSG_ERROR(bad value for --enable-libraries) ;;
60 esac], libraries=true)
61
62 AC_ARG_ENABLE(server,
63 [ --enable-server build and install server [default=yes]],
64 [case "${enableval}" in
65 yes) server=true ;;
66 no) server=false ;;
67 *) AC_MSG_ERROR(bad value for --enable-server) ;;
68 esac], server=true)
69
70 AC_ARG_ENABLE(client,
71 [ --enable-client build and install clients [default=no]],
72 [case "${enableval}" in
73 yes) client=true ;;
74 no) client=false ;;
75 *) AC_MSG_ERROR(bad value for --enable-client) ;;
76 esac], client=false)
77
78 if test $libraries = true; then
79 SUBDIRS="\$(LIB_SUBDIRS)"
80 WNNMANDIR="\$(LIB_WNNMANDIR)"
81 fi
82 if test $server = true; then
83 SUBDIRS="$SUBDIRS \$(SERVER_SUBDIRS)"
84 WNNMANDIR="$WNNMANDIR \$(SERVER_WNNMANDIR)"
85 fi
86 if test $client = true; then
87 SUBDIRS="$SUBDIRS \$(CLIENT_SUBDIRS)"
88 dnl currently client is only uum and its man is in SERVER_WNNMANDIR
89 dnl WNNMANDIR=$WNNMANDIR \$(CLIENT_WNNMANDIR)"
90 fi
91
92 AC_SUBST(SUBDIRS)
93 AC_SUBST(WNNMANDIR)
94
95 dnl For Severs
96
97 AC_ARG_ENABLE(Wnn,
98 [ --enable-Wnn build and install Wnn [default=yes]],
99 [case "${enableval}" in
100 yes) Wnn="Wnn";;
101 no) Wnn="" ;;
102 *) AC_MSG_ERROR(bad value for --enable-Wnn) ;;
103 esac], Wnn="Wnn")
104 AC_SUBST(Wnn)
105
106 if test "$server" = true -a "$Wnn" = Wnn; then
107 # JSERVER_SUBDIRS1="\$(JSERVER_SUBDIRS1)"
108 JSERVER_SUBDIRS2="\$(JSERVER_SUBDIRS2)"
109 else
110 # JSERVER_SUBDIRS1=""
111 JSERVER_SUBDIRS2=""
112 fi
113 dnl AC_SUBST(JSERVER_SUBDIRS1)
114 AC_SUBST(JSERVER_SUBDIRS2)
115
116 AC_ARG_ENABLE(cWnn,
117 [ --enable-cWnn build and install cWnn [default=yes]],
118 [case "${enableval}" in
119 yes) cWnn="cWnn" ;;
120 no) cWnn="" ;;
121 *) AC_MSG_ERROR(bad value for --enable-cWnn) ;;
122 esac], cWnn="cWnn")
123 AC_SUBST(cWnn)
124
125 AC_ARG_ENABLE(kWnn,
126 [ --enable-kWnn build and install kWnn [default=yes]],
127 [case "${enableval}" in
128 yes) kWnn="kWnn" ;;
129 no) kWnn="" ;;
130 *) AC_MSG_ERROR(bad value for --enable-kWnn) ;;
131 esac], kWnn="kWnn")
132 AC_SUBST(kWnn)
133
134 dnl For a library libwnn
135
136 dnl AC_ARG_WITH(libwnn,
137 dnl [ --with-libwnn use installed Wnn library [default=no]],
138 dnl [case "${withval}" in
139 dnl yes|no) with_libwnn=${withval};;
140 dnl *) AC_MSG_ERROR(invalid argument to --with-libwnn) ;;
141 dnl esac], with_libwnn=no)
142 dnl
143
144 AC_ARG_WITH(libwnn,
145 [ --with-libwnn use installed Wnn library [default=no]],
146 [ with_libwnn="${withval}"
147 AC_ARG_WITH(wnn-includes,
148 [ --with-wnn-includes=DIR WNN include files are in DIR],
149 [wnnincludedir="-I${withval}"], [wnnincludedir=''])
150 AC_ARG_WITH(wnn-libraries,
151 [ --with-wnn-libraries=DIR Search for WNN libraries in DIR[default=/usr/local/lib]],
152 [wnnlibdir="${withval}"], [wnnlibdir='/usr/local/lib'])
153 if test "X${with_libwnn}" = X-lwnn; then
154 WNNJLIB="-L${wnnlibdir} -lwnn"
155 elif test X"`echo ${with_libwnn} | grep '^/.*'`" != X ; then
156 WNNJLIB="${with_libwnn}"
157 else
158 WNNJLIB="${wnnlibdir}/libwnn.a"
159 fi
160 DEPWNNJLIB=""
161 HINSI_DATA="\$(JWNNWNNDIR)/hinsi.data"
162 ],
163 [ WNNJLIB="\$(WNNJLIBSRC)/libwnn.la"
164 DEPWNNJLIB="\$(WNNJLIB)"
165 HINSI_DATA="\$(WNNJDSRC)/hinsi.data"
166 ])
167 AC_SUBST(WNNJLIB)
168 AC_SUBST(DEPWNNJLIB)
169 AC_SUBST(HINSI_DATA)
170
171 AC_ARG_WITH(libcwnn,
172 [ --with-libcwnn use installed cWnn library [default=no]],
173 [
174 AC_ARG_WITH(cwnn-includes,
175 [ --with-cwnn-includes=DIR CWNN include files are in DIR],
176 [cwnnincludedir="-I${withval}"], [cwnnincludedir=''])
177 AC_ARG_WITH(cwnn-libraries,
178 [ --with-cwnn-libraries=DIR Search for CWNN libraries in DIR[default=/usr/local/lib]],
179 [cwnnlibdir="${withval}"], [cwnnlibdir='/usr/local/lib'])
180 if test "X${with_libcwnn}" = X-lcwnn; then
181 CWNNJLIB="-L${cwnnlibdir} -lcwnn"
182 elif test X"`echo ${with_libcwnn} | grep '^/.*'`" != X ; then
183 CWNNJLIB="${with_libcwnn}"
184 else
185 CWNNJLIB="${cwnnlibdir}/libcwnn.a"
186 fi
187 DEPCWNNJLIB=""
188 CHINSI_DATA="\$(CWNNWNNDIR)/cixing.data"
189 THINSI_DATA="\$(TWNNTDSRC)/cixing.data"
190 ],
191 [ CWNNJLIB="\$(CWNNJLIBSRC)/libcwnn.la"
192 DEPCWNNJLIB="\$(CWNNJLIB)"
193 CHINSI_DATA="\$(CWNNCDSRC)/cixing.data"
194 THINSI_DATA="\$(TWNNTDSRC)/cixing.data"
195 ])
196 AC_SUBST(CWNNJLIB)
197 AC_SUBST(DEPCWNNJLIB)
198 AC_SUBST(CHINSI_DATA)
199 AC_SUBST(THINSI_DATA)
200
201 AC_ARG_WITH(libkwnn,
202 [ --with-libkwnn use installed kWnn library [default=no]],
203 [
204 AC_ARG_WITH(kwnn-includes,
205 [ --with-kwnn-includes=DIR KWNN include files are in DIR],
206 [kwnnincludedir="-I${withval}"], [kwnnincludedir=''])
207 AC_ARG_WITH(kwnn-libraries,
208 [ --with-kwnn-libraries=DIR Search for KWNN libraries in DIR[default=/usr/local/lib]],
209 [kwnnlibdir="${withval}"], [kwnnlibdir='/usr/local/lib'])
210 if test "X${with_libkwnn}" = X-lkwnn; then
211 KWNNJLIB="-L${kwnnlibdir} -lkwnn"
212 elif test X"`echo ${with_libkwnn} | grep '^/.*'`" != X ; then
213 KWNNJLIB="${with_libkwnn}"
214 else
215 KWNNJLIB="${kwnnlibdir}/libkwnn.a"
216 fi
217 DEPKWNNJLIB=""
218 KHINSI_DATA="\$(KWNNWNNDIR)/hinsi.data"
219 ],
220 [ KWNNJLIB="\$(KWNNJLIBSRC)/libkwnn.la"
221 DEPKWNNJLIB="\$(KWNNJLIB)"
222 KHINSI_DATA="\$(KWNNKDSRC)/hinsi.data"
223 ])
224 AC_SUBST(KWNNJLIB)
225 AC_SUBST(DEPKWNNJLIB)
226 AC_SUBST(KHINSI_DATA)
227
228 dnl
229 dnl Build Options
230 dnl
231
232 AC_ARG_ENABLE(ipv6,
233 [ --enable-ipv6 build and install IPv6 [default=no]],
234 [case "${enableval}" in
235 yes) ipv6="-DINET6";;
236 no) ipv6="" ;;
237 *) AC_MSG_ERROR(bad value for --enable-ipv6) ;;
238 esac], ipv6="")
239 AC_SUBST(ipv6)
240
241 AC_ARG_ENABLE(unsafe-path,
242 [ --enable-unsafe-path allow creating files in an arbitrary path [default=no]],
243 [case "${enableval}" in
244 yes) unsafe_path=true;;
245 no) unsafe_path=false;;
246 *) AC_MSG_ERROR(bad value for --enable-unsafe-path) ;;
247 esac], unsafe_path=false)
248 AC_SUBST(unsafe_path)
249
250 if test ${unsafe_path} = true; then
251 AC_DEFINE(WNN_ALLOW_UNSAFE_PATH, 1,
252 [Define to allow writing to other than JSERVERDIR.])
253 fi
254
255 dnl
256 dnl Checks for cc and cpp.
257 dnl
258 AC_PROG_CC
259
260 dnl System specific options
261 dnl Now that we are using autoconf, CCOPTIONS should be nuked...
262 case $host in
263 *-*-linux*)
264 CCOPTIONS="-Dlinux -D_POSIX_SOURCE -D_BSD_SOURCE"
265 ;;
266 *-*-freebsd*|*-*-netbsd*|*-*-openbsd*)
267 ;;
268 *-*-bsdi*)
269 ;;
270 *-*-darwin*)
271 # Unfortunately, autoconf (at least 2.57) does not recognize
272 # proper CPP. (Normal cpp-precomp nor auto-retrying in basic mode does
273 # not work with pubdic+ processing.) So define here ....
274 CPP=${CPP:-"gcc -E -no-cpp-precomp"}
275 ;;
276 *-*-sunos*)
277 if test $GCC = yes; then
278 CCOPTIONS="-Dsun -Dsparc"
279 else
280 CCOPTIONS=""
281 fi
282 ;;
283 *-*-solaris2.*)
284 # Will 'solaris*' be OK?
285 if test $GCC = yes; then
286 CCOPTIONS="-Dsun -D`uname -p` -DSVR4 -DSYSV"
287 else
288 CCOPTIONS="-Xc -xF -xcg92 -Dsun -D`uname -p` -DSVR4 -DSYSV"
289 fi
290 ;;
291 *-*-hpux*)
292 if test $GCC = yes; then
293 CCOPTIONS="-Dhpux -DSYSV"
294 else
295 CCOPTIONS="-Ae -Dhpux -DSYSV"
296 fi
297 ;;
298 i[[34567]]86-pc-beos*)
299 CCOPTIONS="-DBEOS -D_POSIX_SOURCE -D_BSD_SOURCE"
300 ;;
301 powerpc-*-beos*)
302 CCOPTIONS="-DBEOS -D_POSIX_SOURCE -D_BSD_SOURCE"
303 ;;
304 *-*-aix*)
305 CCOPTIONS="-DSYSV"
306 ;;
307 *)
308 dnl AC_MSG_WARN("It is not reported if FreeWnn works on this system. But continuing...")
309 dnl AC_MSG_WARN([(It may or may not work if you set CCOPTIONS properly.)])
310 ;;
311 esac
312
313 dnl Checking if we use gcc or not
314 if test $debug = true; then
315 if test $GCC = yes; then
316 CDEBUGFLAGS=${CDEBUGFLAGS:-"-g2 -O2 -Wall -fstack-check"}
317 else
318 CDEBUGFLAGS=${CDEBUGFLAGS:-""}
319 fi
320 INSTPGMFLAGS=
321 else
322 CDEBUGFLAGS=""
323 INSTPGMFLAGS="-s"
324 fi
325 AC_SUBST(CCOPTIONS)
326 AC_SUBST(CDEBUGFLAGS)
327 AC_SUBST(INSTPGMFLAGS)
328
329 echo "Set CDEBUGFLAGS and CCOPTIONS to following:"
330 echo ' CDEBUGFLAGS="'"$CDEBUGFLAGS"'"'
331 echo ' CCOPTIONS="'"$CCOPTIONS"'"'
332
333 dnl ��������������������������������configure������������CPP������������
334 dnl ������������������������������������CPP������������������������
335 dnl ��CPP=${CPP:-"/usr/ccs/lib/cpp"}������������������������������������
336 dnl ����������������
337 AC_PROG_CPP
338
339 dnl
340 dnl Checks for programs.
341 dnl
342 dnl ### AC_PROG_YACC
343 dnl ### AC_PROG_LEX
344 AC_PROG_INSTALL
345 AC_PROG_LN_S
346 AC_PROG_MAKE_SET
347 AC_PROG_LIBTOOL
348 AC_SUBST(LIBTOOL_DEPS)
349
350 dnl Checks for libraries.
351 dnl ### dnl Replace `main' with a function in -lX11:
352 dnl ### AC_CHECK_LIB(X11, main)
353 dnl ### dnl Replace `main' with a function in -lcurses:
354 dnl ### AC_CHECK_LIB(curses, main)
355
356 AC_CHECK_LIB(crypt, crypt)
357 AC_CHECK_LIB(socket, connect)
358 AC_CHECK_LIB(bind, getservbyname)
359 AC_CHECK_LIB(nsl, gethostbyname)
360
361 dnl
362 dnl Checks for header files.
363 dnl
364 AC_PATH_X
365 AC_HEADER_STDC
366 AC_HEADER_SYS_WAIT
367 AC_HEADER_TIME
368 AC_CHECK_HEADERS(fcntl.h sgtty.h syslog.h unistd.h \
369 sys/file.h sys/ioctl.h sys/time.h sys/types.h sys/param.h \
370 malloc.h strings.h memory.h \
371 curses.h ncurses.h term.h termio.h \
372 )
373 dnl If you don't use ansidecl.h, use this (and modify Wnn/jserver/error.c)
374 dnl AC_CHECK_HEADERS(stdarg.h varargs.h, break)
375
376 dnl
377 dnl Checks for typedefs, structures, and compiler characteristics.
378 dnl
379 AC_TYPE_MODE_T
380 AC_HEADER_TIME
381
382 AC_CHECK_TYPES(time_t, AC_DEFINE(time_t, long, [Define missing time_t.]))
383 AC_CHECK_TYPES(socklen_t,
384 AC_DEFINE(socklen_t, int, [Define missing socklen_t.]), [INCLUDES = sys/socket.h])
385
386 dnl
387 dnl Checks for symbol
388 dnl
389
390 dnl
391 dnl Checks for library functions.
392 dnl
393 AC_PROG_GCC_TRADITIONAL
394
395 dnl idea borrowed from EB Library http://www.sra.co.jp/people/m-kasahr/eb/
396 AC_TYPE_SIGNAL
397 if test "$ac_cv_type_signal" = void; then
398 AC_DEFINE(RETSIGTYPE_VOID, 1, [Define if the signal function returns void.])
399 fi
400
401 AC_FUNC_MEMCMP
402 AC_CHECK_FUNCS(wait3 setpgrp)
403 AC_FUNC_SETPGRP
404 dnl FreeWnn do not use the 3rd parameter of wait3().
405 dnl AC_FUNC_WAIT3
406
407 AC_CHECK_FUNCS(random drand48 fchmod getopt \
408 gethostname select socket closesocket setsockopt send recv \
409 FD_SET \
410 getdtablesize getrlimit syslog vsyslog setenv snprintf)
411 dnl for bcopy/index -> memcpy/strchr conversion (preparation):
412 AC_CHECK_FUNCS(bcopy bzero bcmp index rindex \
413 memcpy memmove memset strchr strrchr)
414
415 dnl Check fallback functions for jserver (should use AC_REPLACE_FUNCS?)
416 JS_SUPPORTOBJS=
417 AC_CHECK_FUNCS(mkdir vasprintf, ,
418 [JS_SUPPORTOBJS="${JS_SUPPORTOBJS} ${ac_func}.o"])
419 AC_SUBST(JS_SUPPORTOBJS)
420
421
422 dnl
423 dnl Creating Makefiles.
424 dnl
425 # mkdir -p Contrib/dic/gerodic in case builddir != srcdir
426 for dir in Contrib Contrib/dic Contrib/dic/gerodic; do
427 if test ! -d $dir; then
428 echo "creating $dir ..."
429 mkdir $dir
430 fi
431 done
432
433 dnl
434 dnl Generate Makefiles
435 dnl
436
437 dnl Generic
438
439 makefiles_generic="makerule.mk Makefile"
440
441 dnl Japanese
442
443 if test "x${Wnn}" = "xWnn"; then
444 makefiles_wnn="Wnn/Makefile Wnn/conv/Makefile Wnn/include/Makefile \
445 Wnn/jd/Makefile Wnn/jd/rk/Makefile Wnn/jd/rk.vi/Makefile \
446 Wnn/jlib/Makefile Wnn/jlib.V3/Makefile Wnn/jserver/Makefile \
447 Wnn/jutil/Makefile Wnn/ld/Makefile Wnn/ld/rk/Makefile \
448 Wnn/romkan/Makefile Wnn/uum/Makefile \
449 Wnn/man/Makefile Wnn/man/2.env/Makefile Wnn/man/3.libwnn/Makefile \
450 Wnn/man/4.cmd/Makefile Wnn/man/6.jutil/Makefile \
451 Wnn/man/2.env/dic/Makefile Wnn/man/2.env/wnn/Makefile \
452 Wnn/man/3.libwnn/jl_lib/Makefile Wnn/man/3.libwnn/js_lib/Makefile \
453 Wnn/man/3.libwnn/misc_lib/Makefile Wnn/man/3.libwnn/rk_lib/Makefile"
454 makefiles_wnn_dic="Contrib/dic/gerodic/Makefile Wnn/pubdicplus/Makefile \
455 Wnn/wnncons/Makefile Wnn/wnncons/dic/Makefile"
456 fi
457
458 dnl Chinese and Taiwanese
459
460 if test "x$cWnn" = "xcWnn"; then
461 makefiles_cwnn="cWnn/Makefile cWnn/conv/Makefile cWnn/etc/Makefile \
462 cWnn/cd/Makefile cWnn/cd/rk/Makefile \
463 cWnn/cd/rk_p/Makefile cWnn/cd/rk_z/Makefile \
464 cWnn/td/Makefile cWnn/td/rk/Makefile \
465 cWnn/td/rk_z/Makefile cWnn/td/rk_p/Makefile \
466 cWnn/include/Makefile cWnn/jlib/Makefile \
467 cWnn/jserver/Makefile cWnn/jutil/Makefile \
468 cWnn/man/Makefile cWnn/man/1.intro/Makefile cWnn/man/2.env/Makefile \
469 cWnn/man/4.cmd/Makefile cWnn/man/6.jutil/Makefile \
470 cWnn/romkan/Makefile cWnn/uum/Makefile"
471 makefiles_cwnn_dic="cWnn/cdic/Makefile cWnn/tdic/Makefile"
472 fi
473
474 dnl Korean
475
476 if test "x$kWnn" = "xkWnn"; then
477 makefiles_kwnn="kWnn/Makefile kWnn/conv/Makefile kWnn/etc/Makefile \
478 kWnn/include/Makefile kWnn/jlib/Makefile kWnn/jutil/Makefile \
479 kWnn/jserver/Makefile kWnn/kd/Makefile kWnn/kd/rk/Makefile \
480 kWnn/romkan/Makefile kWnn/uum/Makefile"
481 makefiles_kwnn_dic="kWnn/kdic/Makefile"
482 fi
483
484 AC_OUTPUT(${makefiles_generic} \
485 ${makefiles_wnn} ${makefiles_wnn_dic} \
486 ${makefiles_cwnn} ${makefiles_cwnn_dic} \
487 ${makefiles_kwnn} ${makefiles_kwnn_dic})

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26