1dnl configure-script 2AC_INIT([DK tools],[`cat version.txt`],,[dktools],[https://sourceforge.net/p/dktools/wiki/Home/]) 3AC_CONFIG_SRCDIR([version.txt]) 4AC_CONFIG_AUX_DIR([config]) 5dnl Inspect tool chain 6dnl ================== 7 8dnl Check available tools 9dnl --------------------- 10AC_CONFIG_HEADER(config.h) 11AC_PROG_CC 12AC_PROG_CPP 13AC_PROG_CXX 14AC_PROG_MKDIR_P 15AC_PROG_SED 16AC_PROG_INSTALL 17AC_PROG_LN_S 18AC_PROG_MAKE_SET 19AC_CHECK_TOOL([RANLIB],[ranlib],[:]) 20AC_CHECK_TOOL([AR],[ar],[ar]) 21AC_CHECK_TOOL([NM],[nm],[nm]) 22AC_CHECK_TOOL([WINDRES],[windres],[:]) 23AC_CHECK_TOOL([PKG_CONFIG],[pkg-config],[:]) 24AC_CHECK_TOOL([RDFIND],[rdfind],[:]) 25MAKE='' 26GMAKE='' 27AC_CHECK_PROG(MAKE,make,make) 28AC_CHECK_PROG(GMAKE,gmake,gmake) 29 30dnl For unavailable tools replace tool invokation by warning 31dnl -------------------------------------------------------- 32if [[ "X$RANLIB" = "X:" ]] 33then 34 RANLIB='@echo No need to run ranlib' 35fi 36if [[ "X$RDFIND" = "X:" ]] 37then 38 RDFIND='@echo No need to run rdfind' 39else 40 RDFIND="$RDFIND -makehardlinks true -makeresultsfile false" 41fi 42 43dnl Download programs to download original source 44dnl --------------------------------------------- 45AC_CHECK_PROG(WGET,wget,wget) 46AC_CHECK_PROG(CURL,curl,curl) 47GETSOURCE='@echo "ERROR: Neither wget nor curl available!" && false' 48if [[ "X$WGET" != "X" ]] 49then 50 GETSOURCE='wget -O dktools-$(VERSNO)' 51 GETSOURCE="$GETSOURCE"' $(SFBASE)/dktools-$(VERSNO).tar.gz/download' 52elif [[ "X$CURL" != "X" ]] 53then 54 GETSOURCE='curl -L $(SFBASE)/dktools-$(VERSNO).tar.gz' 55 GETSOURCE="$GETSOURCE "'> dktools-$(VERSNO).tar.gz' 56fi 57 58dnl Prefer gmake over make 59dnl ----------------------- 60if [[ "X$MAKE" = "X" -a "X$GMAKE" != "X" ]] 61then 62 MAKE="$GMAKE" 63fi 64 65dnl Check build and target system and cross-compile 66dnl =============================================== 67AC_CANONICAL_HOST 68AC_CANONICAL_BUILD 69WHICHCC=`which $CC` 70WHICHCXX=`which $CXX` 71BUILDHOST="$build" 72TARGETHOST="$host" 73BUILDCLASS='posix' 74TARGETCLASS='posix' 75CROSSBUILD='no' 76UNAME=`uname -s` 77case X$TARGETHOST in 78 Xx86_64-w64-mingw32|Xx86_64-w32-mingw32) 79 TARGETCLASS='windows' 80 ;; 81esac 82case X$BUILDHOST in 83 Xx86_64-w64-mingw32|Xx86_64-w32-mingw32) 84 BUILDCLASS='windows' 85 ;; 86esac 87if [[ "X$BUILDHOST" != "X$TARGETHOST" ]] 88then 89 CROSSBUILD='yes' 90fi 91TOOLCHAIN='unknown' 92case X$CC in 93 Xgcc|X*gcc) 94 TOOLCHAIN='gcc' 95 ;; 96 Xclang|X*clang) 97 TOOLCHAIN='clang' 98 ;; 99 Xcc) 100 if [[ "X$UNAME" = "XSunOS" ]] 101 then 102 TOOLCHAIN='workshop' 103 fi 104 ;; 105 Xcl|XCL) 106 TOOLCHAIN='msvc' 107 ;; 108esac 109 110dnl Find resource compiler depending on tool chain 111dnl ---------------------------------------------- 112if [[ "X$WINDRES" = "X:" -a "X$TOOLCHAIN" = "Xmsvc" ]] 113then 114 WINDRES='RC' 115elif [[ "X$WINDRES" = "X:" ]] 116then 117 WINDRES='@echo "ERROR: No windows resouce compiler available!"' 118fi 119 120dnl Current year 121dnl ============ 122THISYEAR=`date '+%Y'` 123 124dnl Compiler flags for extra warnings 125dnl ================================= 126 127dnl C and C++ compiler flags for gcc and clang 128dnl ------------------------------------------ 129 130dnl Extra warnings 131GCCWARNFLAGS="-Wall -Wextra" 132GCXXWARNFLAGS="-Wall -Wextra" 133 134dnl Overlong strings 135GCCWARNFLAGS="$GCCWARNFLAGS -Woverlength-strings" 136GCXXWARNFLAGS="$GCXXWARNFLAGS -Woverlength-strings" 137 138dnl If structures are padded there is nothing we can do 139dnl GCCWARNFLAGS="$GCCWARNFLAGS -Wpadded" 140dnl GCXXWARNFLAGS="$GCXXWARNFLAGS -Wpadded" 141 142dnl Redundant declarations 143GCCWARNFLAGS="$GCCWARNFLAGS -Wredundant-decls" 144GCXXWARNFLAGS="$GCXXWARNFLAGS -Wredundant-decls" 145 146dnl Suspicious logical operators in expressions 147GCCWARNFLAGS="$GCCWARNFLAGS -Wlogical-op" 148GCXXWARNFLAGS="$GCXXWARNFLAGS -Wlogical-op" 149 150dnl Functions returning entire structures (used by wxWidgets) 151GCCWARNFLAGS="$GCCWARNFLAGS -Waggregate-return" 152dnl GCXXWARNFLAGS="$GCXXWARNFLAGS -Waggregate-return" 153 154dnl Prototypes required before function use 155GCCWARNFLAGS="$GCCWARNFLAGS -Wstrict-prototypes" 156 157dnl Old style (K+R) function definition 158GCCWARNFLAGS="$GCCWARNFLAGS -old-style-definition" 159dnl GCXXWARNFLAGS="$GCXXWARNFLAGS -old-style-definition" 160 161dnl Prototype missing for global function 162GCCWARNFLAGS="$GCCWARNFLAGS -Wmissing-prototypes" 163 164dnl Global function defined without a previous prototype 165GCCWARNFLAGS="$GCCWARNFLAGS -Wmissing-declarations" 166GCXXWARNFLAGS="$GCXXWARNFLAGS -Wmissing-declarations" 167 168dnl "extern" definition in a function 169GCCWARNFLAGS="$GCCWARNFLAGS -Wnested-externs" 170 171dnl Unreachable code in program 172GCCWARNFLAGS="$GCCWARNFLAGS -Wunreachable-code" 173GCXXWARNFLAGS="$GCXXWARNFLAGS -Wunreachable-code" 174 175dnl Failed to inline a function 176GCCWARNFLAGS="$GCCWARNFLAGS -Winline" 177 178dnl Invalid PCH file found 179GCCWARNFLAGS="$GCCWARNFLAGS -Winvalid-pch" 180GCXXWARNFLAGS="$GCXXWARNFLAGS -Winvalid-pch" 181 182dnl Variable length array 183GCCWARNFLAGS="$GCCWARNFLAGS -Wvla" 184GCXXWARNFLAGS="$GCXXWARNFLAGS -Wvla" 185 186dnl Signed pointers 187GCCWARNFLAGS="$GCCWARNFLAGS -Wpointer-sign" 188 189dnl Stack protector can not handle some function 190GCCWARNFLAGS="$GCCWARNFLAGS -Wstack-protector" 191GCXXWARNFLAGS="$GCXXWARNFLAGS -Wstack-protector" 192 193 194 195 196dnl Output first summary before going into details 197dnl ============================================== 198 199dnl Show system information 200dnl ----------------------- 201AC_MSG_NOTICE([Options: $*]) 202AC_MSG_NOTICE([CC = $CC $WHICHCC]) 203AC_MSG_NOTICE([CXX = $CXX $WHICHCXX]) 204AC_MSG_NOTICE([CPPFLAGS: $CPPFLAGS]) 205AC_MSG_NOTICE([CFLAGS: $CFLAGS]) 206AC_MSG_NOTICE([LDFLAGS: $LDFLAGS]) 207AC_MSG_NOTICE([Building on: $BUILDHOST $BUILDCLASS]) 208AC_MSG_NOTICE([Building for: $TARGETHOST $TARGETCLASS]) 209AC_MSG_NOTICE([Cross build: $CROSSBUILD]) 210 211dnl Complain when pkg-config is missing for cross builds 212dnl ---------------------------------------------------- 213if [[ "X$PKG_CONFIG" = "X:" -a "X$CROSSBUILD" = "Xyes" ]] 214then 215 AC_MSG_WARN([Cross building, but no pkg-config available!]) 216fi 217 218dnl Package version information 219dnl =========================== 220VERSNO=`cat version.txt` 221SOVERS=`echo $VERSNO | sed -e 's/\.[[01-9]][[01-9]]*$//'` 222 223dnl Compiler and linker flags defaults 224dnl ================================== 225 226dnl C flags to compile a CLI module using char 227CFL_CLI_C8='$(CPPFLAGS) $(CFLAGS)' 228 229dnl C flags to compile a CLI module using dkChar 230CFL_CLI_DK='$(CPPFLAGS) $(CFLAGS)' 231 232dnl C++ flags to compile a CLI module using char 233CXXFL_CLI_C8='$(CPPFLAGS) $(CXXFLAGS)' 234 235dnl C++ flags to compile a CLI module using dkChar 236CXXFL_CLI_DK='$(CPPFLAGS) $(CXXFLAGS)' 237 238dnl C++ flags to compile a CLI module using wxChar 239CXXFL_CLI_WX='$(CPPFLAGS) $(CXXFLAGS)' 240 241dnl C++ flags to compile a GUI module using wxChar 242CXXFL_GUI='$(CPPFLAGS) $(CXXFLAGS)' 243 244dnl Linker flags to use CC to link a CLI program using char 245LDFLC_CLI_C8='$(CPPFLAGS) -L. $(LDFLAGS) $(RPATH) $(RPATHLINK)' 246 247dnl Linker flags to use CC to link a CLI program using dkChar 248LDFLC_CLI_DK='$(CPPFLAGS) -L. $(LDFLAGS) $(RPATH) $(RPATHLINK)' 249 250dnl Linker flags to use C++ to link a CLI program using char 251LDFLCXX_CLI_C8='$(CPPFLAGS) -L. $(LDFLAGS) $(RPATH) $(RPATHLINK)' 252 253dnl Linker flags to use C++ to link a CLI program using dkChar 254LDFLCXX_CLI_DK='$(CPPFLAGS) -L. $(LDFLAGS) $(RPATH) $(RPATHLINK)' 255 256dnl Linker flags to use C++ to link a CLI program using wxChar 257LDFLCXX_CLI_WX='$(CPPFLAGS) -L. $(LDFLAGS) $(RPATH) $(RPATHLINK)' 258 259dnl Linker flags to use C++ to link a GUI program using wxChar 260LDFLCXX_GUI='$(CPPFLAGS) -L. $(LDFLAGS) $(RPATH) $(RPATHLINK)' 261 262dnl Add RPATH to linker flags on Solaris when using workshop compiler 263RPATH='' 264RPATHLINK='' 265MKSORPATH='' 266MKSORPATHLINK='' 267MKSOCHECKSYMBOLS='' 268 269if [[ "X$LD_LIBRARY_PATH" != "X" -a "X$TOOLCHAIN" = "Xworkshop" ]] 270then 271 RPATH="-R${LD_LIBRARY_PATH}" 272fi 273 274dnl Options 275dnl ======= 276 277dnl Suite of programs (programs for rescue system, CLI progs, GUI progs) 278dnl -------------------------------------------------------------------- 279SUITE='auto' 280AC_ARG_WITH(suite,[AS_HELP_STRING([--with-suite],[Software suite to build (auto / gui / cli / rescue)])],[SUITE=$withval]) 281if [[ "X$SUITE" != "Xgui" -a "X$SUITE" != "Xcli" -a "X$SUITE" != "Xrescue" ]] 282then 283 SUITE='auto' 284fi 285 286dnl Directory for systemd service unit files 287dnl ---------------------------------------- 288FOUND_SYSTEMD='no' 289ENA_SYSTEMD='auto' 290systemddir='' 291AC_ARG_WITH(systemd,[AS_HELP_STRING([--with-systemd=DIR],[Directory for service unit files / yes / no])],[systemddir=$withval;FOUND_SYSTEMD='yes';ENA_SYSTEMD='yes']) 292if [[ "X$systemddir" = "Xyes" ]] 293then 294 ENA_SYSTEMD='yes' 295 FOUND_SYSTEMD='yes' 296 systemddir='' 297elif [[ "X$systemddir" = "Xno" ]] 298then 299 ENA_SYSTEMD='no' 300 FOUND_SYSTEMD='no' 301 systemddir='' 302fi 303 304dnl Compatibility for specific Windows version, Windows 7 is default 305dnl ---------------------------------------------------------------- 306WIN_VER_TEXT='auto' 307WINVER=0x0601 308AC_ARG_WITH(windows,[AS_HELP_STRING([--with-windows],[Compile for Windows version (7 / XP)])],[ 309WIN_VER_TEXT=$withval 310if [[ "X$TARGETCLASS" != "Xwindows" ]] 311then 312AC_MSG_WARN([Option --with-windows=... is for Windows builds only!]) 313fi 314]) 315case X$WIN_VER_TEXT in 316 X7) 317 WINVER=0x0601 318 ;; 319 XXP) 320 WINVER=0x0501 321 ;; 322 *) 323 WINVER=0x0601 324 ;; 325esac 326if [[ "X$TARGETCLASS" = "Xwindows" ]] 327then 328 CPPFLAGS="$CPPFLAGS -DWINVER=$WINVER -D_WIN32_WINNT=$WINVER" 329 CFLAGS="$CFLAGS -DWINVER=$WINVER -D_WIN32_WINNT=$WINVER" 330 CFL_CLI_C8="-DWINVER=$WINVER -D_WIN32_WINNT=$WINVER $CFL_CLI_C8" 331 CFL_CLI_DK="-DWINVER=$WINVER -D_WIN32_WINNT=$WINVER $CFL_CLI_DK" 332 CXXFL_CLI_C8="-DWINVER=$WINVER -D_WIN32_WINNT=$WINVER $CXXFL_CLI_C8" 333 CXXFL_CLI_DK="-DWINVER=$WINVER -D_WIN32_WINNT=$WINVER $CXXFL_CLI_DK" 334 CXXFL_CLI_WX="-DWINVER=$WINVER -D_WIN32_WINNT=$WINVER $CXXFL_CLI_WX" 335 CXXFL_GUI="-DWINVER=$WINVER -D_WIN32_WINNT=$WINVER $CXXFL_GUI" 336 LDFLC_CLI_C8="-DWINVER=$WINVER -D_WIN32_WINNT=$WINVER $LDFLC_CLI_C8" 337 LDFLC_CLI_DK="-DWINVER=$WINVER -D_WIN32_WINNT=$WINVER $LDFLC_CLI_DK" 338 LDFLCXX_CLI_C8="-DWINVER=$WINVER -D_WIN32_WINNT=$WINVER $LDFLCXX_CLI_C8" 339 LDFLCXX_CLI_DK="-DWINVER=$WINVER -D_WIN32_WINNT=$WINVER $LDFLCXX_CLI_DK" 340 LDFLCXX_CLI_WX="-DWINVER=$WINVER -D_WIN32_WINNT=$WINVER $LDFLCXX_CLI_WX" 341 LDFLCXX_GUI="-DWINVER=$WINVER -D_WIN32_WINNT=$WINVER $LDFLCXX_GUI" 342fi 343 344dnl Enable documentation installation 345dnl --------------------------------- 346ENA_DOCU='yes' 347AC_ARG_ENABLE(docu,[AS_HELP_STRING([--enable-docu],[Install documentation (yes / no)])],[ENA_DOCU=$enableval]) 348if [[ "X$ENA_DOCU" != "Xno" ]] 349then 350 ENA_DOCU='yes' 351fi 352 353dnl Enable developer support installation 354dnl ------------------------------------- 355ENA_DEVEL='no' 356AC_ARG_ENABLE(devel,[AS_HELP_STRING([--enable-devel],[Enable developer support (yes / no)])],[ENA_DEVEL=$enableval]) 357if [[ "X$ENA_DEVEL" != "Xno" ]] 358then 359 ENA_DEVEL='yes' 360fi 361 362dnl Enable static linking (auto, yes, no) 363dnl ------------------------------------- 364ENA_STATIC='auto' 365AC_ARG_ENABLE(static,[AS_HELP_STRING([--enable-static],[Build static libraries (yes / no)])],[ENA_STATIC=$enableval]) 366 367dnl Enable shared linking (auto, yes, no) 368dnl ------------------------------------- 369ENA_SHARED='auto' 370AC_ARG_ENABLE(shared,[AS_HELP_STRING([--enable-shared],[Build shared libraries (no / yes)])],[ENA_SHARED=$enableval]) 371 372if [[ "X$ENA_STATIC" != "Xyes" -a "X$ENA_STATIC" != "Xauto" ]] 373then 374 ENA_STATIC='no' 375fi 376if [[ "X$ENA_SHARED" != "Xyes" -a "X$ENA_SHARED" != "Xauto" ]] 377then 378 ENA_SHARED='no' 379fi 380 381dnl Enable package building 382dnl ----------------------- 383dnl When building a package, the executables are linked against 384dnl the shared libraries. 385ENA_PACKAGE='no' 386AC_ARG_ENABLE(packaging,[AS_HELP_STRING([--enable-packaging],[Build for package creation (no / yes)])],[ENA_PACKAGE=$enableval]) 387if [[ "X$ENA_PACKAGE" != "Xyes" ]] 388then 389 ENA_PACKAGE='no' 390fi 391 392dnl Enable linking shared libraries with other shared libraries 393dnl ----------------------------------------------------------- 394dnl NOTE 1: This does not work properly on all platforms. 395dnl NOTE 2: You should make sure the DK libraries are not yet 396dnl installed when building the shared libraries. 397ENA_SOSO='no' 398AC_ARG_ENABLE(link-so-so,[AS_HELP_STRING([--enable-link-so-so],[Link so libs with so libs (no / yes)])],[ENA_SOSO=$enableval]) 399if [[ "X$ENA_SOSO" != "Xyes" ]] 400then 401 ENA_SOSO='no' 402fi 403 404dnl Create RPATH entry for libdir in executables 405dnl -------------------------------------------- 406dnl NOTE: Normally this should not be necessary as on a reasonable 407dnl system the libdir is in the shared libraries search path. 408ENA_RPATH='no' 409AC_ARG_ENABLE(rpath,[AS_HELP_STRING([--enable-rpath],[Use -rpath when linking executables (no / yes)])],[ENA_RPATH=$enableval]) 410if [[ "X$ENA_RPATH" != "Xyes" ]] 411then 412 ENA_RPATH='no' 413fi 414 415dnl Enable installation of man pages (yes / no) 416dnl ------------------------------------------- 417dnl This option is for Debian package creation where man pages 418dnl installation is handled by package build scripts. 419ENA_MAN='yes' 420AC_ARG_ENABLE(man-pages,[AS_HELP_STRING([--enable-man-pages],[Install man pages (yes / no)])],[ENA_MAN=$enableval]) 421if [[ "X$ENA_MAN" != "Xno" ]] 422then 423 ENA_MAN='yes' 424fi 425 426dnl Enable debugging 427dnl ---------------- 428ENA_DEBUG='no' 429AC_ARG_ENABLE(debug,[AS_HELP_STRING([--enable-debug],[Allow debug information (no / yes)])],[ENA_DEBUG=$enableval]) 430if [[ "X$ENA_DEBUG" != "Xyes" ]] 431then 432 ENA_DEBUG='no' 433fi 434 435dnl Enable additional warnings 436dnl -------------------------- 437ENA_WARN='no' 438AC_ARG_ENABLE(warnings,[AS_HELP_STRING([--enable-warnings],[Enable additional warnings for gcc (yes / no)])],[ENA_WARN=$enableval]) 439if [[ "X$ENA_WARN" != "Xno" ]] 440then 441 ENA_WARN='yes' 442fi 443 444dnl Check whether to use extra compiler flags 445dnl ----------------------------------------- 446case X$TOOLCHAIN/X$ENA_WARN/X$ENA_DEBUG in 447 Xgcc/Xyes/*) 448 CFL_CLI_C8="$CFL_CLI_C8 $GCCWARNFLAGS" 449 CFL_CLI_DK="$CFL_CLI_DK $GCCWARNFLAGS" 450 CXXFL_CLI_C8="$CXXFL_CLI_C8 $GCXXWARNFLAGS" 451 CXXFL_CLI_DK="$CXXFL_CLI_DK $GCXXWARNFLAGS" 452 CXXFL_CLI_WX="$CXXFL_CLI_WX $GCXXWARNFLAGS" 453 CXXFL_GUI="$CXXFL_GUI $GCXXWARNFLAGS" 454 ;; 455 Xgcc/*/Xyes) 456 CFL_CLI_C8="$CFL_CLI_C8 $GCCWARNFLAGS" 457 CFL_CLI_DK="$CFL_CLI_DK $GCCWARNFLAGS" 458 CXXFL_CLI_C8="$CXXFL_CLI_C8 $GCXXWARNFLAGS" 459 CXXFL_CLI_DK="$CXXFL_CLI_DK $GCXXWARNFLAGS" 460 CXXFL_CLI_WX="$CXXFL_CLI_WX $GCXXWARNFLAGS" 461 CXXFL_GUI="$CXXFL_GUI $GCXXWARNFLAGS" 462 ;; 463 Xclang/Xyes/*) 464 CFL_CLI_C8="$CFL_CLI_C8 $GCCWARNFLAGS" 465 CFL_CLI_DK="$CFL_CLI_DK $GCCWARNFLAGS" 466 CXXFL_CLI_C8="$CXXFL_CLI_C8 $GCXXWARNFLAGS" 467 CXXFL_CLI_DK="$CXXFL_CLI_DK $GCXXWARNFLAGS" 468 CXXFL_CLI_WX="$CXXFL_CLI_WX $GCXXWARNFLAGS" 469 CXXFL_GUI="$CXXFL_GUI $GCXXWARNFLAGS" 470 ;; 471 Xclang/*/Xyes) 472 CFL_CLI_C8="$CFL_CLI_C8 $GCCWARNFLAGS" 473 CFL_CLI_DK="$CFL_CLI_DK $GCCWARNFLAGS" 474 CXXFL_CLI_C8="$CXXFL_CLI_C8 $GCXXWARNFLAGS" 475 CXXFL_CLI_DK="$CXXFL_CLI_DK $GCXXWARNFLAGS" 476 CXXFL_CLI_WX="$CXXFL_CLI_WX $GCXXWARNFLAGS" 477 CXXFL_GUI="$CXXFL_GUI $GCXXWARNFLAGS" 478 ;; 479esac 480 481 482 483 484dnl Enable assertions 485dnl ----------------- 486dnl Assertions should be turned on when using the clang static 487dnl analyzer. 488ENA_ASSERT='no' 489AC_ARG_ENABLE(assert,[AS_HELP_STRING([--enable-assert],[Use assertions (no / yes)])],[ENA_ASSERT=$enableval]) 490if [[ "X$ENA_ASSERT" != "Xyes" ]] 491then 492 ENA_ASSERT='no' 493fi 494 495dnl Enable corrections on old SunOS versions 496dnl ---------------------------------------- 497dnl Normal users should not need these corrections. 498ENA_SUNOS_CORR='no' 499AC_ARG_ENABLE(corrections,[AS_HELP_STRING([--enable-corrections],[Corrections for Solaris (no / yes)])],[ENA_SUNOS_CORR=$enableval]) 500if [[ "X$ENA_SUNOS_CORR" != "Xyes" ]] 501then 502 ENA_SUNOS_CORR='no' 503fi 504 505dnl Enable use of fallback values for numeric limits if not defined 506dnl --------------------------------------------------------------- 507ENA_FALLBACK='no' 508AC_ARG_ENABLE(fallback,[AS_HELP_STRING([--enable-fallback],[Enable fallback values for num limits (no / yes)])],[ENA_FALLBACK=$enableval]) 509if [[ "X$ENA_FALLBACK" != "Xno" ]] 510then 511 AC_DEFINE([USE_FALLBACK_NUMERIC_LIMITS],[1],[Allow numeric fallback limits]) 512fi 513 514dnl For some modules - but not for all - we could disable use of 515dnl printf / scanf function families. 516dnl Some modules would be able to compile, but not the entire 517dnl suite of programs. 518dnl So the choice option was removed, printf and scanf are always allowed. 519dnl ---------------------------------------------------------------------- 520AC_DEFINE([USE_PRINTF_SCANF],[1],[Use of printf/scanf allowed]) 521 522AC_MSG_NOTICE([DEBUG pkg=$ENA_PACKAGE static=$ENA_STATIC shared=$ENA_SHARED]) 523 524dnl Decide for static and/or shared linking 525dnl --------------------------------------- 526case X$ENA_PACKAGE/X$ENA_STATIC/X$ENA_SHARED in 527 Xno/Xno/Xno) 528 ENA_STATIC='yes' 529 ENA_SHARED='no' 530 AC_MSG_WARN([Static linking enabled]) 531 ;; 532 Xno/Xno/Xauto) 533 ENA_STATIC='no' 534 ENA_SHARED='yes' 535 ;; 536 Xno/Xno/Xyes) 537 ENA_STATIC='no' 538 ENA_SHARED='yes' 539 ;; 540 Xno/Xauto/Xno) 541 ENA_STATIC='yes' 542 ENA_SHARED='no' 543 ;; 544 Xno/Xauto/Xauto) 545 ENA_STATIC='yes' 546 ENA_SHARED='no' 547 ;; 548 Xno/Xauto/Xyes) 549 ENA_STATIC='no' 550 ENA_SHARED='yes' 551 ;; 552 Xno/Xyes/Xno) 553 ENA_STATIC='yes' 554 ENA_SHARED='no' 555 ;; 556 Xno/Xyes/Xauto) 557 ENA_STATIC='yes' 558 ENA_SHARED='no' 559 ;; 560 Xno/Xyes/Xyes) 561 ENA_STATIC='yes' 562 ENA_SHARED='yes' 563 ;; 564 Xyes/Xno/Xno) 565 ENA_STATIC='no' 566 ENA_SHARED='yes' 567 AC_MSG_WARN([Shared linking enabled]) 568 ;; 569 Xyes/Xno/Xauto) 570 ENA_STATIC='no' 571 ENA_SHARED='yes' 572 ;; 573 Xyes/Xno/Xyes) 574 ENA_STATIC='no' 575 ENA_SHARED='yes' 576 ;; 577 Xyes/Xauto/Xno) 578 ENA_STATIC='no' 579 ENA_SHARED='yes' 580 AC_MSG_WARN([Shared linking enabled]) 581 ;; 582 Xyes/Xauto/Xauto) 583 ENA_STATIC='no' 584 ENA_SHARED='yes' 585 ;; 586 Xyes/Xauto/Xyes) 587 ENA_STATIC='no' 588 ENA_SHARED='yes' 589 ;; 590 Xyes/Xyes/Xno) 591 ENA_STATIC='yes' 592 ENA_SHARED='yes' 593 AC_MSG_WARN([Shared linking enabled]) 594 ;; 595 Xyes/Xyes/Xauto) 596 ENA_STATIC='yes' 597 ENA_SHARED='yes' 598 ;; 599 Xyes/Xyes/Xyes) 600 ENA_STATIC='yes' 601 ENA_SHARED='yes' 602 ;; 603esac 604 605AC_MSG_NOTICE([DEBUG pkg=$ENA_PACKAGE static=$ENA_STATIC shared=$ENA_SHARED]) 606 607dnl File suffixes 608dnl ============= 609 610dnl Executable file to produce (.exe on Windows, none on other systems) 611dnl ------------------------------------------------------------------- 612EXEEXT='' 613if [[ "X$TARGETCLASS" = "Xwindows" ]] 614then 615 EXEEXT='.exe' 616fi 617 618dnl Object files 619dnl ------------ 620OBJEXT='o' 621if [[ "X$TOOLCHAIN" = "Xmsvc" ]] 622then 623 OBJEXT='obj' 624fi 625 626dnl Resource source files and resource files 627dnl ---------------------------------------- 628RCEXT='rc' 629RESEXT='o' 630RESCRULE='echo "ERROR: No resource compiler available!"' 631RCFLAGS='-I. -D_UNICODE=1 -DUNICODE=1 -Iresources/gui-img/icons' 632 633SRCIDIRS='-I. -Isrc -Iresources -I$(srcdir) -I$(top_srcdir) -I$(includedir)' 634 635if [[ "X$TOOLCHAIN" = "Xmsvc" ]] 636then 637 RESEXT='res' 638fi 639if [[ "X$TOOLCHAIN" = "Xgcc" -o "X$TOOLCHAIN" = "Xclang" ]] 640then 641 RESCRULE='$(RC) $(RCFLAGS) $< $@' 642elif [[ "X$TOOLCHAIN" = "Xmsvc" ]] 643then 644 RESCRULE='$(RC) $(RCFLAGS) -out:$@ $<' 645fi 646 647 648 649dnl FEATURE TESTS START 650 651dnl Headers 652dnl ======= 653 654dnl Standard headers mentioned in C coding standard 655dnl ----------------------------------------------- 656AC_HEADER_CHECK(complex.h, AC_DEFINE([HAVE_COMPLEX_H],[1],[complex.h header found])) 657AC_HEADER_CHECK(ctype.h, AC_DEFINE([HAVE_CTYPE_H],[1],[ctype.h header found])) 658AC_HEADER_CHECK(fenv.h, AC_DEFINE([HAVE_FENV_H],[1],[fenv.h header found])) 659AC_HEADER_CHECK(float.h, AC_DEFINE([HAVE_FLOAT_H],[1],[float.h header found])) 660AC_HEADER_CHECK(inttypes.h, AC_DEFINE([HAVE_INTTYPES_H],[1],[function found])) 661AC_HEADER_CHECK(iso646.h, AC_DEFINE([HAVE_ISO646_H],[1],[function found])) 662AC_HEADER_CHECK(limits.h, AC_DEFINE([HAVE_LIMITS_H],[1],[function found])) 663AC_HEADER_CHECK(locale.h, AC_DEFINE([HAVE_LOCALE_H],[1],[function found])) 664AC_HEADER_CHECK(math.h, AC_DEFINE([HAVE_MATH_H],[1],[function found])) 665AC_HEADER_CHECK(setjmp.h, AC_DEFINE([HAVE_SETJMP_H],[1],[function found])) 666AC_HEADER_CHECK(signal.h, AC_DEFINE([HAVE_SIGNAL_H],[1],[function found])) 667AC_HEADER_CHECK(stdalign.h, AC_DEFINE([HAVE_STDALIGN_H],[1],[function found])) 668AC_HEADER_CHECK(stdarg.h, AC_DEFINE([HAVE_STDARG_H],[1],[function found])) 669AC_HEADER_CHECK(stdatomic.h, AC_DEFINE([HAVE_STDATOMIC_H],[1],[function found])) 670AC_HEADER_CHECK(stdbool.h, AC_DEFINE([HAVE_STDBOOL_H],[1],[function found])) 671AC_HEADER_CHECK(stddef.h, AC_DEFINE([HAVE_STDDEF_H],[1],[function found])) 672AC_HEADER_CHECK(stdint.h, AC_DEFINE([HAVE_STDINT_H],[1],[function found])) 673AC_HEADER_CHECK(stdlib.h, AC_DEFINE([HAVE_STDLIB_H],[1],[function found])) 674AC_HEADER_CHECK(sysexits.h, AC_DEFINE([HAVE_SYSEXITS_H],[1],[function found])) 675AC_HEADER_CHECK(stdnoreturn.h, AC_DEFINE([HAVE_STDNORETURN_H],[1],[function found])) 676AC_HEADER_CHECK(string.h, AC_DEFINE([HAVE_STRING_H],[1],[function found])) 677AC_HEADER_CHECK(tgmath.h, AC_DEFINE([HAVE_TGMATH_H],[1],[function found])) 678AC_HEADER_CHECK(threads.h, AC_DEFINE([HAVE_THREADS_H],[1],[function found])) 679AC_HEADER_CHECK(time.h, AC_DEFINE([HAVE_TIME_H],[1],[function found])) 680AC_HEADER_CHECK(uchar.h, AC_DEFINE([HAVE_UCHAR_H],[1],[function found])) 681AC_HEADER_CHECK(wchar.h, AC_DEFINE([HAVE_WCHAR_H],[1],[function found])) 682AC_HEADER_CHECK(wctype.h, AC_DEFINE([HAVE_WCTYPE_H],[1],[function found])) 683AC_HEADER_CHECK(errno.h, AC_DEFINE([HAVE_ERRNO_H],[1],[function found])) 684FOUND_ASSERT_H='no' 685AC_HEADER_CHECK(assert.h, [FOUND_ASSERT_H='yes';AC_DEFINE([HAVE_ASSERT_H],[1],[function found])]) 686if [[ "X$FOUND_ASSERT_H" = "Xno" -a "X$ENA_ASSERT" = "Xyes" ]] 687then 688 AC_MSG_WARN([Assertions enabled but assert.h not found!]) 689elif [[ "X$ENA_ASSERT" = "Xyes" ]] 690then 691 CFLAGS="$CFLAGS -DDK4_USE_ASSERT=1" 692 CFL_CLI_C8="$CFL_CLI_C8 -DDK4_USE_ASSERT=1" 693 CFL_CLI_DK="$CFL_CLI_DK -DDK4_USE_ASSERT=1" 694 CXXFL_CLI_C8="$CXXFL_CLI_C8 -DDK4_USE_ASSERT=1" 695 CXXFL_CLI_DK="$CXXFL_CLI_DK -DDK4_USE_ASSERT=1" 696 CXXFL_CLI_WX="$CXXFL_CLI_WX -DDK4_USE_ASSERT=1" 697 CXXFL_GUI="$CXXFL_GUI -DDK4_USE_ASSERT=1" 698fi 699 700dnl Further headers 701dnl --------------- 702AC_HEADER_CHECK(sys/types.h, AC_DEFINE([HAVE_SYS_TYPES_H],[1],[function found])) 703AC_HEADER_CHECK(sys/param.h, AC_DEFINE([HAVE_SYS_PARAM_H],[1],[function found])) 704AC_HEADER_CHECK(sys/stat.h, AC_DEFINE([HAVE_SYS_STAT_H],[1],[function found])) 705AC_HEADER_CHECK(sys/time.h, AC_DEFINE([HAVE_SYS_TIME_H],[1],[function found])) 706AC_HEADER_CHECK(sys/socket.h, AC_DEFINE([HAVE_SYS_SOCKET_H],[1],[function found])) 707AC_HEADER_CHECK(sys/select.h, AC_DEFINE([HAVE_SYS_SELECT_H],[1],[function found])) 708AC_HEADER_CHECK(sys/un.h, AC_DEFINE([HAVE_SYS_UN_H],[1],[function found])) 709AC_HEADER_CHECK(netinet/in.h, AC_DEFINE([HAVE_NETINET_IN_H],[1],[function found])) 710AC_HEADER_CHECK(netinet/in6.h, AC_DEFINE([HAVE_NETINET_IN6_H],[1],[function found])) 711AC_HEADER_CHECK(netdb.h, AC_DEFINE([HAVE_NETDB_H],[1],[function found])) 712AC_HEADER_CHECK(arpa/inet.h, AC_DEFINE([HAVE_ARPA_INET_H],[1],[function found])) 713AC_HEADER_CHECK(winsock2.h, AC_DEFINE([HAVE_WINSOCK2_H],[1],[function found])) 714AC_HEADER_CHECK(ws2tcpip.h, AC_DEFINE([HAVE_WS2TCPIP_H],[1],[function found])) 715AC_HEADER_CHECK(windows.h, AC_DEFINE([HAVE_WINDOWS_H],[1],[function found])) 716AC_HEADER_CHECK(unistd.h, AC_DEFINE([HAVE_UNISTD_H],[1],[function found])) 717AC_HEADER_CHECK(process.h, AC_DEFINE([HAVE_PROCESS_H],[1],[function found])) 718AC_HEADER_CHECK(fcntl.h, AC_DEFINE([HAVE_FCNTL_H],[1],[function found])) 719AC_HEADER_CHECK(share.h, AC_DEFINE([HAVE_SHARE_H],[1],[function found])) 720AC_HEADER_CHECK(pwd.h, AC_DEFINE([HAVE_PWD_H],[1],[function found])) 721AC_HEADER_CHECK(memory.h, AC_DEFINE([HAVE_MEMORY_H],[1],[function found])) 722AC_HEADER_CHECK(strings.h, AC_DEFINE([HAVE_STRINGS_H],[1],[function found])) 723AC_HEADER_CHECK(io.h, AC_DEFINE([HAVE_IO_H],[1],[function found])) 724AC_HEADER_CHECK(bios.h, AC_DEFINE([HAVE_BIOS_H],[1],[function found])) 725AC_HEADER_CHECK(search.h, AC_DEFINE([HAVE_SEARCH_H],[1],[function found])) 726AC_HEADER_CHECK(dos.h, AC_DEFINE([HAVE_DOS_H],[1],[function found])) 727AC_HEADER_CHECK(alloc.h, AC_DEFINE([HAVE_ALLOC_H],[1],[function found])) 728AC_HEADER_CHECK(malloc.h, AC_DEFINE([HAVE_MALLOC_H],[1],[function found])) 729AC_HEADER_CHECK(dirent.h, AC_DEFINE([HAVE_DIRENT_H],[1],[function found])) 730AC_HEADER_CHECK(direct.h, AC_DEFINE([HAVE_DIRECT_H],[1],[function found])) 731AC_HEADER_CHECK(stdio.h, AC_DEFINE([HAVE_STDIO_H],[1],[function found])) 732AC_HEADER_CHECK(conio.h, AC_DEFINE([HAVE_CONIO_H],[1],[function found])) 733AC_HEADER_CHECK(grp.h, AC_DEFINE([HAVE_GRP_H],[1],[function found])) 734AC_HEADER_CHECK(dir.h, AC_DEFINE([HAVE_DIR_H],[1],[function found])) 735AC_HEADER_CHECK(err.h, AC_DEFINE([HAVE_ERR_H],[1],[function found])) 736AC_HEADER_CHECK(shadow.h, AC_DEFINE([HAVE_SHADOW_H],[1],[function found])) 737AC_HEADER_CHECK(stropts.h, AC_DEFINE([HAVE_STROPTS_H],[1],[function found])) 738AC_HEADER_CHECK(syslog.h, AC_DEFINE([HAVE_SYSLOG_H],[1],[function found])) 739AC_HEADER_CHECK(sysres.h, AC_DEFINE([HAVE_SYSRES_H],[1],[function found])) 740AC_HEADER_CHECK(termios.h, AC_DEFINE([HAVE_TERMIOS_H],[1],[function found])) 741AC_HEADER_CHECK(vararg.h, AC_DEFINE([HAVE_VARARG_H],[1],[function found])) 742AC_HEADER_CHECK(varargs.h, AC_DEFINE([HAVE_VARARGS_H],[1],[function found])) 743AC_HEADER_CHECK(ntifs.h, AC_DEFINE([HAVE_NTIFS_H],[1],[function found])) 744AC_HEADER_CHECK(sys/file.h, AC_DEFINE([HAVE_SYS_FILE_H],[1],[function found])) 745AC_HEADER_CHECK(sys/resource.h, AC_DEFINE([HAVE_SYS_RESOURCE_H],[1],[function found])) 746AC_HEADER_CHECK(sys/statvfs.h, AC_DEFINE([HAVE_SYS_STATVFS_H],[1],[function found])) 747AC_HEADER_CHECK(sys/stropts.h, AC_DEFINE([HAVE_SYS_STROPTS_H],[1],[function found])) 748AC_HEADER_CHECK(sys/sunddi.h, AC_DEFINE([HAVE_SYS_SUNDDI_H],[1],[function found])) 749AC_HEADER_CHECK(sys/sysctl.h, AC_DEFINE([HAVE_SYS_SYSCTL_H],[1],[function found])) 750AC_HEADER_CHECK(sys/systeminfo.h, AC_DEFINE([HAVE_SYS_SYSTEMINFO_H],[1],[function found])) 751AC_HEADER_CHECK(sys/termios.h, AC_DEFINE([HAVE_SYS_TERMIOS_H],[1],[function found])) 752AC_HEADER_CHECK(sys/ttold.h, AC_DEFINE([HAVE_SYS_TTOLD_H],[1],[function found])) 753AC_HEADER_CHECK(sys/uio.h, AC_DEFINE([HAVE_SYS_UIO_H],[1],[function found])) 754AC_HEADER_CHECK(sys/wait.h,AC_DEFINE([HAVE_SYS_WAIT_H],[1],[function found])) 755AC_HEADER_CHECK(lprng.h, AC_DEFINE([HAVE_LPRNG_H],[1],[function found])) 756AC_HEADER_CHECK(pthread.h, [PTHREADLIB='-lpthread';AC_DEFINE([HAVE_PTHREAD_H],[1],[function found])]) 757 758dnl Time headers, use both 759dnl ---------------------- 760AC_HEADER_TIME 761 762dnl Windows headers 763dnl --------------- 764AC_HEADER_CHECK(winbase.h,[AC_DEFINE([HAVE_WINBASE_H],[1],[function found])],[],[ 765#if HAVE_WINDOWS_H 766#include <windows.h> 767#endif 768]) 769AC_HEADER_CHECK(winreg.h,[AC_DEFINE([HAVE_WINREG_H],[1],[function found])],[],[ 770#if HAVE_WINDOWS_H 771#include <windows.h> 772#endif 773#if HAVE_WINBASE_H 774#include <winbase.h> 775#endif 776]) 777AC_HEADER_CHECK(wincon.h,[AC_DEFINE([HAVE_WINCON_H],[1],[function found])],[],[ 778#if HAVE_WINDOWS_H 779#include <windows.h> 780#endif 781#if HAVE_WINBASE_H 782#include <winbase.h> 783#endif 784]) 785 786dnl Compression libraries (zlib and bzip2) 787dnl -------------------------------------- 788FOUND_ZLIB='no' 789AC_HEADER_CHECK(zlib.h, [ZLIB='-lz';FOUND_ZLIB='yes';AC_DEFINE([HAVE_ZLIB_H],[1],[function found])]) 790FOUND_BZLIB='no' 791AC_HEADER_CHECK(bzlib.h, [BZLIB='-lbz2';FOUND_BZLIB='yes';AC_DEFINE([HAVE_BZLIB_H],[1],[function found])]) 792 793dnl OpenSSL Random number generation and message digests. 794dnl ----------------------------------------------------- 795FOUND_OPENSSL='no' 796CRYPTO='' 797AC_HEADER_CHECK(openssl/rand.h, [ 798FOUND_OPENSSL='yes' 799CRYPTO='-lcrypto' 800PRG_CLI_SSL='$(PRG_CLI_SSL)' 801MAN_CLI_SSL='$(MAN_CLI_SSL)' 802RES_CLI_SSL='$(RES_CLI_SSL)' 803PRG_GUI_SSL='$(PRG_GUI_SSL)' 804MAN_GUI_SSL='$(MAN_GUI_SSL)' 805RES_GUI_SSL='$(RES_GUI_SSL)' 806AC_DEFINE([HAVE_OPENSSL_RAND_H],[1],[function found]) 807]) 808AC_HEADER_CHECK(openssl/md5.h, [AC_DEFINE([HAVE_OPENSSL_MD5_H],[1],[function found])]) 809AC_HEADER_CHECK(openssl/sha.h, [AC_DEFINE([HAVE_OPENSSL_SHA_H],[1],[function found])]) 810AC_HEADER_CHECK(openssl/ripemd.h, [AC_DEFINE([HAVE_OPENSSL_RIPEMD_H],[1],[function found])]) 811AC_CHECK_LIB(crypto, SHA224_Init,AC_DEFINE([HAVE_SHA224],[1],[function found])) 812AC_CHECK_LIB(crypto, SHA256_Init,AC_DEFINE([HAVE_SHA256],[1],[function found])) 813AC_CHECK_LIB(crypto, SHA384_Init,AC_DEFINE([HAVE_SHA384],[1],[function found])) 814AC_CHECK_LIB(crypto, SHA512_Init,AC_DEFINE([HAVE_SHA512],[1],[function found])) 815 816dnl Data types 817dnl ========== 818 819dnl Data type long long 820dnl ------------------- 821AC_MSG_CHECKING([long long]) 822AC_TRY_COMPILE([ 823#include <stdio.h> 824],[ 825 long long l; 826 l = (long long)0L; 827],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_LONG_LONG],[1],[function found])],[AC_MSG_RESULT(no)]) 828 829dnl Data type long double 830dnl --------------------- 831AC_MSG_CHECKING([long double]) 832AC_TRY_COMPILE([ 833#include <stdio.h> 834#include <math.h> 835],[ 836 long double l; 837 l = (long double)0.0; 838],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_LONG_DOUBLE],[1],[function found])],[AC_MSG_RESULT(no)]) 839DOINTMAXSIZECHECK='no' 840 841dnl Data type intmax_t 842dnl ------------------ 843AC_MSG_CHECKING(intmax_t) 844AC_TRY_COMPILE([ 845#include <stdio.h> 846#if HAVE_STDINT_H 847#include <stdint.h> 848#endif 849#if HAVE_INTTYPES_H 850#include <inttypes.h> 851#endif 852],[ 853intmax_t im; 854],[DOINTMAXSIZECHECK='yes';AC_MSG_RESULT(yes);AC_DEFINE([HAVE_INTMAX_T],[1],[function found])],[AC_MSG_RESULT(no)]) 855 856dnl Data type sig_atomic_t 857dnl ---------------------- 858AC_MSG_CHECKING(sig_atomic_t) 859AC_TRY_COMPILE([ 860#include <sys/types.h> 861#include <signal.h> 862],[ 863sig_atomic_t sat; 864],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_SIG_ATOMIC_T],[1],[function found])],[AC_MSG_RESULT(no)]) 865 866dnl Data type ssize_t 867dnl ----------------- 868AC_MSG_CHECKING(ssize_t) 869AC_TRY_COMPILE([ 870#if HAVE_STDLIB_H 871#include <stdlib.h> 872#endif 873#if HAVE_SYS_TYPES_H 874#include <sys/types.h> 875#endif 876],[ 877 ssize_t sz; 878],[ 879AC_MSG_RESULT(yes) 880AC_DEFINE([HAVE_SSIZE_T],[1],[function found]) 881],[AC_MSG_RESULT(no)]) 882 883dnl Data type int8_t 884dnl ---------------- 885AC_MSG_CHECKING(int8_t) 886AC_TRY_COMPILE([ 887#if HAVE_STDLIB_H 888#include <stdlib.h> 889#endif 890#if HAVE_SYS_TYPES_H 891#include <sys/types.h> 892#endif 893#if HAVE_STDINT_H 894#include <stdint.h> 895#endif 896],[ 897int8_t i8 = 0; 898],[ 899AC_MSG_RESULT(yes) 900AC_DEFINE([HAVE_INT8_T],[1],[function found]) 901],[AC_MSG_RESULT(no)]) 902 903dnl Data type int16_t 904dnl ----------------- 905AC_MSG_CHECKING(int16_t) 906AC_TRY_COMPILE([ 907#if HAVE_STDLIB_H 908#include <stdlib.h> 909#endif 910#if HAVE_SYS_TYPES_H 911#include <sys/types.h> 912#endif 913#if HAVE_STDINT_H 914#include <stdint.h> 915#endif 916],[ 917int16_t i16 = 0; 918],[ 919AC_MSG_RESULT(yes) 920AC_DEFINE([HAVE_INT16_T],[1],[function found]) 921],[AC_MSG_RESULT(no)]) 922 923dnl Data type int32_t 924dnl ----------------- 925AC_MSG_CHECKING(int32_t) 926AC_TRY_COMPILE([ 927#if HAVE_STDLIB_H 928#include <stdlib.h> 929#endif 930#if HAVE_SYS_TYPES_H 931#include <sys/types.h> 932#endif 933#if HAVE_STDINT_H 934#include <stdint.h> 935#endif 936],[ 937int32_t i32 = 0; 938],[ 939AC_MSG_RESULT(yes) 940AC_DEFINE([HAVE_INT32_T],[1],[function found]) 941],[AC_MSG_RESULT(no)]) 942 943dnl Data type uint8_t 944dnl ----------------- 945AC_MSG_CHECKING(uint8_t) 946AC_TRY_COMPILE([ 947#if HAVE_STDLIB_H 948#include <stdlib.h> 949#endif 950#if HAVE_SYS_TYPES_H 951#include <sys/types.h> 952#endif 953#if HAVE_STDINT_H 954#include <stdint.h> 955#endif 956],[ 957 uint8_t sz; 958],[ 959AC_MSG_RESULT(yes) 960AC_DEFINE([HAVE_UINT8_T],[1],[function found]) 961],[AC_MSG_RESULT(no)]) 962 963dnl Data type uint16_t 964dnl ------------------ 965AC_MSG_CHECKING(uint16_t) 966AC_TRY_COMPILE([ 967#if HAVE_STDLIB_H 968#include <stdlib.h> 969#endif 970#if HAVE_SYS_TYPES_H 971#include <sys/types.h> 972#endif 973#if HAVE_STDINT_H 974#include <stdint.h> 975#endif 976],[ 977 uint16_t sz; 978],[ 979AC_MSG_RESULT(yes) 980AC_DEFINE([HAVE_UINT16_T],[1],[function found]) 981],[AC_MSG_RESULT(no)]) 982 983dnl Data type uint32_t 984dnl ------------------ 985AC_MSG_CHECKING(uint32_t) 986AC_TRY_COMPILE([ 987#if HAVE_STDLIB_H 988#include <stdlib.h> 989#endif 990#if HAVE_SYS_TYPES_H 991#include <sys/types.h> 992#endif 993#if HAVE_STDINT_H 994#include <stdint.h> 995#endif 996],[ 997 uint32_t sz; 998],[ 999AC_MSG_RESULT(yes) 1000AC_DEFINE([HAVE_UINT32_T],[1],[function found]) 1001],[AC_MSG_RESULT(no)]) 1002 1003dnl Data type dev_t 1004dnl --------------- 1005AC_MSG_CHECKING(dev_t) 1006AC_TRY_COMPILE([ 1007#include <stdio.h> 1008#include <stdlib.h> 1009#if HAVE_SYS_TYPES_H 1010#include <sys/types.h> 1011#endif 1012#if HAVE_SYS_STAT_H 1013#include <sys/stat.h> 1014#endif 1015#if HAVE_UNISTD_H 1016#include <unistd.h> 1017#endif 1018],[ 1019 dev_t devno; 1020],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_DEV_T],[1],[function found])],[AC_MSG_RESULT(no)]) 1021 1022dnl Data type _dev_t 1023dnl ---------------- 1024AC_MSG_CHECKING(_dev_t) 1025AC_TRY_COMPILE([ 1026#include <stdio.h> 1027#include <stdlib.h> 1028#if HAVE_SYS_TYPES_H 1029#include <sys/types.h> 1030#endif 1031#if HAVE_SYS_STAT_H 1032#include <sys/stat.h> 1033#endif 1034#if HAVE_UNISTD_H 1035#include <unistd.h> 1036#endif 1037],[ 1038 _dev_t devno; 1039],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE__DEV_T],[1],[function found])],[AC_MSG_RESULT(no)]) 1040 1041dnl Data type ino_t 1042dnl --------------- 1043AC_MSG_CHECKING(ino_t) 1044AC_TRY_COMPILE([ 1045#include <stdio.h> 1046#include <stdlib.h> 1047#if HAVE_SYS_TYPES_H 1048#include <sys/types.h> 1049#endif 1050#if HAVE_SYS_STAT_H 1051#include <sys/stat.h> 1052#endif 1053#if HAVE_UNISTD_H 1054#include <unistd.h> 1055#endif 1056],[ 1057 ino_t devno; 1058],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_INO_T],[1],[function found])],[AC_MSG_RESULT(no)]) 1059 1060dnl Data type _ino_t 1061dnl ---------------- 1062AC_MSG_CHECKING(_ino_t) 1063AC_TRY_COMPILE([ 1064#include <stdio.h> 1065#include <stdlib.h> 1066#if HAVE_SYS_TYPES_H 1067#include <sys/types.h> 1068#endif 1069#if HAVE_SYS_STAT_H 1070#include <sys/stat.h> 1071#endif 1072#if HAVE_UNISTD_H 1073#include <unistd.h> 1074#endif 1075],[ 1076 _ino_t devno; 1077],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE__INO_T],[1],[function found])],[AC_MSG_RESULT(no)]) 1078 1079dnl Data type ino64_t 1080dnl ----------------- 1081AC_MSG_CHECKING(ino64_t) 1082AC_TRY_COMPILE([ 1083#define _LARGEFILE64_SOURCE 1 1084#include <stdio.h> 1085#include <stdlib.h> 1086#if HAVE_SYS_TYPES_H 1087#include <sys/types.h> 1088#endif 1089#if HAVE_SYS_STAT_H 1090#include <sys/stat.h> 1091#endif 1092#if HAVE_UNISTD_H 1093#include <unistd.h> 1094#endif 1095],[ 1096 ino64_t devno; 1097],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_INO64_T],[1],[function found])],[AC_MSG_RESULT(no)]) 1098 1099dnl Data type mode_t 1100dnl ---------------- 1101AC_MSG_CHECKING(mode_t) 1102AC_TRY_COMPILE([ 1103#include <stdio.h> 1104#include <stdlib.h> 1105#if HAVE_SYS_TYPES_H 1106#include <sys/types.h> 1107#endif 1108#if HAVE_SYS_STAT_H 1109#include <sys/stat.h> 1110#endif 1111#if HAVE_UNISTD_H 1112#include <unistd.h> 1113#endif 1114],[ 1115 mode_t devno; 1116],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_MODE_T],[1],[function found])],[AC_MSG_RESULT(no)]) 1117 1118dnl Data type nlink_t 1119dnl ----------------- 1120AC_MSG_CHECKING(nlink_t) 1121AC_TRY_COMPILE([ 1122#include <stdio.h> 1123#include <stdlib.h> 1124#if HAVE_SYS_TYPES_H 1125#include <sys/types.h> 1126#endif 1127#if HAVE_SYS_STAT_H 1128#include <sys/stat.h> 1129#endif 1130#if HAVE_UNISTD_H 1131#include <unistd.h> 1132#endif 1133],[ 1134 nlink_t devno; 1135],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_NLINK_T],[1],[function found])],[AC_MSG_RESULT(no)]) 1136 1137dnl Data type off_t 1138dnl --------------- 1139AC_MSG_CHECKING(off_t) 1140AC_TRY_COMPILE([ 1141#include <stdio.h> 1142#include <stdlib.h> 1143#if HAVE_SYS_TYPES_H 1144#include <sys/types.h> 1145#endif 1146#if HAVE_SYS_STAT_H 1147#include <sys/stat.h> 1148#endif 1149#if HAVE_UNISTD_H 1150#include <unistd.h> 1151#endif 1152],[ 1153 off_t devno; 1154],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_OFF_T],[1],[function found])],[AC_MSG_RESULT(no)]) 1155 1156dnl Data type off64_t 1157dnl ----------------- 1158AC_MSG_CHECKING(off64_t) 1159AC_TRY_COMPILE([ 1160#define _LARGEFILE64_SOURCE 1 1161#include <stdio.h> 1162#include <stdlib.h> 1163#if HAVE_SYS_TYPES_H 1164#include <sys/types.h> 1165#endif 1166#if HAVE_SYS_STAT_H 1167#include <sys/stat.h> 1168#endif 1169#if HAVE_UNISTD_H 1170#include <unistd.h> 1171#endif 1172],[ 1173 off64_t devno; 1174],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_OFF64_T],[1],[function found])],[AC_MSG_RESULT(no)]) 1175 1176dnl Data type blksize_t 1177dnl ------------------- 1178AC_MSG_CHECKING(blksize_t) 1179AC_TRY_COMPILE([ 1180#include <stdio.h> 1181#include <stdlib.h> 1182#if HAVE_SYS_TYPES_H 1183#include <sys/types.h> 1184#endif 1185#if HAVE_SYS_STAT_H 1186#include <sys/stat.h> 1187#endif 1188#if HAVE_UNISTD_H 1189#include <unistd.h> 1190#endif 1191],[ 1192 blksize_t devno; 1193],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_BLKSIZE_T],[1],[function found])],[AC_MSG_RESULT(no)]) 1194 1195dnl Data type blkcnt_t 1196dnl ------------------ 1197AC_MSG_CHECKING(blkcnt_t) 1198AC_TRY_COMPILE([ 1199#include <stdio.h> 1200#include <stdlib.h> 1201#if HAVE_SYS_TYPES_H 1202#include <sys/types.h> 1203#endif 1204#if HAVE_SYS_STAT_H 1205#include <sys/stat.h> 1206#endif 1207#if HAVE_UNISTD_H 1208#include <unistd.h> 1209#endif 1210],[ 1211 blkcnt_t devno; 1212],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_BLKCNT_T],[1],[function found])],[AC_MSG_RESULT(no)]) 1213 1214dnl Data type fpos_t 1215dnl ---------------- 1216AC_MSG_CHECKING(fpos_t) 1217AC_TRY_COMPILE([ 1218#include <stdio.h> 1219#include <stdlib.h> 1220#if HAVE_SYS_TYPES_H 1221#include <sys/types.h> 1222#endif 1223#if HAVE_SYS_STAT_H 1224#include <sys/stat.h> 1225#endif 1226#if HAVE_UNISTD_H 1227#include <unistd.h> 1228#endif 1229],[ 1230 fpos_t devno; 1231],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_FPOS_T],[1],[function found])],[AC_MSG_RESULT(no)]) 1232 1233dnl Data type _fpos_t 1234dnl ----------------- 1235AC_MSG_CHECKING(_fpos_t) 1236AC_TRY_COMPILE([ 1237#include <stdio.h> 1238#include <stdlib.h> 1239#if HAVE_SYS_TYPES_H 1240#include <sys/types.h> 1241#endif 1242#if HAVE_SYS_STAT_H 1243#include <sys/stat.h> 1244#endif 1245#if HAVE_UNISTD_H 1246#include <unistd.h> 1247#endif 1248],[ 1249 _fpos_t devno; 1250],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE__FPOS_T],[1],[function found])],[AC_MSG_RESULT(no)]) 1251 1252dnl Data type uid_t 1253dnl --------------- 1254AC_MSG_CHECKING(uid_t) 1255AC_TRY_COMPILE([ 1256#include <stdio.h> 1257#include <stdlib.h> 1258#if HAVE_SYS_TYPES_H 1259#include <sys/types.h> 1260#endif 1261#if HAVE_SYS_STAT_H 1262#include <sys/stat.h> 1263#endif 1264#if HAVE_UNISTD_H 1265#include <unistd.h> 1266#endif 1267],[ 1268 uid_t devno; 1269],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_UID_T],[1],[function found])],[AC_MSG_RESULT(no)]) 1270 1271dnl Data type gid_t 1272dnl --------------- 1273AC_MSG_CHECKING(gid_t) 1274AC_TRY_COMPILE([ 1275#include <stdio.h> 1276#include <stdlib.h> 1277#if HAVE_SYS_TYPES_H 1278#include <sys/types.h> 1279#endif 1280#if HAVE_SYS_STAT_H 1281#include <sys/stat.h> 1282#endif 1283#if HAVE_UNISTD_H 1284#include <unistd.h> 1285#endif 1286],[ 1287 gid_t devno; 1288],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_GID_T],[1],[function found])],[AC_MSG_RESULT(no)]) 1289 1290dnl wchar_t data type 1291dnl ----------------- 1292AC_MSG_CHECKING(wchar_t) 1293AC_TRY_COMPILE([ 1294#include <sys/types.h> 1295#include <wchar.h> 1296],[ 1297 wchar_t chr; 1298],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_WCHAR_T],[1],[function found])],[AC_MSG_RESULT(no)]) 1299 1300dnl Data type sizes 1301dnl --------------- 1302AC_CHECK_SIZEOF(short) 1303AC_CHECK_SIZEOF(int) 1304AC_CHECK_SIZEOF(size_t) 1305AC_CHECK_SIZEOF(long) 1306AC_CHECK_SIZEOF(long long) 1307AC_CHECK_SIZEOF(int32_t) 1308AC_CHECK_SIZEOF(double) 1309AC_CHECK_SIZEOF(long double) 1310AC_CHECK_SIZEOF(wchar_t) 1311AC_CHECK_SIZEOF(off_t) 1312AC_CHECK_SIZEOF(ino_t) 1313if [[ "X$DOINTMAXSIZECHECK" = "Xyes" ]] 1314then 1315AC_CHECK_SIZEOF(intmax_t) 1316fi 1317 1318dnl Compiler features 1319dnl ================= 1320 1321dnl const 1322dnl ----- 1323AC_MSG_CHECKING(const) 1324AC_TRY_COMPILE([ 1325#include <stdio.h> 1326static char const msg[] = { "Test" }; 1327],[ 1328fputs(msg, stdout); 1329],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_CONST],[1],[function found])],[AC_MSG_RESULT(no)]) 1330 1331dnl inline 1332dnl ------ 1333AC_MSG_CHECKING(inline) 1334AC_TRY_COMPILE([ 1335#include <stdio.h> 1336inline 1337int 1338summe(int a, int b) 1339{ 1340 return (a + b); 1341} 1342],[ 1343int i = 5; 1344int j = 6; 1345int k; 1346k = summe(i, j); 1347],[AC_MSG_RESULT(yes);FOUNDINLINE='yes'],[AC_MSG_RESULT(no)]) 1348if [[ "X$FOUNDINLINE" = "Xyes" ]] 1349then 1350 AC_DEFINE([HAVE_INLINE],[1],[function found]) 1351fi 1352if [[ "X$FOUNDINLINE" = "Xyes" -a "X$USEINLINE" = "Xyes" ]] 1353then 1354 AC_DEFINE([USE_INLINE],[1],[function found]) 1355fi 1356 1357dnl Keyword volatile 1358dnl ---------------- 1359AC_MSG_CHECKING(volatile) 1360AC_TRY_COMPILE([ 1361volatile int i = 0; 1362],[ 1363i = 1; 1364],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_VOLATILE],[1],[function found])],[AC_MSG_RESULT(no)]) 1365 1366dnl __attribute__((unused)) 1367dnl ----------------------- 1368AC_MSG_CHECKING(__attribute__((unused))) 1369AC_TRY_COMPILE([ 1370static 1371int 1372my_add(int a, int b, int c __attribute__((unused)) ) 1373{ 1374 return (a + b); 1375} 1376],[ 1377 int i; 1378 i = my_add(1, 2, 3); 1379],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_ATTRIBUTE_UNUSED],[1],[function found])],[AC_MSG_RESULT(no)]) 1380 1381dnl Representation of numeric values 1382dnl ================================ 1383 1384dnl Big-endian or little-endian byte ordering 1385dnl ----------------------------------------- 1386AC_C_BIGENDIAN 1387 1388dnl Twos complement for negative integers 1389dnl ------------------------------------- 1390AC_MSG_CHECKING(use of twos complement for negative integers) 1391AC_TRY_RUN([ 1392#include <stdio.h> 1393#if HAVE_STDLIB_H 1394#include <stdlib.h> 1395#endif 1396#if HAVE_UNISTD_H 1397#include <unistd.h> 1398#endif 1399#if HAVE_PROCESS_H 1400#include <process.h> 1401#endif 1402 1403int i1 = -1; 1404 1405#if SIZEOF_INT > 2 1406#if SIZEOF_INT > 4 1407#if SIZEOF_INT > 8 1408#error "No test available yet for integers larger than 8 bytes!" 1409#else 1410int i2 = 0xFFFFFFFFFFFFFFFF; 1411#endif 1412#else 1413int i2 = 0xFFFFFFFF; 1414#endif 1415#else 1416int i2 = 0xFFFF; 1417#endif 1418 1419int main(int argc, char *argv[]) 1420{ 1421 int exval = 1; 1422 if (i1 == i2) exval = 0; 1423 exit(exval); return exval; 1424} 1425],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_TWOS_COMPLEMENT],[1],[function found])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_TWOS_COMPLEMENT],[1],[function found])]) 1426 1427dnl IEEE 754 double 1428dnl --------------- 1429IEEE_754_DOUBLE_WISHED='yes' 1430IEEE_754_DOUBLE_FOUND='no' 1431AC_MSG_CHECKING(IEEE 754 double) 1432AC_TRY_RUN([ 1433#include <stdio.h> 1434#if HAVE_STDLIB_H 1435#include <stdlib.h> 1436#endif 1437#if HAVE_UNISTD_H 1438#include <unistd.h> 1439#endif 1440#if HAVE_STRING_H 1441#include <string.h> 1442#endif 1443#if HAVE_STRINGS_H 1444#include <strings.h> 1445#endif 1446#include <math.h> 1447 1448static double td[] = { 1449 INFINITY, 1450 1234.75, 1451 4.0, 1452 1.0, 1453 0.375, 1454 0.0, 1455 -0.625, 1456 -1.0, 1457 -8.0, 1458 -23.875, 1459 -INFINITY 1460}; 1461 1462#if WORDS_BIGENDIAN 1463static unsigned char tuc[] = { 1464 /* INF */ 0x7F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1465 /* 1234.75 */ 0x40, 0x93, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 1466 /* 4.0 */ 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1467 /* 1.0 */ 0x3F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1468 /* 0.375 */ 0x3F, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1469 /* 0.0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1470 /* -0.625 */ 0xBF, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1471 /* -1.0 */ 0xBF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1472 /* -8.0 */ 0xC0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1473 /* -23.875 */ 0xC0, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 1474 /* -INF */ 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 1475}; 1476#else 1477static unsigned char tuc[] = { 1478 /* INF */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x7F, 1479 /* 1234.75 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x93, 0x40, 1480 /* 4.0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 1481 /* 1.0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x3F, 1482 /* 0.375 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0x3F, 1483 /* 0.0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1484 /* -0.625 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE4, 0xBF, 1485 /* -1.0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xBF, 1486 /* -8.0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xC0, 1487 /* -23.875 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x37, 0xC0, 1488 /* -INF */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF 1489}; 1490#endif 1491 1492static 1493#ifdef __cplusplus 1494int 1495test_double(double *dp, unsigned char *up) 1496#else 1497int 1498test_double(dp, up) 1499 double *dp; 1500 unsigned char *up; 1501#endif 1502{ 1503 int back = 0; 1504#if HAVE_MEMCMP 1505 if(memcmp(dp, up, 8) == 0) { 1506 back = 1; 1507 } 1508#else 1509#if HAVE_BCMP 1510 if(bcmp(dp, up, 8) == 0) { 1511 back = 1; 1512 } 1513#else 1514 unsigned char *cp1; 1515 unsigned char *cp2; 1516 size_t i; 1517 back = 1; 1518 cp1 = (unsigned char *)dp; cp2 = up; 1519 for(i = 0; i < 8; i++) { 1520 if(*(cp1++) != *(cp2++)) { 1521 back = 0; 1522 } 1523 } 1524#endif 1525#endif 1526 if(1 != back) { 1527 printf("ERROR: %lg not conforming to IEEE 754!\n", *dp); 1528 } 1529 return back; 1530} 1531 1532#ifdef __cplusplus 1533int main(int argc, char *argv[]) 1534#else 1535int main(argc, argv) 1536 int argc; 1537 char *argv[]; 1538#endif 1539{ 1540 unsigned char *ucp; 1541 double *dp; 1542 size_t i; 1543 int ev = 1; 1544 1545 if(8 == sizeof(double)) { 1546 ev = 0; 1547 ucp = tuc; dp = td; 1548 for(i = 0; i < (sizeof(td)/sizeof(double)); i++) { 1549 if(!test_double(dp, ucp)) { 1550 ev = 1; 1551 } 1552 dp++; 1553 ucp += 8; 1554 } 1555 } else { 1556 printf("ERROR: Size of double is not 1!\n"); 1557 } 1558 exit(ev); 1559} 1560 1561],[AC_MSG_RESULT(yes);IEEE_754_DOUBLE_FOUND='yes'],[AC_MSG_RESULT(no);IEEE_754_DOUBLE_FOUND='no'],[AC_MSG_RESULT(yes);IEEE_754_DOUBLE_FOUND='yes']) 1562if [[ "X$IEEE_754_DOUBLE_FOUND$IEEE_754_DOUBLE_WISHED" = "Xyesyes" ]] 1563then 1564 AC_DEFINE([HAVE_IEEE_754_DOUBLE],[1],[function found]) 1565else 1566 IEEE_754_DOUBLE_FOUND='no' 1567fi 1568 1569dnl Compiler and system features 1570dnl ============================ 1571 1572dnl Feature large file functions 1573dnl ---------------------------- 1574AC_MSG_CHECKING(_LARGEFILE64_SOURCE) 1575FS64='' 1576AC_TRY_COMPILE([ 1577#define _LARGEFILE64_SOURCE 1 1578#include <stdio.h> 1579#if HAVE_SYS_TYPES_H 1580#include <sys/types.h> 1581#endif 1582#if HAVE_SYS_STAT_H 1583#include <sys/stat.h> 1584#endif 1585#if HAVE_UNISTD_H 1586#include <unistd.h> 1587#endif 1588],[struct stat64 st;],[FS64='-D_LARGEFILE64_SOURCE=1' 1589AC_DEFINE([HAVE_LARGEFILE64_SOURCE],[1],[function found]) 1590AC_DEFINE([HAVE_TYPE_STAT64],[1],[function found]) 1591AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)]) 1592 1593dnl Block size and block count in stat data 1594dnl --------------------------------------- 1595AC_MSG_CHECKING(blocksize and blockcount in stat output) 1596AC_TRY_COMPILE([ 1597#define _LARGEFILE64_SOURCE 1 1598#include <stdio.h> 1599#include <stdlib.h> 1600#if HAVE_SYS_TYPES_H 1601#include <sys/types.h> 1602#endif 1603#if HAVE_SYS_STAT_H 1604#include <sys/stat.h> 1605#endif 1606#if HAVE_UNISTD_H 1607#include <unistd.h> 1608#endif 1609],[ 1610#if HAVE_TYPE_STAT64 1611 struct stat64 stb; 1612 stb.st_blksize = 0; 1613 stb.st_blocks = 0; 1614#else 1615 struct stat stb; 1616 stb.st_blksize = 0; 1617 stb.st_blocks = 0; 1618#endif 1619],[AC_MSG_RESULT(yes) 1620AC_DEFINE([HAVE_FILE_BLKSIZECNT],[1],[function found])],[AC_MSG_RESULT(no)]) 1621 1622dnl Functions 1623dnl ========= 1624 1625dnl General functions 1626dnl ----------------- 1627AC_HAVE_FUNCS(memset bzero memcpy bcopy memcmp bcmp) 1628AC_HAVE_FUNCS(malloc calloc free) 1629AC_HAVE_FUNCS(strcpy_s strcat_s) 1630AC_HAVE_FUNCS(strcasecmp stricmp _stricmp) 1631AC_HAVE_FUNCS(wcslen wcscpy_s wcscpy wcscat_s wcscat wcschr wcsrchr) 1632AC_HAVE_FUNCS(wcscmp _wcscmp wcscasecmp _wcscasecmp wcsicmp _wcsicmp) 1633AC_HAVE_FUNCS(getpid readlink getexecname lstat stat64 lstat64 localtime_r) 1634AC_HAVE_FUNCS(geteuid fopen64 fopen_s _wfopen _wfopen64 _wfopen_s) 1635AC_HAVE_FUNCS(fputws fputwc) 1636AC_HAVE_FUNCS(setbuffer setbuf setvbuf) 1637AC_HAVE_FUNCS(fileno _fileno setmode _setmode isatty _isatty) 1638AC_HAVE_FUNCS(strtod _strtod wcstod _wcstod) 1639AC_HAVE_FUNCS(_snprintf_s _snprintf snprintf _snwprintf_s _snwprintf snwprintf) 1640AC_HAVE_FUNCS(swprintf) 1641AC_HAVE_FUNCS(unlink _unlink wunlink _wunlink) 1642AC_HAVE_FUNCS(rmdir _rmdir wrmdir _wrmdir) 1643AC_HAVE_FUNCS(mkdir _mkdir wmkdir _wmkdir) 1644AC_HAVE_FUNCS(strerror strerror_r) 1645AC_HAVE_FUNCS(sigaction sigset signal sigprocmask sigemptyset) 1646AC_HAVE_FUNCS(setpwent getpwent endpwent) 1647AC_HAVE_FUNCS(getenv getenv_s setlocale) 1648AC_HAVE_FUNCS(getcwd _getcwd _wgetcwd) 1649AC_HAVE_FUNCS(getuid setuid setgid) 1650AC_HAVE_FUNCS(chdir chmod chown) 1651AC_HAVE_FUNCS(opendir readdir closedir) 1652AC_HAVE_FUNCS(getgrent getgrgid getgrnam endgrent setgrent) 1653AC_HAVE_FUNCS(getpwuid getpwnam) 1654AC_HAVE_FUNCS(fopen fclose feof ferror fflush fread fwrite) 1655AC_HAVE_FUNCS(_fclose _feof _ferror _fflush _fopen _fread _fwrite) 1656AC_HAVE_FUNCS(_getenv_s _wgetenv _getpid) 1657AC_HAVE_FUNCS(fetestexcept _clearfp) 1658AC_HAVE_FUNCS(fork getrlimit setpgrp setsid syslog) 1659AC_HAVE_FUNCS(gethostname) 1660AC_HAVE_FUNCS(time localtime localtime_s) 1661AC_HAVE_FUNCS(stat stat32 lstat32) 1662AC_HAVE_FUNCS(_stat _stat32 _stat64 _lstat _lstat32 _lstat64) 1663AC_HAVE_FUNCS(mpctl sysconf sysctl) 1664AC_HAVE_FUNCS(popen _popen) 1665AC_HAVE_FUNCS(read write _read _write) 1666AC_HAVE_FUNCS(seed48) 1667AC_HAVE_FUNCS(sprintf_s sscanf_s swscanf_s) 1668AC_HAVE_FUNCS(strcat strchr strcmp strcpy strdup strlen strncmp strncpy _strdup) 1669AC_HAVE_FUNCS(strncpy_s strrchr strtoimax strtol strtoll strtoul strtoull) 1670AC_HAVE_FUNCS(strtoumax) 1671AC_HAVE_FUNCS(wcsdup wcsncmp wcsncpy wcsncpy_s wcstoimax wcstol wcstoll) 1672AC_HAVE_FUNCS(wcstoul wcstoull wcstoumax) 1673AC_HAVE_FUNCS(_wcscat _wcschr _wcscpy _wcsdup _wcslen _wcsncmp _wcsncpy) 1674AC_HAVE_FUNCS(_wcsrchr) 1675AC_HAVE_FUNCS(tcflush tcgetattr) 1676AC_HAVE_FUNCS(umask) 1677AC_HAVE_FUNCS(GetFinalPathNameByHandle) 1678 1679dnl isgreater 1680dnl --------- 1681AC_MSG_CHECKING(isgreater) 1682AC_TRY_COMPILE([ 1683#include <stdio.h> 1684#if HAVE_MATH_H 1685#include <math.h> 1686#endif 1687#if HAVE_FENV_H 1688#include <fenv.h> 1689#endif 1690#if HAVE_FLOAT_H 1691#include <float.h> 1692#endif 1693],[ 1694 double x; 1695 int a = 0; 1696 x = 5.0; 1697 if (isgreater(x, 4.0)) { 1698 a = 1; 1699 } 1700],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_ISGREATER],[1],[function found])],[AC_MSG_RESULT(no)]) 1701 1702dnl isgreaterequal 1703dnl -------------- 1704AC_MSG_CHECKING(isgreaterequal) 1705AC_TRY_COMPILE([ 1706#include <stdio.h> 1707#if HAVE_MATH_H 1708#include <math.h> 1709#endif 1710#if HAVE_FENV_H 1711#include <fenv.h> 1712#endif 1713#if HAVE_FLOAT_H 1714#include <float.h> 1715#endif 1716],[ 1717 double x; 1718 int a = 0; 1719 x = 5.0; 1720 if (isgreaterequal(x, 4.0)) { 1721 a = 1; 1722 } 1723],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_ISGREATEREQUAL],[1],[function found])],[AC_MSG_RESULT(no)]) 1724 1725dnl isless 1726dnl ------ 1727AC_MSG_CHECKING(isless) 1728AC_TRY_COMPILE([ 1729#include <stdio.h> 1730#if HAVE_MATH_H 1731#include <math.h> 1732#endif 1733#if HAVE_FENV_H 1734#include <fenv.h> 1735#endif 1736#if HAVE_FLOAT_H 1737#include <float.h> 1738#endif 1739],[ 1740 double x; 1741 int a = 0; 1742 x = 5.0; 1743 if (isless(x, 6.0)) { 1744 a = 1; 1745 } 1746],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_ISLESS],[1],[function found])],[AC_MSG_RESULT(no)]) 1747 1748dnl islessequal 1749dnl ----------- 1750AC_MSG_CHECKING(islessequal) 1751AC_TRY_COMPILE([ 1752#include <stdio.h> 1753#if HAVE_MATH_H 1754#include <math.h> 1755#endif 1756#if HAVE_FENV_H 1757#include <fenv.h> 1758#endif 1759#if HAVE_FLOAT_H 1760#include <float.h> 1761#endif 1762],[ 1763 double x; 1764 int a = 0; 1765 x = 5.0; 1766 if (islessequal(x, 6.0)) { 1767 a = 1; 1768 } 1769],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_ISLESSEQUAL],[1],[function found])],[AC_MSG_RESULT(no)]) 1770 1771dnl isfinite 1772dnl -------- 1773AC_MSG_CHECKING(isfinite) 1774AC_TRY_COMPILE([ 1775#include <stdio.h> 1776#if HAVE_MATH_H 1777#include <math.h> 1778#endif 1779#if HAVE_FENV_H 1780#include <fenv.h> 1781#endif 1782#if HAVE_FLOAT_H 1783#include <float.h> 1784#endif 1785],[ 1786 double x; 1787 int a = 0; 1788 x = 5.0; 1789 if (isfinite(x)) { 1790 a = 1; 1791 } 1792],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_ISFINITE],[1],[function found])],[AC_MSG_RESULT(no)]) 1793 1794dnl isnormal 1795dnl -------- 1796AC_MSG_CHECKING(isnormal) 1797AC_TRY_COMPILE([ 1798#include <stdio.h> 1799#if HAVE_MATH_H 1800#include <math.h> 1801#endif 1802#if HAVE_FENV_H 1803#include <fenv.h> 1804#endif 1805#if HAVE_FLOAT_H 1806#include <float.h> 1807#endif 1808],[ 1809 double x; 1810 int a = 0; 1811 x = 5.0; 1812 if (isnormal(x)) { 1813 a = 1; 1814 } 1815],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_ISNORMAL],[1],[function found])],[AC_MSG_RESULT(no)]) 1816 1817dnl _finite 1818dnl ------- 1819AC_MSG_CHECKING(_finite) 1820AC_TRY_COMPILE([ 1821#include <stdio.h> 1822#if HAVE_MATH_H 1823#include <math.h> 1824#endif 1825#if HAVE_FENV_H 1826#include <fenv.h> 1827#endif 1828#if HAVE_FLOAT_H 1829#include <float.h> 1830#endif 1831],[ 1832 double x; 1833 int a = 0; 1834 x = 5.0; 1835 if (_finite(x)) { 1836 a = 1; 1837 } 1838],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE__FINITE],[1],[function found])],[AC_MSG_RESULT(no)]) 1839 1840dnl fpclassify 1841dnl ---------- 1842AC_MSG_CHECKING(fpclassify) 1843AC_TRY_COMPILE([ 1844#include <stdio.h> 1845#if HAVE_MATH_H 1846#include <math.h> 1847#endif 1848],[ 1849int cl; 1850cl = fpclassify(-0.5); 1851],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_FPCLASSIFY],[1],[function found])],[AC_MSG_RESULT(no)]) 1852 1853dnl mkdir with 2 arguments 1854dnl ---------------------- 1855AC_MSG_CHECKING([mkdir(path,mode);]) 1856AC_TRY_COMPILE([ 1857#if HAVE_SYS_TYPES_H 1858#include <sys/types.h> 1859#endif 1860#if HAVE_SYS_STAT_H 1861#include <sys/stat.h> 1862#endif 1863#if HAVE_FCNTL_H 1864#include <fcntl.h> 1865#endif 1866#if HAVE_UNISTD_H 1867#include <unistd.h> 1868#endif 1869],[ 1870mkdir("test", 0755); 1871],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_MKDIR2],[1],[function found])],[AC_MSG_RESULT(no)]) 1872 1873dnl qsort 1874dnl ----- 1875AC_MSG_CHECKING(qsort) 1876AC_TRY_COMPILE([ 1877#if HAVE_STDLIB_H 1878#include <stdlib.h> 1879#endif 1880 1881#if HAVE_SEARCH_H 1882#include <search.h> 1883#endif 1884 1885typedef struct { int a; int b; } test_t; 1886 1887test_t testvar[] = { 1888 { 1, 1 }, 1889 { 2, 2 } 1890}; 1891 1892int testcmp(const void *l, const void *r) 1893{ 1894 int back = 0; 1895 const test_t *pl; 1896 const test_t *pr; 1897 pl = (const test_t *)l; 1898 pr = (const test_t *)r; 1899 if (pl->a < pr->a) { 1900 back = -1; 1901 } 1902 else { 1903 if (pl->a > pr->a) { 1904 back = 1; 1905 } 1906 } 1907} 1908],[ 1909qsort(testvar, 2, sizeof(test_t), testcmp); 1910],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_QSORT],[1],[function found])],[AC_MSG_RESULT(no)]) 1911 1912dnl bsearch 1913dnl ------- 1914AC_MSG_CHECKING(bsearch) 1915AC_TRY_COMPILE([ 1916#if HAVE_STDLIB_H 1917#include <stdlib.h> 1918#endif 1919 1920#if HAVE_SEARCH_H 1921#include <search.h> 1922#endif 1923 1924typedef struct { int a; int b; } test_t; 1925 1926test_t testvar[] = { 1927 { 1, 1 }, 1928 { 2, 2 } 1929}; 1930 1931int testcmp(const void *l, const void *r) 1932{ 1933 int back = 0; 1934 const test_t *pl; 1935 const test_t *pr; 1936 pl = (const test_t *)l; 1937 pr = (const test_t *)r; 1938 if (pl->a < pr->a) { 1939 back = -1; 1940 } 1941 else { 1942 if (pl->a > pr->a) { 1943 back = 1; 1944 } 1945 } 1946} 1947],[ 1948bsearch(&(testvar[0]), testvar, 2, sizeof(test_t), testcmp); 1949],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_BSEARCH],[1],[function found])],[AC_MSG_RESULT(no)]) 1950 1951 1952dnl setgroups 1953dnl --------- 1954AC_MSG_CHECKING(setgroups) 1955AC_TRY_COMPILE([ 1956#if HAVE_SYS_TYPES_H 1957#include <sys/types.h> 1958#endif 1959#if HAVE_UNISTD_H 1960#include <unistd.h> 1961#endif 1962],[ 1963 gid_t gid = 0; 1964 if (0 != setgroups(1, &gid)) { 1965 } 1966],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_SETGROUPS],[1],[function found])],[AC_MSG_RESULT(no)]) 1967 1968dnl initgroups 1969dnl ---------- 1970AC_MSG_CHECKING(initgroups) 1971AC_TRY_COMPILE([ 1972#if HAVE_SYS_TYPES_H 1973#include <sys/types.h> 1974#endif 1975#if HAVE_GRP_H 1976#include <grp.h> 1977#endif 1978],[ 1979 gid_t gid = 0; 1980 if (0 != initgroups("abcdefg", gid)) { 1981 } 1982],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_INITGROUPS],[1],[function found])],[AC_MSG_RESULT(no)]) 1983 1984dnl assert 1985dnl ------ 1986AC_MSG_CHECKING(assert) 1987AC_TRY_COMPILE([ 1988#include <stdio.h> 1989#include <assert.h> 1990],[ 1991int i = -1; 1992assert(0 < i); 1993],[ASSERT_FOUND='yes';AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)]) 1994 1995dnl Mathematical functions 1996dnl ---------------------- 1997AC_CHECK_LIB(m,acosh,AC_DEFINE([HAVE_ACOSH],[1],[acosh function found])) 1998AC_CHECK_LIB(m,acoshl,AC_DEFINE([HAVE_ACOSHL],[1],[acoshl function found])) 1999AC_CHECK_LIB(m,acosl,AC_DEFINE([HAVE_ACOSL],[1],[acosl function found])) 2000AC_CHECK_LIB(m,asinh,AC_DEFINE([HAVE_ASINH],[1],[asinh function found])) 2001AC_CHECK_LIB(m,asinhl,AC_DEFINE([HAVE_ASINHL],[1],[asinhl function found])) 2002AC_CHECK_LIB(m,asinl,AC_DEFINE([HAVE_ASINL],[1],[asinl function found])) 2003AC_CHECK_LIB(m,atan2,AC_DEFINE([HAVE_ATAN2],[1],[atan2 function found])) 2004AC_CHECK_LIB(m,atan2l,AC_DEFINE([HAVE_ATAN2L],[1],[atan2l function found])) 2005AC_CHECK_LIB(m,atanh,AC_DEFINE([HAVE_ATANH],[1],[atanh function found])) 2006AC_CHECK_LIB(m,atanhl,AC_DEFINE([HAVE_ATANHL],[1],[atanhl function found])) 2007AC_CHECK_LIB(m,atanl,AC_DEFINE([HAVE_ATANL],[1],[atanl function found])) 2008AC_CHECK_LIB(m,ceil,AC_DEFINE([HAVE_CEIL],[1],[ceil function found])) 2009AC_CHECK_LIB(m,ceill,AC_DEFINE([HAVE_CEILL],[1],[ceill function found])) 2010AC_CHECK_LIB(m,coshl,AC_DEFINE([HAVE_COSHL],[1],[coshl function found])) 2011AC_CHECK_LIB(m,cosl,AC_DEFINE([HAVE_COSL],[1],[cosl function found])) 2012AC_CHECK_LIB(m,expl,AC_DEFINE([HAVE_EXPL],[1],[expl function found])) 2013AC_CHECK_LIB(m,fabs,AC_DEFINE([HAVE_FABS],[1],[fabs function found])) 2014AC_CHECK_LIB(m,fabsl,AC_DEFINE([HAVE_FABSL],[1],[fabsl function found])) 2015AC_CHECK_LIB(m,floor,AC_DEFINE([HAVE_FLOOR],[1],[floor function found])) 2016AC_CHECK_LIB(m,floorl,AC_DEFINE([HAVE_FLOORL],[1],[floorl function found])) 2017AC_CHECK_LIB(m,labs,AC_DEFINE([HAVE_LABS],[1],[labs function found])) 2018AC_CHECK_LIB(m,logl,AC_DEFINE([HAVE_LOGL],[1],[logl function found])) 2019AC_CHECK_LIB(m,rint,AC_DEFINE([HAVE_RINT],[1],[rint function found])) 2020AC_CHECK_LIB(m,rintl,AC_DEFINE([HAVE_RINTL],[1],[rintl function found])) 2021AC_CHECK_LIB(m,sinhl,AC_DEFINE([HAVE_SINHL],[1],[sinhl function found])) 2022AC_CHECK_LIB(m,sqrt,AC_DEFINE([HAVE_SQRT],[1],[sqrt function found])) 2023AC_CHECK_LIB(m,sqrtl,AC_DEFINE([HAVE_SQRTL],[1],[sqrtl function found])) 2024AC_CHECK_LIB(m,sinl,AC_DEFINE([HAVE_SINL],[1],[sinl function found])) 2025AC_CHECK_LIB(m,tanhl,AC_DEFINE([HAVE_TANHL],[1],[tanhl function found])) 2026AC_CHECK_LIB(m,tanl,AC_DEFINE([HAVE_TANL],[1],[tanl function found])) 2027 2028dnl Specific features of used libraries 2029dnl =================================== 2030 2031dnl Real time library required for MySQL on some systems 2032dnl ---------------------------------------------------- 2033AC_CHECK_LIB(rt,clock_gettime,[RTLIB='-lrt']) 2034 2035dnl Defaults differing between POSIX and Windows 2036dnl -------------------------------------------- 2037case X$TARGETCLASS in 2038 Xwindows) 2039 AC_DEFINE([HAVE_BACKSLASH_AS_SEP],[1],[Use backslash as file name separator]) 2040 AC_DEFINE([HAVE_LINE_END_CR_NL],[1],[function found]) 2041 AC_DEFINE([HAVE_CASE_INSENSITIVE_PATHNAMES],[1],[function found]) 2042 AC_DEFINE([HAVE_CASE_INSENSITIVE_USERNAMES],[1],[function found]) 2043 ;; 2044 *) 2045 AC_DEFINE([HAVE_FILE_DEVINO],[1],[function found]) 2046 AC_DEFINE([HAVE_FILE_UIDGID],[1],[function found]) 2047 AC_DEFINE([HAVE_FILE_ATIMECTIME],[1],[function found]) 2048 ;; 2049esac 2050 2051dnl As long as software from DK tools 3 and 4 coexist, allow 2052dnl backward compatibility in DK tools 4. 2053dnl -------------------------------------------------------- 2054AC_DEFINE([HAVE_COMPATDKTOOLS3],[1],[function found]) 2055 2056dnl Network functions and data types 2057dnl ================================ 2058 2059dnl Data type socklen_t 2060dnl ------------------- 2061AC_MSG_CHECKING(socklen_t) 2062AC_TRY_COMPILE([ 2063#if HAVE_SYS_TYPES_H 2064#include <sys/types.h> 2065#endif 2066#if HAVE_SYS_SOCKET_H 2067#include <sys/socket.h> 2068#endif 2069#if HAVE_STDLIB_H 2070#include <stdlib.h> 2071#endif 2072#if HAVE_UNISTD_H 2073#include <unistd.h> 2074#endif 2075#if HAVE_WINSOCK2_H 2076#include <winsock2.h> 2077#endif 2078#if HAVE_WS2TCPIP_H 2079#include <ws2tcpip.h> 2080#endif 2081#if HAVE_NETINET_IN_H 2082#include <netinet/in.h> 2083#endif 2084#if HAVE_NETDB_H 2085#include <netdb.h> 2086#endif 2087],[ 2088socklen_t sz; 2089],[ 2090AC_MSG_RESULT(yes) 2091AC_DEFINE([HAVE_SOCKLEN_T],[1],[function found]) 2092],[ 2093AC_MSG_RESULT(no) 2094]) 2095 2096dnl Data type struct sockaddr_in 2097dnl ---------------------------- 2098AC_MSG_CHECKING(struct sockaddr_in) 2099AC_TRY_COMPILE([ 2100#if HAVE_SYS_TYPES_H 2101#include <sys/types.h> 2102#endif 2103#if HAVE_SYS_SOCKET_H 2104#include <sys/socket.h> 2105#endif 2106#if HAVE_NETDB_H 2107#include <netdb.h> 2108#endif 2109#if HAVE_STDLIB_H 2110#include <stdlib.h> 2111#endif 2112#if HAVE_UNISTD_H 2113#include <unistd.h> 2114#endif 2115#if HAVE_WINSOCK2_H 2116#include <winsock2.h> 2117#endif 2118#if HAVE_WS2TCPIP_H 2119#include <ws2tcpip.h> 2120#endif 2121#if HAVE_NETINET_IN_H 2122#include <netinet/in.h> 2123#endif 2124],[ 2125struct sockaddr_in sain; 2126],[ 2127AC_MSG_RESULT(yes) 2128AC_DEFINE([HAVE_STRUCT_SOCKADDR_IN],[1],[function found]) 2129],[ 2130AC_MSG_RESULT(no) 2131]) 2132 2133dnl Data type struct sockaddr_in6 2134dnl ----------------------------- 2135AC_MSG_CHECKING(struct sockaddr_in6) 2136AC_TRY_COMPILE([ 2137#if HAVE_SYS_TYPES_H 2138#include <sys/types.h> 2139#endif 2140#if HAVE_SYS_SOCKET_H 2141#include <sys/socket.h> 2142#endif 2143#if HAVE_NETDB_H 2144#include <netdb.h> 2145#endif 2146#if HAVE_STDLIB_H 2147#include <stdlib.h> 2148#endif 2149#if HAVE_UNISTD_H 2150#include <unistd.h> 2151#endif 2152#if HAVE_WINSOCK2_H 2153#include <winsock2.h> 2154#endif 2155#if HAVE_WS2TCPIP_H 2156#include <ws2tcpip.h> 2157#endif 2158#if HAVE_NETINET_IN_H 2159#include <netinet/in.h> 2160#endif 2161],[ 2162struct sockaddr_in6 sain; 2163],[ 2164AC_MSG_RESULT(yes) 2165AC_DEFINE([HAVE_STRUCT_SOCKADDR_IN6],[1],[function found]) 2166],[ 2167AC_MSG_RESULT(no) 2168]) 2169 2170dnl Data type struct sockaddr_un 2171dnl ---------------------------- 2172AC_MSG_CHECKING(struct sockaddr_un) 2173AC_TRY_COMPILE([ 2174#if HAVE_SYS_TYPES_H 2175#include <sys/types.h> 2176#endif 2177#if HAVE_SYS_SOCKET_H 2178#include <sys/socket.h> 2179#endif 2180#if HAVE_SYS_UN_H 2181#include <sys/un.h> 2182#endif 2183#if HAVE_NETDB_H 2184#include <netdb.h> 2185#endif 2186#if HAVE_STDLIB_H 2187#include <stdlib.h> 2188#endif 2189#if HAVE_UNISTD_H 2190#include <unistd.h> 2191#endif 2192#if HAVE_WINSOCK2_H 2193#include <winsock2.h> 2194#endif 2195#if HAVE_WS2TCPIP_H 2196#include <ws2tcpip.h> 2197#endif 2198#if HAVE_NETINET_IN_H 2199#include <netinet/in.h> 2200#endif 2201],[ 2202struct sockaddr_un sain; 2203],[ 2204AC_MSG_RESULT(yes) 2205AC_DEFINE([HAVE_STRUCT_SOCKADDR_UN],[1],[function found]) 2206],[ 2207AC_MSG_RESULT(no) 2208]) 2209 2210dnl Data type struct addrinfo 2211dnl ------------------------- 2212AC_MSG_CHECKING(struct addrinfo) 2213AC_TRY_COMPILE([ 2214#if HAVE_SYS_TYPES_H 2215#include <sys/types.h> 2216#endif 2217#if HAVE_SYS_SOCKET_H 2218#include <sys/socket.h> 2219#endif 2220#if HAVE_NETDB_H 2221#include <netdb.h> 2222#endif 2223#if HAVE_STDLIB_H 2224#include <stdlib.h> 2225#endif 2226#if HAVE_UNISTD_H 2227#include <unistd.h> 2228#endif 2229#if HAVE_WINSOCK2_H 2230#include <winsock2.h> 2231#endif 2232#if HAVE_WS2TCPIP_H 2233#include <ws2tcpip.h> 2234#endif 2235#if HAVE_NETINET_IN_H 2236#include <netinet/in.h> 2237#endif 2238],[ 2239struct addrinfo adi; 2240],[ 2241AC_MSG_RESULT(yes) 2242AC_DEFINE([HAVE_STRUCT_ADDRINFO],[1],[function found]) 2243],[ 2244AC_MSG_RESULT(no) 2245]) 2246 2247dnl Data type sockaddr_storage 2248dnl -------------------------- 2249AC_MSG_CHECKING(struct sockaddr_storage) 2250AC_TRY_COMPILE([ 2251#if HAVE_SYS_TYPES_H 2252#include <sys/types.h> 2253#endif 2254#if HAVE_SYS_SOCKET_H 2255#include <sys/socket.h> 2256#endif 2257#if HAVE_NETDB_H 2258#include <netdb.h> 2259#endif 2260#if HAVE_ARPA_INET_H 2261#include <arpa/inet.h> 2262#endif 2263#if HAVE_NETINET_IN_H 2264#include <netinet/in.h> 2265#endif 2266#if HAVE_STDLIB_H 2267#include <stdlib.h> 2268#endif 2269#if HAVE_UNISTD_H 2270#include <unistd.h> 2271#endif 2272#if HAVE_WINSOCK2_H 2273#include <winsock2.h> 2274#endif 2275#if HAVE_WS2TCPIP_H 2276#include <ws2tcpip.h> 2277#endif 2278#if HAVE_NETINET_IN_H 2279#include <netinet/in.h> 2280#endif 2281],[ 2282struct sockaddr_storage sain; 2283],[ 2284AC_MSG_RESULT(yes) 2285AC_DEFINE([HAVE_STRUCT_SOCKADDR_STORAGE],[1],[function found]) 2286],[ 2287AC_MSG_RESULT(no) 2288]) 2289 2290dnl Typedef IN_ADDR 2291dnl --------------- 2292AC_MSG_CHECKING(IN_ADDR) 2293AC_TRY_COMPILE([ 2294#if HAVE_SYS_TYPES_H 2295#include <sys/types.h> 2296#endif 2297#if HAVE_SYS_SOCKET_H 2298#include <sys/socket.h> 2299#endif 2300#if HAVE_STDLIB_H 2301#include <stdlib.h> 2302#endif 2303#if HAVE_UNISTD_H 2304#include <unistd.h> 2305#endif 2306#if HAVE_WINSOCK2_H 2307#include <winsock2.h> 2308#endif 2309#if HAVE_WS2TCPIP_H 2310#include <ws2tcpip.h> 2311#endif 2312#if HAVE_NETINET_IN_H 2313#include <netinet/in.h> 2314#endif 2315],[ 2316IN_ADDR addr; 2317],[ 2318AC_MSG_RESULT(yes) 2319AC_DEFINE([HAVE_IN_ADDR],[1],[function found]) 2320],[ 2321AC_MSG_RESULT(no) 2322]) 2323 2324dnl Typedef IN6_ADDR 2325dnl ---------------- 2326AC_MSG_CHECKING(IN6_ADDR) 2327AC_TRY_COMPILE([ 2328#if HAVE_SYS_TYPES_H 2329#include <sys/types.h> 2330#endif 2331#if HAVE_SYS_SOCKET_H 2332#include <sys/socket.h> 2333#endif 2334#if HAVE_STDLIB_H 2335#include <stdlib.h> 2336#endif 2337#if HAVE_UNISTD_H 2338#include <unistd.h> 2339#endif 2340#if HAVE_WINSOCK2_H 2341#include <winsock2.h> 2342#endif 2343#if HAVE_WS2TCPIP_H 2344#include <ws2tcpip.h> 2345#endif 2346#if HAVE_NETINET_IN_H 2347#include <netinet/in.h> 2348#endif 2349],[ 2350IN6_ADDR addr; 2351],[ 2352AC_MSG_RESULT(yes) 2353AC_DEFINE([HAVE_IN6_ADDR],[1],[function found]) 2354],[ 2355AC_MSG_RESULT(no) 2356]) 2357 2358dnl Function socket in standard library, -lxnet and -lsocket 2359dnl -------------------------------------------------------- 2360SOCKLIB='' 2361NSLLIB='' 2362FOUND_SOCKET='no' 2363AC_CHECK_FUNCS(socket,[ 2364LIB_SHARED_RES_NET='$(LIB_SHARED_RES_NET)' 2365PRG_RES_NET='$(PRG_RES_NET)' 2366MAN_RES_NET='$(MAN_RES_NET)' 2367RES_RES_NET='$(RES_RES_NET)' 2368PRG_CLI_NET='$(PRG_CLI_NET)' 2369MAN_CLI_NET='$(MAN_CLI_NET)' 2370RES_CLI_NET='$(RES_CLI_NET)' 2371PRG_GUI_NET='$(PRG_GUI_NET)' 2372MAN_GUI_NET='$(MAN_GUI_NET)' 2373RES_GUI_NET='$(RES_GUI_NET)' 2374FOUND_SOCKET='yes' 2375AC_DEFINE([HAVE_SOCKET],[1],[function found]) 2376],[ 2377AC_CHECK_LIB(xnet,socket,[ 2378PRG_RES_NET='$(PRG_RES_NET)' 2379MAN_RES_NET='$(MAN_RES_NET)' 2380RES_RES_NET='$(RES_RES_NET)' 2381PRG_CLI_NET='$(PRG_CLI_NET)' 2382MAN_CLI_NET='$(MAN_CLI_NET)' 2383RES_CLI_NET='$(RES_CLI_NET)' 2384PRG_GUI_NET='$(PRG_GUI_NET)' 2385MAN_GUI_NET='$(MAN_GUI_NET)' 2386RES_GUI_NET='$(RES_GUI_NET)' 2387FOUND_SOCKET='yes' 2388AC_DEFINE([HAVE_SOCKET],[1],[function found]) 2389SOCKLIB='-lxnet' 2390],[ 2391AC_CHECK_LIB(socket,socket,[ 2392PRG_RES_NET='$(PRG_RES_NET)' 2393MAN_RES_NET='$(MAN_RES_NET)' 2394RES_RES_NET='$(RES_RES_NET)' 2395PRG_CLI_NET='$(PRG_CLI_NET)' 2396MAN_CLI_NET='$(MAN_CLI_NET)' 2397RES_CLI_NET='$(RES_CLI_NET)' 2398PRG_GUI_NET='$(PRG_GUI_NET)' 2399MAN_GUI_NET='$(MAN_GUI_NET)' 2400RES_GUI_NET='$(RES_GUI_NET)' 2401FOUND_SOCKET='yes' 2402AC_DEFINE([HAVE_SOCKET],[1],[function found]) 2403SOCKLIB='-lsocket' 2404],[ 2405AC_CHECK_LIB(ws2_32,socket,[ 2406PRG_RES_NET='$(PRG_RES_NET)' 2407MAN_RES_NET='$(MAN_RES_NET)' 2408RES_RES_NET='$(RES_RES_NET)' 2409PRG_CLI_NET='$(PRG_CLI_NET)' 2410MAN_CLI_NET='$(MAN_CLI_NET)' 2411RES_CLI_NET='$(RES_CLI_NET)' 2412PRG_GUI_NET='$(PRG_GUI_NET)' 2413MAN_GUI_NET='$(MAN_GUI_NET)' 2414RES_GUI_NET='$(RES_GUI_NET)' 2415FOUND_SOCKET='yes' 2416AC_DEFINE([HAVE_SOCKET],[1],[function found]) 2417SOCKLIB='-lws2_32' 2418]) 2419]) 2420]) 2421]) 2422 2423dnl Function setsockopt 2424dnl ------------------- 2425AC_CHECK_FUNCS(setsockopt,[ 2426AC_DEFINE([HAVE_SETSOCKOPT],[1],[function found]) 2427],[ 2428AC_CHECK_LIB(xnet,setsockopt,[ 2429AC_DEFINE([HAVE_SETSOCKOPT],[1],[function found]) 2430],[ 2431AC_CHECK_LIB(socket,setsockopt,[ 2432AC_DEFINE([HAVE_SETSOCKOPT],[1],[function found]) 2433],[ 2434AC_CHECK_LIB(ws2_32,setsockopt,[ 2435AC_DEFINE([HAVE_SETSOCKOPT],[1],[function found]) 2436]) 2437]) 2438]) 2439]) 2440 2441dnl Function getaddrinfo 2442dnl -------------------- 2443AC_CHECK_FUNCS(getaddrinfo,[ 2444AC_DEFINE([HAVE_GETADDRINFO],[1],[function found]) 2445],[ 2446AC_CHECK_LIB(xnet,getaddrinfo,[ 2447NSLLIB='-lxnet' 2448AC_DEFINE([HAVE_GETADDRINFO],[1],[function found]) 2449],[ 2450AC_CHECK_LIB(nsl,getaddrinfo,[ 2451NSLLIB='-lnsl' 2452AC_DEFINE([HAVE_GETADDRINFO],[1],[function found]) 2453],[ 2454AC_CHECK_LIB(socket,getaddrinfo,[ 2455NSLLIB='-lsocket' 2456AC_DEFINE([HAVE_GETADDRINFO],[1],[function found]) 2457],[ 2458AC_CHECK_LIB(ws2_32,getaddrinfo,[ 2459AC_DEFINE([HAVE_GETADDRINFO],[1],[function found]) 2460]) 2461]) 2462]) 2463]) 2464]) 2465 2466dnl Function getnameinfo (reverse getaddrinfo) 2467dnl ------------------------------------------ 2468AC_CHECK_FUNCS(getnameinfo,[ 2469AC_DEFINE([HAVE_GETNAMEINFO],[1],[function found]) 2470],[ 2471AC_CHECK_LIB(xnet,getnameinfo,[ 2472AC_DEFINE([HAVE_GETNAMEINFO],[1],[function found]) 2473],[ 2474AC_CHECK_LIB(nsl,getnameinfo,[ 2475AC_DEFINE([HAVE_GETNAMEINFO],[1],[function found]) 2476],[ 2477AC_CHECK_LIB(socket,getnameinfo,[ 2478AC_DEFINE([HAVE_GETNAMEINFO],[1],[function found]) 2479],[ 2480AC_CHECK_LIB(ws2_32,getnameinfo,[ 2481AC_DEFINE([HAVE_GETNAMEINFO],[1],[function found]) 2482]) 2483]) 2484]) 2485]) 2486]) 2487 2488dnl Function gethostbyname 2489dnl ---------------------- 2490AC_CHECK_FUNCS(gethostbyname,[ 2491AC_DEFINE([HAVE_GETHOSTBYNAME],[1],[function found]) 2492],[ 2493AC_CHECK_LIB(xnet,gethostbyname,[ 2494AC_DEFINE([HAVE_GETHOSTBYNAME],[1],[function found]) 2495],[ 2496AC_CHECK_LIB(nsl,gethostbyname,[ 2497AC_DEFINE([HAVE_GETHOSTBYNAME],[1],[function found]) 2498],[ 2499AC_CHECK_LIB(socket,gethostbyname,[ 2500AC_DEFINE([HAVE_GETHOSTBYNAME],[1],[function found]) 2501],[ 2502AC_CHECK_LIB(ws3_32,gethostbyname,[ 2503AC_DEFINE([HAVE_GETHOSTBYNAME],[1],[function found]) 2504]) 2505]) 2506]) 2507]) 2508]) 2509 2510dnl Function or macro htons 2511dnl ----------------------- 2512AC_MSG_CHECKING(htons) 2513AC_TRY_COMPILE([ 2514#if HAVE_STDINT_H 2515#include <stdint.h> 2516#endif 2517#if HAVE_SYS_TYPES_H 2518#include <sys/types.h> 2519#endif 2520#if HAVE_SYS_SOCKET_H 2521#include <sys/socket.h> 2522#endif 2523#if HAVE_ARPA_INET_H 2524#include <arpa/inet.h> 2525#endif 2526#if HAVE_NETINET_IN_H 2527#include <netinet/in.h> 2528#endif 2529],[ 2530 unsigned short s; 2531 s = htons(5); 2532],[ 2533AC_DEFINE([HAVE_HTONS],[1],[function found]) 2534AC_MSG_RESULT(yes) 2535],[ 2536AC_MSG_RESULT(no) 2537]) 2538 2539dnl Function or macro ntohs 2540dnl ----------------------- 2541AC_MSG_CHECKING(ntohs) 2542AC_TRY_COMPILE([ 2543#if HAVE_STDINT_H 2544#include <stdint.h> 2545#endif 2546#if HAVE_SYS_TYPES_H 2547#include <sys/types.h> 2548#endif 2549#if HAVE_SYS_SOCKET_H 2550#include <sys/socket.h> 2551#endif 2552#if HAVE_ARPA_INET_H 2553#include <arpa/inet.h> 2554#endif 2555#if HAVE_NETINET_IN_H 2556#include <netinet/in.h> 2557#endif 2558],[ 2559 unsigned short s; 2560 s = ntohs(5); 2561],[ 2562AC_DEFINE([HAVE_NTOHS],[1],[function found]) 2563AC_MSG_RESULT(yes) 2564],[ 2565AC_MSG_RESULT(no) 2566]) 2567 2568dnl Function or macro htonl 2569dnl ----------------------- 2570AC_MSG_CHECKING(htonl) 2571AC_TRY_COMPILE([ 2572#if HAVE_STDINT_H 2573#include <stdint.h> 2574#endif 2575#if HAVE_SYS_TYPES_H 2576#include <sys/types.h> 2577#endif 2578#if HAVE_SYS_SOCKET_H 2579#include <sys/socket.h> 2580#endif 2581#if HAVE_ARPA_INET_H 2582#include <arpa/inet.h> 2583#endif 2584#if HAVE_NETINET_IN_H 2585#include <netinet/in.h> 2586#endif 2587],[ 2588 unsigned long s; 2589 s = htonl(5); 2590],[ 2591AC_DEFINE([HAVE_HTONL],[1],[function found]) 2592AC_MSG_RESULT(yes) 2593],[ 2594AC_MSG_RESULT(no) 2595]) 2596 2597dnl Function or macro ntohl 2598dnl ----------------------- 2599AC_MSG_CHECKING(ntohl) 2600AC_TRY_COMPILE([ 2601#if HAVE_STDINT_H 2602#include <stdint.h> 2603#endif 2604#if HAVE_SYS_TYPES_H 2605#include <sys/types.h> 2606#endif 2607#if HAVE_SYS_SOCKET_H 2608#include <sys/socket.h> 2609#endif 2610#if HAVE_ARPA_INET_H 2611#include <arpa/inet.h> 2612#endif 2613#if HAVE_NETINET_IN_H 2614#include <netinet/in.h> 2615#endif 2616],[ 2617 unsigned long s; 2618 s = ntohl(5); 2619],[ 2620AC_DEFINE([HAVE_NTOHL],[1],[function found]) 2621AC_MSG_RESULT(yes) 2622],[ 2623AC_MSG_RESULT(no) 2624]) 2625 2626dnl Function inet_addr 2627dnl ------------------ 2628AC_CHECK_FUNCS(inet_addr,[ 2629AC_DEFINE([HAVE_INET_ADDR],[1],[function found]) 2630],[ 2631AC_CHECK_LIB(xnet,inet_addr,[ 2632AC_DEFINE([HAVE_INET_ADDR],[1],[function found]) 2633],[ 2634AC_CHECK_LIB(nsl,inet_addr,[ 2635AC_DEFINE([HAVE_INET_ADDR],[1],[function found]) 2636],[ 2637AC_CHECK_LIB(socket,inet_addr,[ 2638AC_DEFINE([HAVE_INET_ADDR],[1],[function found]) 2639],[ 2640AC_CHECK_LIB(ws2_32,inet_addr,[ 2641AC_DEFINE([HAVE_INET_ADDR],[1],[function found]) 2642]) 2643]) 2644]) 2645]) 2646]) 2647 2648dnl Function inet_aton 2649dnl ------------------ 2650AC_CHECK_FUNCS(inet_aton,[ 2651AC_DEFINE([HAVE_INET_ATON],[1],[function found]) 2652],[ 2653AC_CHECK_LIB(xnet,inet_aton,[ 2654AC_DEFINE([HAVE_INET_ATON],[1],[function found]) 2655],[ 2656AC_CHECK_LIB(nsl,inet_aton,[ 2657AC_DEFINE([HAVE_INET_ATON],[1],[function found]) 2658],[ 2659AC_CHECK_LIB(socket,inet_aton,[ 2660AC_DEFINE([HAVE_INET_ATON],[1],[function found]) 2661],[ 2662AC_CHECK_LIB(ws2_32,inet_aton,[ 2663AC_DEFINE([HAVE_INET_ATON],[1],[function found]) 2664]) 2665]) 2666]) 2667]) 2668]) 2669 2670dnl Function inet_pton 2671dnl ------------------ 2672AC_CHECK_FUNCS(inet_pton,[ 2673AC_DEFINE([HAVE_INET_PTON],[1],[function found]) 2674],[ 2675AC_CHECK_LIB(xnet,inet_pton,[ 2676AC_DEFINE([HAVE_INET_PTON],[1],[function found]) 2677],[ 2678AC_CHECK_LIB(nsl,inet_pton,[ 2679AC_DEFINE([HAVE_INET_PTON],[1],[function found]) 2680],[ 2681AC_CHECK_LIB(socket,inet_pton,[ 2682AC_DEFINE([HAVE_INET_PTON],[1],[function found]) 2683],[ 2684AC_CHECK_LIB(ws2_32,inet_pton,[ 2685AC_DEFINE([HAVE_INET_PTON],[1],[function found]) 2686]) 2687]) 2688]) 2689]) 2690]) 2691 2692dnl Function inet_ntop (reverse inet_pton) 2693dnl -------------------------------------- 2694AC_CHECK_FUNCS(inet_ntop,[ 2695AC_DEFINE([HAVE_INET_NTOP],[1],[function found]) 2696],[ 2697AC_CHECK_LIB(xnet,inet_ntop,[ 2698AC_DEFINE([HAVE_INET_NTOP],[1],[function found]) 2699],[ 2700AC_CHECK_LIB(nsl,inet_ntop,[ 2701AC_DEFINE([HAVE_INET_NTOP],[1],[function found]) 2702],[ 2703AC_CHECK_LIB(socket,inet_ntop,[ 2704AC_DEFINE([HAVE_INET_NTOP],[1],[function found]) 2705],[ 2706AC_CHECK_LIB(ws2_32,inet_ntop,[ 2707AC_DEFINE([HAVE_INET_NTOP],[1],[function found]) 2708]) 2709]) 2710]) 2711]) 2712]) 2713 2714dnl Function getpeername 2715dnl -------------------- 2716AC_CHECK_FUNCS(getpeername,[ 2717AC_DEFINE([HAVE_GETPEERNAME],[1],[function found]) 2718],[ 2719AC_CHECK_LIB(xnet,getpeername,[ 2720AC_DEFINE([HAVE_GETPEERNAME],[1],[function found]) 2721],[ 2722AC_CHECK_LIB(nsl,getpeername,[ 2723AC_DEFINE([HAVE_GETPEERNAME],[1],[function found]) 2724],[ 2725AC_CHECK_LIB(socket,getpeername,[ 2726AC_DEFINE([HAVE_GETPEERNAME],[1],[function found]) 2727],[ 2728AC_CHECK_LIB(ws2_32,getpeername,[AC_DEFINE([HAVE_GETPEERNAME],[1],[function found])]) 2729]) 2730]) 2731]) 2732]) 2733 2734dnl Function getsockname 2735dnl -------------------- 2736AC_CHECK_FUNCS(getsockname,[ 2737AC_DEFINE([HAVE_GETSOCKNAME],[1],[function found]) 2738],[ 2739AC_CHECK_LIB(xnet,getsockname,[ 2740AC_DEFINE([HAVE_GETSOCKNAME],[1],[function found]) 2741],[ 2742AC_CHECK_LIB(nsl,getsockname,[ 2743AC_DEFINE([HAVE_GETSOCKNAME],[1],[function found]) 2744],[ 2745AC_CHECK_LIB(socket,getsockname,[ 2746AC_DEFINE([HAVE_GETSOCKNAME],[1],[function found]) 2747],[ 2748AC_CHECK_LIB(ws2_32,getsockname,[AC_DEFINE([HAVE_GETSOCKNAME],[1],[function found])]) 2749]) 2750]) 2751]) 2752]) 2753 2754dnl Function select 2755dnl --------------- 2756AC_CHECK_FUNCS(select,[ 2757AC_DEFINE([HAVE_SELECT],[1],[function found]) 2758],[ 2759AC_CHECK_LIB(xnet,select,[ 2760AC_DEFINE([HAVE_SELECT],[1],[function found]) 2761],[ 2762AC_CHECK_LIB(nsl,select,[ 2763AC_DEFINE([HAVE_SELECT],[1],[function found]) 2764],[ 2765AC_CHECK_LIB(socket,select,[ 2766AC_DEFINE([HAVE_SELECT],[1],[function found]) 2767],[ 2768AC_CHECK_LIB(ws2_32,select,[AC_DEFINE([HAVE_SELECT],[1],[function found])]) 2769]) 2770]) 2771]) 2772]) 2773 2774dnl Some systems have socket and name service functionality in one library 2775dnl ---------------------------------------------------------------------- 2776if [[ "X$SOCKLIB" = "X$NSLLIB" ]] 2777then 2778NSLLIB='' 2779fi 2780 2781dnl Systemd 2782dnl ------- 2783rundir="$runstatedir" 2784 2785if [[ "X$ENA_SYSTEMD" = "Xauto" -a "X$systemddir" = "X" -a -d /lib/systemd/system ]] 2786then 2787 ENA_SYSTEMD='yes' 2788 systemddir='/lib/systemd/system' 2789 FOUND_SYSTEMD='yes' 2790 AC_DEFINE([HAVE_SYSTEMD],[1],[function found]) 2791 rundir='/run' 2792elif [[ "X$ENA_SYSTEMD" = "Xauto" -a "X$systemddir" = "X" -a -d /usr/lib/systemd/system ]] 2793then 2794 ENA_SYSTEMD='yes' 2795 systemddir='/usr/lib/systemd/system' 2796 FOUND_SYSTEMD='yes' 2797 AC_DEFINE([HAVE_SYSTEMD],[1],[function found]) 2798 rundir='/run' 2799elif [[ "X$ENA_SYSTEMD" = "Xauto" -a "X$systemddir" != "X" ]] 2800then 2801 ENA_SYSTEMD='yes' 2802 FOUND_SYSTEMD='yes' 2803 AC_DEFINE([HAVE_SYSTEMD],[1],[function found]) 2804 rundir='/run' 2805elif [[ "X$ENA_SYSTEMD" = "Xyes" -a "X$systemddir" = "X" -a -d /lib/systemd/system ]] 2806then 2807 ENA_SYSTEMD='yes' 2808 systemddir='/lib/systemd/system' 2809 FOUND_SYSTEMD='yes' 2810 AC_DEFINE([HAVE_SYSTEMD],[1],[function found]) 2811 rundir='/run' 2812elif [[ "X$ENA_SYSTEMD" = "Xyes" -a "X$systemddir" = "X" -a -d /usr/lib/systemd/system ]] 2813then 2814 ENA_SYSTEMD='yes' 2815 systemddir='/usr/lib/systemd/system' 2816 FOUND_SYSTEMD='yes' 2817 AC_DEFINE([HAVE_SYSTEMD],[1],[function found]) 2818 rundir='/run' 2819elif [[ "X$ENA_SYSTEMD" = "Xyes" -a "X$systemddir" != "X" ]] 2820then 2821 ENA_SYSTEMD='yes' 2822 FOUND_SYSTEMD='yes' 2823 AC_DEFINE([HAVE_SYSTEMD],[1],[function found]) 2824 rundir='/run' 2825elif [[ "X$systemddir" = "X" -a -d /lib/systemd/system ]] 2826then 2827 systemddir='/lib/systemd/system' 2828elif [[ "X$systemddir" = "X" -a -d /usr/lib/systemd/system ]] 2829then 2830 systemddir='/usr/lib/systemd/system' 2831elif [[ "X$systemddir" = "X" ]] 2832then 2833 systemddir='/lib/systemd/system' 2834fi 2835 2836 2837 2838 2839dnl Find names of test programs 2840dnl =========================== 2841SEP=`cat config/sep.txt` 2842for i in test*.ctr 2843do 2844j=`echo $i | sed -e 's/\.ctr//g'` 2845if [[ "X$TESTPROGRAMS" = "X" ]] 2846then 2847 TESTPROGRAMS="$j" 2848else 2849 TESTPROGRAMS="${TESTPROGRAMS} ${SEP}$j" 2850fi 2851done 2852 2853 2854dnl Used libraries 2855dnl ============== 2856LIBPNG='' 2857LIBJPEG='' 2858LIBTIFF='' 2859ANYDB='' 2860PTHREADLIB='' 2861LIBDK3WXOBJ='' 2862LIBDK4WXOBJ='' 2863LIBDK4WXTOBUILD='' 2864DBLIB='' 2865DBLIBSOCK='' 2866NETSNMP_LIBS='' 2867NETSNMP_CFLAGS='' 2868 2869dnl NetSNMP 2870dnl ------- 2871TESTSNMPCONFIG='' 2872if [[ "X$CROSSBUILD" != "Xyes" ]] 2873then 2874 TESTSNMPCONFIG='net-snmp-config' 2875else 2876 CROSSPREFIX=`$PKG_CONFIG --variable=prefix zlib` 2877 TESTSNMPCONFIG=`find $CROSSPREFIX -name 'net-snmp-config'` 2878fi 2879if [[ "X$TESTSNMPCONFIG" != "X" ]] 2880then 2881 NETSNMP_LIBS=`$TESTSNMPCONFIG --libs` 2882 NETSNMP_CFLAGS=`$TESTSNMPCONFIG --cflags` 2883fi 2884 2885dnl Database libraries 2886dnl ------------------ 2887AC_HEADER_CHECK(gdbm.h, [FOUND_GDBM='yes']) 2888AC_HEADER_CHECK(ndbm.h, [FOUND_NDBM='yes']) 2889case "X${FOUND_NDBM}${USE_NDBM}${FOUND_GDBM}" in 2890 "Xyesyesyes") 2891 AC_DEFINE([HAVE_NDBM_H],[1],[function found]) 2892 ANYDB='ndbm' 2893 ;; 2894 "Xyesyesno") 2895 AC_DEFINE([HAVE_NDBM_H],[1],[function found]) 2896 ANYDB='ndbm' 2897 ;; 2898 "Xyesautono") 2899 AC_DEFINE([HAVE_NDBM_H],[1],[function found]) 2900 ANYDB='ndbm' 2901 ;; 2902esac 2903if [[ "X$ANYDB" != "Xndbm" -a "X$FOUND_GDBM" = "Xyes" ]] 2904then 2905 AC_DEFINE([HAVE_GDBM_H],[1],[function found]) 2906fi 2907AC_HEADER_CHECK(db.h, [FOUND_BDB='yes';ANYDB='db';DBLIB='-ldb';AC_DEFINE([HAVE_DB_H],[1],[function found])]) 2908 2909 2910dnl libpng 2911dnl ------ 2912FOUND_PNG='no' 2913AC_HEADER_CHECK(png.h, [LIBPNG='-lpng';FOUND_PNG='yes';AC_DEFINE([HAVE_PNG_H],[1],[function found])]) 2914FOUND_JPG='no' 2915 2916dnl libjpeg 2917dnl ------- 2918AC_HEADER_CHECK(jpeglib.h, [LIBJPEG='-ljpeg';FOUND_JPG='yes';AC_DEFINE([HAVE_JPEGLIB_H],[1],[function found])]) 2919 2920dnl libtiff 2921dnl ------- 2922FOUND_TIFF='no' 2923AC_HEADER_CHECK(tiff.h, [LIBTIFF='-ltiff';FOUND_TIFF='yes';AC_DEFINE([HAVE_TIFF_H],[1],[function found])]) 2924 2925dnl wxWidgets 2926dnl --------- 2927WX_HEADER_FOUND='no' 2928WX_HEADER_FILENAME='' 2929AC_MSG_CHECKING(wx-config) 2930TESTWXCONFIG='' 2931if [[ "X$CROSSBUILD" = "Xyes" -a "X$PKG_CONFIG" != "X:" ]] 2932then 2933 CROSSPREFIX=`$PKG_CONFIG --variable=prefix zlib` 2934 WX_HEADER_FILENAME=`find $CROSSPREFIX -name 'wx.h'` 2935 [[ "X$TESTWXCONFIG" != "X" ]] || TESTWXCONFIG=`find $CROSSPREFIX -name 'wx-config-3.0'` 2936 [[ "X$TESTWXCONFIG" != "X" ]] || TESTWXCONFIG=`find $CROSSPREFIX -name 'wx-config-gtk3'` 2937 [[ "X$TESTWXCONFIG" != "X" ]] || TESTWXCONFIG=`find $CROSSPREFIX -name 'wx-config-gtk2'` 2938 [[ "X$TESTWXCONFIG" != "X" ]] || TESTWXCONFIG=`find $CROSSPREFIX -name 'wx-config'` 2939 [[ "X$TESTWXCONFIG" != "X" ]] || TESTWXCONFIG=`find $CROSSPREFIX -name 'wxconfig'` 2940elif [[ "X$CROSSBUILD" != "Xyes" ]] 2941then 2942 [[ "X$TESTWXCONFIG" != "X" ]] || TESTWXCONFIG=`which wx-config-3.0` 2943 [[ "X$TESTWXCONFIG" != "X" ]] || TESTWXCONFIG=`which wx-config-gtk3` 2944 [[ "X$TESTWXCONFIG" != "X" ]] || TESTWXCONFIG=`which wx-config-gtk2` 2945 [[ "X$TESTWXCONFIG" != "X" ]] || TESTWXCONFIG=`which wx-config` 2946 [[ "X$TESTWXCONFIG" != "X" ]] || TESTWXCONFIG=`which wxconfig` 2947fi 2948AC_MSG_RESULT($TESTWXCONFIG) 2949 2950dnl Check for wxWidgets 2951dnl ------------------- 2952AC_MSG_CHECKING(wxWidgets) 2953if [[ "XWX_HEADER_FILENAME" != "X" ]] 2954then 2955 WX_HEADER_FOUND='yes' 2956fi 2957AC_CHECK_HEADER(wx/wx.h,[WX_HEADER_FOUND='yes']) 2958if [[ "X$WX_HEADER_FOUND" = "Xyes" -a "X$TESTWXCONFIG" != "X" ]] 2959then 2960 WXCPPFLAGS=`$TESTWXCONFIG --cppflags` 2961 WXCXXFLAGS=`$TESTWXCONFIG --cxxflags` 2962 WXVERSION=`$TESTWXCONFIG --version` 2963 WXCFLAGS=`$TESTWXCONFIG --cflags` 2964 WXLDFLAGS=`$TESTWXCONFIG --libs` 2965 WXCONFIGLIBS="$WXLDFLAGS" 2966elif [[ "X$WX_HEADER_FOUND" = "Xyes" ]] 2967then 2968 AC_MSG_WARN([wxWidgets headers found, bot no wx-config!]) 2969fi 2970if [[ "X$TOOLCHAIN" = "Xgcc" -o "X$TOOLCHAIN" = "Xclang" ]] 2971then 2972 WXCPPFLAGS=`echo $WXCPPFLAGS | sed -e 's/\-I/-isystem /g'` 2973 WXCXXFLAGS=`echo $WXCXXFLAGS | sed -e 's/\-I/-isystem /g'` 2974 WXCFLAGS=`echo $WXCFLAGS | sed -e 's/\-I/-isystem /g'` 2975fi 2976FOUND_WX='no' 2977if [[ "X$WXLDFLAGS" != "X" ]] 2978then 2979 FOUND_WX='yes' 2980 AC_DEFINE([HAVE_WXWIDGETS],[1],[function found]) 2981fi 2982WXMAJOR='' 2983WXMINOR='' 2984if [[ "X$WXVERSION" != "X" ]] 2985then 2986 WXMAJOR=`echo $WXVERSION | cut -f 1 -d .` 2987 WXMINOR=`echo $WXVERSION | cut -f 2 -d .` 2988fi 2989[[ "X$WXMAJOR" != "X" ]] || WXMAJOR='0' 2990 2991if [[ "$WXMAJOR" -ge 3 ]] 2992then 2993AC_DEFINE([HAVE_WX_DEFS_H],[1],[function found]) 2994AC_DEFINE([HAVE_WX_CHARTYPE_H],[1],[function found]) 2995elif [[ "$WXMAJOR" -ge 2 ]] 2996then 2997AC_DEFINE([HAVE_WX_DEFS_H],[1],[function found]) 2998AC_DEFINE([HAVE_WX_WXCHAR_H],[1],[function found]) 2999fi 3000AC_MSG_RESULT($FOUND_WX) 3001 3002dnl MySQL / MariaDB 3003dnl --------------- 3004FOUND_MYSQL='no' 3005AC_HEADER_CHECK(mariadb/mysql.h, [ 3006MYSQLLIB='-lmariadbclient' 3007FOUND_MYSQL='yes' 3008AC_DEFINE([HAVE_MARIADB_MYSQL_H],[1],[function found]) 3009],[ 3010AC_HEADER_CHECK(mysql/mysql.h, [ 3011MYSQLLIB='-lmysqlclient' 3012FOUND_MYSQL='yes' 3013AC_DEFINE([HAVE_MYSQL_MYSQL_H],[1],[function found]) 3014],[ 3015AC_HEADER_CHECK(mysql.h, [ 3016MYSQLLIB='-lmysqlclient' 3017FOUND_MYSQL='yes' 3018AC_DEFINE([HAVE_MYSQL_H],[1],[function found]) 3019] 3020) 3021] 3022) 3023]) 3024 3025dnl Resolution information in PNG files 3026dnl ----------------------------------- 3027AC_CHECK_LIB(png, png_get_pixels_per_inch,AC_DEFINE([HAVE_PNG_GET_PIXELS_PER_INCH],[1],[function found])) 3028 3029dnl HAVE_DB_CURSOR_C_GET 3030dnl -------------------- 3031AC_TRY_COMPILE([ 3032#include <db.h> 3033],[ 3034DBT k; 3035DBT v; 3036DBC *cp; 3037cp->c_get(cp, &k, &v, DB_FIRST); 3038],[AC_DEFINE([HAVE_DB_CURSOR_C_GET],[1],[function found])]) 3039 3040dnl Random number generation 3041dnl ======================== 3042 3043dnl Functions rand and srand 3044dnl ------------------------ 3045AC_MSG_CHECKING(rand srand) 3046AC_TRY_COMPILE([ 3047#include <stdio.h> 3048#include <stdlib.h> 3049],[ 3050 srand(25); 3051 printf("%d\n", rand()); 3052 printf("%d\n", RAND_MAX); 3053],[AC_MSG_RESULT(yes) 3054AC_DEFINE([HAVE_RAND],[1],[function found]) 3055AC_DEFINE([HAVE_SRAND],[1],[function found])],[AC_MSG_RESULT(no)]) 3056 3057dnl Function family initstate setstat random 3058dnl ---------------------------------------- 3059AC_MSG_CHECKING(initstate setstate random) 3060AC_TRY_COMPILE([ 3061#include <stdio.h> 3062#include <stdlib.h> 3063],[ 3064char rs[256]; 3065initstate(25, rs, sizeof(rs)); 3066setstate(rs); 3067printf("%ld\n", random()); 3068],[ 3069AC_MSG_RESULT(yes) 3070AC_DEFINE([HAVE_INITSTATE],[1],[function found]) 3071AC_DEFINE([HAVE_SETSTATE],[1],[function found]) 3072AC_DEFINE([HAVE_RANDOM],[1],[function found]) 3073],[AC_MSG_RESULT(no)]) 3074 3075dnl Functions lrand48 nrand48 seed48 3076dnl -------------------------------- 3077AC_MSG_CHECKING(lrand48 nrand48 seed48) 3078AC_TRY_COMPILE([ 3079#include <stdio.h> 3080#include <stdlib.h> 3081],[ 3082unsigned short sv[3]; 3083sv[0] = 0; 3084sv[1] = 1; 3085sv[2] = 2; 3086seed48(sv); 3087printf("%ld\n", lrand48()); 3088printf("%ld\n", nrand48(sv)); 3089],[ 3090AC_MSG_RESULT(yes) 3091AC_DEFINE([HAVE_LRAND48],[1],[function found]) 3092AC_DEFINE([HAVE_NRAND48],[1],[function found]) 3093],[AC_MSG_RESULT(no)]) 3094 3095dnl RAND_egd function in OpenSSL 3096dnl ---------------------------- 3097COMPILE_RAND_EGD=no 3098LIBCHECK_RAND_EGD=no 3099AC_CHECK_LIB(crypto, RAND_egd,LIBCHECK_RAND_EGD='yes') 3100AC_MSG_CHECKING([RAND_egd (compile test code)]) 3101AC_TRY_COMPILE([ 3102#include <openssl/rand.h> 3103],[ 3104int i; 3105i = RAND_egd("/dev/egd"); 3106],[COMPILE_RAND_EGD='yes';AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)]) 3107if [[ "X$COMPILE_RAND_EGD" = "Xyes" -a "X$LIBCHECK_RAND_EGD" = "Xyes" ]] 3108then 3109AC_DEFINE([HAVE_RAND_EGD],[1],[function found]) 3110fi 3111 3112 3113dnl /dev/random and /dev/urandom 3114dnl ---------------------------- 3115if test -b /dev/urandom 3116then 3117 AC_DEFINE([HAVE_DEV_URANDOM],[1],[function found]) 3118fi 3119if test -c /dev/urandom 3120then 3121 AC_DEFINE([HAVE_DEV_URANDOM],[1],[function found]) 3122fi 3123if test -b /dev/random 3124then 3125 AC_DEFINE([HAVE_DEV_RANDOM],[1],[function found]) 3126fi 3127if test -c /dev/random 3128then 3129 AC_DEFINE([HAVE_DEV_RANDOM],[1],[function found]) 3130fi 3131 3132dnl Feature Checking for /proc/.../exe symbolic link 3133dnl ------------------------------------------------ 3134dnl http://stackoverflow.com/questions/1023306/finding-current-executables-path-without-proc-self-exe 3135AC_MSG_CHECKING(/proc/.../exe symbolic link) 3136AC_TRY_RUN([ 3137#include <stdio.h> 3138#if HAVE_STDLIB_H 3139#include <stdlib.h> 3140#endif 3141#if HAVE_SYS_TYPES_H 3142#include <sys/types.h> 3143#endif 3144#if HAVE_SYS_STAT_H 3145#include <sys/stat.h> 3146#endif 3147#if HAVE_UNISTD_H 3148#include <unistd.h> 3149#endif 3150#if HAVE_STDINT_H 3151#include <stdint.h> 3152#endif 3153/* Buffer for result */ 3154char prog[1024]; 3155#ifdef __cplusplus 3156int main(int argc, char *argv[]) 3157#else 3158int main(argc, argv) int argc; char *argv[]; 3159#endif 3160{ 3161 char buf[64]; 3162 struct stat stbuf; 3163 int exv = 1; 3164 ssize_t res; 3165#if HAVE_STDINT_H 3166 sprintf(buf, "/proc/%ju/exe", (uintmax_t)getpid()); 3167#else 3168 sprintf(buf, "/proc/%lu/exe", (unsigned long)getpid()); 3169#endif 3170 res = readlink(buf, prog, sizeof(prog)); 3171 if ((0 < res) && (sizeof(prog) > res)) { 3172 prog[res] = '\0'; 3173 if (0 == stat(prog, &stbuf)) { 3174 exv = 0; 3175 } 3176 } 3177 return exv; 3178} 3179],[AC_MSG_RESULT(yes);AC_DEFINE([HAVE_PROC_PID_EXE],[1],[function found])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)]) 3180if [[ "X$CROSSBUILD" = "Xyes" ]] 3181then 3182AC_MSG_WARN([Test for /proc/.../exe not possible!]) 3183AC_MSG_WARN([Result is guessed and may be wrong.]) 3184AC_MSG_WARN([Correct HAVE_PROC_PID_EXE in config.h if necessary.]) 3185fi 3186 3187dnl NetSNMP library 3188dnl --------------- 3189FOUND_NETSNMP='no' 3190AC_TRY_COMPILE([ 3191#include <net-snmp/net-snmp-config.h> 3192#include <net-snmp/net-snmp-includes.h> 3193#include <net-snmp/utilities.h> 3194],[ 3195netsnmp_session session, *ss; 3196],[ 3197FOUND_NETSNMP='yes' 3198AC_DEFINE([HAVE_LIBNETSNMP],[1],[function found]) 3199]) 3200AC_CHECK_LIB(netsnmp,snmp_enable_filelog,[AC_DEFINE([HAVE_SNMP_ENABLE_FILELOG],[1],[function found])]) 3201AC_CHECK_LIB(netsnmp,snmp_disable_syslog,[AC_DEFINE([HAVE_SNMP_DISABLE_SYSLOG],[1],[function found])]) 3202AC_CHECK_LIB(netsnmp,snmp_disable_stderrlog,[AC_DEFINE([HAVE_SNMP_DISABLE_STDERRLOG],[1],[function found])]) 3203AC_CHECK_LIB(netsnmp,snmp_disable_filelog,[AC_DEFINE([HAVE_SNMP_DISABLE_FILELOG],[1],[function found])]) 3204 3205dnl Check for MySQL client library 3206dnl ------------------------------ 3207AC_MSG_CHECKING(MySQL client library) 3208if [[ "X$FOUND_MYSQL" = "Xyes" ]] 3209then 3210 [[ ! -f /usr/lib/mysql/libmysqlclient.so ]] || LDFLAGS="$LDFLAGS -L/usr/lib/mysql" 3211 [[ ! -f /usr/lib/mysql/libmysqlclient.a ]] || LDFLAGS="$LDFLAGS -L/usr/lib/mysql" 3212 [[ ! -f /usr/lib/mysql/libmysqlclient.so ]] || MYSQLLDFLAGS="-L/usr/lib/mysql" 3213 [[ ! -f /usr/lib/mysql/libmysqlclient.a ]] || MYSQLLDFLAGS="-L/usr/lib/mysql" 3214 [[ ! -f /usr/lib64/mysql/libmysqlclient.so ]] || LDFLAGS="$LDFLAGS -L/usr/lib64/mysql" 3215 [[ ! -f /usr/lib64/mysql/libmysqlclient.a ]] || LDFLAGS="$LDFLAGS -L/usr/lib64/mysql" 3216 [[ ! -f /usr/lib64/mysql/libmysqlclient.so ]] || MYSQLLDFLAGS="-L/usr/lib64/mysql" 3217 [[ ! -f /usr/lib64/mysql/libmysqlclient.a ]] || MYSQLLDFLAGS="-L/usr/lib64/mysql" 3218fi 3219AC_MSG_RESULT(done) 3220 3221SOLIBZ='' 3222SOLIBBZ='' 3223SOLIBMATH='' 3224SOLIBCRYPTO='' 3225SOLIBNET='' 3226SOLIBIMG='' 3227SOLIBSDBI='' 3228SOLIBWX='' 3229SOLIBDK3PORT='' 3230SOLIBDK3C='' 3231SOLIBDK3OF='' 3232SOLIBDK3CSRND='' 3233SOLIBDK3BIF='' 3234SOLIBDK3DBI='' 3235SOLIBDK3FIG='' 3236SOLIBDK3BMEPS='' 3237SOLIBDK3NET='' 3238SOLIBDK4TRACE='' 3239SOLIBDK4BASE='' 3240SOLIBDK4MA='' 3241SOLIBDK4MAIO8H='' 3242SOLIBDK4MAIOWH='' 3243SOLIBDK4MAIODH='' 3244SOLIBDK4MAIO8D='' 3245SOLIBDK4MAIOWD='' 3246SOLIBDK4MAIODD='' 3247SOLIBDK4C='' 3248SOLIBDK4MDRND='' 3249SOLIBDK4PPPT='' 3250SOLIBDK4APP='' 3251SOLIBDK4LATA='' 3252SOLIBDK4LAT='' 3253SOLIBDK4SOCK='' 3254SOLIBDK4SOCKA='' 3255SOLIBDK4DBI='' 3256SOLIBDK4DBIA='' 3257LIBDK4TRACELIBF='' 3258LIBDK4TRACELIBS='' 3259LIBDK4BASELIBF='' 3260LIBDK4BASELIBS='' 3261LIBDK4MALIBF='' 3262LIBDK4MALIBS='' 3263LIBDK4MAIO8DLIBF='' 3264LIBDK4MAIO8DLIBS='' 3265LIBDK4MAIOWDLIBF='' 3266LIBDK4MAIOWDLIBS='' 3267LIBDK4MAIODDLIBF='' 3268LIBDK4MAIODDLIBS='' 3269LIBDK4MAIOXDLIBF='' 3270LIBDK4MAIOXDLIBS='' 3271LIBDK4MAIO8HLIBF='' 3272LIBDK4MAIO8HLIBS='' 3273LIBDK4MAIOWHLIBF='' 3274LIBDK4MAIOWHLIBS='' 3275LIBDK4MAIODHLIBF='' 3276LIBDK4MAIODHLIBS='' 3277LIBDK4DBILIBF='' 3278LIBDK4DBILIBS='' 3279LIBDK4CLIBF='' 3280LIBDK4CLIBS='' 3281LIBDK4LATALIBF='' 3282LIBDK4LATALIBS='' 3283LIBDK4LATLIBF='' 3284LIBDK4LATLIBS='' 3285LIBDK4BIFLIBF='' 3286LIBDK4BIFLIBS='' 3287LIBDK4GRALIBF='' 3288LIBDK4GRALIBS='' 3289LIBDK4SOCKLIBF='' 3290LIBDK4SOCKLIBS='' 3291LIBDK4MDRNDLIBF='' 3292LIBDK4MDRNDLIBS='' 3293LIBDK4PPPTLIBF='' 3294LIBDK4PPPTLIBS='' 3295LIBDK4APPLIBF='' 3296LIBDK4APPLIBS='' 3297LIBDK4PPPTALIBF='' 3298LIBDK4PPPTALIBS='' 3299LIBDK4SOCKALIBF='' 3300LIBDK4SOCKALIBS='' 3301LIBDK4DBIALIBF='' 3302LIBDK4DBIALIBS='' 3303LIBDK4BIFALIBF='' 3304LIBDK4BIFALIBS='' 3305LIBDK4GRAALIBF='' 3306LIBDK4GRAALIBS='' 3307LIBDK4WXLIBF='' 3308LIBDK4WXLIBS='' 3309LIBDK3TRACELIBF='' 3310LIBDK3TRACELIBS='' 3311LIBDK3CLIBF='' 3312LIBDK3CLIBS='' 3313LIBDK3OFLIBF='' 3314LIBDK3OFLIBS='' 3315LIBDK3CSRNDLIBF='' 3316LIBDK3CSRNDLIBS='' 3317LIBDK3BIFLIBF='' 3318LIBDK3BIFLIBS='' 3319LIBDK3DBILIBF='' 3320LIBDK3DBILIBS='' 3321LIBDK3BMEPSLIBF='' 3322LIBDK3BMEPSLIBS='' 3323LIBDK3FIGLIBF='' 3324LIBDK3FIGLIBS='' 3325LIBDK3WXLIBF='' 3326LIBDK3WXLIBS='' 3327 3328AC_MSG_CHECKING(Link shared libraries against shared libraries) 3329if [[ "X$ENA_SHARED" = "Xyes" -a "X$ENA_SOSO" = "Xyes" ]] 3330then 3331 AC_MSG_RESULT(yes) 3332 SOLIBZ="$ZLIB" 3333 SOLIBBZ="$BZLIB" 3334 SOLIBMATH='-lm' 3335 SOLIBCRYPTO="$CRYPTO" 3336 SOLIBNET="$NETLIB" 3337 SOLIBIMG="$IMGLIBS" 3338 SOLIBSDBI="$DKSDBILIBS" 3339 SOLIBWX="$WXCONFIGLIBS" 3340 SOLIBDK3PORT='' 3341 SOLIBDK3C='-ldk3c' 3342 SOLIBDK3OF='-ldk3of' 3343 SOLIBDK3CSRND='-ldk3csrnd' 3344 SOLIBDK3BIF='-ldk3bif' 3345 SOLIBDK3DBI='-ldk3dbi' 3346 SOLIBDK3FIG='-ldk3fig' 3347 SOLIBDK3BMEPS='-ldk3bmeps' 3348 SOLIBDK3NET='-ldk3net' 3349 SOLIBDK4BASE='-ldk4base' 3350 SOLIBDK4TRACE='-ldk4trace' 3351 SOLIBDK4MA='-ldk4ma' 3352 SOLIBDK4MAIO8H='-ldk4maio8h' 3353 SOLIBDK4MAIOWH='-ldk4maiowh' 3354 SOLIBDK4MAIODH='-ldk4maiodh' 3355 SOLIBDK4MAIO8D='-ldk4maio8d' 3356 SOLIBDK4MAIOWD='-ldk4maiowd' 3357 SOLIBDK4MAIODD='-ldk4maiodd' 3358 SOLIBDK4C='-ldk4c' 3359 SOLIBDK4MDRND='-ldk4mdrnd' 3360 SOLIBDK4PPPT='-ldk4pppt' 3361 SOLIBDK4APP='-ldk4app' 3362 SOLIBDK4LATA='-ldk4lata' 3363 SOLIBDK4LAT='-ldk4lat' 3364 SOLIBDK4SOCK='-ldk4sock' 3365 SOLIBDK4SOCKA='-ldk4socka' 3366 SOLIBDK4DBI='-ldk4dbi' 3367 SOLIBDK4DBIA='-ldk4dbia' 3368 LIBDK4TRACELIBF='' 3369 LIBDK4TRACELIBS='' 3370 LIBDK4BASELIBF='' 3371 LIBDK4BASELIBS='' 3372 LIBDK4MALIBF='libdk4base.so' 3373 LIBDK4MALIBS='-ldk4base' 3374 LIBDK4MAIO8DLIBF='libdk4base.so libdk4ma.so' 3375 LIBDK4MAIO8DLIBS='-ldk4ma -ldk4base' 3376 LIBDK4MAIOWDLIBF='libdk4base.so libdk4ma.so' 3377 LIBDK4MAIOWDLIBS='-ldk4ma -ldk4base' 3378 LIBDK4MAIODDLIBF='libdk4maio8d.so' 3379 LIBDK4MAIODDLIBS='-ldk4maio8d' 3380 LIBDK4MAIOXDLIBF='libdk4maio8d.so libdk4maiowd.so' 3381 LIBDK4MAIOXDLIBS='-ldk4maiowd -ldk4maio8d' 3382 LIBDK4MAIO8HLIBF='libdk4base.so' 3383 LIBDK4MAIO8HLIBS='-ldk4base' 3384 LIBDK4MAIOWHLIBF='libdk4base.so' 3385 LIBDK4MAIOWHLIBS='-ldk4base' 3386 LIBDK4MAIODHLIBF='libdk4base.so libdk4maio8h.so' 3387 LIBDK4MAIODHLIBS='-ldk4maio8h -ldk4base' 3388 LIBDK4CLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so' 3389 LIBDK4CLIBS='-ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(BZLIB) $(ZLIB)' 3390 LIBDK4DBILIBF='libdk4base.so libdk4ma.so libdk4c.so' 3391 LIBDK4DBILIBS='-ldk4c -ldk4ma -ldk4base $(DBLIB) $(DBLIBSOCK)' 3392 LIBDK4LATLIBF='libdk4base.so libdk4ma.so libdk4maio8h.so libdk4c.so' 3393 LIBDK4LATLIBS='-ldk4c -ldk4maio8h -ldk4ma -ldk4base' 3394 LIBDK4BIFLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4c.so' 3395 LIBDK4BIFLIBS='-ldk4c -ldk4maio8d -ldk4ma -ldk4base $(IMGLIBS)' 3396 LIBDK4GRALIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4lat.so libdk4bif.so' 3397 LIBDK4GRALIBS='-ldk4bif -ldk4lat -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base -lm' 3398 LIBDK4SOCKLIBF='libdk4base.so libdk4maio8d.so libdk4c.so' 3399 LIBDK4SOCKLIBS='-ldk4c -ldk4maio8d -ldk4base $(SOCKLIB) $(NSLLIB)' 3400 LIBDK4MDRNDLIBF='libdk4base.so libdk4c.so' 3401 LIBDK4MDRNDLIBS='$(CRYPTO) -ldk4c -ldk4base $(CRYPTO)' 3402 LIBDK4PPPTLIBF='libdk4base.so libdk4c.so libdk4lat.so libdk4gra.so' 3403 LIBDK4PPPTLIBS='-ldk4gra -ldk4lat -ldk4c -ldk4base' 3404 LIBDK4APPLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so' 3405 LIBDK4APPLIBS='-ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base' 3406 LIBDK4LATALIBF='libdk4base.so libdk4maio8d.so libdk4maio8h.so libdk4maiodd.so libdk4maiodh.so libdk4c.so libdk4app.so libdk4lat.so' 3407 LIBDK4LATALIBS='-ldk4app -ldk4lat -ldk4c -ldk4maiodh -ldk4maiodd -ldk4maio8h -ldk4maio8d -ldk4base' 3408 LIBDK4SOCKALIBF='libdk4base.so libdk4maio8d.so libdk4maiodd.so libdk4maiodh.so libdk4sock.so libdk4app.so' 3409 LIBDK4SOCKALIBS='-ldk4app -ldk4sock -ldk4maiodh -ldk4maiodd -ldk4maio8d -ldk4base' 3410 LIBDK4DBIALIBF='libdk4base.so libdk4dbi.so libdk4app.so' 3411 LIBDK4DBIALIBS='-ldk4app -ldk4dbi -ldk4base' 3412 LIBDK4BIFALIBF='libdk4base.so libdk4ma.so libdk4maiodd.so libdk4c.so libdk4bif.so libdk4app.so' 3413 LIBDK4BIFALIBS='-ldk4app -ldk4bif -ldk4c -ldk4maiodd -ldk4ma -ldk4base' 3414 LIBDK4GRAALIBF='libdk4base.so libdk4maiodd.so libdk4maiodh.so libdk4c.so libdk4bif.so libdk4gra.so libdk4app.so libdk4bifa.so' 3415 LIBDK4GRAALIBS='-ldk4bifa -ldk4app -ldk4gra -ldk4bif -ldk4c -ldk4maiodd -ldk4maiodh -ldk4base' 3416 LIBDK4PPPTALIBF='libdk4pppt.so libdk4app.so' 3417 LIBDK4PPPTALIBS='-ldk4app -ldk4pppt' 3418 LIBDK4WXLIBF='libdk4base.so libdk4maio8d.so libdk4maiowd.so libdk4c.so' 3419 LIBDK4WXLIBS='-ldk4c -ldk4base -ldk4maiowd -ldk4maio8d $(WXLDFLAGS)' 3420 LIBDK3TRACELIBF='' 3421 LIBDK3TRACELIBS='' 3422 LIBDK3CLIBF='' 3423 LIBDK3CLIBS='$(BZLIB) $(ZLIB) -lm' 3424 LIBDK3OFLIBF='libdk3c.so' 3425 LIBDK3OFLIBS='-ldk3c $(BZLIB) $(ZLIB)' 3426 LIBDK3CSRNDLIBF='libdk3c.so' 3427 LIBDK3CSRNDLIBS='-ldk3c $(CRYPTO)' 3428 LIBDK3BIFLIBF='libdk3c.so' 3429 LIBDK3BIFLIBS='-ldk3c $(IMGLIBS)' 3430 LIBDK3DBILIBF='libdk3c.so' 3431 LIBDK3DBILIBS='-ldk3c $(DBLIB) $(DBLIBSOCK)' 3432 LIBDK3BMEPSLIBF='libdk3c.so libdk3of.so libdk3bif.so' 3433 LIBDK3BMEPSLIBS='-ldk3bif -ldk3of -ldk3c -lm' 3434 LIBDK3FIGLIBF='libdk3c.so' 3435 LIBDK3FIGLIBS='-ldk3c -lm' 3436 LIBDK3WXLIBF='libdk3c.so' 3437 LIBDK3WXLIBS='-ldk3c $(WXLDFLAGS)' 3438else 3439 AC_MSG_RESULT(no) 3440fi 3441 3442 3443 3444dnl FEATURE TESTS END 3445 3446 3447dnl COMPONENTS TO BUILD AND INSTALL 3448 3449dnl Further compiler setup 3450dnl ====================== 3451 3452dnl Position independent code and shared libraries 3453dnl ---------------------------------------------- 3454MKSOLIB='echo "ERROR: Can not build shared libraries!" #' 3455MKSOLIBCPP='echo "ERROR: Can not build shared libraries!" #' 3456AC_MSG_CHECKING(toolchain specific options) 3457case X$TOOLCHAIN in 3458 Xgcc|Xclang) 3459 CFLAGS="$CFLAGS -fPIC -D_REENTRANT" 3460 CFL_CLI_C8="$CFL_CLI_C8 -fPIC -D_REENTRANT" 3461 CFL_CLI_DK="$CFL_CLI_DK -fPIC -D_REENTRANT" 3462 CXXFL_CLI_C8="$CXXFL_CLI_C8 -fPIC -D_REENTRANT" 3463 CXXFL_CLI_DK="$CXXFL_CLI_DK -fPIC -D_REENTRANT" 3464 CXXFL_CLI_WX="$CXXFL_CLI_WX -fPIC -D_REENTRANT" 3465 CXXFL_GUI="$CXXFL_GUI -fPIC -D_REENTRANT" 3466 if [[ "X$ENA_SHARED" = "Xyes" ]] 3467 then 3468 CXXFL_GUI="$CXXFL_GUI" 3469 fi 3470 MKSOLIB='$(CC) -shared -L. $(MKSORPATH) $(MKSOCHECKSYMBOLS) $(MKSORPATHLINK) $(LDFLAGS) -o $@.$(SOVERS) -Wl,-soname,$@.$(SOVERS)' 3471 MKSOLIBCPP='$(CXX) -shared -L. $(MKSORPATH) $(MKSOCHECKSYMBOLS) $(MKSORPATHLINK) $(LDFLAGS) -o $@.$(SOVERS) -Wl,-soname,$@.$(SOVERS)' 3472 if [[ "X$ENA_SHARED" = "Xyes" -a "X$ENA_SOSO" = "Xyes" ]] 3473 then 3474 MKSORPATHLINK='-Wl,-rpath-link,./' 3475 MKSOCHECKSYMBOLS='-Wl,-z,defs' 3476 RPATHLINK='-Wl,-rpath-link,./' 3477 fi 3478 AC_MSG_RESULT(gcc) 3479 ;; 3480 Xworkshop) 3481 if [[ "X$ENA_SHARED" = "Xyes" ]] 3482 then 3483 CFLAGS="-Bdynamic -dy $CFLAGS" 3484 CFL_CLI_C8="-Bdynamic -dy $CFL_CLI_C8" 3485 CFL_CLI_DK="-Bdynamic -dy $CFL_CLI_DK" 3486 CXXFL_CLI_C8="-Bdynamic -dy $CXXFL_CLI_C8" 3487 CXXFL_CLI_DK="-Bdynamic -dy $CXXFL_CLI_DK" 3488 CXXFL_CLI_WX="-Bdynamic -dy $CXXFL_CLI_WX" 3489 CXXFL_GUI="-Bdynamic -dy $CXXFL_GUI" 3490 LDFLAGS="-Bdynamic -dy $LDFLAGS" 3491 LDFLC_CLI_C8="-Bdynamic -dy $LDFLC_CLI_C8" 3492 LDFLC_CLI_DK="-Bdynamic -dy $LDFLC_CLI_DK" 3493 LDFLCXX_CLI_C8="-Bdynamic -dy $LDFLCXX_CLI_C8" 3494 LDFLCXX_CLI_DK="-Bdynamic -dy $LDFLCXX_CLI_DK" 3495 LDFLCXX_CLI_WX="-Bdynamic -dy $LDFLCXX_CLI_WX" 3496 LDFLCXX_GUI="-Bdynamic -dy $LDFLCXX_GUI" 3497 fi 3498 CFLAGS="$CFLAGS -xcode=pic32 -D_REENTRANT" 3499 CFL_CLI_C8="$CFL_CLI_C8 -xcode=pic32 -D_REENTRANT" 3500 CFL_CLI_DK="$CFL_CLI_DK -xcode=pic32 -D_REENTRANT" 3501 CXXFL_CLI_C8="$CXXFL_CLI_C8 -xcode=pic32 -D_REENTRANT" 3502 CXXFL_CLI_DK="$CXXFL_CLI_DK -xcode=pic32 -D_REENTRANT" 3503 CXXFL_CLI_WX="$CXXFL_CLI_WX -xcode=pic32 -D_REENTRANT" 3504 CXXFL_GUI="$CXXFL_GUI -xcode=pic32 -D_REENTRANT" 3505 MKSOLIB='$(CC) -L. $(MKSORPATH) $(MKSORPATHLINK) $(LDFLAGS) -G -h $@.$(SOVERS) -o $@.$(SOVERS)' 3506 MKSOLIBCPP='$(CXX) -L. $(MKSORPATH) $(MKSORPATHLINK) $(LDFLAGS) -G -h $@.$(SOVERS) -o $@.$(SOVERS)' 3507 AC_MSG_RESULT(workshop) 3508 ;; 3509 *) 3510 AC_MSG_RESULT(other) 3511 ;; 3512esac 3513 3514dnl Create -R option for linker 3515AC_MSG_CHECKING(linker requires -R option) 3516if [[ "X$LD_LIBRARY_PATH" != "X" -a "X$TOOLCHAIN" = "Xworkshop" ]] 3517then 3518 RPATH="-R${LD_LIBRARY_PATH}" 3519 AC_MSG_RESULT(yes) 3520else 3521 AC_MSG_RESULT(no) 3522fi 3523 3524if [[ "X$ENA_RPATH" = "Xyes" -a "X$ENA_PACKAGE" = "Xyes" -a \( "X$TOOLCHAIN" = "Xgcc" -o "X$TOOLCHAIN" = "Xclang" \) ]] 3525then 3526 RPATH='-Wl,-rpath,$(libdir)' 3527fi 3528 3529dnl Corrections for Solaris 3530dnl ----------------------- 3531DBLIBSOCK="$DBLIB" 3532case X$TARGETHOST in 3533 Xsparc-sun-solaris*) 3534 if [[ "X$ENA_SUNOS_CORR" = "Xyes" ]] 3535 then 3536 AC_MSG_CHECKING(corrections for Solaris) 3537 [[ "X$DBLIBSOCK" = "X" ]] || DBLIBSOCK="$DBLIB -lrt "'$(SOCKLIB)' 3538 [[ "X$DBLIB" = "X" ]] || DBLIB="$DBLIB -lrt" 3539 [[ "X$CRYPTO" = "X" ]] || CRYPTO="$CRYPTO -lssl "'$(SOCKLIB)' 3540 [[ "X$MYSQLLIB" = "X" ]] || MYSQLLIB="$MYSQLLIB -lrt "'$(SOCKLIB)' 3541 NETSNMP_LIBS=`echo $NETSNMP_LIBS | sed -f modsnmp.sed` 3542 SOCKLIB='-lsocket' 3543 NSLLIB='-lnsl' 3544 AC_MSG_RESULT(done) 3545 NETSNMP_LIBS='' 3546 FOUND_NETSNMP='no' 3547 fi 3548 ;; 3549esac 3550 3551dnl Programs in suite 3552dnl ================= 3553 3554dnl socket available 3555dnl ---------------- 3556AC_MSG_CHECKING(availability of network functions) 3557if [[ "X$FOUND_SOCKET" = "Xyes" ]] 3558then 3559PRG_RES_NET='$(PRG_RES_NET)' 3560MAN_RES_NET='$(MAN_RES_NET)' 3561RES_RES_NET='$(RES_RES_NET)' 3562RES_RES_NET_EN='$(RES_RES_NET_EN)' 3563RES_RES_NET_DE='$(RES_RES_NET_DE)' 3564PRG_CLI_NET='$(PRG_CLI_NET)' 3565MAN_CLI_NET='$(MAN_CLI_NET)' 3566RES_CLI_NET='$(RES_CLI_NET)' 3567PRG_GUI_NET='$(PRG_GUI_NET)' 3568MAN_GUI_NET='$(MAN_GUI_NET)' 3569RES_GUI_NET='$(RES_GUI_NET)' 3570AC_MSG_RESULT(yes) 3571else 3572AC_MSG_RESULT(no) 3573fi 3574 3575dnl socket available, target class posix 3576dnl ------------------------------------ 3577AC_MSG_CHECKING(both network functions and POSIX) 3578if [[ "X$FOUND_SOCKET" = "Xyes" -a "X$TARGETCLASS" = "Xposix" ]] 3579then 3580PRG_CLI_NET_POSIX='$(PRG_CLI_NET_POSIX)' 3581MAN_CLI_NET_POSIX='$(MAN_CLI_NET_POSIX)' 3582RES_CLI_NET_POSIX='$(RES_CLI_NET_POSIX)' 3583AC_MSG_RESULT(yes) 3584else 3585AC_MSG_RESULT(no) 3586fi 3587 3588dnl NetSNMP available 3589dnl ----------------- 3590AC_MSG_CHECKING(NetSNMP support) 3591if [[ "X$NETSNMP_LIBS" != "X" ]] 3592then 3593PRG_CLI_SNMP='$(PRG_CLI_SNMP)' 3594MAN_CLI_SNMP='$(MAN_CLI_SNMP)' 3595RES_CLI_SNMP='$(RES_CLI_SNMP)' 3596AC_MSG_RESULT(yes) 3597else 3598AC_MSG_RESULT(no) 3599fi 3600 3601dnl MySQL or MariaDB available 3602dnl -------------------------- 3603AC_MSG_CHECKING(MySQL or MariaDB) 3604if [[ "X$MYSQLLIB" != "X" ]] 3605then 3606PRG_CLI_MYSQL='$(PRG_CLI_MYSQL)' 3607MAN_CLI_MYSQL='$(MAN_CLI_MYSQL)' 3608RES_CLI_MYSQL='$(RES_CLI_MYSQL)' 3609AC_MSG_RESULT(yes) 3610else 3611AC_MSG_RESULT(no) 3612fi 3613 3614dnl OpenSSL available 3615dnl ----------------- 3616AC_MSG_CHECKING(OpenSSL) 3617if [[ "X$CRYPTO" != "X" ]] 3618then 3619PRG_CLI_SSL='$(PRG_CLI_SSL)' 3620MAN_CLI_SSL='$(MAN_CLI_SSL)' 3621RES_CLI_SSL='$(RES_CLI_SSL)' 3622PRG_GUI_SSL='$(PRG_GUI_SSL)' 3623MAN_GUI_SSL='$(MAN_GUI_SSL)' 3624RES_GUI_SSL='$(RES_GUI_SSL)' 3625AC_MSG_RESULT(yes) 3626else 3627AC_MSG_RESULT(no) 3628fi 3629 3630dnl POSIX system 3631dnl ------------ 3632MOD_DK4DMT='' 3633MOD_DKK3WREG='' 3634AC_MSG_CHECKING(target class POSIX) 3635if [[ "X$TARGETCLASS" = "Xposix" ]] 3636then 3637PRG_CLI_POSIX='$(PRG_CLI_POSIX)' 3638MAN_CLI_POSIX='$(MAN_CLI_POSIX)' 3639RES_CLI_POSIX='$(RES_CLI_POSIX)' 3640MOD_DK4DMT='src/libdk4c/dk4dmt.$(OBJEXT)' 3641AC_MSG_RESULT(yes) 3642else 3643AC_MSG_RESULT(no) 3644fi 3645 3646dnl Windows system 3647dnl -------------- 3648AC_MSG_CHECKING(target class Windows) 3649if [[ "X$TARGETCLASS" = "Xwindows" ]] 3650then 3651PRG_CLI_WINDOWS='$(PRG_CLI_WINDOWS)' 3652MAN_CLI_WINDOWS='$(MAN_CLI_WINDOWS)' 3653RES_CLI_WINDOWS='$(RES_CLI_WINDOWS)' 3654PRG_GUI_WINDOWS='$(PRG_GUI_WINDOWS)' 3655MAN_GUI_WINDOWS='$(MAN_GUI_WINDOWS)' 3656RES_GUI_WINDOWS='$(RES_GUI_WINDOWS)' 3657MOD_DK3WREG='src/libdk3c/dk3wreg.$(OBJEXT)' 3658AC_MSG_RESULT(yes) 3659else 3660AC_MSG_RESULT(no) 3661fi 3662 3663if [[ "X$SUITE" = "Xauto" -a "X$FOUND_WX" = "Xyes" ]] 3664then 3665 SUITE='gui' 3666elif [[ "X$SUITE" = "Xauto" ]] 3667then 3668 SUITE='cli' 3669fi 3670 3671AC_MSG_CHECKING(components to install) 3672INSTALL_INDEP='i-ind-cli' 3673INSTALL_LIBS='' 3674LIBDK3WXOBJ='' 3675LIBDK4WXOBJ='' 3676if [[ "X$ENA_MAN" = "Xyes" ]] 3677then 3678 INSTALL_INDEP='i-ind-cli i-man-cli' 3679fi 3680case X$SUITE in 3681 Xrescue) 3682 BUILD_ARCH='$(PRG_RES)' 3683 INSTALL_INDEP='i-ind-res' 3684 INSTALL_PROGRAMS='i-prg-res' 3685 if [[ "X$ENA_MAN" = "Xyes" ]] 3686 then 3687 INSTALL_INDEP="$INSTALL_INDEP i-man-res" 3688 fi 3689 if [[ "X$ENA_PACKAGE" = "Xyes" -a "X$ENA_SHARED" = "Xyes" ]] 3690 then 3691 BUILD_ARCH='$(PRG_RES) $(LIB_SHARED_RES)' 3692 INSTALL_LIBS='i-lib-dyn-res' 3693 fi 3694 ;; 3695 Xcli) 3696 BUILD_ARCH='$(PRG_CLI)' 3697 INSTALL_INDEP='i-ind-cli' 3698 if [[ "X$ENA_MAN" = "Xyes" ]] 3699 then 3700 INSTALL_INDEP="$INSTALL_INDEP i-man-cli" 3701 fi 3702 if [[ "X$FOUND_SYSTEMD" = "Xyes" ]] 3703 then 3704 INSTALL_INDEP="$INSTALL_INDEP i-svc-sysd" 3705 else 3706 INSTALL_INDEP="$INSTALL_INDEP i-svc-init" 3707 fi 3708 INSTALL_PROGRAMS='i-prg-cli' 3709 if [[ "X$ENA_DEVEL" = "Xyes" -a "X$ENA_STATIC" = "Xyes" -a "X$ENA_SHARED" = "Xyes" ]] 3710 then 3711 BUILD_ARCH='$(PRG_CLI) $(LIB_STATIC_CLI) $(LIB_SHARED_CLI)' 3712 INSTALL_LIBS='i-lib-dyn-cli i-lib-stt-cli i-hdr-cli' 3713 elif [[ "X$ENA_DEVEL" = "Xyes" -a "X$ENA_SHARED" = "Xyes" ]] 3714 then 3715 BUILD_ARCH='$(PRG_CLI) $(LIB_SHARED_CLI)' 3716 INSTALL_LIBS='i-lib-dyn-cli i-hdr-cli' 3717 elif [[ "X$ENA_DEVEL" = "Xyes" -a "X$ENA_STATIC" = "Xyes" ]] 3718 then 3719 BUILD_ARCH='$(PRG_CLI) $(LIB_STATIC_CLI)' 3720 INSTALL_LIBS='i-lib-stt-cli i-hdr-cli' 3721 elif [[ "X$ENA_PACKAGE" = "Xyes" -a "X$ENA_SHARED" = "Xyes" ]] 3722 then 3723 BUILD_ARCH='$(PRG_CLI) $(LIB_SHARED_CLI)' 3724 INSTALL_LIBS='i-lib-dyn-cli' 3725 else 3726 BUILD_ARCH='$(PRG_CLI)' 3727 fi 3728 if [[ "X$TARGETCLASS" = "Xposix" -a "X$FOUND_SOCKET" = "Xyes" ]] 3729 then 3730 BUILD_ARCH="$BUILD_ARCH"' $(PRG_DAEMON_NET_POSIX)' 3731 INSTALL_PROGRAMS="$INSTALL_PROGRAMS i-prg-dae" 3732 fi 3733 if [[ "X$TARGETCLASS" = "Xposix" -a "X$FOUND_SOCKET" = "Xyes" -a "X$FOUND_NETSNMP" = "Xyes" ]] 3734 then 3735 BUILD_ARCH="$BUILD_ARCH"' $(PRG_FILTER_SNMP_POSIX)' 3736 INSTALL_PROGRAMS="$INSTALL_PROGRAMS i-prg-fil" 3737 fi 3738 ;; 3739 *) 3740 BUILD_ARCH='$(PRG_GUI)' 3741 INSTALL_INDEP='i-ind-gui' 3742 INSTALL_PROGRAMS='i-prg-gui' 3743 if [[ "X$ENA_MAN" = "Xyes" ]] 3744 then 3745 INSTALL_INDEP="$INSTALL_INDEP i-man-gui" 3746 fi 3747 if [[ "X$FOUND_SYSTEMD" = "Xyes" ]] 3748 then 3749 INSTALL_INDEP="$INSTALL_INDEP i-svc-sysd" 3750 else 3751 INSTALL_INDEP="$INSTALL_INDEP i-svc-init" 3752 fi 3753 if [[ "X$ENA_DEVEL" = "Xyes" -a "X$ENA_STATIC" = "Xyes" -a "X$ENA_SHARED" = "Xyes" ]] 3754 then 3755 BUILD_ARCH='$(PRG_GUI) $(LIB_STATIC_GUI) $(LIB_SHARED_GUI)' 3756 INSTALL_LIBS='i-lib-dyn-gui i-lib-stt-gui i-hdr-gui' 3757 elif [[ "X$ENA_DEVEL" = "Xyes" -a "X$ENA_SHARED" = "Xyes" ]] 3758 then 3759 BUILD_ARCH='$(PRG_GUI) $(LIB_SHARED_GUI)' 3760 INSTALL_LIBS='i-lib-dyn-gui i-hdr-gui' 3761 elif [[ "X$ENA_DEVEL" = "Xyes" -a "X$ENA_STATIC" = "Xyes" ]] 3762 then 3763 BUILD_ARCH='$(PRG_GUI) $(LIB_STATIC_GUI)' 3764 INSTALL_LIBS='i-lib-stt-gui i-hdr-gui' 3765 elif [[ "X$ENA_PACKAGE" = "Xyes" -a "X$ENA_SHARED" = "Xyes" ]] 3766 then 3767 BUILD_ARCH='$(PRG_GUI) $(LIB_SHARED_GUI)' 3768 INSTALL_LIBS='i-lib-dyn-gui' 3769 else 3770 BUILD_ARCH='$(PRG_GUI)' 3771 fi 3772 LIBDK3WXOBJ='$(LIBDK3WXOBJ)' 3773 LIBDK4WXOBJ='$(LIBDK4WXOBJ)' 3774 if [[ "X$TARGETCLASS" = "Xposix" -a "X$FOUND_SOCKET" = "Xyes" ]] 3775 then 3776 BUILD_ARCH="$BUILD_ARCH"' $(PRG_DAEMON_NET_POSIX)' 3777 INSTALL_PROGRAMS="$INSTALL_PROGRAMS i-prg-dae" 3778 fi 3779 if [[ "X$TARGETCLASS" = "Xposix" -a "X$FOUND_SOCKET" = "Xyes" -a "X$FOUND_NETSNMP" = "Xyes" ]] 3780 then 3781 BUILD_ARCH="$BUILD_ARCH"' $(PRG_FILTER_SNMP_POSIX)' 3782 INSTALL_PROGRAMS="$INSTALL_PROGRAMS i-prg-fil" 3783 fi 3784 ;; 3785esac 3786AC_MSG_RESULT(done) 3787 3788if [[ "X$ENA_DOCU" = "Xyes" ]] 3789then 3790 INSTALL_INDEP="$INSTALL_INDEP i-doc" 3791fi 3792 3793dnl OpenSSL needs socket library on Windows with gcc 3794dnl ------------------------------------------------ 3795case X$TARGETCLASS/X$ENA_PACKAGE/X$TOOLCHAIN in 3796 Xwindows/Xno/Xgcc) 3797 CRYPTO="$CRYPTO $SOCKLIB" 3798 ;; 3799 Xwindows/Xno/Xclang) 3800 CRYPTO="$CRYPTO $SOCKLIB" 3801 ;; 3802esac 3803 3804dnl Objects and libraries per program 3805dnl --------------------------------- 3806 3807AC_MSG_CHECKING(default elements for programs and libraries) 3808DKCTLIBF='libdk3.a' 3809DKCTLIBS='libdk3.a $(CLILIB) $(BZLIB) $(ZLIB)' 3810ADDCTRLDLIBF='' 3811ADDCTRLDLIBS='$(CLILIB)' 3812DKDBTLIBF='libdk3.a' 3813DKDBTLIBS='libdk3.a $(CLILIB) $(BZLIB) $(ZLIB)' 3814ITADMINLIBF='libdk3.a' 3815ITADMINLIBS='libdk3.a $(MYSQLLIB) $(CLILIB) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) $(RTLIB)' 3816FIG2LATLIBF='libdk3.a' 3817FIG2LATLIBS='libdk3.a $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' 3818HTMLBOOKLIBF='libdk3.a' 3819HTMLBOOKLIBS='libdk3.a $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB)' 3820DK3INFOLIBF='libdk3.a' 3821DK3INFOLIBS='libdk3.a $(CLILIB) $(BZLIB) $(ZLIB)' 3822DKWTLIBF='libdk3.a' 3823DKWTLIBS='libdk3.a $(CLILIB) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB)' 3824WPRCLEANLIBF='libdk3.a' 3825WPRCLEANLIBS='libdk3.a $(CLILIB) $(BZLIB) $(ZLIB)' 3826DKWXWIZLIBF='libdk3.a' 3827DKWXWIZLIBS='libdk3.a $(CLILIB) $(BZLIB) $(ZLIB)' 3828DKWXPATHLIBF='libdk3.a' 3829DKWXPATHLIBS='libdk3.a $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB)' 3830WINPRINTLIBF='libdk3.a' 3831WINPRINTLIBS='libdk3.a $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB)' 3832CHSCRSZLIBF='libdk3.a' 3833CHSCRSZLIBS='libdk3.a $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB)' 3834WXDKCTLIBF='libdk3.a' 3835WXDKCTLIBS='libdk3.a $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB)' 3836WXIMGSZLIBF='libdk4.a' 3837WXIMGSZLIBS='libdk4.a $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB)' 3838WXDKCLOCKLIBF='libdk3.a' 3839WXDKCLOCKLIBS='libdk3.a $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB)' 3840WXDKHTBLIBF='libdk3.a' 3841WXDKHTBLIBS='libdk3.a $(WXLDFLAGS) $(GUILIB) $(CLILIB) $(BZLIB) $(ZLIB)' 3842PRINTQDILIBF='libdk3.a' 3843PRINTQDILIBS='libdk3.a $(CLILIB) $(BZLIB) $(ZLIB)' 3844PRINTQDALIBF='libdk3.a' 3845PRINTQDALIBS='libdk3.a $(CLILIB) $(BZLIB) $(ZLIB)' 3846 3847WXDKDRAWLIBF='libdk4.a libdk4maioxd.a libdk4wx.a' 3848WXDKDRAWLIBS='libdk4wx.a libdk4maioxd.a libdk4.a $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' 3849WXBMPPLIBF='libdk4.a libdk4maioxd.a libdk4wx.a' 3850WXBMPPLIBS='libdk4wx.a libdk4maioxd.a libdk4.a $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' 3851BMPPLIBF='libdk4.a' 3852BMPPLIBS='libdk4.a $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' 3853PLPDFTEXLIBF='libdk4.a' 3854PLPDFTEXLIBS='libdk4.a $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' 3855DKCATLIBF='libdk4.a' 3856DKCATLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' 3857DKBLKSLIBF='libdk4.a' 3858DKBLKSLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' 3859DKSQLSPLITLIBF='libdk4.a' 3860DKSQLSPLITLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' 3861DKERADISKLIBF='libdk4.a' 3862DKERADISKLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' 3863DKLSLIBF='libdk4.a' 3864DKLSLIBS='libdk4.a $(CRYPTO) $(CLILIB) $(BZLIB) $(ZLIB)' 3865DKSORTLIBF='libdk4.a' 3866DKSORTLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' 3867DKLINESLIBF='libdk4.a' 3868DKLINESLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' 3869DKFICLIBF='libdk4.a' 3870DKFICLIBS='libdk4.a $(CRYPTO) $(CLILIB) $(BZLIB) $(ZLIB)' 3871DKUIDLIBF='libdk4.a' 3872DKUIDLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' 3873DKPWGENLIBF='libdk4.a' 3874DKPWGENLIBS='libdk4.a $(CRYPTO) $(CLILIB) $(BZLIB) $(ZLIB)' 3875DKRANDLIBF='libdk4.a' 3876DKRANDLIBS='libdk4.a $(CRYPTO) $(CLILIB) $(BZLIB) $(ZLIB)' 3877DKT2HLIBF='libdk4.a' 3878DKT2HLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' 3879DKT2LLIBF='libdk4.a' 3880DKT2LLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' 3881DKBIN2CLIBF='libdk4.a' 3882DKBIN2CLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' 3883DKHEXLIBF='libdk4.a' 3884DKHEXLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' 3885DKBMMLIBF='libdk4.a' 3886DKBMMLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' 3887DKPWDLIBF='libdk4.a' 3888DKPWDLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' 3889DKRECVLIBF='libdk4.a' 3890DKRECVLIBS='libdk4.a $(CLILIB) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) -lm' 3891DKSENDLIBF='libdk4.a' 3892DKSENDLIBS='libdk4.a $(CLILIB) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) -lm' 3893DKDBT2LIBF='libdk4.a' 3894DKDBT2LIBS='libdk4.a $(DBLIBSOCK) $(CLILIB) $(BZLIB) $(ZLIB)' 3895DK4INFOLIBF='libdk4.a' 3896DK4INFOLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' 3897LPRNGCLLIBF='libdk4.a' 3898LPRNGCLLIBS='libdk4.a $(CLILIB) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) -lm' 3899WXDKFCSLIBF='libdk4.a libdk4wx.a' 3900WXDKFCSLIBS='libdk4wx.a libdk4.a $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CRYPTO) $(CLILIB) $(BZLIB) $(ZLIB)' 3901WXPQDICLIBF='libdk4.a libdk4wx.a' 3902WXPQDICLIBS='libdk4wx.a libdk4.a $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB)' 3903PJSNMPLIBF='libdk4.a' 3904PJSNMPLIBS='libdk4.a $(CLILIB) $(NETSNMP_LIBS) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB)' 3905PRMONSNMPLIBF='libdk4.a' 3906PRMONSNMPLIBS='libdk4.a $(CLILIB) $(NETSNMP_LIBS) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB)' 3907PRINTQDLIBF='libdk4.a' 3908PRINTQDLIBS='libdk4.a $(DBLIB) $(SOCKLIB) $(NSLLIB)' 3909PRINTQDCLIBF='libdk4.a' 3910PRINTQDCLIBS='libdk4.a $(CLILIB) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB)' 3911RSHDOWNLIBF='libdk4.a' 3912RSHDOWNLIBS='libdk4.a $(CLILIB) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB)' 3913WXD2LATLIBF='libdk4.a' 3914WXD2LATLIBS='libdk4.a $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' 3915AC_MSG_RESULT(done) 3916 3917AC_MSG_CHECKING(elements in programs and libraries) 3918case X$ENA_PACKAGE/X$ENA_SOSO in 3919 Xyes/Xyes) 3920 AC_MSG_RESULT([linking so with so]) 3921 DKCTLIBF='libdk3c.so' 3922 DKCTLIBS='-ldk3c $(CLILIB)' 3923 ADDCTRLDLIBF='' 3924 ADDCTRLDLIBS='$(CLILIB)' 3925 DKDBTLIBF='' 3926 DKDBTLIBS='' 3927 ITADMINLIBF='libdk3c.so libdk3of.so' 3928 ITADMINLIBS='-ldk3of -ldk3c $(MYSQLLIB) $(CLILIB) $(BZLIB) $(ZLIB)' 3929 FIG2LATLIBF='libdk3c.so libdk3bif.so libdk3bmeps.so libdk3fig.so' 3930 FIG2LATLIBS='-ldk3fig -ldk3bmeps -ldk3bif -ldk3c $(CLILIB) -lm' 3931 HTMLBOOKLIBF='libdk3c.so libdk3bif.so' 3932 HTMLBOOKLIBS='-ldk3bif -ldk3c $(CLILIB)' 3933 DK3INFOLIBF='libdk3c.so' 3934 DK3INFOLIBS='-ldk3c $(CLILIB)' 3935 DKWXWIZLIBF='libdk3c.so' 3936 DKWXWIZLIBS='-ldk3c $(CLILIB)' 3937 WXDKCTLIBF='libdk3c.so libdk3wx.so' 3938 WXDKCTLIBS='-ldk3wx -ldk3c $(WXLDFLAGS) $(GUILIB) $(CLILIB)' 3939 WXIMGSZLIBF='libdk4base.so libdk4maio8d.so libdk4maiowd.so libdk4maiodd.so libdk4ma.so libdk4c.so libdk4bif.so libdk4maioxd.so libdk4wx.so' 3940 WXIMGSZLIBS='-ldk4wx -ldk4maioxd -ldk4bif -ldk4c -ldk4ma -ldk4maiodd -ldk4maiowd -ldk4maio8d -ldk4base $(WXLDFLAGS) $(GUILIB) $(CLILIB)' 3941 WXDKCLOCKLIBF='libdk3c.so libdk3wx.so' 3942 WXDKCLOCKLIBS='-ldk3wx -ldk3c $(WXLDFLAGS) $(GUILIB) $(CLILIB)' 3943 WXDKHTBLIBF='libdk3c.so libdk3wx.so' 3944 WXDKHTBLIBS='-ldk3wx -ldk3c $(WXLDFLAGS) $(GUILIB) $(CLILIB)' 3945 PRINTQDILIBF='' 3946 PRINTQDILIBS='' 3947 PRINTQDALIBF='' 3948 PRINTQDALIBS='' 3949 WXDKDRAWLIBF='libdk4base.so libdk4maio8d.so libdk4maio8h.so libdk4maiowd.so libdk4maiodd.so libdk4ma.so libdk4c.so libdk4bif.so libdk4lat.so libdk4gra.so libdk4wx.so' 3950 WXDKDRAWLIBS='-ldk4wx -ldk4gra -ldk4lat -ldk4bif -ldk4c -ldk4ma -ldk4maiodd -ldk4maiowd -ldk4maio8h -ldk4maio8d -ldk4base $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' 3951 WXBMPPLIBF='libdk4base.so libdk4maio8h.so libdk4c.so libdk4bif.so libdk4gra.so libdk4app.so libdk4graa.so libdk4maioxd.so libdk4wx.so' 3952 WXBMPPLIBS='-ldk4wx -ldk4maioxd -ldk4graa -ldk4app -ldk4gra -ldk4bif -ldk4c -ldk4maio8h -ldk4base $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' 3953 DKCATLIBF='libdk4base.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so' 3954 DKCATLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4base $(CLILIB)' 3955 DKBLKSLIBF='libdk4base.so libdk4app.so' 3956 DKBLKSLIBS='-ldk4app -ldk4base $(CLILIB) $(BZLIB) $(ZLIB)' 3957 DKSQLSPLITLIBF='libdk4app.so' 3958 DKSQLSPLITLIBS='-ldk4app $(CLILIB) $(BZLIB) $(ZLIB)' 3959 DKERADISKLIBF='libdk4base.so libdk4app.so' 3960 DKERADISKLIBS='-ldk4app -ldk4base $(CLILIB) $(BZLIB) $(ZLIB)' 3961 DKLSLIBF='libdk4base.so libdk4maiodd.so libdk4maiodh.so libdk4ma.so libdk4c.so libdk4mdrnd.so libdk4app.so' 3962 DKLSLIBS='-ldk4app -ldk4mdrnd -ldk4c -ldk4maiodh -ldk4maiodd -ldk4ma -ldk4base $(CLILIB)' 3963 BMPPLIBF='libdk4base.so libdk4maio8h.so libdk4maio8d.so libdk4c.so libdk4bif.so libdk4gra.so libdk4app.so libdk4bifa.so libdk4graa.so' 3964 BMPPLIBS='-ldk4graa -ldk4bifa -ldk4app -ldk4gra -ldk4bif -ldk4c -ldk4maio8d -ldk4maio8h -ldk4base $(CLILIB)' 3965 PLPDFTEXLIBF='libdk4base.so libdk4maio8d.so libdk4c.so libdk4lat.so libdk4gra.so libdk4pppt.so libdk4app.so libdk4lata.so libdk4graa.so' 3966 PLPDFTEXLIBS='-ldk4graa -ldk4lata -ldk4app -ldk4pppt -ldk4gra -ldk4lat -ldk4c -ldk4maio8d -ldk4base $(IMGLIBS) $(CLILIB)' 3967 DKSORTLIBF='libdk4base.so libdk4maiodd.so libdk4maiodh.so libdk4c.so libdk4app.so' 3968 DKSORTLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maiodh -ldk4base $(CLILIB)' 3969 DKLINESLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so' 3970 DKLINESLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CLILIB)' 3971 DKFICLIBF='libdk4base.so libdk4ma.so libdk4maiodd.so libdk4c.so libdk4mdrnd.so libdk4app.so' 3972 DKFICLIBS='-ldk4app -ldk4mdrnd -ldk4c -ldk4maiodd -ldk4ma -ldk4base $(CLILIB)' 3973 DKUIDLIBF='libdk4base.so libdk4ma.so libdk4maiodd.so libdk4c.so libdk4app.so' 3974 DKUIDLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4ma -ldk4base $(CLILIB)' 3975 DKPWGENLIBF='libdk4base.so libdk4ma.so libdk4maiodd.so libdk4c.so libdk4mdrnd.so libdk4app.so' 3976 DKPWGENLIBS='-ldk4app -ldk4mdrnd -ldk4c -ldk4maiodd -ldk4ma -ldk4base $(CRYPTO) $(CLILIB)' 3977 DKRANDLIBF='libdk4base.so libdk4ma.so libdk4maiodd.so libdk4c.so libdk4mdrnd.so libdk4app.so' 3978 DKRANDLIBS='-ldk4app -ldk4mdrnd -ldk4c -ldk4maiodd -ldk4ma -ldk4base $(CRYPTO) $(CLILIB)' 3979 DKT2HLIBF='libdk4base.so libdk4maio8h.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so' 3980 DKT2HLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4maio8h -ldk4base $(CLILIB)' 3981 DKT2LLIBF='libdk4base.so libdk4maiodd.so libdk4maiodh.so libdk4c.so libdk4lat.so libdk4app.so libdk4lata.so' 3982 DKT2LLIBS='-ldk4lata -ldk4app -ldk4lat -ldk4c -ldk4maiodh -ldk4maiodd -ldk4base $(CLILIB)' 3983 DKBIN2CLIBF='libdk4base.so libdk4c.so libdk4app.so' 3984 DKBIN2CLIBS='-ldk4app -ldk4c -ldk4base $(CLILIB)' 3985 DKHEXLIBF='libdk4maiodh.so libdk4c.so libdk4app.so' 3986 DKHEXLIBS='-ldk4app -ldk4c -ldk4maiodh $(CLILIB)' 3987 DKBMMLIBF='libdk4base.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so' 3988 DKBMMLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4base $(CLILIB)' 3989 DKPWDLIBF='libdk4base.so libdk4c.so libdk4app.so' 3990 DKPWDLIBS='-ldk4app -ldk4c -ldk4base $(CLILIB)' 3991 DKRECVLIBF='libdk4base.so libdk4ma.so libdk4maiodd.so libdk4c.so libdk4sock.so libdk4app.so libdk4socka.so' 3992 DKRECVLIBS='-ldk4socka -ldk4app -ldk4sock -ldk4c -ldk4maiodd -ldk4ma -ldk4base $(CLILIB) -lm' 3993 DKSENDLIBF='libdk4base.so libdk4ma.so libdk4maiodh.so libdk4maiodd.so libdk4c.so libdk4sock.so libdk4app.so libdk4socka.so' 3994 DKSENDLIBS='-ldk4socka -ldk4app -ldk4sock -ldk4c -ldk4maiodd -ldk4maiodh -ldk4ma -ldk4base $(SOCKLIB) $(CLILIB) -lm' 3995 DKDBT2LIBF='libdk4base.so libdk4ma.so libdk4maiodd.so libdk4c.so libdk4dbi.so libdk4app.so libdk4dbia.so' 3996 DKDBT2LIBS='-ldk4dbia -ldk4app -ldk4dbi -ldk4c -ldk4maiodd -ldk4ma -ldk4base $(CLILIB)' 3997 DK4INFOLIBF='libdk4base.so libdk4maiodd.so libdk4c.so libdk4app.so' 3998 DK4INFOLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4base $(CLILIB)' 3999 LPRNGCLLIBF='libdk4base.so libdk4maiodh.so libdk4c.so libdk4sock.so libdk4app.so libdk4socka.so' 4000 LPRNGCLLIBS='-ldk4socka -ldk4app -ldk4sock -ldk4c -ldk4maiodh -ldk4base $(SOCKLIB) $(CLILIB) -lm' 4001 WXDKFCSLIBF='libdk4ma.so libdk4maiodd.so libdk4c.so libdk4wx.so' 4002 WXDKFCSLIBS='-ldk4wx -ldk4c -ldk4maiodd -ldk4ma $(WXLDFLAGS) $(CRYPTO) $(GUILIB) $(CLILIB)' 4003 WXPQDICLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiowd.so libdk4c.so libdk4sock.so libdk4wx.so' 4004 WXPQDICLIBS='-ldk4wx -ldk4sock -ldk4c -ldk4maiowd -ldk4maio8d -ldk4ma -ldk4base $(WXLDFLAGS) $(SOCKLIB) $(GUILIB) $(CLILIB)' 4005 PJSNMPLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maio8h.so libdk4c.so libdk4sock.so' 4006 PJSNMPLIBS='-ldk4sock -ldk4c -ldk4maio8d -ldk4maio8h -ldk4ma -ldk4base $(NETSNMP_LIBS) $(SOCKLIB) $(NSLLIB) $(CLILIB)' 4007 PRMONSNMPLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maio8h.so libdk4c.so libdk4sock.so' 4008 PRMONSNMPLIBS='-ldk4sock -ldk4c -ldk4maio8d -ldk4maio8h -ldk4ma -ldk4base $(NETSNMP_LIBS) $(SOCKLIB) $(NSLLIB) $(CLILIB)' 4009 PRINTQDLIBF='libdk4base.so libdk4maio8d.so libdk4c.so libdk4dbi.so libdk4sock.so' 4010 PRINTQDLIBS='-ldk4sock -ldk4dbi -ldk4c -ldk4maio8d -ldk4base $(SOCKLIB) $(NSLLIB) $(CLILIB)' 4011 PRINTQDCLIBF='libdk4base.so libdk4maio8d.so libdk4c.so libdk4sock.so' 4012 PRINTQDCLIBS='-ldk4sock -ldk4c -ldk4maio8d -ldk4base $(SOCKLIB) $(NSLLIB) $(CLILIB)' 4013 RSHDOWNLIBF='libdk4base.so libdk4maio8d.so libdk4c.so libdk4sock.so' 4014 RSHDOWNLIBS='-ldk4sock -ldk4c -ldk4maio8d -ldk4base $(SOCKLIB) $(NSLLIB) $(CLILIB)' 4015 WXD2LATLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4lat.so libdk4bif.so libdk4gra.so libdk4pppt.so libdk4app.so libdk4lata.so libdk4bifa.so libdk4graa.so' 4016 WXD2LATLIBS='-ldk4graa -ldk4lata -ldk4bifa -ldk4app -ldk4pppt -ldk4gra -ldk4bif -ldk4lat -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) -lm' 4017 ;; 4018 Xyes/Xno) 4019 AC_MSG_RESULT([linking programs with all required libs]) 4020 DKCTLIBF='libdk3c.so' 4021 DKCTLIBS='-ldk3c $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4022 ADDCTRLDLIBF='' 4023 ADDCTRLDLIBS='$(CLILIB)' 4024 DKDBTLIBF='libdk3c.so libdk3dbi.so' 4025 DKDBTLIBS='-ldk3dbi -ldk3c $(CLILIB) $(BZLIB) $(ZLIB)' 4026 ITADMINLIBF='libdk3c.so libdk3of.so' 4027 ITADMINLIBS='-ldk3of -ldk3c $(MYSQLLIB) $(CLILIB) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) -lm' 4028 FIG2LATLIBF='libdk3c.so libdk3bif.so libdk3of.so libdk3bmeps.so libdk3fig.so' 4029 FIG2LATLIBS='-ldk3fig -ldk3bmeps -ldk3of -ldk3bif -ldk3c $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4030 HTMLBOOKLIBF='libdk3c.so libdk3bif.so libdk3of.so libdk3bmeps.so' 4031 HTMLBOOKLIBS='-ldk3bmeps -ldk3of -ldk3bif -ldk3c $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB)' 4032 DK3INFOLIBF='libdk3c.so' 4033 DK3INFOLIBS='-ldk3c $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4034 DKWXWIZLIBF='libdk3c.so' 4035 DKWXWIZLIBS='-ldk3c $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4036 WXDKCTLIBF='libdk3c.so libdk3wx.so' 4037 WXDKCTLIBS='-ldk3wx -ldk3c $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB)' 4038 WXIMGSZLIBF='libdk4base.so libdk4maio8d.so libdk4maiowd.so libdk4maiodd.so libdk4ma.so libdk4c.so libdk4bif.so libdk4maioxd.so libdk4wx.so' 4039 WXIMGSZLIBS='-ldk4wx -ldk4maioxd -ldk4bif -ldk4c -ldk4ma -ldk4maiodd -ldk4maiowd -ldk4maio8d -ldk4base $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB)' 4040 WXDKCLOCKLIBF='libdk3c.so libdk3wx.so' 4041 WXDKCLOCKLIBS='-ldk3wx -ldk3c $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB)' 4042 WXDKHTBLIBF='libdk3c.so libdk3wx.so' 4043 WXDKHTBLIBS='-ldk3wx -ldk3c $(WXLDFLAGS) $(GUILIB) $(CLILIB) $(BZLIB) $(ZLIB)' 4044 PRINTQDILIBF='libdk3c.so libdk3dbi.so' 4045 PRINTQDILIBS='-ldk3dbi -ldk3c $(CLILIB) $(BZLIB) $(ZLIB)' 4046 PRINTQDALIBF='libdk3c.so' 4047 PRINTQDALIBS='-ldk3c $(CLILIB) $(BZLIB) $(ZLIB)' 4048 WXDKDRAWLIBF='libdk4base.so libdk4maio8d.so libdk4maio8h.so libdk4maiowd.so libdk4maiodd.so libdk4ma.so libdk4c.so libdk4bif.so libdk4lat.so libdk4gra.so libdk4wx.so' 4049 WXDKDRAWLIBS='-ldk4wx -ldk4gra -ldk4lat -ldk4bif -ldk4c -ldk4ma -ldk4maiodd -ldk4maiowd -ldk4maio8h -ldk4maio8d -ldk4base $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4050 WXBMPPLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maio8h.so libdk4maiowd.so libdk4maiowh.so libdk4maiodd.so libdk4maiodh.so libdk4bif.so libdk4lat.so libdk4gra.so libdk4c.so libdk4app.so libdk4bifa.so libdk4graa.so libdk4wx.so libdk4maioxd.so' 4051 WXBMPPLIBS='-ldk4maioxd -ldk4wx -ldk4graa -ldk4bifa -ldk4app -ldk4c -ldk4gra -ldk4lat -ldk4bif -ldk4maiodh -ldk4maiodd -ldk4maiowh -ldk4maiowd -ldk4maio8h -ldk4maio8d -ldk4ma -ldk4base $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4052 BMPPLIBF='libdk4base.so libdk4ma.so libdk4maio8h.so libdk4maio8d.so libdk4maiowh.so libdk4maiowd.so libdk4maiodh.so libdk4maiodd.so libdk4c.so libdk4lat.so libdk4bif.so libdk4gra.so libdk4app.so libdk4lata.so libdk4bifa.so libdk4graa.so' 4053 BMPPLIBS='-ldk4graa -ldk4bifa -ldk4lata -ldk4app -ldk4gra -ldk4bif -ldk4lat -ldk4c -ldk4maiodh -ldk4maiodd -ldk4maiowh -ldk4maiowd -ldk4maio8h -ldk4maio8d -ldk4ma -ldk4base $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4054 PLPDFTEXLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiowd.so libdk4maiodd.so libdk4maio8h.so libdk4maiowh.so libdk4maiodh.so libdk4c.so libdk4lat.so libdk4bif.so libdk4gra.so libdk4pppt.so libdk4app.so libdk4bifa.so libdk4lata.so libdk4graa.so' 4055 PLPDFTEXLIBS='-ldk4graa -ldk4lata -ldk4bifa -ldk4app -ldk4pppt -ldk4gra -ldk4bif -ldk4lat -ldk4c -ldk4maiodd -ldk4maiodh -ldk4maiowd -ldk4maiowh -ldk4maio8d -ldk4maio8h -ldk4ma -ldk4base $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4056 DKCATLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so' 4057 DKCATLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4058 DKBLKSLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so' 4059 DKBLKSLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4060 DKSQLSPLITLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so' 4061 DKSQLSPLITLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4062 DKERADISKLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so' 4063 DKERADISKLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4064 DKLSLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maio8h.so libdk4maiodd.so libdk4maiodh.so libdk4c.so libdk4app.so libdk4mdrnd.so' 4065 DKLSLIBS='-ldk4app -ldk4mdrnd -ldk4c -ldk4maiodh -ldk4maiodd -ldk4maio8h -ldk4maio8d -ldk4ma -ldk4base $(CRYPTO) $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4066 DKSORTLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maio8h.so libdk4maiodd.so libdk4maiodh.so libdk4c.so libdk4app.so' 4067 DKSORTLIBS='-ldk4app -ldk4c -ldk4maiodh -ldk4maiodd -ldk4maio8h -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4068 DKLINESLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maio8h.so libdk4maiodd.so libdk4maiodh.so libdk4ma.so libdk4c.so libdk4app.so' 4069 DKLINESLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4070 DKFICLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so libdk4mdrnd.so' 4071 DKFICLIBS='-ldk4app -ldk4mdrnd -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CRYPTO) $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4072 DKUIDLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so' 4073 DKUIDLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4074 DKPWGENLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so libdk4mdrnd.so' 4075 DKPWGENLIBS='-ldk4app -ldk4mdrnd -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CRYPTO) $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4076 DKRANDLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so libdk4mdrnd.so' 4077 DKRANDLIBS='-ldk4app -ldk4mdrnd -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CRYPTO) $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4078 DKT2HLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maio8h.so libdk4maiodd.so libdk4c.so libdk4app.so' 4079 DKT2HLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8h -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4080 DKT2LLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maio8h.so libdk4maiodd.so libdk4maiodh.so libdk4c.so libdk4lat.so libdk4app.so libdk4lata.so' 4081 DKT2LLIBS='-ldk4lata -ldk4app -ldk4lat -ldk4c -ldk4maiodh -ldk4maiodd -ldk4maio8h -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4082 DKBIN2CLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maio8h.so libdk4maiodd.so libdk4c.so libdk4app.so' 4083 DKBIN2CLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8h -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4084 DKHEXLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maio8h.so libdk4maiodd.so libdk4maiodh.so libdk4c.so libdk4app.so' 4085 DKHEXLIBS='-ldk4app -ldk4c -ldk4maiodh -ldk4maiodd -ldk4maio8h -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4086 DKBMMLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so' 4087 DKBMMLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4088 DKPWDLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so' 4089 DKPWDLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4090 DKRECVLIBF='libdk4base.so libdk4c.so libdk4sock.so libdk4app.so libdk4socka.so libdk4maio8d.so libdk4maiodd.so libdk4maio8h.so libdk4maiowh.so libdk4maiodh.so libdk4ma.so' 4091 DKRECVLIBS='-ldk4socka -ldk4app -ldk4sock -ldk4c -ldk4maiodh -ldk4maiowh -ldk4maio8h -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) -lm' 4092 DKSENDLIBF='libdk4base.so libdk4c.so libdk4sock.so libdk4app.so libdk4socka.so libdk4maio8d.so libdk4maiowd.so libdk4maiodd.so libdk4ma.so libdk4maiodh.so libdk4maiowh.so libdk4maio8h.so' 4093 DKSENDLIBS='-ldk4socka -ldk4app -ldk4sock -ldk4c -ldk4maiodd -ldk4maiowd -ldk4maio8d -ldk4maiodh -ldk4maiowh -ldk4maio8h -ldk4ma -ldk4base $(CLILIB) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) -lm' 4094 DKDBT2LIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4dbi.so libdk4app.so libdk4dbia.so' 4095 DKDBT2LIBS='-ldk4dbia -ldk4app -ldk4dbi -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(DBLIBSOCK) $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4096 DK4INFOLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so' 4097 DK4INFOLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4098 LPRNGCLLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maio8h.so libdk4maiowd.so libdk4maiowh.so libdk4maiodd.so libdk4maiodh.so libdk4c.so libdk4sock.so libdk4mdrnd.so libdk4app.so libdk4socka.so' 4099 LPRNGCLLIBS='-ldk4socka -ldk4app -ldk4sock -ldk4c -ldk4maiodd -ldk4maiowd -ldk4maio8d -ldk4maiodh -ldk4maiowh -ldk4maio8h -ldk4ma -ldk4base $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) -lm' 4100 WXDKFCSLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maio8h.so libdk4maiowd.so libdk4maiowh.so libdk4maiodd.so libdk4maiodh.so libdk4c.so libdk4mdrnd.so libdk4sock.so libdk4app.so libdk4socka.so libdk4wx.so' 4101 WXDKFCSLIBS='-ldk4wx -ldk4socka -ldk4app -ldk4sock -ldk4mdrnd -ldk4c -ldk4maiodd -ldk4maiodh -ldk4maiowd -ldk4maiowh -ldk4maio8d -ldk4maio8h -ldk4ma -ldk4base $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CRYPTO) $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4102 WXPQDICLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maio8h.so libdk4maiowd.so libdk4maiowh.so libdk4maiodd.so libdk4maiodh.so libdk4c.so libdk4sock.so libdk4app.so libdk4socka.so libdk4wx.so' 4103 WXPQDICLIBS='-ldk4wx -ldk4socka -ldk4app -ldk4sock -ldk4c -ldk4maiodd -ldk4maiodh -ldk4maiowd -ldk4maiowh -ldk4maio8d -ldk4maio8h -ldk4ma -ldk4base $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4104 PJSNMPLIBF='libdk4base.so libdk4maio8h.so libdk4maio8d.so libdk4maiodd.so libdk4maiodh.so libdk4ma.so libdk4c.so libdk4sock.so libdk4app.so libdk4socka.so' 4105 PJSNMPLIBS='-ldk4socka -ldk4app -ldk4sock -ldk4c -ldk4maiodh -ldk4maiodd -ldk4maio8h -ldk4maio8d -ldk4ma -ldk4base $(NETSNMP_LIBS) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) -lm' 4106 PRMONSNMPLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maio8h.so libdk4c.so libdk4maiodd.so libdk4maiodh.so libdk4sock.so libdk4app.so libdk4socka.so' 4107 PRMONSNMPLIBS='-ldk4socka -ldk4app -ldk4sock -ldk4c -ldk4maiodh -ldk4maiodd -ldk4maio8h -ldk4maio8d -ldk4ma -ldk4base $(NETSNMP_LIBS) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) -lm' 4108 PRINTQDLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4dbi.so libdk4sock.so' 4109 PRINTQDLIBS='-ldk4sock -ldk4dbi -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(DBLIB) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) -lm' 4110 PRINTQDCLIBF='libdk4base.so libdk4ma.so libdk4maio8h.so libdk4maio8d.so libdk4maiodh.so libdk4maiodd.so libdk4c.so libdk4sock.so libdk4app.so libdk4socka.so' 4111 PRINTQDCLIBS='-ldk4socka -ldk4app -ldk4sock -ldk4c -ldk4maiodd -ldk4maiodh -ldk4maio8d -ldk4maio8h -ldk4ma -ldk4base $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) -lm' 4112 RSHDOWNLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4sock.so' 4113 RSHDOWNLIBS='-ldk4sock -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) -lm' 4114 WXD2LATLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiowd.so libdk4maiodd.so libdk4maio8h.so libdk4maiowh.so libdk4maiodh.so libdk4c.so libdk4lat.so libdk4bif.so libdk4gra.so libdk4pppt.so libdk4app.so libdk4bifa.so libdk4lata.so libdk4graa.so' 4115 WXD2LATLIBS='-ldk4graa -ldk4lata -ldk4bifa -ldk4app -ldk4pppt -ldk4gra -ldk4bif -ldk4lat -ldk4c -ldk4maiodd -ldk4maiodh -ldk4maiowd -ldk4maiowh -ldk4maio8d -ldk4maio8h -ldk4ma -ldk4base $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' 4116 ;; 4117 *) 4118 AC_MSG_RESULT(defaults) 4119 ;; 4120esac 4121 4122if [[ "X$TOOLCHAIN" = "Xgcc" -o "X$TOOLCHAIN" = "Xclang" -o "X$TOOLCHAIN" = "msvc" ]] 4123then 4124 case X$TARGETCLASS in 4125 Xwindows) 4126 ADDCTRLDRES='src/addctrld/addctrldres.$(RESEXT)' 4127 BMPPRES='src/bmpp/bmppres.$(RESEXT)' 4128 DK3INFORES='src/dk3info/dk3infores.$(RESEXT)' 4129 DK4INFORES='src/dk4info/dk4infores.$(RESEXT)' 4130 DKBIN2CRES='src/dk-bin2c/dk-bin2cres.$(RESEXT)' 4131 DKBLKSRES='src/dk-blks/dk-blksres.$(RESEXT)' 4132 DKBMMRES='src/dk-bmm/dk-bmmres.$(RESEXT)' 4133 DKCATRES='src/dk-cat/dk-catres.$(RESEXT)' 4134 DKCTRES='src/dkct/dkctres.$(RESEXT)' 4135 DKDB2TRES='src/dk-db2t/dk-db2tres.$(RESEXT)' 4136 DKDBCORES='src/dk-dbco/dk-dbcores.$(RESEXT)' 4137 DKDBTRES='dkdbtres.$(RESEXT)' 4138 DKERADISKRES='src/dk-eradisk/dk-eradiskres.$(RESEXT)' 4139 DKFICRES='src/dk-fic/dk-ficres.$(RESEXT)' 4140 DKHEXRES='src/dk-hex/dk-hexres.$(RESEXT)' 4141 DKLINESRES='src/dk-lines/dk-linesres.$(RESEXT)' 4142 DKLSRES='src/dk-ls/dk-lsres.$(RESEXT)' 4143 DKPWDRES='src/dk-pwd/dk-pwdres.$(RESEXT)' 4144 DKPWGENRES='src/dk-pwgen/dk-pwgenres.$(RESEXT)' 4145 DKRANDRES='src/dk-rand/dk-randres.$(RESEXT)' 4146 DKRECVRES='src/dk-recv/dk-recvres.$(RESEXT)' 4147 DKSENDRES='src/dk-send/dk-sendres.$(RESEXT)' 4148 DKSORTRES='src/dk-sort/dk-sortres.$(RESEXT)' 4149 DKSQLSPLITRES='src/dk-sqlsplit/dk-sqlsplitres.$(RESEXT)' 4150 DKT2DBRES='src/dk-t2db/dk-t2dbres.$(RESEXT)' 4151 DKT2HRES='src/dk-t2h/dk-t2hres.$(RESEXT)' 4152 DKT2LRES='src/dk-t2l/dk-t2lres.$(RESEXT)' 4153 DKWTADMRES='src/dkwt/dkwtadmres.$(RESEXT)' 4154 DKWTRES='dkwtres.$(RESEXT)' 4155 DKWXPATHRES='src/dkwxpath/dkwxpathres.$(RESEXT)' 4156 DKWXWIZRES='src/dkwxwiz/dkwxwizres.$(RESEXT)' 4157 FIG2LATRES='src/fig2lat/fig2latres.$(RESEXT)' 4158 HTMLBOOKRES='src/htmlbook/htmlbookres.$(RESEXT)' 4159 ITADMINRES='src/itadmin/itadminres.$(RESEXT)' 4160 LPRNGCLRES='src/lprngcl/lprngclres.$(RESEXT)' 4161 PLPDFTEXRES='src/plpdftex/plpdftexres.$(RESEXT)' 4162 WINPRINTRES='src/winprint/winprintres.$(RESEXT)' 4163 WPRCLEANRES='src/wprclean/wprcleanres.$(RESEXT)' 4164 WXBMPPRES='src/wxbmpp/wxbmppres.$(RESEXT)' 4165 WXDKCLOCKRES='src/wxdkclock/wxdkclockres.$(RESEXT)' 4166 WXDKCTRES='src/dkct/wxdkctres.$(RESEXT)' 4167 WXDKFCSRES='src/wxdkfcs/wxdkfcsres.$(RESEXT)' 4168 WXDKHTBRES='src/wxdkhtb/wxdkhtbres.$(RESEXT)' 4169 WXDKSCRSZRES='src/ChangeScreenSize/wxdkscrszres.$(RESEXT)' 4170 WXIMGSZRES='src/wximgszres/wximgszres.$(RESEXT)' 4171 WXPQDICRES='src/wxpqdic/wxpqdicres.$(RESEXT)' 4172 WXD2LATRES='src/wxd2lat/wxd2latres.$(RESEXT)' 4173 ;; 4174 esac 4175fi 4176 4177AC_MSG_CHECKING(options for Windows) 4178WINCLILIB='' 4179WINGUILIB='' 4180CLILIB='' 4181GUILIB='' 4182if [[ "X$BUILDCLASS" = "Xwindows" ]] 4183then 4184 DELTARGET='@-IF EXIST "$@" DEL /F /Q "$@"' 4185 DELTARGETSO='@-IF EXIST "$@.$(SOVERS)" DEL /F /Q "$@.$(SOVERS)"' 4186else 4187 DELTARGET='@-[[ ! -f "$@" ]] || rm -f "$@"' 4188 DELTARGETSO='@-[[ ! -f "$@.$(SOVERS)" ]] || rm -f "$@.$(SOVERS)"' 4189fi 4190if [[ "X$TARGETCLASS" = "Xwindows" ]] 4191then 4192 WINCLILIB='-lkernel32 -lgdi32 -ladvapi32 -luser32 -lnetapi32 -lwinspool' 4193 WINGUILIB='-lole32 -loleaut32 -lshell32 -lcomctl32 -lcomdlg32' 4194 CLILIB='$(WINCLILIB)' 4195 GUILIB='$(WINGUILIB)' 4196fi 4197if [[ "X$TARGETCLASS" = "Xwindows" -a "X$TOOLCHAIN" = "Xgcc" ]] 4198then 4199 WINGUILIB="-lwinmm -limm32 -luuid $WINGUILIB" 4200 LDFLC_CLI_DK="$LDFLC_CLI_DK -municode" 4201fi 4202if [[ "X$TARGETCLASS" = "Xwindows" -a "X$TOOLCHAIN" = "Xclang" ]] 4203then 4204 WINGUILIB="-lwinmm -limm32 -luuid $WINGUILIB" 4205 LDFLC_CLI_DK="$LDFLC_CLI_DK -municode" 4206fi 4207if [[ "X$TOOLCHAIN" = "Xgcc" -o "X$TOOLCHAIN" = "Xclang" ]] 4208then 4209 case X$CROSSBUILD/X$ENA_PACKAGE in 4210 Xyes/Xno) 4211 LDFLC_CLI_C8="$LDFLC_CLI_C8 -static -static-libgcc -Wl,-Bstatic" 4212 LDFLC_CLI_DK="$LDFLC_CLI_DK -static -static-libgcc -Wl,-Bstatic" 4213 LDFLCXX_CLI_C8="$LDFLCXX_CLI_C8 -static -static-libstdc++ -static-libgcc -Wl,-Bstatic" 4214 LDFLCXX_CLI_DK="$LDFLCXX_CLI_DK -static -static-libstdc++ -static-libgcc -Wl,-Bstatic" 4215 LDFLCXX_CLI_WX="$LDFLCXX_CLI_WX -static -static-libstdc++ -static-libgcc -Wl,-Bstatic" 4216 LDFLCXX_GUI="$LDFLCXX_GUI -static -static-libstdc++ -static-libgcc -Wl,-Bstatic" 4217 ;; 4218 esac 4219fi 4220AC_MSG_RESULT(done) 4221 4222dnl Find user and group running the LPRng lpd process 4223dnl ------------------------------------------------- 4224dnl Normally both should be lp but the Debian LPRng package 4225dnl uses daemon.lp to run lpd. 4226dnl The printqd daemon should use the same account and group. 4227 4228LPRNGUSER='lp' 4229LPRNGGROUP='lp' 4230if [[ -f /etc/debian_version ]] 4231then 4232 LPRNGUSER='daemon' 4233fi 4234 4235 4236dnl OUTPUT GENERATION 4237 4238dnl Substitue variables 4239dnl =================== 4240 4241dnl Compiler toolchain 4242dnl ------------------ 4243 4244AC_SUBST(DEFS) 4245AC_SUBST(CC) 4246AC_SUBST(CPP) 4247AC_SUBST(CXX) 4248AC_SUBST(WINDRES) 4249AC_SUBST(RCFLAGS) 4250AC_SUBST(MKDIR_P) 4251AC_SUBST(SED) 4252AC_SUBST(INSTALL) 4253AC_SUBST(LN_S) 4254AC_SUBST(RANLIB) 4255AC_SUBST(RDFIND) 4256AC_SUBST(AR) 4257AC_SUBST(NM) 4258AC_SUBST(MAKE) 4259AC_SUBST(DELTARGET) 4260AC_SUBST(DELTARGETSO) 4261AC_SUBST(MKSOLIB) 4262AC_SUBST(MKSOLIBCPP) 4263AC_SUBST(RPATH) 4264AC_SUBST(RPATHLINK) 4265AC_SUBST(MKSORPATH) 4266AC_SUBST(MKSORPATHLINK) 4267AC_SUBST(MKSOCHECKSYMBOLS) 4268 4269dnl Compiler and linker flags 4270dnl ------------------------- 4271AC_SUBST(CFL_CLI_C8) 4272AC_SUBST(CFL_CLI_DK) 4273AC_SUBST(CXXFL_CLI_C8) 4274AC_SUBST(CXXFL_CLI_DK) 4275AC_SUBST(CXXFL_CLI_WX) 4276AC_SUBST(CXXFL_GUI) 4277AC_SUBST(LDFLC_CLI_C8) 4278AC_SUBST(LDFLC_CLI_DK) 4279AC_SUBST(LDFLCXX_CLI_C8) 4280AC_SUBST(LDFLCXX_CLI_DK) 4281AC_SUBST(LDFLCXX_CLI_WX) 4282AC_SUBST(LDFLCXX_GUI) 4283 4284dnl Build system type 4285dnl ----------------- 4286AC_SUBST(BUILDHOST) 4287AC_SUBST(TARGETHOST) 4288AC_SUBST(BUILDCLASS) 4289AC_SUBST(TARGETCLASS) 4290AC_SUBST(CROSSBUILD) 4291AC_SUBST(UNAME) 4292AC_SUBST(TOOLCHAIN) 4293 4294dnl Package version 4295dnl --------------- 4296AC_SUBST(VERSNO) 4297AC_SUBST(SOVERS) 4298 4299dnl Select components to build 4300dnl -------------------------- 4301AC_SUBST(LIB_SHARED_RES_NET) 4302AC_SUBST(PRG_RES_NET) 4303AC_SUBST(MAN_RES_NET) 4304AC_SUBST(RES_RES_NET) 4305AC_SUBST(RES_RES_NET_EN) 4306AC_SUBST(RES_RES_NET_DE) 4307AC_SUBST(PRG_CLI_NET) 4308AC_SUBST(MAN_CLI_NET) 4309AC_SUBST(RES_CLI_NET) 4310AC_SUBST(PRG_GUI_NET) 4311AC_SUBST(MAN_GUI_NET) 4312AC_SUBST(RES_GUI_NET) 4313AC_SUBST(PRG_CLI_NET_POSIX) 4314AC_SUBST(MAN_CLI_NET_POSIX) 4315AC_SUBST(RES_CLI_NET_POSIX) 4316AC_SUBST(PRG_CLI_SNMP) 4317AC_SUBST(MAN_CLI_SNMP) 4318AC_SUBST(RES_CLI_SNMP) 4319AC_SUBST(PRG_CLI_MYSQL) 4320AC_SUBST(MAN_CLI_MYSQL) 4321AC_SUBST(RES_CLI_MYSQL) 4322AC_SUBST(PRG_CLI_SSL) 4323AC_SUBST(MAN_CLI_SSL) 4324AC_SUBST(RES_CLI_SSL) 4325AC_SUBST(PRG_GUI_SSL) 4326AC_SUBST(MAN_GUI_SSL) 4327AC_SUBST(RES_GUI_SSL) 4328AC_SUBST(PRG_CLI_POSIX) 4329AC_SUBST(MAN_CLI_POSIX) 4330AC_SUBST(RES_CLI_POSIX) 4331AC_SUBST(PRG_CLI_WINDOWS) 4332AC_SUBST(MAN_CLI_WINDOWS) 4333AC_SUBST(RES_CLI_WINDOWS) 4334AC_SUBST(PRG_GUI_WINDOWS) 4335AC_SUBST(MAN_GUI_WINDOWS) 4336AC_SUBST(RES_GUI_WINDOWS) 4337AC_SUBST(BUILD_ARCH) 4338AC_SUBST(INSTALL_PROGRAMS) 4339AC_SUBST(INSTALL_LIBS) 4340AC_SUBST(INSTALL_INDEP) 4341AC_SUBST(FOUND_SYSTEMD) 4342 4343# File name extensions 4344# -------------------- 4345AC_SUBST(EXEEXT) 4346AC_SUBST(OBJEXT) 4347AC_SUBST(RCEXT) 4348AC_SUBST(RESEXT) 4349AC_SUBST(RESCRULE) 4350 4351# Detected run path 4352# ----------------- 4353AC_SUBST(rundir) 4354 4355# Detected features 4356# ----------------- 4357AC_SUBST(ZLIB) 4358AC_SUBST(BZLIB) 4359AC_SUBST(LIBPNG) 4360AC_SUBST(LIBJPEG) 4361AC_SUBST(LIBTIFF) 4362AC_SUBST(CRYPTO) 4363AC_SUBST(FS64) 4364AC_SUBST(SOCKLIB) 4365AC_SUBST(NSLLIB) 4366AC_SUBST(RTLIB) 4367AC_SUBST(PTHREADLIB) 4368AC_SUBST(DBLIB) 4369AC_SUBST(DBLIBSOCK) 4370AC_SUBST(MYSQLLIB) 4371AC_SUBST(MYSQLLDFLAGS) 4372AC_SUBST(NETSNMP_LIBS) 4373AC_SUBST(NETSNMP_CFLAGS) 4374AC_SUBST(WINCLILIB) 4375AC_SUBST(WINGUILIB) 4376AC_SUBST(CLILIB) 4377AC_SUBST(GUILIB) 4378AC_MSG_NOTICE([CPPFLAGS substituted: $CPPFLAGS]) 4379AC_MSG_NOTICE([CFLAGS substituted: $CFLAGS]) 4380AC_MSG_NOTICE([LDFLAGS substituted: $LDFLAGS]) 4381AC_SUBST(CPPFLAGS) 4382AC_SUBST(CFLAGS) 4383AC_SUBST(LDFLAGS) 4384AC_SUBST(WXCPPFLAGS) 4385AC_SUBST(WXCFLAGS) 4386AC_SUBST(WXCXXFLAGS) 4387AC_SUBST(WXLDFLAGS) 4388AC_SUBST(WXVERSION) 4389AC_SUBST(MOD_DK3WREG) 4390AC_SUBST(MOD_DK4DMT) 4391AC_SUBST(LIBDK3WXOBJ) 4392AC_SUBST(LIBDK4WXOBJ) 4393AC_SUBST(LPRNGUSER) 4394AC_SUBST(LPRNGGROUP) 4395 4396dnl Program objects and libraries 4397dnl ----------------------------- 4398AC_SUBST(SOLIBZ) 4399AC_SUBST(SOLIBBZ) 4400AC_SUBST(SOLIBMATH) 4401AC_SUBST(SOLIBCRYPTO) 4402AC_SUBST(SOLIBNET) 4403AC_SUBST(SOLIBIMG) 4404AC_SUBST(SOLIBSDBI) 4405AC_SUBST(SOLIBWX) 4406AC_SUBST(SOLIBDK3PORT) 4407AC_SUBST(SOLIBDK3C) 4408AC_SUBST(SOLIBDK3OF) 4409AC_SUBST(SOLIBDK3CSRND) 4410AC_SUBST(SOLIBDK3BIF) 4411AC_SUBST(SOLIBDK3DBI) 4412AC_SUBST(SOLIBDK3FIG) 4413AC_SUBST(SOLIBDK3BMEPS) 4414AC_SUBST(SOLIBDK3NET) 4415AC_SUBST(SOLIBDK4TRACE) 4416AC_SUBST(SOLIBDK4BASE) 4417AC_SUBST(SOLIBDK4MA) 4418AC_SUBST(SOLIBDK4MAIO8H) 4419AC_SUBST(SOLIBDK4MAIOWH) 4420AC_SUBST(SOLIBDK4MAIODH) 4421AC_SUBST(SOLIBDK4MAIO8D) 4422AC_SUBST(SOLIBDK4MAIOWD) 4423AC_SUBST(SOLIBDK4MAIODD) 4424AC_SUBST(SOLIBDK4C) 4425AC_SUBST(SOLIBDK4MDRND) 4426AC_SUBST(SOLIBDK4PPPT) 4427AC_SUBST(SOLIBDK4APP) 4428AC_SUBST(SOLIBDK4LATA) 4429AC_SUBST(SOLIBDK4LAT) 4430AC_SUBST(SOLIBDK4SOCK) 4431AC_SUBST(SOLIBDK4SOCKA) 4432AC_SUBST(SOLIBDK4DBI) 4433AC_SUBST(SOLIBDK4DBIA) 4434AC_SUBST(LIBDK4TRACELIBF) 4435AC_SUBST(LIBDK4TRACELIBS) 4436AC_SUBST(LIBDK4BASELIBF) 4437AC_SUBST(LIBDK4BASELIBS) 4438AC_SUBST(LIBDK4MALIBF) 4439AC_SUBST(LIBDK4MALIBS) 4440AC_SUBST(LIBDK4MAIO8DLIBF) 4441AC_SUBST(LIBDK4MAIO8DLIBS) 4442AC_SUBST(LIBDK4MAIOWDLIBF) 4443AC_SUBST(LIBDK4MAIOWDLIBS) 4444AC_SUBST(LIBDK4MAIODDLIBF) 4445AC_SUBST(LIBDK4MAIODDLIBS) 4446AC_SUBST(LIBDK4MAIOXDLIBF) 4447AC_SUBST(LIBDK4MAIOXDLIBS) 4448AC_SUBST(LIBDK4MAIO8HLIBF) 4449AC_SUBST(LIBDK4MAIO8HLIBS) 4450AC_SUBST(LIBDK4MAIOWHLIBF) 4451AC_SUBST(LIBDK4MAIOWHLIBS) 4452AC_SUBST(LIBDK4MAIODHLIBF) 4453AC_SUBST(LIBDK4MAIODHLIBS) 4454AC_SUBST(LIBDK4DBILIBF) 4455AC_SUBST(LIBDK4DBILIBS) 4456AC_SUBST(LIBDK4CLIBF) 4457AC_SUBST(LIBDK4CLIBS) 4458AC_SUBST(LIBDK4LATALIBF) 4459AC_SUBST(LIBDK4LATALIBS) 4460AC_SUBST(LIBDK4LATLIBF) 4461AC_SUBST(LIBDK4LATLIBS) 4462AC_SUBST(LIBDK4SOCKLIBF) 4463AC_SUBST(LIBDK4SOCKLIBS) 4464AC_SUBST(LIBDK4MDRNDLIBF) 4465AC_SUBST(LIBDK4MDRNDLIBS) 4466AC_SUBST(LIBDK4BIFLIBF) 4467AC_SUBST(LIBDK4BIFLIBS) 4468AC_SUBST(LIBDK4GRALIBF) 4469AC_SUBST(LIBDK4GRALIBS) 4470AC_SUBST(LIBDK4PPPTLIBF) 4471AC_SUBST(LIBDK4PPPTLIBS) 4472AC_SUBST(LIBDK4APPLIBF) 4473AC_SUBST(LIBDK4APPLIBS) 4474AC_SUBST(LIBDK4BIFALIBF) 4475AC_SUBST(LIBDK4BIFALIBS) 4476AC_SUBST(LIBDK4GRAALIBF) 4477AC_SUBST(LIBDK4GRAALIBS) 4478AC_SUBST(LIBDK4PPPTALIBF) 4479AC_SUBST(LIBDK4PPPTALIBS) 4480AC_SUBST(LIBDK4SOCKALIBF) 4481AC_SUBST(LIBDK4SOCKALIBS) 4482AC_SUBST(LIBDK4DBIALIBF) 4483AC_SUBST(LIBDK4DBIALIBS) 4484AC_SUBST(LIBDK4WXLIBF) 4485AC_SUBST(LIBDK4WXLIBS) 4486AC_SUBST(LIBDK3TRACELIBF) 4487AC_SUBST(LIBDK3TRACELIBS) 4488AC_SUBST(LIBDK3CLIBF) 4489AC_SUBST(LIBDK3CLIBS) 4490AC_SUBST(LIBDK3OFLIBF) 4491AC_SUBST(LIBDK3OFLIBS) 4492AC_SUBST(LIBDK3CSRNDLIBF) 4493AC_SUBST(LIBDK3CSRNDLIBS) 4494AC_SUBST(LIBDK3BIFLIBF) 4495AC_SUBST(LIBDK3BIFLIBS) 4496AC_SUBST(LIBDK3DBILIBF) 4497AC_SUBST(LIBDK3DBILIBS) 4498AC_SUBST(LIBDK3BMEPSLIBF) 4499AC_SUBST(LIBDK3BMEPSLIBS) 4500AC_SUBST(LIBDK3FIGLIBF) 4501AC_SUBST(LIBDK3FIGLIBS) 4502AC_SUBST(LIBDK3WXLIBF) 4503AC_SUBST(LIBDK3WXLIBS) 4504AC_SUBST(DKCATLIBF) 4505AC_SUBST(DKCATLIBS) 4506AC_SUBST(DKBLKSLIBF) 4507AC_SUBST(DKBLKSLIBS) 4508AC_SUBST(DKSQLSPLITLIBF) 4509AC_SUBST(DKSQLSPLITLIBS) 4510AC_SUBST(DKERADISKLIBF) 4511AC_SUBST(DKERADISKLIBS) 4512AC_SUBST(DKLSLIBF) 4513AC_SUBST(DKLSLIBS) 4514AC_SUBST(DKSORTLIBF) 4515AC_SUBST(DKSORTLIBS) 4516AC_SUBST(DKLINESLIBF) 4517AC_SUBST(DKLINESLIBS) 4518AC_SUBST(DKFICLIBF) 4519AC_SUBST(DKFICLIBS) 4520AC_SUBST(DKUIDLIBF) 4521AC_SUBST(DKUIDLIBS) 4522AC_SUBST(DKPWGENLIBF) 4523AC_SUBST(DKPWGENLIBS) 4524AC_SUBST(DKRANDLIBF) 4525AC_SUBST(DKRANDLIBS) 4526AC_SUBST(DKT2HLIBF) 4527AC_SUBST(DKT2HLIBS) 4528AC_SUBST(DKT2LLIBF) 4529AC_SUBST(DKT2LLIBS) 4530AC_SUBST(DKBIN2CLIBF) 4531AC_SUBST(DKBIN2CLIBS) 4532AC_SUBST(DKHEXLIBF) 4533AC_SUBST(DKHEXLIBS) 4534AC_SUBST(DKBMMLIBF) 4535AC_SUBST(DKBMMLIBS) 4536AC_SUBST(DKPWDLIBF) 4537AC_SUBST(DKPWDLIBS) 4538AC_SUBST(DKRECVLIBF) 4539AC_SUBST(DKRECVLIBS) 4540AC_SUBST(DKSENDLIBF) 4541AC_SUBST(DKSENDLIBS) 4542AC_SUBST(DKDBT2LIBF) 4543AC_SUBST(DKDBT2LIBS) 4544AC_SUBST(DK4INFOLIBS) 4545AC_SUBST(DK4INFOLIBF) 4546AC_SUBST(DKCTLIBF) 4547AC_SUBST(DKCTLIBS) 4548AC_SUBST(ADDCTRLDLIBF) 4549AC_SUBST(ADDCTRLDLIBS) 4550AC_SUBST(DKDBTLIBF) 4551AC_SUBST(DKDBTLIBS) 4552AC_SUBST(BMPPLIBF) 4553AC_SUBST(BMPPLIBS) 4554AC_SUBST(FIG2LATLIBF) 4555AC_SUBST(FIG2LATLIBS) 4556AC_SUBST(WXD2LATLIBF) 4557AC_SUBST(WXD2LATLIBS) 4558AC_SUBST(HTMLBOOKLIBF) 4559AC_SUBST(HTMLBOOKLIBS) 4560AC_SUBST(DKWTLIBF) 4561AC_SUBST(DKWTLIBS) 4562AC_SUBST(WPRCLEANLIBF) 4563AC_SUBST(WPRCLEANLIBS) 4564AC_SUBST(DK3INFOLIBF) 4565AC_SUBST(DK3INFOLIBS) 4566AC_SUBST(PLPDFTEXLIBF) 4567AC_SUBST(PLPDFTEXLIBS) 4568AC_SUBST(DKWXWIZLIBF) 4569AC_SUBST(DKWXWIZLIBS) 4570AC_SUBST(DKWXPATHLIBF) 4571AC_SUBST(DKWXPATHLIBS) 4572AC_SUBST(WINPRINTLIBF) 4573AC_SUBST(WINPRINTLIBS) 4574AC_SUBST(CHSCRSZLIBF) 4575AC_SUBST(CHSCRSZLIBS) 4576AC_SUBST(WXDKCTLIBF) 4577AC_SUBST(WXDKCTLIBS) 4578AC_SUBST(WXDKDRAWLIBF) 4579AC_SUBST(WXDKDRAWLIBS) 4580AC_SUBST(WXBMPPLIBF) 4581AC_SUBST(WXBMPPLIBS) 4582AC_SUBST(WXDKFCSLIBF) 4583AC_SUBST(WXDKFCSLIBS) 4584AC_SUBST(WXPQDICLIBF) 4585AC_SUBST(WXPQDICLIBS) 4586AC_SUBST(WXIMGSZLIBF) 4587AC_SUBST(WXIMGSZLIBS) 4588AC_SUBST(WXDKCLOCKLIBF) 4589AC_SUBST(WXDKCLOCKLIBS) 4590AC_SUBST(WXDKHTBLIBF) 4591AC_SUBST(WXDKHTBLIBS) 4592AC_SUBST(PRINTQDLIBF) 4593AC_SUBST(PRINTQDLIBS) 4594AC_SUBST(PRINTQDILIBF) 4595AC_SUBST(PRINTQDILIBS) 4596AC_SUBST(PRINTQDALIBF) 4597AC_SUBST(PRINTQDALIBS) 4598AC_SUBST(PJSNMPLIBF) 4599AC_SUBST(PJSNMPLIBS) 4600AC_SUBST(PRMONSNMPLIBF) 4601AC_SUBST(PRMONSNMPLIBS) 4602AC_SUBST(PRINTQDCLIBF) 4603AC_SUBST(PRINTQDCLIBS) 4604AC_SUBST(RSHDOWNLIBF) 4605AC_SUBST(RSHDOWNLIBS) 4606AC_SUBST(LPRNGCLLIBF) 4607AC_SUBST(LPRNGCLLIBS) 4608AC_SUBST(ITADMINLIBF) 4609AC_SUBST(ITADMINLIBS) 4610AC_SUBST(GETSOURCE) 4611 4612dnl Resource files 4613dnl -------------- 4614AC_SUBST(ADDCTRLDRES) 4615AC_SUBST(BMPPRES) 4616AC_SUBST(DK3INFORES) 4617AC_SUBST(DK4INFORES) 4618AC_SUBST(DKBIN2CRES) 4619AC_SUBST(DKBLKSRES) 4620AC_SUBST(DKBMMRES) 4621AC_SUBST(DKCATRES) 4622AC_SUBST(DKCTRES) 4623AC_SUBST(DKDB2TRES) 4624AC_SUBST(DKDBCORES) 4625AC_SUBST(DKDBTRES) 4626AC_SUBST(DKERADISKRES) 4627AC_SUBST(DKFICRES) 4628AC_SUBST(DKHEXRES) 4629AC_SUBST(DKLINESRES) 4630AC_SUBST(DKLSRES) 4631AC_SUBST(DKPWDRES) 4632AC_SUBST(DKPWGENRES) 4633AC_SUBST(DKRANDRES) 4634AC_SUBST(DKRECVRES) 4635AC_SUBST(DKSENDRES) 4636AC_SUBST(DKSORTRES) 4637AC_SUBST(DKSQLSPLITRES) 4638AC_SUBST(DKT2DBRES) 4639AC_SUBST(DKT2HRES) 4640AC_SUBST(DKT2LRES) 4641AC_SUBST(DKWTADMRES) 4642AC_SUBST(DKWTRES) 4643AC_SUBST(DKWXPATHRES) 4644AC_SUBST(DKWXWIZRES) 4645AC_SUBST(FIG2LATRES) 4646AC_SUBST(HTMLBOOKRES) 4647AC_SUBST(ITADMINRES) 4648AC_SUBST(LPRNGCLRES) 4649AC_SUBST(PLPDFTEXRES) 4650AC_SUBST(WINPRINTRES) 4651AC_SUBST(WPRCLEANRES) 4652AC_SUBST(WXBMPPRES) 4653AC_SUBST(WXDKCLOCKRES) 4654AC_SUBST(WXDKCTRES) 4655AC_SUBST(WXDKFCSRES) 4656AC_SUBST(WXDKHTBRES) 4657AC_SUBST(WXDKSCRSZRES) 4658AC_SUBST(WXIMGSZRES) 4659AC_SUBST(WXPQDICRES) 4660AC_SUBST(WXD2LATRES) 4661LIBSPRIVATE="$CRYPTO $MYSQLLIB $DBLIB $LIBTIFF $LIBJPEG $BZLIB" 4662AC_SUBST(LIBSPRIVATE) 4663AC_SUBST(systemddir) 4664AC_SUBST(SUITE) 4665AC_SUBST(THISYEAR) 4666AC_SUBST(SRCIDIRS) 4667 4668 4669dnl Produce Makefile and other files 4670dnl ================================ 4671AC_CONFIG_FILES([ 4672 Makefile 4673 config/etc/init.d/printqd 4674 config/etc/init.d/rshdown 4675 config/pkg-config/dktools.pc 4676 scripts/build-debian 4677 scripts/write-files 4678 debian/control 4679 debian/printqd.postinst 4680]) 4681AC_OUTPUT 4682 4683chmod 755 scripts/build-debian 4684chmod 755 scripts/write-files 4685chmod 755 debian/printqd.postinst 4686 4687dnl Correct permissions on scripts, run scripts 4688dnl ------------------------------------------- 4689export FOUND_SYSTEMD 4690chmod ugo+rx scripts/ config/etc/init.d/printqd config/etc/init.d/rshdown 4691 4692dnl Create files 4693dnl ------------ 4694scripts/build-debian 4695scripts/write-files 4696 4697dnl Create configuration files if not yet present 4698dnl --------------------------------------------- 4699if [[ ! -f config/etc/rshdown.conf ]] 4700then 4701 cp config/etc/rshdown.conf.sample config/etc/rshdown.conf 4702fi 4703if [[ ! -f config/etc/printqd.conf ]] 4704then 4705 cp config/etc/printqd.conf.sample config/etc/printqd.conf 4706fi 4707 4708 4709dnl Copy all source files to here 4710dnl ----------------------------- 4711# AC_MSG_NOTICE([Copying source files to current directory]) 4712# scripts/sources-copy 4713 4714dnl Fix configure script results 4715dnl ============================ 4716if [[ "X$CROSSBUILD" = "Xyes" -o "X$MAKE" = "X" ]] 4717then 4718 AC_MSG_NOTICE([Fix configure results: Use sed]) 4719 ( 4720 cat config/dk4conf.h.start 4721 grep '#define' config.h | awk '{print $2 " " $3;}' | grep -v CONFIG_H_INCLUDED | sort | sed -e 's/^/#define DK4_/g' 4722 cat config/dk4conf.h.large 4723 cat config/dk4conf.h.end 4724 ) > dk4conf.h 4725 ( 4726 cat config/dk3conf.h.start 4727 grep '#define' config.h | awk '{print $2 " " $3;}' | grep -v CONFIG_H_INCLUDED | sort | sed -e 's/^/#define DK3_/g' 4728 cat config/dk3conf.h.large 4729 cat config/dk3conf.h.end 4730 ) > dk3conf.h 4731 cp config/dk4wxcs.cross dk4wxcs.h 4732else 4733 AC_MSG_NOTICE([Fix configure results: Run programs]) 4734 [[ ! -f "dk4config${EXEEXT}" ]] || rm -f "dk4config${EXEEXT}" 4735 [[ ! -f "dk4wxcs${EXEEXT}" ]] || rm -f "dk4wxcs${EXEEXT}" 4736 [[ ! -f "dk3config${EXEEXT}" ]] || rm -f "dk3config${EXEEXT}" 4737 ${MAKE} dk4config${EXEEXT} dk3config${EXEEXT} dk4wxcs${EXEEXT} 4738 ( 4739 cat config/dk4conf.h.start 4740 ./dk4config${EXEEXT} 4741 cat config/dk4conf.h.end 4742 ) > dk4conf.h 4743 ./dk3config${EXEEXT} > dk3conf.h 4744 ./dk4wxcs${EXEEXT} > dk4wxcs.h 4745 sed -e 's/DK4/DK3/g' < dk4wxcs.h > dk3wxcs.h 4746 [[ ! -f "dk4config${EXEEXT}" ]] || rm -f "dk4config${EXEEXT}" 4747 [[ ! -f "dk4wxcs${EXEEXT}" ]] || rm -f "dk4wxcs${EXEEXT}" 4748 [[ ! -f "dk3config${EXEEXT}" ]] || rm -f "dk3config${EXEEXT}" 4749fi 4750 4751 4752dnl Summary output 4753dnl ============== 4754AC_MSG_NOTICE([ 4755BUILD_ARCH: 4756${BUILD_ARCH} 4757INSTALL_PROGRAMS: 4758${INSTALL_PROGRAMS} 4759INSTALL_LIBS: 4760${INSTALL_LIBS} 4761INSTALL_INDEP: 4762${INSTALL_INDEP} 4763 4764]) 4765 4766AC_MSG_NOTICE([Software suite: $SUITE]) 4767AC_MSG_NOTICE([Build static libraries: $ENA_STATIC]) 4768AC_MSG_NOTICE([Build shared libraries: $ENA_SHARED]) 4769if [[ "X$ENA_SHARED" = "Xyes" ]] 4770then 4771AC_MSG_NOTICE([Build for package generation: $ENA_PACKAGE]) 4772fi 4773AC_MSG_NOTICE([Link shared libs with shared libs: $ENA_SOSO]) 4774AC_MSG_NOTICE([Install man pages: $ENA_MAN]) 4775AC_MSG_NOTICE([Activate more warnings: $ENA_WARN]) 4776AC_MSG_NOTICE([Allow debug information: $ENA_DEBUG]) 4777AC_MSG_NOTICE([Corrections for SunOS: $ENA_SUNOS_CORR]) 4778AC_MSG_NOTICE([Build host: $BUILDHOST]) 4779AC_MSG_NOTICE([Build class: $BUILDCLASS]) 4780AC_MSG_NOTICE([Target host: $TARGETHOST]) 4781AC_MSG_NOTICE([Target class: $TARGETCLASS]) 4782AC_MSG_NOTICE([Cross compilation build: $CROSSBUILD]) 4783AC_MSG_NOTICE([Tool chain: $TOOLCHAIN]) 4784AC_MSG_NOTICE([C compiler: $CC]) 4785AC_MSG_NOTICE([C++ compiler: $CXX]) 4786AC_MSG_NOTICE([CPPFLAGS: $CPPFLAGS]) 4787AC_MSG_NOTICE([CFLAGS: $CFLAGS]) 4788AC_MSG_NOTICE([LDFLAGS: $LDFLAGS]) 4789AC_MSG_NOTICE([]) 4790AC_MSG_NOTICE([Libraries and functions:]) 4791AC_MSG_NOTICE([socket $FOUND_SOCKET]) 4792AC_MSG_NOTICE([zlib $FOUND_ZLIB]) 4793AC_MSG_NOTICE([libbz2 $FOUND_BZLIB]) 4794AC_MSG_NOTICE([libpng $FOUND_PNG]) 4795AC_MSG_NOTICE([libjpeg $FOUND_JPG]) 4796AC_MSG_NOTICE([libtiff $FOUND_TIFF]) 4797AC_MSG_NOTICE([OpenSSL $FOUND_OPENSSL]) 4798AC_MSG_NOTICE([NetSNMP $FOUND_NETSNMP]) 4799AC_MSG_NOTICE([MySQL / MariaDB $FOUND_MYSQL]) 4800AC_MSG_NOTICE([wxWidgets $FOUND_WX]) 4801 4802dnl Special hints for cross-compilation builds 4803dnl ------------------------------------------ 4804if [[ "X$CROSSBUILD" = "Xyes" ]] 4805then 4806AC_MSG_NOTICE([]) 4807AC_MSG_NOTICE([CROSS-COMPILATION BUILD:]) 4808AC_MSG_WARN([Test for twos complement not possible!]) 4809AC_MSG_WARN([Test for IEEE 754 compliant double not possible!]) 4810AC_MSG_WARN([Test for /proc/.../exe not possible!]) 4811AC_MSG_WARN([Results for these tests are guessed and may be wrong.]) 4812AC_MSG_WARN([Before you continue check the following settings,]) 4813AC_MSG_WARN([apply corrections if necessary:]) 4814AC_MSG_WARN([- HAVE_TWOS_COMPLEMENT in file config.h]) 4815AC_MSG_WARN([- HAVE_IEEE_754_DOUBLE in file config.h]) 4816AC_MSG_WARN([- HAVE_PROC_PID_EXE in file config.h]) 4817AC_MSG_WARN([Run "make confprogs" if corrections were necessary.]) 4818AC_MSG_NOTICE([]) 4819AC_MSG_NOTICE([Before running "make" and "make install" transfer the programs]) 4820AC_MSG_NOTICE([dk3config${EXEEXT}, dk4config${EXEEXT} and dk4wxcs${EXEEXT}]) 4821AC_MSG_NOTICE([to the target system and run the commands]) 4822AC_MSG_NOTICE([ ./dk3config > dk3conf.h]) 4823AC_MSG_NOTICE([ ./dk4config > dk4conf.h]) 4824AC_MSG_NOTICE([ ./dk4wxcs > dk4wxcs.h]) 4825AC_MSG_NOTICE([on the target system.]) 4826AC_MSG_NOTICE([Transfer the files dk3conf.h, dk4conf.h and dk4wxcs.h back to]) 4827AC_MSG_NOTICE([here. At the start of dk4conf.h insert the dk4conf.h.start file.]) 4828AC_MSG_NOTICE([At the end of dk4conf.h insert the dk4conf.h.end file.]) 4829AC_MSG_NOTICE([Now continue the build process.]) 4830fi 4831