1# Copyright (C) 2006-2014 David Sugar, Tycho Softworks. 2# Copyright (C) 2015 Cherokees of Idaho. 3# 4# This file is free software; as a special exception the author gives 5# unlimited permission to copy and/or distribute it, with or without 6# modifications, as long as this notice is preserved. 7# 8# This program is distributed in the hope that it will be useful, but 9# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the 10# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 11 12AC_INIT([ucommon],[7.0.0]) 13AC_CONFIG_SRCDIR([inc/ucommon/ucommon.h]) 14 15LT_VERSION="8:0:0" 16OPENSSL_REQUIRES="0.9.7" 17 18AC_CONFIG_AUX_DIR(autoconf) 19AC_CONFIG_MACRO_DIR([m4]) 20AC_CANONICAL_SYSTEM 21AC_PROG_CPP 22AC_PROG_CC 23AC_PROG_CXXCPP 24AC_PROG_CXX 25AC_LIBTOOL_WIN32_DLL 26AM_PROG_LIBTOOL 27AM_INIT_AUTOMAKE([dist-zip subdir-objects]) 28AM_CONFIG_HEADER(ucommon-config.h) 29 30AC_C_RESTRICT 31AC_C_VOLATILE 32AC_C_INLINE 33 34UCOMMON_FLAGS="" 35UCOMMON_MODEL="CXX" 36UCOMMON_LIBC="-lc" 37UCOMMON_LIBS="" 38OPENSSL_LINK="" 39MODULE_FLAGS="-module -shared -avoid-version" 40 41CHECKFLAGS="$CHECKFLAGS" 42 43case "$with_crypto" in 44ssl|openssl) 45 ssl="openssl" 46 ;; 47gnutls|gnu) 48 ssl="gnutls" 49 ;; 50none|nossl) 51 ssl="nossl" 52 ;; 53*) 54 ssl="detect" 55 ;; 56esac 57 58have_gettext="no" 59socket_lib="" 60posix4_lib="" 61rt_lib="" 62 63test -z "$localedir" && localedir='${datadir}/locale' 64 65AC_DEFUN([AC_SUBST_DIR], [ 66 ifelse($2,,,$1="[$]$2") 67 result="***" 68 prior="A" 69 while test "$prior" != "$result" ; do 70 prior=`(echo "[$]$1")` 71 $1=`( 72 test "x$prefix" = xNONE && prefix="$ac_default_prefix" 73 test "x$exec_prefix" = xNONE && exec_prefix="${prefix}" 74 eval echo \""[$]$1"\" 75 )` 76 result=`(echo "[$]$1")` 77 done 78 AC_SUBST($1) 79]) 80 81# for very old gcc and for minix we disable full ucommon build by default 82# we also disable for mingw32 or when no "shared" library support because 83# libstdc++ is not dll and really bloats in linkage of plugins. Any case, 84# you can always override with --enable-stdcpp... 85 86if test -z "$enable_stdcpp" ; then 87 if test "x$GCC" = "xyes" ; then 88 gccver=`$CC -dumpversion | cut -f1 -d.` 89 fi 90 if test -z "$gccver" ; then 91 gccver="3" 92 fi 93 if test "$gccver" -lt "3" ; then 94 enable_stdcpp="no" 95 fi 96 if test "x$enable_shared" = "xno" ; then 97 enable_stdcpp="no" 98 fi 99 case "$target_os" in 100 *minix*|mingw*) 101 enable_stdcpp="no" 102 ;; 103 esac 104fi 105 106case "$target_os" in 107osf*|cygwin*|mingw*) 108 MODULE_FLAGS="-module -shared -no-undefined" 109 ;; 110darwin*) 111 MODULE_FLAGS="-dynamic -bundle -undefined suppress -flat_namespace -read_only_relocs suppress" 112 ;; 113esac 114 115AC_ARG_ENABLE(posix-timers, 116 AC_HELP_STRING([--enable-posix-timers], 117 [enable posix timers])) 118 119if test "x$enable_posix_timers" = "xyes" ; then 120 UCOMMON_FLAGS="$UCOMMON_FLAGS -DPOSIX_TIMERS" 121fi 122 123AC_ARG_ENABLE(utils, [ --disable-utils Do not build the utilities]) 124if test x"$enable_utils" == "xno"; then 125 AM_CONDITIONAL([BUILD_UTILS], false), 126else 127 AM_CONDITIONAL([BUILD_UTILS], true) 128fi 129 130AC_ARG_ENABLE(stdcpp, 131 AC_HELP_STRING([--disable-stdcpp], 132 [compile without stdc++ runtime overhead])) 133 134 AC_MSG_CHECKING([full c++ support and linking model]) 135 136if test "x$enable_stdcpp" = "xno" ; then 137 UCOMMON_MODEL="CC" 138 AC_MSG_RESULT(no) 139 COMPAT="" 140 COMPAT_PC="" 141 COMPAT_CONFIG="" 142else 143 COMPAT="commoncpp" 144 COMPAT_PC="commoncpp.pc" 145 COMPAT_CONFIG="commoncpp-config" 146 AC_MSG_RESULT(yes) 147fi 148 149AC_ARG_WITH(sslstack, 150 AC_HELP_STRING([--with-sslstack=lib],[specify which ssl stack to build]),[ 151 if test x$with_sslstack != x ; then 152 ssl="${with_sslstack}" ; fi 153]) 154 155AC_ARG_WITH(libc, 156 AC_HELP_STRING([--with-libc=path],[specify path to alternate libc]),[ 157 if test x$with_libc != x ; then 158 clib=`echo ${with_libc} | sed s/[-]l//` 159 UCOMMON_LIBC=-l${clib} ; fi 160]) 161 162AC_ARG_ENABLE(debug, 163 AC_HELP_STRING([--enable-debug],[compile for debugging])) 164if test -z "$enable_debug" ; then 165 enable_debug="no" 166elif test $enable_debug = "yes" ; then 167 CXXFLAGS="${CXXFLAGS} -g -DDEBUG" 168fi 169 170AH_BOTTOM([ 171#include <ucommon/platform.h> 172]) 173 174threading="none" 175clib=`echo ${UCOMMON_LIBC} | sed s/[-]l//` 176tlib="" 177 178AC_CHECK_HEADERS(stdint.h poll.h sys/mman.h sys/shm.h sys/poll.h sys/timeb.h endian.h sys/filio.h dirent.h sys/resource.h wchar.h netinet/in.h net/if.h) 179AC_CHECK_HEADERS(mach/clock.h mach-o/dyld.h linux/version.h sys/inotify.h sys/event.h syslog.h sys/wait.h termios.h termio.h fcntl.h unistd.h) 180AC_CHECK_HEADERS(sys/param.h sys/lockf.h sys/file.h dlfcn.h stdatomic.h stdalign.h) 181 182AC_CHECK_HEADER(regex.h, [ 183 AC_DEFINE(HAVE_REGEX_H, [1], [have regex header]) 184 AC_CHECK_LIB(regex, regfree, [ 185 UCOMMON_LIBS="$UCOMMON_LIBS -lregex" 186 ]) 187]) 188 189AC_CHECK_LIB(msvcrt, fopen, [ 190 threading="msw" 191 clib="msvcrt" 192 UCOMMON_LIBS="--enable-stdcall-fixup $UCOMMON_LIBS -lmingwex -lmingw32 -lcrypt32 -ladvapi32 -luser32 -lws2_32 -lwsock32 -lkernel32" 193 UCOMMON_LIBC="-lmsvcrt -lgcc" 194 OPENSSL_LINK="-lgdi32" 195 AC_DEFINE(HAVE_INET_NTOP, [1], [have inet_ntop]) 196 AC_DEFINE(HAVE_GETADDRINFO, [1], [have getaddrinfo]) 197],[ 198 AC_CHECK_LIB(gcc, __modsi3, [ 199 UCOMMON_LIBC="$UCOMMON_LIBC -lgcc" 200 ]) 201 AC_CHECK_LIB($clib, socketpair, [ 202 AC_DEFINE(HAVE_SOCKETPAIR, [1], [have socketpair]) 203 ],[ 204 AC_CHECK_LIB(socket, socketpair, [AC_DEFINE(HAVE_SOCKETPAIR, [1], [have socketpair])]) 205 ]) 206 AC_CHECK_LIB($clib, getaddrinfo, [ 207 AC_DEFINE(HAVE_GETADDRINFO, [1], [have getaddrinfo]) 208 ],[ 209 AC_CHECK_LIB(socket, getaddrinfo, [AC_DEFINE(HAVE_GETADDRINFO, [1], [have getaddrinfo])]) 210 ]) 211 AC_CHECK_LIB($clib, gethostbyname2, [ 212 AC_DEFINE(HAVE_GETHOSTBYNAME2, [1], [have gethostbyname2]) 213 ],[ 214 AC_CHECK_LIB(socket, gethostbyname2, [AC_DEFINE(HAVE_GETHOSTBYNAME2, [1], [have gethostbyname2])]) 215 ]) 216 217 AC_CHECK_LIB($clib, inet_ntop, [ 218 AC_DEFINE(HAVE_INET_NTOP, [1], [have inet ntop]) 219 ],[ 220 AC_CHECK_LIB(socket, inet_ntop, [ 221 AC_DEFINE(HAVE_INET_NTOP, [1], [have inet ntop]) 222 ],[ 223 AC_CHECK_LIB(nsl, inet_ntop, [ 224 AC_DEFINE(HAVE_INET_NTOP, [1], [have inet_ntop]) 225 socket_lib="$socket_lib -lnsl" 226 ]) 227 ]) 228 ]) 229 230 AC_CHECK_LIB(socket, socket,[ 231 AC_CHECK_LIB(socket, socketpair,[ 232 AC_DEFINE(HAVE_SOCKETPAIR, [1], [have socketpair in libsocket]) 233 ]) 234 socket_lib="-lsocket" 235 ]) 236]) 237 238AC_CHECK_LIB($clib, lstat, [ 239 AC_DEFINE(HAVE_LSTAT, [1], [have lstat]) 240]) 241 242AC_CHECK_LIB($clib, strcoll, [ 243 AC_DEFINE(HAVE_STRCOLL, [1], [string collation]) 244]) 245 246AC_CHECK_LIB($clib, strlcpy, [ 247 AC_DEFINE(HAVE_STRLCPY, [1], [string lcpy]) 248]) 249 250AC_CHECK_LIB($clib, stricmp, [ 251 AC_DEFINE(HAVE_STRICMP, [1], [string icmp]) 252]) 253 254AC_CHECK_LIB($clib, stristr, [ 255 AC_DEFINE(HAVE_STRISTR, [1], [string istr]) 256]) 257 258AC_CHECK_LIB($clib, sysconf, [ 259 AC_DEFINE(HAVE_SYSCONF, [1], [system config]) 260]) 261 262AC_CHECK_LIB($clib, posix_memalign, [ 263 AC_DEFINE(HAVE_POSIX_MEMALIGN, [1], [posix memory alignment]) 264]) 265 266AC_CHECK_LIB($clib, aligned_alloc, [ 267 AC_DEFINE(HAVE_ALIGNED_ALLOC, [1], [aligned memory allocation]) 268]) 269 270AC_CHECK_LIB($clib, dlopen,,[ 271 AC_CHECK_LIB(dl, dlopen, [UCOMMON_LIBS="$UCOMMON_LIBS -ldl"],[ 272 AC_CHECK_LIB(compat, dlopen, [UCOMMON_LIBS="$UCOMMON_LIBS -lcompat"]) 273 AC_CHECK_LIB(dld, shl_load,[ 274 AC_DEFINE(HAVE_SHL_LOAD, [1], [alternate dyn loader]) 275 UCOMMON_LIBS="$UCOMMON_LIBS -ldld" 276 ]) 277 ]) 278]) 279 280PTHREAD_FLAGS="" 281 282if test "$enable_shared" = "no" ; then 283 UCOMMON_FLAGS="$UCOMMON_FLAGS -DUCOMMON_STATIC" ; fi 284 285AC_ARG_ENABLE(pth, [ 286 AC_HELP_STRING([--enable-pth],[always use GNU pth for threading]) 287]) 288 289if test "$threading" = "none" ; then 290 if test "$enable_pth" != "yes" ; then 291 AC_CHECK_HEADER(pthread.h, [ 292 PTHREAD_FLAGS="-mt -pthread -pthreads" 293 AC_CHECK_LIB(pthread,pthread_create,[ 294 tlib="pthread" 295 UCOMMON_LIBS="$UCOMMON_LIBS -lpthread" 296 ]) 297 if test -z "$tlib" ; then 298 AC_CHECK_LIB($clib, pthread_create, [tlib="$clib"]) 299 fi 300 if test -z "$tlib" ; then 301 AC_CHECK_LIB(c_r, pthread_create, [ 302 tlib="c_r" 303 if test "$clib" = "c" ; then 304 AC_CHECK_LIB(c_r, malloc, [clib="c_r"]) 305 fi 306 ]) 307 fi 308 if test ! -z "$tlib" ; then 309 AC_CHECK_LIB($tlib,pthread_condattr_setclock,[ 310 AC_DEFINE(HAVE_PTHREAD_CONDATTR_SETCLOCK, [1], ["pthread clocking"]) 311 ]) 312 AC_CHECK_LIB($tlib,pthread_setconcurrency,[ 313 AC_DEFINE(HAVE_PTHREAD_SETCONCURRENCY, [1], ["pthread concurrency"]) 314 ]) 315 316 AC_CHECK_LIB($tlib,pthread_yield,[ 317 AC_DEFINE(HAVE_PTHREAD_YIELD, [1], ["pthread yield"],[ 318 AC_CHECK_LIB($tlib,pthread_yield_np,[ 319 AC_DEFINE(HAVE_PTHREAD_YIELD_NP, [1], ["pthread yield np"]) 320 ]) 321 ]) 322 ]) 323 324 AC_CHECK_LIB($tlib,pthread_delay,[ 325 AC_DEFINE(HAVE_PTHREAD_DELAY, [1], ["pthread delay"]) 326 ]) 327 AC_CHECK_LIB($tlib,pthread_delay_np,[ 328 AC_DEFINE(HAVE_PTHREAD_DELAY_NP, [1], ["pthread delay np"]) 329 ]) 330 AC_CHECK_LIB($tlib,pthread_setschedprio,[ 331 AC_DEFINE(HAVE_PTHREAD_SETSCHEDPRIO, [1], ["pthread scheduling"]) 332 ]) 333 # Missing from Android's pthread implementation but the default 334 # values for newly created threads corresponds to the one we set 335 AC_CHECK_LIB($tlib,pthread_attr_setinheritsched,[ 336 AC_DEFINE(HAVE_PTHREAD_ATTR_SETINHRITSCHED, [1], 337 ["pthread inherit scheduling attribute"]) 338 ]) 339 fi 340 ],[ 341 AC_CHECK_HEADER(windows.h,, [ 342 AC_MSG_ERROR("pthread support required") 343 ]) 344 ]) 345 else 346 AC_MSG_ERROR("thread support required") 347 fi 348fi 349 350for func in ftok shm_open nanosleep clock_nanosleep clock_gettime strerror_r localtime_r gmtime_r posix_fadvise ftruncate pwrite setgroups setpgrp setlocale gettext execvp atexit realpath symlink readlink waitpid wait4 endgrent strlcpy; do 351 found="no" 352 AC_CHECK_FUNC($func,[ 353 found=$func 354 ],[ 355 AC_CHECK_LIB(posix4, $func, [ 356 found=$func 357 posix4_lib="-lposix4" 358 ],[ 359 AC_CHECK_LIB(rt, $func, [ 360 found=$func 361 rt_lib="-lrt" 362 ],[ 363 if test ! -z "$tlib" ; then 364 AC_CHECK_LIB($tlib, $func, [ 365 found=$func 366 ]) 367 fi 368 ]) 369 ]) 370 ]) 371 case $found in 372 setgroups) 373 AC_DEFINE(HAVE_SETGROUPS, [1], [setgroups support]) 374 ;; 375 shm_open) 376 AC_DEFINE(HAVE_SHM_OPEN, [1], [shared memory open]) 377 ;; 378 setpgrp) 379 AC_DEFINE(HAVE_SETPGRP, [1], [process group control]) 380 ;; 381 realpath) 382 AC_DEFINE(HAVE_REALPATH, [1], [realpath support]) 383 ;; 384 ftok) 385 AC_DEFINE(HAVE_FTOK, [1], [has ftok]) 386 ;; 387 gmtime_r) 388 AC_DEFINE(HAVE_GMTIME_R, [1], [has localtime_r]) 389 ;; 390 localtime_r) 391 AC_DEFINE(HAVE_LOCALTIME_R, [1], [has localtime_r]) 392 ;; 393 strerror_r) 394 AC_DEFINE(HAVE_STRERROR_R, [1], [has strerror_r]) 395 ;; 396 nanosleep) 397 AC_DEFINE(HAVE_NANOSLEEP, [1], [has nanosleep]) 398 ;; 399 clock_nanosleep) 400 AC_DEFINE(HAVE_CLOCK_NANOSLEEP, [1], [has clocked nanosleep]) 401 ;; 402 clock_gettime) 403 AC_DEFINE(HAVE_CLOCK_GETTIME, [1], [has posix clock functions]) 404 ;; 405 posix_fadvise) 406 AC_DEFINE(HAVE_POSIX_FADVISE, [1], [can specify access options]) 407 ;; 408 ftruncate) 409 AC_DEFINE(HAVE_FTRUNCATE, [1], [can truncate files]) 410 ;; 411 pwrite) 412 AC_DEFINE(HAVE_PWRITE, [1], [can do atomic write with offset]) 413 ;; 414 setlocale) 415 AC_DEFINE(HAVE_SETLOCALE, [1], [can set localization]) 416 ;; 417 gettext) 418 AC_DEFINE(HAVE_GETTEXT, [1], [has gettext in libc]) 419 have_gettext="yes" 420 ;; 421 execvp) 422 AC_DEFINE(HAVE_EXECVP, [1], [has execvp in libc]) 423 ;; 424 symlink) 425 AC_DEFINE(HAVE_SYMLINK, [1], [has symlink in libc]) 426 ;; 427 readlink) 428 AC_DEFINE(HAVE_READLINK, [1], [has readlink in libc]) 429 ;; 430 waitpid) 431 AC_DEFINE(HAVE_WAITPID, [1], [has waitpid in libc]) 432 ;; 433 wait4) 434 AC_DEFINE(HAVE_WAIT4, [1], [has wait4 in libc]) 435 ;; 436 endgrent) 437 AC_DEFINE(HAVE_ENDGRENT, [1], [has endgrent in libc]) 438 ;; 439 esac 440done 441 442UCOMMON_LINKED="$socket_lib $posix4_lib $rt_lib $UCOMMON_LIBS" 443UCOMMON_LIBS="$socket_lib $posix4_lib $rt_lib $UCOMMON_LIBS $UCOMMON_LIBC" 444 445if test "$UCOMMON_MODEL" = "CC" ; then 446 AC_CHECK_LIB(Systemstubs, printf, [ 447 UCOMMON_LIBC="$UCOMMON_LIBC -lgcc" 448 ]) 449fi 450 451if test "x$GCC" = "xyes" ; then 452 UCOMMON_FLAGS="$UCOMMON_FLAGS -Wno-long-long" ; fi 453 454AC_LANG_SAVE 455AC_LANG_CPLUSPLUS 456 457if test ! -z "$PTHREAD_FLAGS" ; then 458 for flag in $PTHREAD_FLAGS ; do 459 AC_MSG_CHECKING([whether ${CXX} supports $flag]) 460 echo 'void f(){}' >conftest.cpp 461 if test -z "`${CXX} $flag -c conftest.cpp 2>&1`"; then 462 AC_MSG_RESULT(yes) 463 UCOMMON_FLAGS="$UCOMMON_FLAGS $flag" 464 break 465 else 466 AC_MSG_RESULT(no) 467 fi 468 done 469fi 470 471# libstdc++ on some targets broken badly if inlines hidden. Might be 472# deeper issue with ansi c++ library model... 473flags="-fno-check-new -finline" 474 475for flag in $flags ; do 476 AC_MSG_CHECKING([whether ${CXX} supports $flag]) 477 echo 'void f(){}' >conftest.cpp 478 if test -z "`${CXX} $flag -c conftest.cpp 2>&1`"; then 479 UCOMMON_FLAGS="$UCOMMON_FLAGS $flag" 480 AC_MSG_RESULT(yes) 481 else 482 AC_MSG_RESULT(no) 483 fi 484 rm -f conftest* 485done 486 487AC_MSG_CHECKING([whether ${CXX} supports visibility]) 488echo 'void f(){}' >conftest.cpp 489if test -z "`${CXX} -fvisibility=hidden -c conftest.cpp 2>&1`"; then 490 UCOMMON_FLAGS="$UCOMMON_FLAGS -fvisibility=hidden" 491 AC_MSG_RESULT(yes) 492else 493 AC_MSG_RESULT(no) 494fi 495rm -f conftest* 496 497AC_LANG_RESTORE 498 499AC_SUBST_DIR(includes, includedir) 500AC_SUBST_DIR(libs, libdir) 501 502case "$libs" in 503/usr/*) 504 ;; 505*) 506 UCOMMON_LINKED="-L$libs $UCOMMON_LINKED" 507 ;; 508esac 509 510case "$includes" in 511/usr/*) 512 ;; 513*) 514 UCOMMON_FLAGS="$UCOMMON_FLAGS -I$includes" 515 ;; 516esac 517 518case "$target_os" in 519osf*) 520 UCOMMON_FLAGS="$UCOMMON_FLAGS -D_POSIX_C_SOURCE=1 -D_OSF_SOURCE=1 -D__USE_STD_IOSTREAM" 521 ;; 522cygwin*|mingw*) 523 UCOMMON_LINKED="$UCOMMON_LINKED -no-undefined" 524 UCOMMON_LIBS="$UCOMMON_LIBS -no-undefined" 525 ;; 526esac 527 528if test -z "$UCOMMON_SSLSTACK" ; then 529 UCOMMON_SSLSTACK="$sslstack" ; fi 530 531OPENSSL_LIBS="" 532GNUTLS_LIBS="" 533 534AC_ARG_WITH(pkg-config, 535 AC_HELP_STRING([--with-pkg-config],[enable support for pkg-config]),[ 536 PKG_CHECK_MODULES(OPENSSL, [openssl >= $OPENSSL_REQUIRES], [], [ 537 OPENSSL_LIBS="" 538 AC_CHECK_HEADERS(openssl/ssl.h, [ 539 OPENSSL_LIBS="-lssl -lcrypto -lz $OPENSSL_LINK" 540 ]) 541 AC_CHECK_HEADERS(openssl/fips.h) 542 AC_CHECK_HEADERS(openssl/rsa.h) 543 ]) 544 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 3.0.0], [], [GNUTLS_LIBS=""]) 545],[ 546 AC_CHECK_HEADERS(openssl/ssl.h, [ 547 OPENSSL_LIBS="-lssl -lcrypto -lz $OPENSSL_LINK" 548 ]) 549 AC_CHECK_HEADERS(openssl/rsa.h) 550 AC_CHECK_HEADERS(openssl/fips.h) 551 AC_CHECK_LIB(gnutls, gnutls_init, [ 552 GNUTLS_LIBS="-lgnutls" 553 ]) 554]) 555 556 557SECURE="" 558case "$ssl" in 559secure|any|detect) 560 if test ! -z "$GNUTLS_LIBS" ; then 561 SECURE_LIBS="$GNUTLS_LIBS" 562 SECURE="gnutls" 563 fi 564 if test -z "$SECURE" ; then 565 if test ! -z "$OPENSSL_LIBS" ; then 566 SECURE_LIBS="$OPENSSL_LIBS" 567 SECURE="openssl" 568 fi 569 fi 570 ;; 571gnutls|gnu) 572 if test ! -z "$GNUTLS_LIBS" ; then 573 SECURE_LIBS="$GNUTLS_LIBS" 574 SECURE="gnutls" 575 fi 576 ;; 577openssl|ssl) 578 if test ! -z "$OPENSSL_LIBS" ; then 579 SECURE_LIBS="$OPENSSL_LIBS" 580 SECURE="openssl" 581 fi 582 ;; 583esac 584 585if test -z "$SECURE" ; then 586 SECURE_LIBS="" 587 SECURE="nossl" 588fi 589 590AC_MSG_CHECKING([secure library mode]) 591AC_MSG_RESULT([$SECURE]) 592 593SECURE_LOCAL="../$SECURE/libusecure.la $SECURE_LIBS" 594 595includes='${includedir}/ucommon' 596 597if test "$sysconfdir" = '${prefix}/etc' ; then 598 sysconfdir="/etc" ; fi 599 600if test "$localstatedir" = '${prefix}/var' ; then 601 localstatedir="/var" ; fi 602 603AC_CHECK_HEADER(libintl.h, [ 604 AC_DEFINE(HAVE_LIBINTL_H, [1], [international headers]) 605 if test "$have_gettext" = "no" ; then 606 AC_CHECK_LIB(intl, gettext, [ 607 AC_DEFINE(HAVE_GETTEXT, [1], [has gettext in glibc]) 608 UCOMMON_LIBS="$UCOMMON_LIBS -lintl" 609 ]) 610 fi 611]) 612 613if test "$prefix" = "NONE" ; then 614 prefixdir="$ac_default_prefix" 615else 616 prefixdir="$prefix" ; fi 617 618PKG_UCOMMON_LIBS="$UCOMMON_LINKED" 619PKG_UCOMMON_FLAGS="$UCOMMON_FLAGS" 620PKG_UCOMMON_INCLUDES="$UCOMMON_INCLUDES" 621PKG_SECURE_LIBS="$SECURE_LIBS" 622AC_SUBST(PKG_UCOMMON_LIBS) 623AC_SUBST(PKG_UCOMMON_FLAGS) 624AC_SUBST(PKG_UCOMMON_INCLUDES) 625AC_SUBST(PKG_SECURE_LIBS) 626 627AC_SUBST_DIR(CMAKE_CURRENT_SOURCE_DIR, srcdir) 628AC_SUBST_DIR(CMAKE_INSTALL_PREFIX, prefixdir) 629AC_SUBST_DIR(CMAKE_INSTALL_FULL_LIBDIR, libdir) 630AC_SUBST_DIR(CMAKE_INSTALL_FULL_DATADIR, datadir) 631AC_SUBST_DIR(CMAKE_INSTALL_FULL_INCLUDEDIR, includedir) 632AC_SUBST_DIR(UCOMMON_INCLUDES, includes) 633AC_SUBST_DIR(UCOMMON_LOCALE, localedir) 634AC_SUBST_DIR(UCOMMON_CFGPATH, sysconfdir) 635AC_SUBST_DIR(UCOMMON_VARPATH, localstatedir) 636AC_SUBST_DIR(UCOMMON_PREFIX, prefixdir) 637AC_DEFINE_UNQUOTED(UCOMMON_PREFIX, "$UCOMMON_PREFIX", [config path]) 638AC_DEFINE_UNQUOTED(UCOMMON_CFGPATH, "$UCOMMON_CFGPATH", [config path]) 639AC_DEFINE_UNQUOTED(UCOMMON_VARPATH, "$UCOMMON_VARPATH", [config path]) 640AC_DEFINE_UNQUOTED(UCOMMON_LOCALE, "$UCOMMON_LOCALE", [locale path]) 641 642AC_PATH_PROG(DOXYGEN, doxygen, doxygen) 643AC_SUBST(DOXYGEN) 644AC_SUBST(CHECKFLAGS) 645AC_SUBST(CXXFLAGS) 646AC_SUBST(MODULE_FLAGS) 647AC_SUBST(UCOMMON_INCLUDES) 648AC_SUBST(UCOMMON_LOCALE) 649AC_SUBST(UCOMMON_FLAGS) 650AC_SUBST(UCOMMON_LINKED) 651AC_SUBST(UCOMMON_LIBC) 652AC_SUBST(UCOMMON_LIBS) 653AC_SUBST(SECURE_LOCAL) 654AC_SUBST(SECURE_LIBS) 655AC_SUBST(SECURE) 656AC_SUBST(COMPAT) 657AC_SUBST(COMPAT_PC) 658AC_SUBST(COMPAT_CONFIG) 659AC_SUBST(OPENSSL_LIBS) 660AC_SUBST(GNUTLS_LIBS) 661AC_SUBST(LT_VERSION) 662AC_SUBST(localedir) 663 664AC_OUTPUT(Makefile corelib/Makefile commoncpp/Makefile PKGBUILD 665openssl/Makefile gnutls/Makefile nossl/Makefile utils/Makefile Doxyfile 666inc/Makefile inc/ucommon/Makefile inc/commoncpp/Makefile test/Makefile 667directive commoncpp.pc ucommon.pc ucommon.spec ucommon-config commoncpp-config) 668 669