1 dnl Some useful functions for LyXs configure.in -*- sh -*-
2 dnl Author: Jean-Marc Lasgouttes (Jean-Marc.Lasgouttes@inria.fr)
3 dnl Lars Gullik Bjønnes (larsbj@lyx.org)
6 dnl Usage LYX_GET_VERSION Sets "lyx_version" to the version of LyX being
7 dnl built, displays it and sets variable "lyx_devel" to yes or no depending
8 dnl whether the version is a development release or not.
9 AC_DEFUN(LYX_GET_VERSION,[
11 # Get LyX version from $1 and guess wether is is stable or experimental.
12 VERSION=`grep '#define *LYX_VERSION' $1 |
13 sed -e 's/^.*"\([0-9.]*\)[^0-9.].*$/\1/' 2>/dev/null`
14 echo "configuring LyX version $VERSION"
15 if echo "$VERSION" | grep '[0-9]*\.[0-9]*[13579]\.[0-9]*' >/dev/null ; then
17 echo "WARNING: This is a development version. Expect bugs."
22 PACKAGE=lyx${program_suffix}
23 AC_SUBST(lyx_devel_version)
24 if test $lyx_devel_version = yes ; then
25 AC_DEFINE(DEVEL_VERSION, 1, Define if you are building a development version of LyX)
28 dnl Usage: LYX_ERROR(message) Displays the warning "message" and sets the
29 dnl flag lyx_error to yes.
31 lyx_error_txt="$lyx_error_txt
37 dnl Usage: LYX_WARNING(message) Displays the warning "message" and sets the
38 dnl flag lyx_warning to yes.
39 AC_DEFUN(LYX_WARNING,[
40 lyx_warning_txt="$lyx_warning_txt
46 dnl Usage: LYX_LIB_ERROR(file,library) Displays an error message indication
47 dnl that 'file' cannot be found because 'lib' may be uncorrectly installed.
48 AC_DEFUN(LYX_LIB_ERROR,[
49 LYX_ERROR([Cannot find $1. Please check that the $2 library
50 is correctly installed on your system.])])
53 dnl Usage: LYX_CHECK_ERRORS Displays a warning message if a LYX_ERROR
54 dnl has occured previously.
55 AC_DEFUN(LYX_CHECK_ERRORS,[
56 if test x$lyx_error = xyes; then
58 **** The following problems have been detected by configure.
59 **** Please check the messages below before running 'make'.
60 **** (see the section 'Problems' in the INSTALL file)
63 deleting cache $cache_file
68 if test x$lyx_warning = xyes; then
70 === The following minor problems have been detected by configure.
71 === Please check the messages below before running 'make'.
72 === (see the section 'Problems' in the INSTALL file)
77 Configuration of LyX was successful.
78 Type 'make' to compile the program,
79 and then 'make install' to install it.
84 dnl LYX_SEARCH_PROG(VARIABLE-NAME,PROGRAMS-LIST,ACTION-IF-FOUND)
86 define(LYX_SEARCH_PROG,[dnl
87 for ac_prog in $2 ; do
88 # Extract the first word of "$ac_prog", so it can be a program name with args.
89 set dummy $ac_prog ; ac_word=$[2]
90 if test -z "[$]$1"; then
91 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
92 for ac_dir in $PATH; do
93 test -z "$ac_dir" && ac_dir=.
94 if test -f [$ac_dir/$ac_word]; then
102 if test -n "[$]$1"; then
108 test -n "[$]$1" && break
113 AC_DEFUN(LYX_PROG_CXX_WORKS,
116 AC_TRY_COMPILER([class foo { int bar; }; int main(){return(0);}], ac_cv_prog_cxx_works, ac_cv_prog_cxx_cross)
118 if test $ac_cv_prog_cxx_works = no; then
121 cross_compiling=$ac_cv_prog_cxx_cross
125 AC_DEFUN(LYX_PROG_CXX,
126 [AC_BEFORE([$0], [AC_PROG_CXXCPP])dnl
127 AC_MSG_CHECKING([for a working C++ compiler])
128 LYX_SEARCH_PROG(CXX, $CCC g++ gcc c++ CC cxx xlC cc++, LYX_PROG_CXX_WORKS)
130 if test -z "$CXX" ; then
131 AC_ERROR([Unable to find a working C++ compiler])
137 AC_MSG_CHECKING([whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler])
138 AC_MSG_RESULT($cross_compiling)
142 dnl We might want to get or shut warnings.
143 AC_ARG_WITH(warnings,
144 [ --with-warnings tell GNU C++ to display more warnings],,
145 [if test $lyx_devel_version = yes && test $ac_cv_prog_gxx = yes ; then
150 if test "x$with_warnings" = xyes ; then
151 lyx_flags="$lyx_flags warnings"
152 AC_DEFINE(WITH_WARNINGS, 1,
153 [Define this if you want to see the warning directives put here and
154 there by the developpers to get attention])
157 # optimize less for development versions
158 if test "$lyx_devel_version" = yes ; then
164 # set the debug flags correctly.
165 if test $ac_cv_prog_gxx = yes; then
167 dnl Check whether -g works, even if CXXFLAGS is set, in case the package
168 dnl plays around with CXXFLAGS (such as to build both debugging and
169 dnl normal versions of a library), tasteless as that idea is.
170 ac_test_CXXFLAGS="${CXXFLAGS+set}"
171 ac_save_CXXFLAGS="$CXXFLAGS"
173 dnl Check the version of g++
174 gxx_version=`g++ --version`
177 if test "$ac_test_CXXFLAGS" = set; then
178 CXXFLAGS="$ac_save_CXXFLAGS"
179 elif test $ac_cv_prog_cxx_g = yes; then
181 2.7*) CXXFLAGS="$lyx_opt";;
182 *) CXXFLAGS="-g $lyx_opt -fno-exceptions -fno-rtti";;
187 if test $with_warnings = yes ; then
188 CXXFLAGS="$CXXFLAGS -ansi -Wall"
189 # a small hack to avoid problems with headers
190 echo '#undef __STRICT_ANSI__' >>confdefs.h
194 test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
198 dnl We do not use this one anymore.
199 dnl AC_DEFUN(LYX_GXX_STRENGTH_REDUCE,[
200 dnl #check for the strength reduction bug of gcc
201 dnl if test x$GXX = xyes && test $cross_compiling = no ; then
202 dnl AC_CACHE_CHECK( "for gcc strength-reduce bug", ac_cv_c_gcc_strength_bug,
205 dnl static int Array[[3]];
206 dnl unsigned int B = 3;
208 dnl for(i=0; i<B; i++) Array[[i]] = i - 3;
209 dnl exit( Array[[1]] != -2 );
211 dnl ac_cv_c_gcc_strength_bug="no",
212 dnl ac_cv_c_gcc_strength_bug="yes",
213 dnl ac_cv_c_gcc_strength_bug="yes") )
214 dnl if test "$ac_cv_c_gcc_strength_bug" = "yes"
216 dnl CXXFLAGS="$CXXFLAGS -fno-strength-reduce"
221 dnl Usage: LYX_CXX_RTTI : checks whether the C++ compiler
223 AC_DEFUN(LYX_CXX_RTTI,[
224 ### Check whether the compiler supports runtime type information
225 AC_CACHE_CHECK(whether the C++ compiler supports RTTI,lyx_cv_rtti,
229 virtual int tag() { return 0; }
231 class derived1 : public rtti {
233 int tag() { return 1; }
235 class derived2 : public rtti {
237 int tag() { return 2; }
240 derived1 * foo1 = new derived1();
241 derived2 * foo2 = new derived2();
243 derived1 * bar1 = dynamic_cast<derived1 *>(bar);
247 bar1 = dynamic_cast<derived1 *>(bar);
252 ],lyx_cv_rtti=yes,lyx_cv_rtti=no,lyx_cv_rtti=no)
254 if test x$lyx_cv_rtti = xyes ; then
255 AC_DEFINE(HAVE_RTTI, 1,
256 [Define to 1 if your compiler supports runtime type information])
260 dnl Usage: LYX_CXX_EXPLICIT : checks whether the C++ compiler
261 dnl understands the "explicit" directive.
262 AC_DEFUN(LYX_CXX_EXPLICIT,[
263 ### Check whether the compiler understands the keyword `explicit'
264 AC_CACHE_CHECK(whether the C++ compiler understands explicit,lyx_cv_explicit,
269 };],,lyx_cv_explicit=yes,lyx_cv_explicit=no)
271 if test $lyx_cv_explicit = no ; then
272 AC_DEFINE(explicit,[ ],
273 [Define to nothing if your compiler does not understand the
274 'explicit' directive])
278 dnl Usage: LYX_CXX_STL_STACK : checks whether the C++ compiler
279 dnl has a working stl stack template
280 AC_DEFUN(LYX_CXX_STL_STACK,[
281 AC_CACHE_CHECK(for broken STL stack template,lyx_cv_broken_stack,
288 ],lyx_cv_broken_stack=no,lyx_cv_broken_stack=yes)
290 if test $lyx_cv_broken_stack = yes ; then
291 AC_DEFINE(BROKEN_STL_STACK, 1,
292 [Define if you have the STL from libg++ 2.7.x, where stack<> is not defined
296 dnl Usage: LYX_CXX_STL_MODERN_STREAMS : checks whether the C++ compiler
297 dnl supports modern STL streams
298 AC_DEFUN(LYX_CXX_STL_MODERN_STREAMS,[
299 AC_CACHE_CHECK(for modern STL streams,lyx_cv_modern_streams,
303 std::streambuf * test = std::cerr.rdbuf();
305 ],lyx_cv_modern_streams=yes,lyx_cv_modern_streams=no)
307 if test $lyx_cv_modern_streams = yes ; then
308 AC_DEFINE(MODERN_STL_STREAMS, 1,
309 [Define if you have modern standard-compliant STL streams])
313 dnl Usage: LYX_CXX_STL_STRING : checks whether the C++ compiler
314 dnl has a working stl string container, the check is really stupid
315 dnl and could need some improvement.
316 AC_DEFUN(LYX_CXX_STL_STRING,[
317 AC_REQUIRE([LYX_PROG_CXX])
318 AC_MSG_CHECKING(whether the included std::string should be used)
319 AC_ARG_WITH(included-string,[
320 --with-included-string use LyX string class instead of STL string
322 with_included_string=$withval
328 string a("hello there");
333 with_included_string=no
335 with_included_string=yes
339 if test x$with_included_string = xyes ; then
340 AC_DEFINE(USE_INCLUDED_STRING, 1,
341 [Define to use the lyxstring class bundled with LyX.])
342 lyx_flags="$lyx_flags included-string"
344 AM_CONDITIONAL(USE_LYXSTRING, test x$with_included_string = xyes)
345 AC_MSG_RESULT([$with_included_string])
351 AC_DEFUN(LYX_CXX_MUTABLE, [
352 AC_REQUIRE([LYX_PROG_CXX])
353 AC_MSG_CHECKING(if C++ compiler supports mutable)
359 void foo() const { c=0; }
364 AC_DEFINE(HAVE_MUTABLE, 1,
365 [Defined if you compiler supports 'mutable'.])
369 AC_MSG_RESULT([$ac_mutable])
374 AC_DEFUN(LYX_CXX_PARTIAL, [
375 AC_REQUIRE([LYX_PROG_CXX])
376 AC_MSG_CHECKING(if C++ compiler supports partial specialization)
379 template<class T, class K>
383 template<class T> class k<void,T> { };
388 ac_partial_specialization=yes
389 AC_DEFINE(HAVE_PARTIAL_SPECIALIZATION, 1,
390 [Defined if your compiler supports partial specialization.])
392 ac_partial_specialization=no
394 AC_MSG_RESULT([$ac_partial_specialization])
397 dnl Usage: LYX_CXX_NAMESPACES : checks whether the C++ compiler
398 dnl has a correct namespace handling and define CXX_WORKING_NAMESPACES
399 dnl if true. This macro does not do a thourough test, but it should be
400 dnl good enough to suit our needs.
401 AC_DEFUN(LYX_CXX_NAMESPACES,[
402 AC_CACHE_CHECK(for correct namespaces support,lyx_cv_cxx_namespace,
409 ],lyx_cv_cxx_namespace=yes,lyx_cv_cxx_namespace=no)
411 if test $lyx_cv_cxx_namespace = yes ; then
412 AC_DEFINE(CXX_WORKING_NAMESPACES, 1,
413 [Define if your C++ compiler has correct support for namespaces])
416 dnl Usage: LYX_CXX_CHEADERS : checks whether the C++ compiler
417 dnl provides wrappers for C headers and use our alternate version otherwise.
418 AC_DEFUN(LYX_CXX_CHEADERS,[
419 AC_CACHE_CHECK(for C headers wrappers,lyx_cv_cxx_cheaders,
428 #include <ctime>],[lyx_cv_cxx_cheaders=yes],[lyx_cv_cxx_cheaders=no])])
429 if test $lyx_cv_cxx_cheaders = no ; then
430 LYX_ADD_INC_DIR(lyx_cppflags,\$(top_srcdir)/src/cheaders)
434 dnl Usage LYX_PATH_XPM: Checks for xpm library and header
435 AC_DEFUN(LYX_PATH_XPM,[
436 ### Check for Xpm library
437 AC_CHECK_LIB(Xpm, XpmCreateBufferFromImage,LYX_LIBS="-lXpm $LYX_LIBS",
438 [LYX_LIB_ERROR(libXpm,Xpm)], $LYX_LIBS)
440 ### Check for Xpm headers
441 lyx_cv_xpm_h_location="<xpm.h>"
442 AC_CHECK_HEADER(X11/xpm.h,[
443 ac_cv_header_xpm_h=yes
444 lyx_cv_xpm_h_location="<X11/xpm.h>"],[
445 AC_CHECK_HEADER(xpm.h,[],[
446 LYX_LIB_ERROR(xpm.h,Xpm)])])
447 AC_DEFINE_UNQUOTED(XPM_H_LOCATION,$lyx_cv_xpm_h_location)
449 ### Test for the header version
450 if test $ac_cv_header_xpm_h = yes; then
451 AC_CACHE_CHECK([xpm header version],lyx_cv_xpmversion,
452 [ cat > conftest.$ac_ext <<EOF
453 #line __oline__ "configure"
454 #include "confdefs.h"
456 #include XPM_H_LOCATION
457 "%%%"lyx_cv_xpmv=XpmVersion;lyx_cv_xpmr=XpmRevision"%%%"
459 eval `(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
460 grep '^"%%%"' 2>/dev/null | \
461 sed -e 's/^"%%%"\(.*\)"%%%"/\1/' -e 's/ //g'`
462 case "$lyx_cv_xpmr" in
464 [0-9]) lyxxpmr_alpha=`echo $lyx_cv_xpmr |tr 123456789 abcdefghi`
465 lyxxpmv_alpha=" (aka 3.$lyx_cv_xpmv$lyxxpmr_alpha)";;
469 lyx_cv_xpmversion="$lyx_cv_xpmv.$lyx_cv_xpmr$lyxxpmv_alpha"
471 case "$lyx_cv_xpmr" in
473 [789]|[0-9][0-9]*) ;;
475 *) LYX_WARNING([Version $lyx_cv_xpmversion of the Xpm library is a bit old.
476 If you experience strange crashes with LyX, try to upgrade
477 to at least version 4.7 (aka 3.4g).
478 If you have installed a newer version of the library, check whether you
479 have an old xpm.h header file in your include path.]);;
484 dnl Usage LYX_PATH_XFORMS: Checks for xforms library and flags
485 AC_DEFUN(LYX_PATH_XFORMS,[
486 ### Check for xforms library
487 AC_CHECK_LIB(forms, fl_initialize, LYX_LIBS="-lforms $LYX_LIBS",
488 [AC_CHECK_LIB(xforms, fl_initialize, LYX_LIBS="-lxforms $LYX_LIBS",
489 [LYX_LIB_ERROR(libforms or libxforms,xforms)], $LYX_LIBS)], $LYX_LIBS)
491 ### Check for xforms headers
492 lyx_cv_forms_h_location="<forms.h>"
493 AC_CHECK_HEADER(X11/forms.h,[
494 ac_cv_header_forms_h=yes
495 lyx_cv_forms_h_location="<X11/forms.h>"],[
496 AC_CHECK_HEADER(forms.h,[],[
497 LYX_LIB_ERROR(forms.h,forms)])])
498 AC_DEFINE_UNQUOTED(FORMS_H_LOCATION,$lyx_cv_forms_h_location)
499 if test $ac_cv_header_forms_h = yes; then
500 AC_CACHE_CHECK([xforms header version],lyx_cv_xfversion,
501 [ cat > conftest.$ac_ext <<EOF
502 #line __oline__ "configure"
503 #include "confdefs.h"
505 #include FORMS_H_LOCATION
506 #if ! defined(FL_INCLUDE_VERSION)
509 "%%%"FL_VERSION.FL_REVISION"%%%"
512 lyx_cv_xfversion=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
513 grep '^"%%%"' 2>/dev/null | \
514 sed -e 's/^"%%%"\(.*\)"%%%"/\1/' -e 's/ //g'`
516 case "$lyx_cv_xfversion" in
517 "(unknown)"|0.82|0.83|0.84|0.85)
519 Version $lyx_cv_xfversion of xforms is not compatible with LyX.
520 This version of LyX works best with version 0.88[,] although it
521 supports also versions 0.81[,] 0.86 and 0.87.) ;;
524 While LyX is compatible with version $lyx_cv_xfversion of xforms[,]
525 it is recommended that you upgrade to version 0.88.) ;;
527 0.89) LYX_WARNING(dnl
528 LyX should work ok with version $lyx_cv_xfversion of xforms[,] but
529 it is an unproven version and might still have some bugs. If you
530 have problems[,] please use version 0.88 instead.) ;;
532 Version $lyx_cv_xfversion of xforms might not be compatible with LyX[,]
533 since it is newer than 0.88. You might have slight problems with it.);;
538 dnl Usage: LYX_HPUX Checks for HP-UX and update CXXFLAGS accordingly
540 [#It seems that HPUX requires using -fpcc-struct-return with gcc.
541 AC_CACHE_CHECK(for HP-UX,ac_cv_hpux,[
542 os=`uname -s | tr '[A-Z]' '[a-z]'`
544 test "$os" = hp-ux && ac_cv_hpux=yes])
545 if test "$ac_cv_hpux" = yes; then
546 test "x$GXX" = xyes && CXXFLAGS="$CXXFLAGS -fpcc-struct-return"
550 dnl Usage: LYX_SUNOS4 Checks for SunOS 4.x and sets the flag lyx_broken_headers
553 [#The headers are not correct under SunOS4
554 AC_CACHE_CHECK(for SunOS 4.x,ac_cv_sunos4,[
556 os=`uname -a | sed -e 's/^\([^ ]*\) [^ ]* \([0-9]\)\..*/\1\2/'`
557 changequote([, ]) dnl
559 test "$os" = SunOS4 && ac_cv_sunos4=yes])
560 if test "$ac_cv_sunos4" = yes; then
561 test "x$GXX" = xyes && lyx_broken_headers=yes
565 dnl Usage: LYX_SCO Checks for SCO and sets the flag lyx_broken_headers
568 [AC_CACHE_CHECK(for SCO 3.2v4,ac_cv_sco,[
570 if test `uname -s` != "SCO_SV"; then
571 lyx_machine_rel=`uname -m`:`uname -r`
572 if test $lyx_machine_rel = i386:3.2 || test $lyx_machine_rel = i486:3.2;
574 if test -f /usr/options/cb.name; then
576 elif /bin/uname -X 2>/dev/null >/dev/null ; then
581 if test "$ac_cv_sco" = yes; then
582 test "x$GXX" = xyes && lyx_broken_headers=yes
586 dnl Usage: LYX_WITH_DIR(dir-name,desc,dir-var-name,default-value,
587 dnl [default-yes-value])
588 dnl Adds a --with-'dir-name' option (described by 'desc') and puts the
589 dnl resulting directory name in 'dir-var-name'.
590 AC_DEFUN(LYX_WITH_DIR,[
591 AC_ARG_WITH($1,[ --with-$1 specify $2])
592 AC_MSG_CHECKING([for $2])
593 if test -z "$with_$3"; then
594 AC_CACHE_VAL(lyx_cv_$3, lyx_cv_$3=$4)
596 test "x$with_$3" = xyes && with_$3=$5
599 AC_MSG_RESULT($lyx_cv_$3)])
602 dnl Usage: LYX_LOOP_DIR(value,action)
603 dnl Executes action for values of variable `dir' in `values'. `values' can
604 dnl use ":" as a separator.
605 AC_DEFUN(LYX_LOOP_DIR,[
606 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
607 for dir in `eval "echo $1"`; do
608 if test ! "$dir" = NONE; then
609 test ! -d "$dir" && AC_ERROR([\"$dir\" is not a directory])
617 dnl Usage: LYX_ADD_LIB_DIR(var-name,dir) Adds a -L directive to variable
619 AC_DEFUN(LYX_ADD_LIB_DIR,[
621 if test "`(uname) 2>/dev/null`" = SunOS &&
622 uname -r | grep '^5' >/dev/null; then
623 if test $ac_cv_prog_gxx = yes ; then
624 $1="${$1} -Wl[,]-R$2"
631 dnl Usage: LYX_ADD_INC_DIR(var-name,dir) Adds a -I directive to variable
633 AC_DEFUN(LYX_ADD_INC_DIR,[$1="${$1} -I$2 "])
636 dnl AC_VALIDATE_CACHE_SYSTEM_TYPE[(cmd)]
637 dnl if the cache file is inconsistent with the current host,
638 dnl target and build system types, execute CMD or print a default
640 AC_DEFUN(AC_VALIDATE_CACHE_SYSTEM_TYPE, [
641 AC_REQUIRE([AC_CANONICAL_SYSTEM])
642 AC_MSG_CHECKING([config.cache system type])
643 if { test x"${ac_cv_host_system_type+set}" = x"set" &&
644 test x"$ac_cv_host_system_type" != x"$host"; } ||
645 { test x"${ac_cv_build_system_type+set}" = x"set" &&
646 test x"$ac_cv_build_system_type" != x"$build"; } ||
647 { test x"${ac_cv_target_system_type+set}" = x"set" &&
648 test x"$ac_cv_target_system_type" != x"$target"; }; then
649 AC_MSG_RESULT([different])
651 [AC_MSG_ERROR(["you must remove config.cache and restart configure"])])
653 AC_MSG_RESULT([same])
655 ac_cv_host_system_type="$host"
656 ac_cv_build_system_type="$build"
657 ac_cv_target_system_type="$target"
660 dnl We use this until autoconf fixes its version.
661 AC_DEFUN(LYX_FUNC_SELECT_ARGTYPES,
662 [AC_MSG_CHECKING([types of arguments for select()])
663 AC_CACHE_VAL(ac_cv_func_select_arg234,dnl
664 [AC_CACHE_VAL(ac_cv_func_select_arg1,dnl
665 [AC_CACHE_VAL(ac_cv_func_select_arg5,dnl
666 [for ac_cv_func_select_arg234 in 'fd_set *' 'int *' 'void *'; do
667 for ac_cv_func_select_arg1 in 'int' 'size_t' 'unsigned long' 'unsigned'; do for ac_cv_func_select_arg5 in 'struct timeval *' 'const struct timeval *'; do
669 [#ifdef HAVE_SYS_TYPES_H
670 #include <sys/types.h>
672 #ifdef HAVE_SYS_TIME_H
673 #include <sys/time.h>
675 #ifdef HAVE_SYS_SELECT_H
676 #include <sys/select.h>
678 #ifdef HAVE_SYS_SOCKET_H
679 #include <sys/socket.h>
681 extern int select ($ac_cv_func_select_arg1,$ac_cv_func_select_arg234,$ac_cv_func_select_arg234,$ac_cv_func_select_arg234,$ac_cv_func_select_arg5);],,dnl
682 [ac_not_found=no ; break 3],ac_not_found=yes)
689 if test "$ac_not_found" = yes; then
690 ac_cv_func_select_arg1=int
691 ac_cv_func_select_arg234='int *'
692 ac_cv_func_select_arg5='struct timeval *'
694 AC_MSG_RESULT([$ac_cv_func_select_arg1,$ac_cv_func_select_arg234,$ac_cv_func_select_arg5])
695 AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG1,$ac_cv_func_select_arg1)
696 AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG234,($ac_cv_func_select_arg234))
697 AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG5,($ac_cv_func_select_arg5))