1# -*- Autoconf -*- 2# Process this file with autoconf to produce a configure script. 3m4_include([../version.m4]) 4AC_PREREQ(2.61) 5AC_INIT([sntp], [VERSION_NUMBER]) 6AC_CONFIG_MACRO_DIR([../m4]) 7AC_CONFIG_AUX_DIR([.]) 8 9# Increment sntp_configure_cache_version by one for each change to 10# configure.ac or .m4 files which invalidates cached values from 11# previous versions. 12# 13# If the change affects cache variables used only by the main NTP 14# configure.ac, then only its version number should be bumped, while 15# the subdir configure.ac version numbers should be unchanged. The 16# same is true for a test/variable that is used only by one subdir 17# being changed incompatibly; only that subdir's cache version needs 18# bumping. 19# 20# If a change affects variables shared by all NTP configure scripts, 21# please bump the version numbers of all three. If you are not sure, 22# the safe choice is to bump all three on any cache-invalidating change. 23# 24# In order to avoid the risk of version stamp collision between -stable 25# and -dev branches, do not simply increment the version, instead use 26# the date YYYYMMDD optionally with -HHMM if there is more than one 27# bump in a day. 28 29sntp_configure_cache_version=20091117 30 31# When the version of config.cache and configure do not 32# match, NTP_CACHEVERSION will flush the cache. 33 34NTP_CACHEVERSION([sntp], [$sntp_configure_cache_version]) 35 36AM_INIT_AUTOMAKE 37AC_CANONICAL_BUILD 38AC_CANONICAL_HOST 39dnl the 'build' machine is where we run configure and compile 40dnl the 'host' machine is where the resulting stuff runs. 41AC_DEFINE_UNQUOTED([STR_SYSTEM], "$host", [canonical system (cpu-vendor-os) of where we should run]) 42AC_CONFIG_HEADER([config.h]) 43dnl AC_ARG_PROGRAM 44AC_PREREQ([2.53]) 45 46# Checks for programs. 47AC_PROG_CC 48 49# AC_PROG_CC_STDC has two functions. It attempts to find a compiler 50# capable of C99, or failing that, for C89. CC is set afterward with 51# the selected invocation, such as "gcc --std=gnu99". Also, the 52# ac_cv_prog_cc_stdc variable is no if the compiler selected for CC 53# does not accept C89. 54 55AC_PROG_CC_STDC 56 57case "$ac_cv_prog_cc_stdc" in 58 no) 59 AC_MSG_WARN([ANSI C89/ISO C90 is the minimum to compile SNTP ] 60 [version 4.2.5 and higher.]) 61esac 62 63case "$GCC" in 64 yes) 65 SAVED_CFLAGS_AC="$CFLAGS" 66 CFLAGS="$CFLAGS -Wstrict-overflow" 67 AC_CACHE_CHECK( 68 [if $CC can handle -Wstrict-overflow], 69 ac_cv_gcc_Wstrict_overflow, 70 [ 71 AC_COMPILE_IFELSE( 72 [AC_LANG_PROGRAM([], [])], 73 [ac_cv_gcc_Wstrict_overflow=yes], 74 [ac_cv_gcc_Wstrict_overflow=no] 75 ) 76 ] 77 ) 78 CFLAGS="$SAVED_CFLAGS_AC" 79 SAVED_CFLAGS_AC= 80 81 CFLAGS="$CFLAGS -Wall" 82 # CFLAGS="$CFLAGS -Wcast-align" 83 CFLAGS="$CFLAGS -Wcast-qual" 84 # CFLAGS="$CFLAGS -Wconversion" 85 # CFLAGS="$CFLAGS -Werror" 86 # CFLAGS="$CFLAGS -Wextra" 87 # CFLAGS="$CFLAGS -Wfloat-equal" 88 CFLAGS="$CFLAGS -Wmissing-prototypes" 89 CFLAGS="$CFLAGS -Wpointer-arith" 90 CFLAGS="$CFLAGS -Wshadow" 91 CFLAGS="$CFLAGS -Wstrict-prototypes" 92 # CFLAGS="$CFLAGS -Wtraditional" 93 # CFLAGS="$CFLAGS -Wwrite-strings" 94 case "$ac_cv_gcc_Wstrict_overflow" in 95 yes) 96 CFLAGS="$CFLAGS -Wstrict-overflow" 97 esac 98esac 99 100# HMS: These need to be moved to AM_CPPFLAGS and/or AM_CFLAGS 101case "$host" in 102 *-*-solaris*) 103 # see "man standards". 104 # -D_XOPEN_SOURCE=500 is probably OK for c89 and before 105 # -D_XOPEN_SOURCE=600 seems OK for c99 106 #CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=500 -D__EXTENSIONS__" 107 CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__" 108 libxnet=-lxnet 109 ;; 110esac 111 112AC_DISABLE_SHARED 113 114# NTP has (so far) been relying on leading-edge autogen. 115# Therefore, by default: 116# - use the version we ship with 117# - do not install it 118# - build a static copy (AC_DISABLE_SHARED - done earlier) 119case "${enable_local_libopts+set}" in 120 set) ;; 121 *) enable_local_libopts=yes ;; 122esac 123case "${enable_libopts_install+set}" in 124 set) ;; 125 *) enable_libopts_install=no ;; 126esac 127LIBOPTS_CHECK([libopts]) 128 129m4_defun([_LT_AC_LANG_CXX_CONFIG], [:]) 130m4_defun([_LT_AC_LANG_F77_CONFIG], [:]) 131 132AC_PROG_LIBTOOL 133NTP_DIR_SEP 134 135# Checks for libraries. 136 137AC_CHECK_FUNC([gethostent], , 138 [AC_SEARCH_LIBS([gethostent], [nsl], , , [$libxnet -lsocket])]) 139AC_CHECK_FUNC([openlog], , 140 [AC_SEARCH_LIBS([openlog], [gen], , 141 [AC_SEARCH_LIBS([openlog], [syslog], , , [$libxnet -lsocket])])]) 142 143AC_SEARCH_LIBS([setsockopt], [socket xnet]) 144 145# Checks for header files. 146AC_HEADER_STDC 147AC_CHECK_HEADERS([netdb.h netinet/in.h stdlib.h string.h strings.h syslog.h]) 148AC_CHECK_HEADERS([sys/socket.h sys/time.h]) 149AC_HEADER_TIME 150 151# Checks for typedefs, structures, and compiler characteristics. 152AC_HEADER_STDBOOL 153AC_C_CONST 154AC_TYPE_SIZE_T 155 156AC_C_INLINE 157 158case "$ac_cv_c_inline" in 159 '') 160 ;; 161 *) 162 AC_DEFINE(HAVE_INLINE,1,[inline keyword or macro available]) 163 AC_SUBST(HAVE_INLINE) 164esac 165 166AC_C_CHAR_UNSIGNED dnl CROSS_COMPILE? 167AC_CHECK_SIZEOF([signed char]) 168AC_CHECK_SIZEOF([int]) 169AC_CHECK_SIZEOF([long]) 170 171AC_CHECK_TYPES([s_char]) 172case "$ac_cv_c_char_unsigned$ac_cv_sizeof_signed_char$ac_cv_type_s_char" in 173 *yes) 174 # We have a typedef for s_char. Might as well believe it... 175 ;; 176 no0no) 177 # We have signed chars, can't say 'signed char', no s_char typedef. 178 AC_DEFINE([NEED_S_CHAR_TYPEDEF], 1, [Do we need an s_char typedef?]) 179 ;; 180 no1no) 181 # We have signed chars, can say 'signed char', no s_char typedef. 182 AC_DEFINE([NEED_S_CHAR_TYPEDEF]) 183 ;; 184 yes0no) 185 # We have unsigned chars, can't say 'signed char', no s_char typedef. 186 AC_MSG_ERROR([No way to specify a signed character!]) 187 ;; 188 yes1no) 189 # We have unsigned chars, can say 'signed char', no s_char typedef. 190 AC_DEFINE([NEED_S_CHAR_TYPEDEF]) 191 ;; 192esac 193AC_TYPE_UID_T 194 195AC_MSG_CHECKING([type of socklen arg for getsockname()]) 196AC_CACHE_VAL(ac_cv_func_getsockname_arg2,dnl 197[AC_CACHE_VAL(ac_cv_func_getsockname_socklen_type,dnl 198 [for ac_cv_func_getsockname_arg2 in 'struct sockaddr *' 'void *'; do 199 for ac_cv_func_getsockname_socklen_type in 'socklen_t' 'size_t' 'unsigned int' 'int'; do 200 AC_TRY_COMPILE(dnl 201[#ifdef HAVE_SYS_TYPES_H 202#include <sys/types.h> 203#endif 204#ifdef HAVE_SYS_SOCKET_H 205#include <sys/socket.h> 206#endif 207extern getsockname (int, $ac_cv_func_getsockname_arg2, $ac_cv_func_getsockname_socklen_type *);],,dnl 208 [ac_not_found=no ; break 2], ac_not_found=yes) 209 done 210 done 211 ])dnl AC_CACHE_VAL 212])dnl AC_CACHE_VAL 213if test "$ac_not_found" = yes; then 214 ac_cv_func_getsockname_socklen_type='socklen_t' 215fi 216AC_MSG_RESULT([$ac_cv_func_getsockname_socklen_type]) 217AC_DEFINE_UNQUOTED([GETSOCKNAME_SOCKLEN_TYPE], 218 $ac_cv_func_getsockname_socklen_type, 219 [What is getsockname()'s socklen type?]) 220 221AC_CACHE_CHECK( 222 [for struct sockaddr_storage], 223 ntp_cv_sockaddr_storage, 224 [ 225 AC_TRY_COMPILE( 226 [ 227 #ifdef HAVE_SYS_TYPES_H 228 # include <sys/types.h> 229 #endif 230 #ifdef HAVE_SYS_SOCKET_H 231 # include <sys/socket.h> 232 #endif 233 #ifdef HAVE_NETINET_IN_H 234 # include <netinet/in.h> 235 #endif 236 ], 237 [ 238 struct sockaddr_storage n; 239 ], 240 [ntp_cv_sockaddr_storage="yes"], 241 [ntp_cv_sockaddr_storage="no"] 242 ) 243 ] 244) 245case "$ntp_cv_sockaddr_storage" in 246 yes) 247 AC_DEFINE(HAVE_STRUCT_SOCKADDR_STORAGE, 1, [Does a system header define struct sockaddr_storage?]) 248esac 249 250AC_CACHE_CHECK( 251 [for sockaddr_storage.ss_family], 252 ntp_cv_have_ss_family, 253 [ 254 AC_TRY_COMPILE( 255 [ 256 #ifdef HAVE_SYS_TYPES_H 257 # include <sys/types.h> 258 #endif 259 #ifdef HAVE_SYS_SOCKET_H 260 # include <sys/socket.h> 261 #endif 262 #ifdef HAVE_NETINET_IN_H 263 # include <netinet/in.h> 264 #endif 265 ], 266 [ 267 struct sockaddr_storage s; 268 s.ss_family = 1; 269 ], 270 [ntp_cv_have_ss_family="yes"], 271 [ntp_cv_have_ss_family="no"] 272 ) 273 ] 274) 275 276case "$ntp_cv_have_ss_family" in 277 no) 278 AC_CACHE_CHECK( 279 [for sockaddr_storage.__ss_family], 280 ntp_cv_have___ss_family, 281 [ 282 AC_TRY_COMPILE( 283 [ 284 #ifdef HAVE_SYS_TYPES_H 285 # include <sys/types.h> 286 #endif 287 #ifdef HAVE_SYS_SOCKET_H 288 # include <sys/socket.h> 289 #endif 290 #ifdef HAVE_NETINET_IN_H 291 # include <netinet/in.h> 292 #endif 293 ], 294 [ 295 struct sockaddr_storage s; 296 s.__ss_family = 1; 297 ], 298 [ntp_cv_have___ss_family="yes"], 299 [ntp_cv_have___ss_family="no"] 300 ) 301 ] 302 ) 303 case "$ntp_cv_have___ss_family" in 304 yes) 305 AC_DEFINE(HAVE___SS_FAMILY_IN_SS, 1, [Does struct sockaddr_storage have __ss_family?]) 306 esac 307esac 308 309AH_VERBATIM( 310 [HAVE___SS_FAMILY_IN_SS_VERBATIM], 311 [ 312 /* Handle sockaddr_storage.__ss_family */ 313 #ifdef HAVE___SS_FAMILY_IN_SS 314 # define ss_family __ss_family 315 #endif /* HAVE___SS_FAMILY_IN_SS */ 316 ] 317) 318 319AC_CACHE_CHECK( 320 [for sockaddr_storage.ss_len], 321 ntp_cv_have_ss_len, 322 [ 323 AC_TRY_COMPILE( 324 [ 325 #ifdef HAVE_SYS_TYPES_H 326 # include <sys/types.h> 327 #endif 328 #ifdef HAVE_SYS_SOCKET_H 329 # include <sys/socket.h> 330 #endif 331 #ifdef HAVE_NETINET_IN_H 332 # include <netinet/in.h> 333 #endif 334 ], 335 [ 336 struct sockaddr_storage s; 337 s.ss_len = 1; 338 ], 339 [ntp_cv_have_ss_len="yes"], 340 [ntp_cv_have_ss_len="no"] 341 ) 342 ] 343) 344 345case "$ntp_cv_have_ss_len" in 346 no) 347 AC_CACHE_CHECK( 348 [for sockaddr_storage.__ss_len], 349 ntp_cv_have___ss_len, 350 [ 351 AC_TRY_COMPILE( 352 [ 353 #ifdef HAVE_SYS_TYPES_H 354 # include <sys/types.h> 355 #endif 356 #ifdef HAVE_SYS_SOCKET_H 357 # include <sys/socket.h> 358 #endif 359 #ifdef HAVE_NETINET_IN_H 360 # include <netinet/in.h> 361 #endif 362 ], 363 [ 364 struct sockaddr_storage s; 365 s.__ss_len = 1; 366 ], 367 [ntp_cv_have___ss_len="yes"], 368 [ntp_cv_have___ss_len="no"] 369 ) 370 ] 371 ) 372 case "$ntp_cv_have___ss_len" in 373 yes) 374 AC_DEFINE(HAVE___SS_LEN_IN_SS, 1, [Does struct sockaddr_storage have __ss_len?]) 375 esac 376esac 377 378AH_VERBATIM( 379 [HAVE___SS_LEN_IN_SS_VERBATIM], 380 [ 381 /* Handle sockaddr_storage.__ss_len */ 382 #ifdef HAVE___SS_LEN_IN_SS 383 # define ss_len __ss_len 384 #endif /* HAVE___SS_LEN_IN_SS */ 385 ] 386) 387 388# 389# Look for in_port_t. 390# 391AC_CACHE_CHECK( 392 [for in_port_t], 393 isc_cv_have_in_port_t, 394 [ 395 AC_TRY_COMPILE( 396 [ 397 #include <sys/types.h> 398 #include <netinet/in.h> 399 ], 400 [ 401 in_port_t port = 25; 402 return (0); 403 ], 404 [isc_cv_have_in_port_t=yes], 405 [isc_cv_have_in_port_t=no] 406 ) 407 ] 408) 409case "$isc_cv_have_in_port_t" in 410 no) 411 AC_DEFINE(ISC_PLATFORM_NEEDPORTT, 1, [Declare in_port_t?]) 412esac 413 414AC_SEARCH_LIBS([inet_ntop], [resolv], , , [-lsocket -lnsl]) 415AC_CHECK_FUNC(inet_ntop, [], [AC_DEFINE(ISC_PLATFORM_NEEDNTOP, 1, [ISC: provide inet_ntop()])]) 416AC_CHECK_FUNC(inet_pton, [], [AC_DEFINE(ISC_PLATFORM_NEEDPTON, 1, [ISC: provide inet_pton()])]) 417 418AC_ARG_ENABLE([ipv6], [AC_HELP_STRING([--enable-ipv6], [s use IPv6?])]) 419 420case "$enable_ipv6" in 421 yes|''|autodetect) 422 case "$host" in 423 powerpc-ibm-aix4*) ;; 424 *) 425 AC_DEFINE([WANT_IPV6], ,[ISC: Want IPv6?]) 426 ;; 427 esac 428 ;; 429 no) 430 ;; 431esac 432 433AC_CACHE_CHECK( 434 [for IPv6 structures], 435 ac_cv_isc_found_ipv6, 436 [ 437 AC_COMPILE_IFELSE( 438 [ 439 AC_LANG_PROGRAM( 440 [ 441 #include <sys/types.h> 442 #include <sys/socket.h> 443 #include <netinet/in.h> 444 ], 445 [ 446 struct sockaddr_in6 sin6; 447 ] 448 ) 449 ], 450 [ac_cv_isc_found_ipv6=yes], 451 [ac_cv_isc_found_ipv6=no] 452 ) 453 ] 454) 455 456# 457# See whether IPv6 support is provided via a Kame add-on. 458# This is done before other IPv6 linking tests so LIBS is properly set. 459# 460AC_MSG_CHECKING([for Kame IPv6 support]) 461AC_ARG_WITH(kame, 462 [AC_HELP_STRING([--with-kame], [- =/usr/local/v6])], 463 use_kame="$withval", use_kame="no") 464 465case "$use_kame" in 466 no) 467 ;; 468 yes) 469 kame_path=/usr/local/v6 470 ;; 471 *) 472 kame_path="$use_kame" 473 ;; 474esac 475 476case "$use_kame" in 477 no) 478 AC_MSG_RESULT(no) 479 ;; 480 *) 481 if test -f $kame_path/lib/libinet6.a; then 482 AC_MSG_RESULT($kame_path/lib/libinet6.a) 483 LIBS="-L$kame_path/lib -linet6 $LIBS" 484 else 485 AC_MSG_ERROR([$kame_path/lib/libinet6.a not found. 486 487Please choose the proper path with the following command: 488 489 configure --with-kame=PATH 490]) 491 fi 492 ;; 493esac 494 495# 496# Whether netinet6/in6.h is needed has to be defined in isc/platform.h. 497# Including it on Kame-using platforms is very bad, though, because 498# Kame uses #error against direct inclusion. So include it on only 499# the platform that is otherwise broken without it -- BSD/OS 4.0 through 4.1. 500# This is done before the in6_pktinfo check because that's what 501# netinet6/in6.h is needed for. 502# 503case "$host" in 504 *-bsdi4.[[01]]*) 505 AC_DEFINE(ISC_PLATFORM_NEEDNETINET6IN6H, 1, [Do we need netinet6/in6.h?]) 506 # does anything use LWRES_PLATFORM_NEEDNETINET6IN6H? Can't it use above? 507 AC_DEFINE(LWRES_PLATFORM_NEEDNETINET6IN6H, 1, [Do we need netinet6/in6.h?]) 508 isc_netinet6in6_hack="#include <netinet6/in6.h>" 509 ;; 510 *) 511 isc_netinet6in6_hack="" 512esac 513 514# 515# This is similar to the netinet6/in6.h issue. 516# 517case "$host" in 518 *-sco-sysv*uw*|*-*-sysv*UnixWare*|*-*-sysv*OpenUNIX*) 519 AC_DEFINE(ISC_PLATFORM_FIXIN6ISADDR, 1,[Do we need to fix in6isaddr?]) 520 isc_netinetin6_hack="#include <netinet/in6.h>" 521 ;; 522 *) 523 isc_netinetin6_hack="" 524esac 525 526 527case "$ac_cv_isc_found_ipv6" in 528 yes) 529 AC_DEFINE(ISC_PLATFORM_HAVEIPV6, ,[have IPv6?]) 530 531 AC_CACHE_CHECK( 532 [for in6_pktinfo], 533 ac_cv_have_in6_pktinfo, 534 [ 535 AC_COMPILE_IFELSE( 536 [ 537 AC_LANG_PROGRAM( 538 [ 539 #include <sys/types.h> 540 #include <sys/socket.h> 541 #include <netinet/in.h> 542 $isc_netinetin6_hack 543 $isc_netinet6in6_hack 544 ], 545 [ 546 struct in6_pktinfo xyzzy; 547 ] 548 ) 549 ], 550 [ac_cv_have_in6_pktinfo=yes], 551 [ac_cv_have_in6_pktinfo=no] 552 ) 553 ] 554 ) 555 556 case "$ac_cv_have_in6_pktinfo" in 557 yes) 558 AC_DEFINE(ISC_PLATFORM_HAVEIN6PKTINFO, , [have struct in6_pktinfo?]) 559 esac 560 561 562 # HMS: Use HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID instead? 563 AC_CACHE_CHECK( 564 [for sockaddr_in6.sin6_scope_id], 565 ac_cv_have_sin6_scope_id, 566 [ 567 AC_COMPILE_IFELSE( 568 [ 569 AC_LANG_PROGRAM( 570 [ 571 #include <sys/types.h> 572 #include <sys/socket.h> 573 #include <netinet/in.h> 574 $isc_netinetin6_hack 575 $isc_netinet6in6_hack 576 ], 577 [ 578 struct sockaddr_in6 xyzzy; 579 xyzzy.sin6_scope_id = 0; 580 ] 581 ) 582 ], 583 [ac_cv_have_sin6_scope_id=yes], 584 [ac_cv_have_sin6_scope_id=no] 585 ) 586 ] 587 ) 588 589 case "$ac_cv_have_sin6_scope_id" in 590 yes) 591 AC_DEFINE(ISC_PLATFORM_HAVESCOPEID, , [have sin6_scope_id?]) 592 esac 593esac 594 595 596# We need this check run even without ac_cv_isc_found_ipv6=yes 597 598AC_CACHE_CHECK( 599 [for in6addr_any], 600 isc_cv_have_in6addr_any, 601 [ 602 AC_LINK_IFELSE( 603 [ 604 AC_LANG_PROGRAM( 605 [ 606 #include <sys/types.h> 607 #include <sys/socket.h> 608 #include <netinet/in.h> 609 $isc_netinetin6_hack 610 $isc_netinet6in6_hack 611 ], 612 [ 613 struct in6_addr in6; 614 in6 = in6addr_any; 615 ] 616 ) 617 ], 618 [isc_cv_have_in6addr_any=yes], 619 [isc_cv_have_in6addr_any=no] 620 ) 621 ] 622) 623 624case "$isc_cv_have_in6addr_any" in 625 no) 626 AC_DEFINE(ISC_PLATFORM_NEEDIN6ADDRANY, , [missing in6addr_any?]) 627esac 628 629 630AC_CACHE_CHECK( 631 [for struct if_laddrconf], 632 ac_cv_isc_struct_if_laddrconf, 633 [ 634 AC_COMPILE_IFELSE( 635 [ 636 AC_LANG_PROGRAM( 637 [ 638 #include <sys/types.h> 639 #include <net/if6.h> 640 ], 641 [ 642 struct if_laddrconf a; 643 ] 644 ) 645 ], 646 [ac_cv_isc_struct_if_laddrconf=yes], 647 [ac_cv_isc_struct_if_laddrconf=no] 648 ) 649 ] 650) 651 652case "$ac_cv_isc_struct_if_laddrconf" in 653 yes) 654 AC_DEFINE(ISC_PLATFORM_HAVEIF_LADDRCONF, , [have struct if_laddrconf?]) 655esac 656 657AC_CACHE_CHECK( 658 [for struct if_laddrreq], 659 ac_cv_isc_struct_if_laddrreq, 660 [ 661 AC_COMPILE_IFELSE( 662 [ 663 AC_LANG_PROGRAM( 664 [ 665 #include <sys/types.h> 666 #include <net/if6.h> 667 ], 668 [ 669 struct if_laddrreq a; 670 ] 671 ) 672 ], 673 [ac_cv_isc_struct_if_laddrreq=yes], 674 [ac_cv_isc_struct_if_laddrreq=no] 675 ) 676 ] 677) 678 679case "$ac_cv_isc_struct_if_laddrreq" in 680 yes) 681 AC_DEFINE(ISC_PLATFORM_HAVEIF_LADDRREQ, , [have struct if_laddrreq?]) 682esac 683 684 685### 686 687# Hacks 688AC_DEFINE(HAVE_NO_NICE, 1, [sntp does not care about 'nice']) 689AC_DEFINE(HAVE_TERMIOS, 1, [sntp does not care about TTY stuff]) 690 691# Checks for library functions. 692AC_CHECK_FUNCS([atexit memset socket]) 693 694AC_MSG_CHECKING(for bin subdirectory) 695AC_ARG_WITH(binsubdir, 696 [AC_HELP_STRING([--with-binsubdir], [bin ={bin,sbin}])], 697 use_binsubdir="$withval", use_binsubdir="bin") 698 699case "$use_binsubdir" in 700 bin) 701 ;; 702 sbin) 703 ;; 704 *) 705 AC_MSG_ERROR([<$use_binsubdir> is illegal - must be "bin" or "sbin"]) 706 ;; 707esac 708AC_MSG_RESULT($use_binsubdir) 709BINSUBDIR=$use_binsubdir 710AC_SUBST(BINSUBDIR) 711 712AC_CONFIG_FILES([Makefile]) 713AC_OUTPUT 714