dnl configure-script AC_INIT(dk4.h) dnl Inspect tool chain dnl ================== dnl Check available tools dnl --------------------- AC_CONFIG_HEADER(config.h) AC_PROG_CC AC_PROG_CPP AC_PROG_CXX AC_PROG_MKDIR_P AC_PROG_SED AC_PROG_INSTALL AC_PROG_LN_S AC_CHECK_TOOL([RANLIB],[ranlib],[:]) AC_CHECK_TOOL([AR],[ar],[ar]) AC_CHECK_TOOL([NM],[nm],[nm]) AC_CHECK_TOOL([WINDRES],[windres],[:]) AC_CHECK_TOOL([PKG_CONFIG],[pkg-config],[:]) MAKE='' GMAKE='' AC_CHECK_PROG(MAKE,make,make) AC_CHECK_PROG(GMAKE,gmake,gmake) dnl For unavailable tools replace tool invokation by warning dnl -------------------------------------------------------- if [[ "X$RANLIB" = "X:" ]] then RANLIB='@echo No need to run ranlib' fi dnl Download programs to download original source dnl --------------------------------------------- AC_CHECK_PROG(WGET,wget,wget) AC_CHECK_PROG(CURL,curl,curl) GETSOURCE='@echo "ERROR: Neither wget nor curl available!" && false' if [[ "X$WGET" != "X" ]] then GETSOURCE='wget -O dktools-$(VERSNO)' GETSOURCE="$GETSOURCE"' $(SFBASE)/dktools-$(VERSNO).tar.gz/download' elif [[ "X$CURL" != "X" ]] then GETSOURCE='curl -L $(SFBASE)/dktools-$(VERSNO).tar.gz' GETSOURCE="$GETSOURCE "'> dktools-$(VERSNO).tar.gz' fi dnl Prefer gmake over make dnl ----------------------- if [[ "X$MAKE" = "X" -a "X$GMAKE" != "X" ]] then MAKE="$GMAKE" fi dnl Check build and target system and cross-compile dnl =============================================== AC_CANONICAL_HOST AC_CANONICAL_BUILD WHICHCC=`which $CC` WHICHCXX=`which $CXX` BUILDHOST="$build" TARGETHOST="$host" BUILDCLASS='posix' TARGETCLASS='posix' CROSSBUILD='no' UNAME=`uname -s` case X$TARGETHOST in Xx86_64-w64-mingw32|Xx86_64-w32-mingw32) TARGETCLASS='windows' ;; esac case X$BUILDHOST in Xx86_64-w64-mingw32|Xx86_64-w32-mingw32) BUILDCLASS='windows' ;; esac if [[ "X$BUILDHOST" != "X$TARGETHOST" ]] then CROSSBUILD='yes' fi TOOLCHAIN='unknown' case X$CC in Xgcc|X*gcc) TOOLCHAIN='gcc' ;; Xclang|X*clang) TOOLCHAIN='clang' ;; Xcc) if [[ "X$UNAME" = "XSunOS" ]] then TOOLCHAIN='workshop' fi ;; Xcl|XCL) TOOLCHAIN='msvc' ;; esac dnl Find resource compiler depending on tool chain dnl ---------------------------------------------- if [[ "X$WINDRES" = "X:" -a "X$TOOLCHAIN" = "Xmsvc" ]] then WINDRES='RC' elif [[ "X$WINDRES" = "X:" ]] then WINDRES='@echo "ERROR: No windows resouce compiler available!"' fi dnl Current year dnl ============ THISYEAR=`date '+%Y'` dnl Compiler flags for extra warnings dnl ================================= dnl C and C++ compiler flags for gcc and clang dnl ------------------------------------------ dnl Extra warnings GCCWARNFLAGS="-Wall -Wextra" GCXXWARNFLAGS="-Wall -Wextra" dnl Overlong strings GCCWARNFLAGS="$GCCWARNFLAGS -Woverlength-strings" GCXXWARNFLAGS="$GCXXWARNFLAGS -Woverlength-strings" dnl If structures are padded there is nothing we can do dnl GCCWARNFLAGS="$GCCWARNFLAGS -Wpadded" dnl GCXXWARNFLAGS="$GCXXWARNFLAGS -Wpadded" dnl Redundant declarations GCCWARNFLAGS="$GCCWARNFLAGS -Wredundant-decls" GCXXWARNFLAGS="$GCXXWARNFLAGS -Wredundant-decls" dnl Suspicious logical operators in expressions GCCWARNFLAGS="$GCCWARNFLAGS -Wlogical-op" GCXXWARNFLAGS="$GCXXWARNFLAGS -Wlogical-op" dnl Functions returning entire structures (used by wxWidgets) GCCWARNFLAGS="$GCCWARNFLAGS -Waggregate-return" dnl GCXXWARNFLAGS="$GCXXWARNFLAGS -Waggregate-return" dnl Prototypes required before function use GCCWARNFLAGS="$GCCWARNFLAGS -Wstrict-prototypes" dnl Old style (K+R) function definition GCCWARNFLAGS="$GCCWARNFLAGS -old-style-definition" dnl GCXXWARNFLAGS="$GCXXWARNFLAGS -old-style-definition" dnl Prototype missing for global function GCCWARNFLAGS="$GCCWARNFLAGS -Wmissing-prototypes" dnl Global function defined without a previous prototype GCCWARNFLAGS="$GCCWARNFLAGS -Wmissing-declarations" GCXXWARNFLAGS="$GCXXWARNFLAGS -Wmissing-declarations" dnl "extern" definition in a function GCCWARNFLAGS="$GCCWARNFLAGS -Wnested-externs" dnl Unreachable code in program GCCWARNFLAGS="$GCCWARNFLAGS -Wunreachable-code" GCXXWARNFLAGS="$GCXXWARNFLAGS -Wunreachable-code" dnl Failed to inline a function GCCWARNFLAGS="$GCCWARNFLAGS -Winline" dnl Invalid PCH file found GCCWARNFLAGS="$GCCWARNFLAGS -Winvalid-pch" GCXXWARNFLAGS="$GCXXWARNFLAGS -Winvalid-pch" dnl Variable length array GCCWARNFLAGS="$GCCWARNFLAGS -Wvla" GCXXWARNFLAGS="$GCXXWARNFLAGS -Wvla" dnl Signed pointers GCCWARNFLAGS="$GCCWARNFLAGS -Wpointer-sign" dnl Stack protector can not handle some function GCCWARNFLAGS="$GCCWARNFLAGS -Wstack-protector" GCXXWARNFLAGS="$GCXXWARNFLAGS -Wstack-protector" dnl Output first summary before going into details dnl ============================================== dnl Show system information dnl ----------------------- AC_MSG_NOTICE([Options: $*]) AC_MSG_NOTICE([CC = $CC $WHICHCC]) AC_MSG_NOTICE([CXX = $CXX $WHICHCXX]) AC_MSG_NOTICE([CPPFLAGS: $CPPFLAGS]) AC_MSG_NOTICE([CFLAGS: $CFLAGS]) AC_MSG_NOTICE([LDFLAGS: $LDFLAGS]) AC_MSG_NOTICE([Building on: $BUILDHOST $BUILDCLASS]) AC_MSG_NOTICE([Building for: $TARGETHOST $TARGETCLASS]) AC_MSG_NOTICE([Cross build: $CROSSBUILD]) dnl Complain when pkg-config is missing for cross builds dnl ---------------------------------------------------- if [[ "X$PKG_CONFIG" = "X:" -a "X$CROSSBUILD" = "Xyes" ]] then AC_MSG_WARN([Cross building, but no pkg-config available!]) fi dnl Package version information dnl =========================== VERSNO=`cat version.txt` SOVERS=`echo $VERSNO | sed -e 's/\.[[01-9]][[01-9]]*$//'` dnl Compiler and linker flags defaults dnl ================================== dnl C flags to compile a CLI module using char CFL_CLI_C8='$(CPPFLAGS) $(CFLAGS)' dnl C flags to compile a CLI module using dkChar CFL_CLI_DK='$(CPPFLAGS) $(CFLAGS)' dnl C++ flags to compile a CLI module using char CXXFL_CLI_C8='$(CPPFLAGS) $(CXXFLAGS)' dnl C++ flags to compile a CLI module using dkChar CXXFL_CLI_DK='$(CPPFLAGS) $(CXXFLAGS)' dnl C++ flags to compile a CLI module using wxChar CXXFL_CLI_WX='$(CPPFLAGS) $(CXXFLAGS)' dnl C++ flags to compile a GUI module using wxChar CXXFL_GUI='$(CPPFLAGS) $(CXXFLAGS)' dnl Linker flags to use CC to link a CLI program using char LDFLC_CLI_C8='$(CPPFLAGS) -L. $(LDFLAGS) $(RPATH) $(RPATHLINK)' dnl Linker flags to use CC to link a CLI program using dkChar LDFLC_CLI_DK='$(CPPFLAGS) -L. $(LDFLAGS) $(RPATH) $(RPATHLINK)' dnl Linker flags to use C++ to link a CLI program using char LDFLCXX_CLI_C8='$(CPPFLAGS) -L. $(LDFLAGS) $(RPATH) $(RPATHLINK)' dnl Linker flags to use C++ to link a CLI program using dkChar LDFLCXX_CLI_DK='$(CPPFLAGS) -L. $(LDFLAGS) $(RPATH) $(RPATHLINK)' dnl Linker flags to use C++ to link a CLI program using wxChar LDFLCXX_CLI_WX='$(CPPFLAGS) -L. $(LDFLAGS) $(RPATH) $(RPATHLINK)' dnl Linker flags to use C++ to link a GUI program using wxChar LDFLCXX_GUI='$(CPPFLAGS) -L. $(LDFLAGS) $(RPATH) $(RPATHLINK)' dnl Add RPATH to linker flags on Solaris when using workshop compiler RPATH='' RPATHLINK='' MKSORPATH='' MKSORPATHLINK='' MKSOCHECKSYMBOLS='' if [[ "X$LD_LIBRARY_PATH" != "X" -a "X$TOOLCHAIN" = "Xworkshop" ]] then RPATH="-R${LD_LIBRARY_PATH}" fi dnl Options dnl ======= dnl Suite of programs (programs for rescue system, CLI progs, GUI progs) dnl -------------------------------------------------------------------- SUITE='auto' AC_ARG_WITH(suite,[AS_HELP_STRING([--with-suite],[Software suite to build (auto / gui / cli / rescue)])],[SUITE=$withval]) if [[ "X$SUITE" != "Xgui" -a "X$SUITE" != "Xcli" -a "X$SUITE" != "Xrescue" ]] then SUITE='auto' fi dnl Directory for systemd service unit files dnl ---------------------------------------- FOUND_SYSTEMD='no' ENA_SYSTEMD='auto' systemddir='' AC_ARG_WITH(systemd,[AS_HELP_STRING([--with-systemd=DIR],[Directory for service unit files / yes / no])],[systemddir=$withval;FOUND_SYSTEMD='yes';ENA_SYSTEMD='yes']) if [[ "X$systemddir" = "Xyes" ]] then ENA_SYSTEMD='yes' FOUND_SYSTEMD='yes' systemddir='' elif [[ "X$systemddir" = "Xno" ]] then ENA_SYSTEMD='no' FOUND_SYSTEMD='no' systemddir='' fi dnl Compatibility for specific Windows version, Windows 7 is default dnl ---------------------------------------------------------------- WIN_VER_TEXT='auto' WINVER=0x0601 AC_ARG_WITH(windows,[AS_HELP_STRING([--with-windows],[Compile for Windows version (7 / XP)])],[ WIN_VER_TEXT=$withval if [[ "X$TARGETCLASS" != "Xwindows" ]] then AC_MSG_WARN([Option --with-windows=... is for Windows builds only!]) fi ]) case X$WIN_VER_TEXT in X7) WINVER=0x0601 ;; XXP) WINVER=0x0501 ;; *) WINVER=0x0601 ;; esac if [[ "X$TARGETCLASS" = "Xwindows" ]] then CPPFLAGS="$CPPFLAGS -DWINVER=$WINVER -D_WIN32_WINNT=$WINVER" CFLAGS="$CFLAGS -DWINVER=$WINVER -D_WIN32_WINNT=$WINVER" CFL_CLI_C8="-DWINVER=$WINVER -D_WIN32_WINNT=$WINVER $CFL_CLI_C8" CFL_CLI_DK="-DWINVER=$WINVER -D_WIN32_WINNT=$WINVER $CFL_CLI_DK" CXXFL_CLI_C8="-DWINVER=$WINVER -D_WIN32_WINNT=$WINVER $CXXFL_CLI_C8" CXXFL_CLI_DK="-DWINVER=$WINVER -D_WIN32_WINNT=$WINVER $CXXFL_CLI_DK" CXXFL_CLI_WX="-DWINVER=$WINVER -D_WIN32_WINNT=$WINVER $CXXFL_CLI_WX" CXXFL_GUI="-DWINVER=$WINVER -D_WIN32_WINNT=$WINVER $CXXFL_GUI" LDFLC_CLI_C8="-DWINVER=$WINVER -D_WIN32_WINNT=$WINVER $LDFLC_CLI_C8" LDFLC_CLI_DK="-DWINVER=$WINVER -D_WIN32_WINNT=$WINVER $LDFLC_CLI_DK" LDFLCXX_CLI_C8="-DWINVER=$WINVER -D_WIN32_WINNT=$WINVER $LDFLCXX_CLI_C8" LDFLCXX_CLI_DK="-DWINVER=$WINVER -D_WIN32_WINNT=$WINVER $LDFLCXX_CLI_DK" LDFLCXX_CLI_WX="-DWINVER=$WINVER -D_WIN32_WINNT=$WINVER $LDFLCXX_CLI_WX" LDFLCXX_GUI="-DWINVER=$WINVER -D_WIN32_WINNT=$WINVER $LDFLCXX_GUI" fi dnl Enable developer support installation dnl ------------------------------------- ENA_DEVEL='yes' AC_ARG_ENABLE(devel,[AS_HELP_STRING([--enable-devel],[Enable developer support (yes / no)])],[ENA_DEVEL=$enableval]) if [[ "X$ENA_DEVEL" != "Xno" ]] then ENA_DEVEL='yes' fi dnl Enable static linking (auto, yes, no) dnl ------------------------------------- ENA_STATIC='auto' AC_ARG_ENABLE(static,[AS_HELP_STRING([--enable-static],[Build static libraries (yes / no)])],[ENA_STATIC=$enableval]) dnl Enable shared linking (auto, yes, no) dnl ------------------------------------- ENA_SHARED='auto' AC_ARG_ENABLE(shared,[AS_HELP_STRING([--enable-shared],[Build shared libraries (no / yes)])],[ENA_SHARED=$enableval]) if [[ "X$ENA_STATIC" != "Xyes" -a "X$ENA_STATIC" != "Xauto" ]] then ENA_STATIC='no' fi if [[ "X$ENA_SHARED" != "Xyes" -a "X$ENA_SHARED" != "Xauto" ]] then ENA_SHARED='no' fi dnl Enable package building dnl ----------------------- dnl When building a package, the executables are linked against dnl the shared libraries. ENA_PACKAGE='no' AC_ARG_ENABLE(packaging,[AS_HELP_STRING([--enable-packaging],[Build for package creation (no / yes)])],[ENA_PACKAGE=$enableval]) if [[ "X$ENA_PACKAGE" != "Xyes" ]] then ENA_PACKAGE='no' fi dnl Enable linking shared libraries with other shared libraries dnl ----------------------------------------------------------- dnl NOTE 1: This does not work properly on all platforms. dnl NOTE 2: You should make sure the DK libraries are not yet dnl installed when building the shared libraries. ENA_SOSO='no' AC_ARG_ENABLE(link-so-so,[AS_HELP_STRING([--enable-link-so-so],[Link so libs with so libs (no / yes)])],[ENA_SOSO=$enableval]) if [[ "X$ENA_SOSO" != "Xyes" ]] then ENA_SOSO='no' fi dnl Create RPATH entry for libdir in executables dnl -------------------------------------------- dnl NOTE: Normally this should not be necessary as on a reasonable dnl system the libdir is in the shared libraries search path. ENA_RPATH='no' AC_ARG_ENABLE(rpath,[AS_HELP_STRING([--enable-rpath],[Use -rpath when linking executables (no / yes)])],[ENA_RPATH=$enableval]) if [[ "X$ENA_RPATH" != "Xyes" ]] then ENA_RPATH='no' fi dnl Enable installation of man pages (yes / no) dnl ------------------------------------------- dnl This option is for Debian package creation where man pages dnl installation is handled by package build scripts. ENA_MAN='yes' AC_ARG_ENABLE(man-pages,[AS_HELP_STRING([--enable-man-pages],[Install man pages (yes / no)])],[ENA_MAN=$enableval]) if [[ "X$ENA_MAN" != "Xno" ]] then ENA_MAN='yes' fi dnl Enable debugging dnl ---------------- ENA_DEBUG='no' AC_ARG_ENABLE(debug,[AS_HELP_STRING([--enable-debug],[Allow debug information (no / yes)])],[ENA_DEBUG=$enableval]) if [[ "X$ENA_DEBUG" != "Xyes" ]] then ENA_DEBUG='no' fi dnl Enable additional warnings dnl -------------------------- ENA_WARN='no' AC_ARG_ENABLE(warnings,[AS_HELP_STRING([--enable-warnings],[Enable additional warnings for gcc (yes / no)])],[ENA_WARN=$enableval]) if [[ "X$ENA_WARN" != "Xno" ]] then ENA_WARN='yes' fi dnl Check whether to use extra compiler flags dnl ----------------------------------------- case X$TOOLCHAIN/X$ENA_WARN/X$ENA_DEBUG in Xgcc/Xyes/*) CFL_CLI_C8="$CFL_CLI_C8 $GCCWARNFLAGS" CFL_CLI_DK="$CFL_CLI_DK $GCCWARNFLAGS" CXXFL_CLI_C8="$CXXFL_CLI_C8 $GCXXWARNFLAGS" CXXFL_CLI_DK="$CXXFL_CLI_DK $GCXXWARNFLAGS" CXXFL_CLI_WX="$CXXFL_CLI_WX $GCXXWARNFLAGS" CXXFL_GUI="$CXXFL_GUI $GCXXWARNFLAGS" ;; Xgcc/*/Xyes) CFL_CLI_C8="$CFL_CLI_C8 $GCCWARNFLAGS" CFL_CLI_DK="$CFL_CLI_DK $GCCWARNFLAGS" CXXFL_CLI_C8="$CXXFL_CLI_C8 $GCXXWARNFLAGS" CXXFL_CLI_DK="$CXXFL_CLI_DK $GCXXWARNFLAGS" CXXFL_CLI_WX="$CXXFL_CLI_WX $GCXXWARNFLAGS" CXXFL_GUI="$CXXFL_GUI $GCXXWARNFLAGS" ;; Xclang/Xyes/*) CFL_CLI_C8="$CFL_CLI_C8 $GCCWARNFLAGS" CFL_CLI_DK="$CFL_CLI_DK $GCCWARNFLAGS" CXXFL_CLI_C8="$CXXFL_CLI_C8 $GCXXWARNFLAGS" CXXFL_CLI_DK="$CXXFL_CLI_DK $GCXXWARNFLAGS" CXXFL_CLI_WX="$CXXFL_CLI_WX $GCXXWARNFLAGS" CXXFL_GUI="$CXXFL_GUI $GCXXWARNFLAGS" ;; Xclang/*/Xyes) CFL_CLI_C8="$CFL_CLI_C8 $GCCWARNFLAGS" CFL_CLI_DK="$CFL_CLI_DK $GCCWARNFLAGS" CXXFL_CLI_C8="$CXXFL_CLI_C8 $GCXXWARNFLAGS" CXXFL_CLI_DK="$CXXFL_CLI_DK $GCXXWARNFLAGS" CXXFL_CLI_WX="$CXXFL_CLI_WX $GCXXWARNFLAGS" CXXFL_GUI="$CXXFL_GUI $GCXXWARNFLAGS" ;; esac dnl Enable assertions dnl ----------------- dnl Assertions should be turned on when using the clang static dnl analyzer. ENA_ASSERT='no' AC_ARG_ENABLE(assert,[AS_HELP_STRING([--enable-assert],[Use assertions (no / yes)])],[ENA_ASSERT=$enableval]) if [[ "X$ENA_ASSERT" != "Xyes" ]] then ENA_ASSERT='no' fi dnl Enable corrections on old SunOS versions dnl ---------------------------------------- dnl Normal users should not need these corrections. ENA_SUNOS_CORR='no' AC_ARG_ENABLE(corrections,[AS_HELP_STRING([--enable-corrections],[Corrections for Solaris (no / yes)])],[ENA_SUNOS_CORR=$enableval]) if [[ "X$ENA_SUNOS_CORR" != "Xyes" ]] then ENA_SUNOS_CORR='no' fi dnl Enable use of fallback values for numeric limits if not defined dnl --------------------------------------------------------------- ENA_FALLBACK='no' AC_ARG_ENABLE(fallback,[AS_HELP_STRING([--enable-fallback],[Enable fallback values for num limits (no / yes)])],[ENA_FALLBACK=$enableval]) if [[ "X$ENA_FALLBACK" != "Xno" ]] then AC_DEFINE(USE_FALLBACK_NUMERIC_LIMITS) fi dnl For some modules - but not for all - we could disable use of dnl printf / scanf function families. dnl Some modules would be able to compile, but not the entire dnl suite of programs. dnl So the choice option was removed, printf and scanf are always allowed. dnl ---------------------------------------------------------------------- AC_DEFINE(USE_PRINTF_SCANF) dnl Decide for static and/or shared linking dnl --------------------------------------- case X$ENA_PACKAGE/X$ENA_STATIC/X$ENA_SHARED in Xno/Xno/Xno) ENA_STATIC='yes' ENA_SHARED='no' AC_MSG_WARN([Static linking enabled]) ;; Xno/Xno/Xauto) ENA_STATIC='no' ENA_SHARED='yes' ;; Xno/Xno/Xyes) ENA_STATIC='no' ENA_SHARED='yes' ;; Xno/Xauto/Xno) ENA_STATIC='yes' ENA_SHARED='no' ;; Xno/Xauto/Xauto) ENA_STATIC='yes' ENA_SHARED='no' ;; Xno/Xauto/Xyes) ENA_STATIC='no' ENA_SHARED='yes' ;; Xno/Xyes/Xno) ENA_STATIC='yes' ENA_SHARED='no' ;; Xno/Xyes/Xauto) ENA_STATIC='yes' ENA_SHARED='no' ;; Xno/Xyes/Xyes) ENA_STATIC='yes' ENA_SHARED='yes' ;; Xyes/Xno/Xno) ENA_STATIC='no' ENA_SHARED='yes' AC_MSG_WARN([Shared linking enabled]) ;; Xyes/Xno/Xauto) ENA_STATIC='no' ENA_SHARED='yes' ;; Xyes/Xno/Xyes) ENA_STATIC='no' ENA_SHARED='yes' ;; Xyes/Xauto/Xno) ENA_STATIC='no' ENA_SHARED='yes' AC_MSG_WARN([Shared linking enabled]) ;; Xyes/Xauto/Xauto) ENA_STATIC='no' ENA_SHARED='yes' ;; Xyes/Xauto/Xyes) ENA_STATIC='no' ENA_SHARED='yes' ;; Xyes/Xyes/Xno) ENA_STATIC='yes' ENA_SHARED='yes' AC_MSG_WARN([Shared linking enabled]) ;; Xyes/Xyes/Xauto) ENA_STATIC='yes' ENA_SHARED='yes' ;; Xyes/Xyes/Xyes) ENA_STATIC='yes' ENA_SHARED='yes' ;; esac dnl File suffixes dnl ============= dnl Executable file to produce (.exe on Windows, none on other systems) dnl ------------------------------------------------------------------- EXEEXT='' if [[ "X$TARGETCLASS" = "Xwindows" ]] then EXEEXT='.exe' fi dnl Object files dnl ------------ OBJEXT='o' if [[ "X$TOOLCHAIN" = "Xmsvc" ]] then OBJEXT='obj' fi dnl Resource source files and resource files dnl ---------------------------------------- RCEXT='rc' RESEXT='o' RESCRULE='echo "ERROR: No resource compiler available!"' RCFLAGS='-I. -D_UNICODE=1 -DUNICODE=1 -Igui-img/icons' if [[ "X$TOOLCHAIN" = "Xmsvc" ]] then RESEXT='res' fi if [[ "X$TOOLCHAIN" = "Xgcc" -o "X$TOOLCHAIN" = "Xclang" ]] then RESCRULE='$(RC) $(RCFLAGS) $< $@' elif [[ "X$TOOLCHAIN" = "Xmsvc" ]] then RESCRULE='$(RC) $(RCFLAGS) -out:$@ $<' fi dnl FEATURE TESTS START dnl Headers dnl ======= dnl Standard headers mentioned in C coding standard dnl ----------------------------------------------- AC_HEADER_CHECK(complex.h, AC_DEFINE(HAVE_COMPLEX_H)) AC_HEADER_CHECK(ctype.h, AC_DEFINE(HAVE_CTYPE_H)) AC_HEADER_CHECK(fenv.h, AC_DEFINE(HAVE_FENV_H)) AC_HEADER_CHECK(float.h, AC_DEFINE(HAVE_FLOAT_H)) AC_HEADER_CHECK(inttypes.h, AC_DEFINE(HAVE_INTTYPES_H)) AC_HEADER_CHECK(iso646.h, AC_DEFINE(HAVE_ISO646_H)) AC_HEADER_CHECK(limits.h, AC_DEFINE(HAVE_LIMITS_H)) AC_HEADER_CHECK(locale.h, AC_DEFINE(HAVE_LOCALE_H)) AC_HEADER_CHECK(math.h, AC_DEFINE(HAVE_MATH_H)) AC_HEADER_CHECK(setjmp.h, AC_DEFINE(HAVE_SETJMP_H)) AC_HEADER_CHECK(signal.h, AC_DEFINE(HAVE_SIGNAL_H)) AC_HEADER_CHECK(stdalign.h, AC_DEFINE(HAVE_STDALIGN_H)) AC_HEADER_CHECK(stdarg.h, AC_DEFINE(HAVE_STDARG_H)) AC_HEADER_CHECK(stdatomic.h, AC_DEFINE(HAVE_STDATOMIC_H)) AC_HEADER_CHECK(stdbool.h, AC_DEFINE(HAVE_STDBOOL_H)) AC_HEADER_CHECK(stddef.h, AC_DEFINE(HAVE_STDDEF_H)) AC_HEADER_CHECK(stdint.h, AC_DEFINE(HAVE_STDINT_H)) AC_HEADER_CHECK(stdlib.h, AC_DEFINE(HAVE_STDLIB_H)) AC_HEADER_CHECK(sysexits.h, AC_DEFINE(HAVE_SYSEXITS_H)) AC_HEADER_CHECK(stdnoreturn.h, AC_DEFINE(HAVE_STDNORETURN_H)) AC_HEADER_CHECK(string.h, AC_DEFINE(HAVE_STRING_H)) AC_HEADER_CHECK(tgmath.h, AC_DEFINE(HAVE_TGMATH_H)) AC_HEADER_CHECK(threads.h, AC_DEFINE(HAVE_THREADS_H)) AC_HEADER_CHECK(time.h, AC_DEFINE(HAVE_TIME_H)) AC_HEADER_CHECK(uchar.h, AC_DEFINE(HAVE_UCHAR_H)) AC_HEADER_CHECK(wchar.h, AC_DEFINE(HAVE_WCHAR_H)) AC_HEADER_CHECK(wctype.h, AC_DEFINE(HAVE_WCTYPE_H)) AC_HEADER_CHECK(errno.h, AC_DEFINE(HAVE_ERRNO_H)) FOUND_ASSERT_H='no' AC_HEADER_CHECK(assert.h, [FOUND_ASSERT_H='yes';AC_DEFINE(HAVE_ASSERT_H)]) if [[ "X$FOUND_ASSERT_H" = "Xno" -a "X$ENA_ASSERT" = "Xyes" ]] then AC_MSG_WARN([Assertions enabled but assert.h not found!]) elif [[ "X$ENA_ASSERT" = "Xyes" ]] then CFLAGS="$CFLAGS -DDK4_USE_ASSERT=1" CFL_CLI_C8="$CFL_CLI_C8 -DDK4_USE_ASSERT=1" CFL_CLI_DK="$CFL_CLI_DK -DDK4_USE_ASSERT=1" CXXFL_CLI_C8="$CXXFL_CLI_C8 -DDK4_USE_ASSERT=1" CXXFL_CLI_DK="$CXXFL_CLI_DK -DDK4_USE_ASSERT=1" CXXFL_CLI_WX="$CXXFL_CLI_WX -DDK4_USE_ASSERT=1" CXXFL_GUI="$CXXFL_GUI -DDK4_USE_ASSERT=1" fi dnl Further headers dnl --------------- AC_HEADER_CHECK(sys/types.h, AC_DEFINE(HAVE_SYS_TYPES_H)) AC_HEADER_CHECK(sys/param.h, AC_DEFINE(HAVE_SYS_PARAM_H)) AC_HEADER_CHECK(sys/stat.h, AC_DEFINE(HAVE_SYS_STAT_H)) AC_HEADER_CHECK(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H)) AC_HEADER_CHECK(sys/socket.h, AC_DEFINE(HAVE_SYS_SOCKET_H)) AC_HEADER_CHECK(sys/select.h, AC_DEFINE(HAVE_SYS_SELECT_H)) AC_HEADER_CHECK(sys/un.h, AC_DEFINE(HAVE_SYS_UN_H)) AC_HEADER_CHECK(netinet/in.h, AC_DEFINE(HAVE_NETINET_IN_H)) AC_HEADER_CHECK(netinet/in6.h, AC_DEFINE(HAVE_NETINET_IN6_H)) AC_HEADER_CHECK(netdb.h, AC_DEFINE(HAVE_NETDB_H)) AC_HEADER_CHECK(arpa/inet.h, AC_DEFINE(HAVE_ARPA_INET_H)) AC_HEADER_CHECK(winsock2.h, AC_DEFINE(HAVE_WINSOCK2_H)) AC_HEADER_CHECK(ws2tcpip.h, AC_DEFINE(HAVE_WS2TCPIP_H)) AC_HEADER_CHECK(windows.h, AC_DEFINE(HAVE_WINDOWS_H)) AC_HEADER_CHECK(unistd.h, AC_DEFINE(HAVE_UNISTD_H)) AC_HEADER_CHECK(process.h, AC_DEFINE(HAVE_PROCESS_H)) AC_HEADER_CHECK(fcntl.h, AC_DEFINE(HAVE_FCNTL_H)) AC_HEADER_CHECK(share.h, AC_DEFINE(HAVE_SHARE_H)) AC_HEADER_CHECK(pwd.h, AC_DEFINE(HAVE_PWD_H)) AC_HEADER_CHECK(memory.h, AC_DEFINE(HAVE_MEMORY_H)) AC_HEADER_CHECK(strings.h, AC_DEFINE(HAVE_STRINGS_H)) AC_HEADER_CHECK(io.h, AC_DEFINE(HAVE_IO_H)) AC_HEADER_CHECK(bios.h, AC_DEFINE(HAVE_BIOS_H)) AC_HEADER_CHECK(search.h, AC_DEFINE(HAVE_SEARCH_H)) AC_HEADER_CHECK(dos.h, AC_DEFINE(HAVE_DOS_H)) AC_HEADER_CHECK(alloc.h, AC_DEFINE(HAVE_ALLOC_H)) AC_HEADER_CHECK(malloc.h, AC_DEFINE(HAVE_MALLOC_H)) AC_HEADER_CHECK(dirent.h, AC_DEFINE(HAVE_DIRENT_H)) AC_HEADER_CHECK(direct.h, AC_DEFINE(HAVE_DIRECT_H)) AC_HEADER_CHECK(stdio.h, AC_DEFINE(HAVE_STDIO_H)) AC_HEADER_CHECK(conio.h, AC_DEFINE(HAVE_CONIO_H)) AC_HEADER_CHECK(grp.h, AC_DEFINE(HAVE_GRP_H)) AC_HEADER_CHECK(dir.h, AC_DEFINE(HAVE_DIR_H)) AC_HEADER_CHECK(err.h, AC_DEFINE(HAVE_ERR_H)) AC_HEADER_CHECK(shadow.h, AC_DEFINE(HAVE_SHADOW_H)) AC_HEADER_CHECK(stropts.h, AC_DEFINE(HAVE_STROPTS_H)) AC_HEADER_CHECK(syslog.h, AC_DEFINE(HAVE_SYSLOG_H)) AC_HEADER_CHECK(sysres.h, AC_DEFINE(HAVE_SYSRES_H)) AC_HEADER_CHECK(termios.h, AC_DEFINE(HAVE_TERMIOS_H)) AC_HEADER_CHECK(vararg.h, AC_DEFINE(HAVE_VARARG_H)) AC_HEADER_CHECK(varargs.h, AC_DEFINE(HAVE_VARARGS_H)) AC_HEADER_CHECK(ntifs.h, AC_DEFINE(HAVE_NTIFS_H)) AC_HEADER_CHECK(sys/file.h, AC_DEFINE(HAVE_SYS_FILE_H)) AC_HEADER_CHECK(sys/resource.h, AC_DEFINE(HAVE_SYS_RESOURCE_H)) AC_HEADER_CHECK(sys/statvfs.h, AC_DEFINE(HAVE_SYS_STATVFS_H)) AC_HEADER_CHECK(sys/stropts.h, AC_DEFINE(HAVE_SYS_STROPTS_H)) AC_HEADER_CHECK(sys/sunddi.h, AC_DEFINE(HAVE_SYS_SUNDDI_H)) AC_HEADER_CHECK(sys/sysctl.h, AC_DEFINE(HAVE_SYS_SYSCTL_H)) AC_HEADER_CHECK(sys/systeminfo.h, AC_DEFINE(HAVE_SYS_SYSTEMINFO_H)) AC_HEADER_CHECK(sys/termios.h, AC_DEFINE(HAVE_SYS_TERMIOS_H)) AC_HEADER_CHECK(sys/ttold.h, AC_DEFINE(HAVE_SYS_TTOLD_H)) AC_HEADER_CHECK(sys/uio.h, AC_DEFINE(HAVE_SYS_UIO_H)) AC_HEADER_CHECK(sys/wait.h,AC_DEFINE(HAVE_SYS_WAIT_H)) AC_HEADER_CHECK(lprng.h, AC_DEFINE(HAVE_LPRNG_H)) AC_HEADER_CHECK(pthread.h, [PTHREADLIB='-lpthread';AC_DEFINE(HAVE_PTHREAD_H)]) dnl Time headers, use both dnl ---------------------- AC_HEADER_TIME dnl Windows headers dnl --------------- AC_HEADER_CHECK(winbase.h,[AC_DEFINE(HAVE_WINBASE_H)],[],[ #if HAVE_WINDOWS_H #include #endif ]) AC_HEADER_CHECK(winreg.h,[AC_DEFINE(HAVE_WINREG_H)],[],[ #if HAVE_WINDOWS_H #include #endif #if HAVE_WINBASE_H #include #endif ]) AC_HEADER_CHECK(wincon.h,[AC_DEFINE(HAVE_WINCON_H)],[],[ #if HAVE_WINDOWS_H #include #endif #if HAVE_WINBASE_H #include #endif ]) dnl Compression libraries (zlib and bzip2) dnl -------------------------------------- FOUND_ZLIB='no' AC_HEADER_CHECK(zlib.h, [ZLIB='-lz';FOUND_ZLIB='yes';AC_DEFINE(HAVE_ZLIB_H)]) FOUND_BZLIB='no' AC_HEADER_CHECK(bzlib.h, [BZLIB='-lbz2';FOUND_BZLIB='yes';AC_DEFINE(HAVE_BZLIB_H)]) dnl OpenSSL Random number generation and message digests. dnl ----------------------------------------------------- FOUND_OPENSSL='no' CRYPTO='' AC_HEADER_CHECK(openssl/rand.h, [ FOUND_OPENSSL='yes' CRYPTO='-lcrypto' PRG_CLI_SSL='$(PRG_CLI_SSL)' MAN_CLI_SSL='$(MAN_CLI_SSL)' RES_CLI_SSL='$(RES_CLI_SSL)' PRG_GUI_SSL='$(PRG_GUI_SSL)' MAN_GUI_SSL='$(MAN_GUI_SSL)' RES_GUI_SSL='$(RES_GUI_SSL)' AC_DEFINE(HAVE_OPENSSL_RAND_H) ]) AC_HEADER_CHECK(openssl/md5.h, [AC_DEFINE(HAVE_OPENSSL_MD5_H)]) AC_HEADER_CHECK(openssl/sha.h, [AC_DEFINE(HAVE_OPENSSL_SHA_H)]) AC_HEADER_CHECK(openssl/ripemd.h, [AC_DEFINE(HAVE_OPENSSL_RIPEMD_H)]) AC_CHECK_LIB(crypto, SHA224_Init,AC_DEFINE(HAVE_SHA224)) AC_CHECK_LIB(crypto, SHA256_Init,AC_DEFINE(HAVE_SHA256)) AC_CHECK_LIB(crypto, SHA384_Init,AC_DEFINE(HAVE_SHA384)) AC_CHECK_LIB(crypto, SHA512_Init,AC_DEFINE(HAVE_SHA512)) dnl Data types dnl ========== dnl Data type long long dnl ------------------- AC_MSG_CHECKING([long long]) AC_TRY_COMPILE([ #include ],[ long long l; l = (long long)0L; ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_LONG_LONG)],[AC_MSG_RESULT(no)]) dnl Data type long double dnl --------------------- AC_MSG_CHECKING([long double]) AC_TRY_COMPILE([ #include #include ],[ long double l; l = (long double)0.0; ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_LONG_DOUBLE)],[AC_MSG_RESULT(no)]) DOINTMAXSIZECHECK='no' dnl Data type intmax_t dnl ------------------ AC_MSG_CHECKING(intmax_t) AC_TRY_COMPILE([ #include #if HAVE_STDINT_H #include #endif #if HAVE_INTTYPES_H #include #endif ],[ intmax_t im; ],[DOINTMAXSIZECHECK='yes';AC_MSG_RESULT(yes);AC_DEFINE(HAVE_INTMAX_T)],[AC_MSG_RESULT(no)]) dnl Data type sig_atomic_t dnl ---------------------- AC_MSG_CHECKING(sig_atomic_t) AC_TRY_COMPILE([ #include #include ],[ sig_atomic_t sat; ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_SIG_ATOMIC_T)],[AC_MSG_RESULT(no)]) dnl Data type ssize_t dnl ----------------- AC_MSG_CHECKING(ssize_t) AC_TRY_COMPILE([ #if HAVE_STDLIB_H #include #endif #if HAVE_SYS_TYPES_H #include #endif ],[ ssize_t sz; ],[ AC_MSG_RESULT(yes) AC_DEFINE(HAVE_SSIZE_T) ],[AC_MSG_RESULT(no)]) dnl Data type int8_t dnl ---------------- AC_MSG_CHECKING(int8_t) AC_TRY_COMPILE([ #if HAVE_STDLIB_H #include #endif #if HAVE_SYS_TYPES_H #include #endif #if HAVE_STDINT_H #include #endif ],[ int8_t i8 = 0; ],[ AC_MSG_RESULT(yes) AC_DEFINE(HAVE_INT8_T) ],[AC_MSG_RESULT(no)]) dnl Data type int16_t dnl ----------------- AC_MSG_CHECKING(int16_t) AC_TRY_COMPILE([ #if HAVE_STDLIB_H #include #endif #if HAVE_SYS_TYPES_H #include #endif #if HAVE_STDINT_H #include #endif ],[ int16_t i16 = 0; ],[ AC_MSG_RESULT(yes) AC_DEFINE(HAVE_INT16_T) ],[AC_MSG_RESULT(no)]) dnl Data type int32_t dnl ----------------- AC_MSG_CHECKING(int32_t) AC_TRY_COMPILE([ #if HAVE_STDLIB_H #include #endif #if HAVE_SYS_TYPES_H #include #endif #if HAVE_STDINT_H #include #endif ],[ int32_t i32 = 0; ],[ AC_MSG_RESULT(yes) AC_DEFINE(HAVE_INT32_T) ],[AC_MSG_RESULT(no)]) dnl Data type uint8_t dnl ----------------- AC_MSG_CHECKING(uint8_t) AC_TRY_COMPILE([ #if HAVE_STDLIB_H #include #endif #if HAVE_SYS_TYPES_H #include #endif #if HAVE_STDINT_H #include #endif ],[ uint8_t sz; ],[ AC_MSG_RESULT(yes) AC_DEFINE(HAVE_UINT8_T) ],[AC_MSG_RESULT(no)]) dnl Data type uint16_t dnl ------------------ AC_MSG_CHECKING(uint16_t) AC_TRY_COMPILE([ #if HAVE_STDLIB_H #include #endif #if HAVE_SYS_TYPES_H #include #endif #if HAVE_STDINT_H #include #endif ],[ uint16_t sz; ],[ AC_MSG_RESULT(yes) AC_DEFINE(HAVE_UINT16_T) ],[AC_MSG_RESULT(no)]) dnl Data type uint32_t dnl ------------------ AC_MSG_CHECKING(uint32_t) AC_TRY_COMPILE([ #if HAVE_STDLIB_H #include #endif #if HAVE_SYS_TYPES_H #include #endif #if HAVE_STDINT_H #include #endif ],[ uint32_t sz; ],[ AC_MSG_RESULT(yes) AC_DEFINE(HAVE_UINT32_T) ],[AC_MSG_RESULT(no)]) dnl Data type dev_t dnl --------------- AC_MSG_CHECKING(dev_t) AC_TRY_COMPILE([ #include #include #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_STAT_H #include #endif #if HAVE_UNISTD_H #include #endif ],[ dev_t devno; ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_DEV_T)],[AC_MSG_RESULT(no)]) dnl Data type _dev_t dnl ---------------- AC_MSG_CHECKING(_dev_t) AC_TRY_COMPILE([ #include #include #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_STAT_H #include #endif #if HAVE_UNISTD_H #include #endif ],[ _dev_t devno; ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE__DEV_T)],[AC_MSG_RESULT(no)]) dnl Data type ino_t dnl --------------- AC_MSG_CHECKING(ino_t) AC_TRY_COMPILE([ #include #include #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_STAT_H #include #endif #if HAVE_UNISTD_H #include #endif ],[ ino_t devno; ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_INO_T)],[AC_MSG_RESULT(no)]) dnl Data type _ino_t dnl ---------------- AC_MSG_CHECKING(_ino_t) AC_TRY_COMPILE([ #include #include #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_STAT_H #include #endif #if HAVE_UNISTD_H #include #endif ],[ _ino_t devno; ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE__INO_T)],[AC_MSG_RESULT(no)]) dnl Data type ino64_t dnl ----------------- AC_MSG_CHECKING(ino64_t) AC_TRY_COMPILE([ #define _LARGEFILE64_SOURCE 1 #include #include #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_STAT_H #include #endif #if HAVE_UNISTD_H #include #endif ],[ ino64_t devno; ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_INO64_T)],[AC_MSG_RESULT(no)]) dnl Data type mode_t dnl ---------------- AC_MSG_CHECKING(mode_t) AC_TRY_COMPILE([ #include #include #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_STAT_H #include #endif #if HAVE_UNISTD_H #include #endif ],[ mode_t devno; ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_MODE_T)],[AC_MSG_RESULT(no)]) dnl Data type nlink_t dnl ----------------- AC_MSG_CHECKING(nlink_t) AC_TRY_COMPILE([ #include #include #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_STAT_H #include #endif #if HAVE_UNISTD_H #include #endif ],[ nlink_t devno; ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_NLINK_T)],[AC_MSG_RESULT(no)]) dnl Data type off_t dnl --------------- AC_MSG_CHECKING(off_t) AC_TRY_COMPILE([ #include #include #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_STAT_H #include #endif #if HAVE_UNISTD_H #include #endif ],[ off_t devno; ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_OFF_T)],[AC_MSG_RESULT(no)]) dnl Data type off64_t dnl ----------------- AC_MSG_CHECKING(off64_t) AC_TRY_COMPILE([ #define _LARGEFILE64_SOURCE 1 #include #include #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_STAT_H #include #endif #if HAVE_UNISTD_H #include #endif ],[ off64_t devno; ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_OFF64_T)],[AC_MSG_RESULT(no)]) dnl Data type blksize_t dnl ------------------- AC_MSG_CHECKING(blksize_t) AC_TRY_COMPILE([ #include #include #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_STAT_H #include #endif #if HAVE_UNISTD_H #include #endif ],[ blksize_t devno; ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_BLKSIZE_T)],[AC_MSG_RESULT(no)]) dnl Data type blkcnt_t dnl ------------------ AC_MSG_CHECKING(blkcnt_t) AC_TRY_COMPILE([ #include #include #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_STAT_H #include #endif #if HAVE_UNISTD_H #include #endif ],[ blkcnt_t devno; ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_BLKCNT_T)],[AC_MSG_RESULT(no)]) dnl Data type fpos_t dnl ---------------- AC_MSG_CHECKING(fpos_t) AC_TRY_COMPILE([ #include #include #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_STAT_H #include #endif #if HAVE_UNISTD_H #include #endif ],[ fpos_t devno; ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_FPOS_T)],[AC_MSG_RESULT(no)]) dnl Data type _fpos_t dnl ----------------- AC_MSG_CHECKING(_fpos_t) AC_TRY_COMPILE([ #include #include #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_STAT_H #include #endif #if HAVE_UNISTD_H #include #endif ],[ _fpos_t devno; ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE__FPOS_T)],[AC_MSG_RESULT(no)]) dnl Data type uid_t dnl --------------- AC_MSG_CHECKING(uid_t) AC_TRY_COMPILE([ #include #include #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_STAT_H #include #endif #if HAVE_UNISTD_H #include #endif ],[ uid_t devno; ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_UID_T)],[AC_MSG_RESULT(no)]) dnl Data type gid_t dnl --------------- AC_MSG_CHECKING(gid_t) AC_TRY_COMPILE([ #include #include #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_STAT_H #include #endif #if HAVE_UNISTD_H #include #endif ],[ gid_t devno; ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_GID_T)],[AC_MSG_RESULT(no)]) dnl wchar_t data type dnl ----------------- AC_MSG_CHECKING(wchar_t) AC_TRY_COMPILE([ #include #include ],[ wchar_t chr; ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_WCHAR_T)],[AC_MSG_RESULT(no)]) dnl Data type sizes dnl --------------- AC_CHECK_SIZEOF(short) AC_CHECK_SIZEOF(int) AC_CHECK_SIZEOF(size_t) AC_CHECK_SIZEOF(long) AC_CHECK_SIZEOF(long long) AC_CHECK_SIZEOF(int32_t) AC_CHECK_SIZEOF(double) AC_CHECK_SIZEOF(long double) AC_CHECK_SIZEOF(wchar_t) AC_CHECK_SIZEOF(off_t) AC_CHECK_SIZEOF(ino_t) if [[ "X$DOINTMAXSIZECHECK" = "Xyes" ]] then AC_CHECK_SIZEOF(intmax_t) fi dnl Compiler features dnl ================= dnl const dnl ----- AC_MSG_CHECKING(const) AC_TRY_COMPILE([ #include static char const msg[] = { "Test" }; ],[ fputs(msg, stdout); ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_CONST)],[AC_MSG_RESULT(no)]) dnl inline dnl ------ AC_MSG_CHECKING(inline) AC_TRY_COMPILE([ #include inline int summe(int a, int b) { return (a + b); } ],[ int i = 5; int j = 6; int k; k = summe(i, j); ],[AC_MSG_RESULT(yes);FOUNDINLINE='yes'],[AC_MSG_RESULT(no)]) if [[ "X$FOUNDINLINE" = "Xyes" ]] then AC_DEFINE(HAVE_INLINE) fi if [[ "X$FOUNDINLINE" = "Xyes" -a "X$USEINLINE" = "Xyes" ]] then AC_DEFINE(USE_INLINE) fi dnl Keyword volatile dnl ---------------- AC_MSG_CHECKING(volatile) AC_TRY_COMPILE([ volatile int i = 0; ],[ i = 1; ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_VOLATILE)],[AC_MSG_RESULT(no)]) dnl __attribute__((unused)) dnl ----------------------- AC_MSG_CHECKING(__attribute__((unused))) AC_TRY_COMPILE([ static int my_add(int a, int b, int c __attribute__((unused)) ) { return (a + b); } ],[ int i; i = my_add(1, 2, 3); ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_ATTRIBUTE_UNUSED)],[AC_MSG_RESULT(no)]) dnl Representation of numeric values dnl ================================ dnl Big-endian or little-endian byte ordering dnl ----------------------------------------- AC_C_BIGENDIAN dnl Twos complement for negative integers dnl ------------------------------------- AC_MSG_CHECKING(use of twos complement for negative integers) AC_TRY_RUN([ #include #if HAVE_STDLIB_H #include #endif #if HAVE_UNISTD_H #include #endif #if HAVE_PROCESS_H #include #endif int i1 = -1; #if SIZEOF_INT > 2 #if SIZEOF_INT > 4 #if SIZEOF_INT > 8 #error "No test available yet for integers larger than 8 bytes!" #else int i2 = 0xFFFFFFFFFFFFFFFF; #endif #else int i2 = 0xFFFFFFFF; #endif #else int i2 = 0xFFFF; #endif int main(int argc, char *argv[]) { int exval = 1; if (i1 == i2) exval = 0; exit(exval); return exval; } ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_TWOS_COMPLEMENT)],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_TWOS_COMPLEMENT)]) dnl IEEE 754 double dnl --------------- IEEE_754_DOUBLE_WISHED='yes' IEEE_754_DOUBLE_FOUND='no' AC_MSG_CHECKING(IEEE 754 double) AC_TRY_RUN([ #include #if HAVE_STDLIB_H #include #endif #if HAVE_UNISTD_H #include #endif #if HAVE_STRING_H #include #endif #if HAVE_STRINGS_H #include #endif #include static double td[] = { INFINITY, 1234.75, 4.0, 1.0, 0.375, 0.0, -0.625, -1.0, -8.0, -23.875, -INFINITY }; #if WORDS_BIGENDIAN static unsigned char tuc[] = { /* INF */ 0x7F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 1234.75 */ 0x40, 0x93, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, /* 4.0 */ 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 1.0 */ 0x3F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0.375 */ 0x3F, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0.0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* -0.625 */ 0xBF, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* -1.0 */ 0xBF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* -8.0 */ 0xC0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* -23.875 */ 0xC0, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, /* -INF */ 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; #else static unsigned char tuc[] = { /* INF */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x7F, /* 1234.75 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x93, 0x40, /* 4.0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, /* 1.0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x3F, /* 0.375 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0x3F, /* 0.0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* -0.625 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE4, 0xBF, /* -1.0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xBF, /* -8.0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xC0, /* -23.875 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x37, 0xC0, /* -INF */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF }; #endif static #ifdef __cplusplus int test_double(double *dp, unsigned char *up) #else int test_double(dp, up) double *dp; unsigned char *up; #endif { int back = 0; #if HAVE_MEMCMP if(memcmp(dp, up, 8) == 0) { back = 1; } #else #if HAVE_BCMP if(bcmp(dp, up, 8) == 0) { back = 1; } #else unsigned char *cp1; unsigned char *cp2; size_t i; back = 1; cp1 = (unsigned char *)dp; cp2 = up; for(i = 0; i < 8; i++) { if(*(cp1++) != *(cp2++)) { back = 0; } } #endif #endif if(1 != back) { printf("ERROR: %lg not conforming to IEEE 754!\n", *dp); } return back; } #ifdef __cplusplus int main(int argc, char *argv[]) #else int main(argc, argv) int argc; char *argv[]; #endif { unsigned char *ucp; double *dp; size_t i; int ev = 1; if(8 == sizeof(double)) { ev = 0; ucp = tuc; dp = td; for(i = 0; i < (sizeof(td)/sizeof(double)); i++) { if(!test_double(dp, ucp)) { ev = 1; } dp++; ucp += 8; } } else { printf("ERROR: Size of double is not 1!\n"); } exit(ev); } ],[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']) if [[ "X$IEEE_754_DOUBLE_FOUND$IEEE_754_DOUBLE_WISHED" = "Xyesyes" ]] then AC_DEFINE(HAVE_IEEE_754_DOUBLE) else IEEE_754_DOUBLE_FOUND='no' fi dnl Compiler and system features dnl ============================ dnl Feature large file functions dnl ---------------------------- AC_MSG_CHECKING(_LARGEFILE64_SOURCE) FS64='' AC_TRY_COMPILE([ #define _LARGEFILE64_SOURCE 1 #include #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_STAT_H #include #endif #if HAVE_UNISTD_H #include #endif ],[struct stat64 st;],[FS64='-D_LARGEFILE64_SOURCE=1' AC_DEFINE(HAVE_LARGEFILE64_SOURCE) AC_DEFINE(HAVE_TYPE_STAT64) AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)]) dnl Block size and block count in stat data dnl --------------------------------------- AC_MSG_CHECKING(blocksize and blockcount in stat output) AC_TRY_COMPILE([ #define _LARGEFILE64_SOURCE 1 #include #include #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_STAT_H #include #endif #if HAVE_UNISTD_H #include #endif ],[ #if HAVE_TYPE_STAT64 struct stat64 stb; stb.st_blksize = 0; stb.st_blocks = 0; #else struct stat stb; stb.st_blksize = 0; stb.st_blocks = 0; #endif ],[AC_MSG_RESULT(yes) AC_DEFINE(HAVE_FILE_BLKSIZECNT)],[AC_MSG_RESULT(no)]) dnl Functions dnl ========= dnl General functions dnl ----------------- AC_HAVE_FUNCS(memset bzero memcpy bcopy memcmp bcmp) AC_HAVE_FUNCS(malloc calloc free) AC_HAVE_FUNCS(strcpy_s strcat_s) AC_HAVE_FUNCS(strcasecmp stricmp _stricmp) AC_HAVE_FUNCS(wcslen wcscpy_s wcscpy wcscat_s wcscat wcschr wcsrchr) AC_HAVE_FUNCS(wcscmp _wcscmp wcscasecmp _wcscasecmp wcsicmp _wcsicmp) AC_HAVE_FUNCS(getpid readlink getexecname lstat stat64 lstat64 localtime_r) AC_HAVE_FUNCS(geteuid fopen64 fopen_s _wfopen _wfopen64 _wfopen_s) AC_HAVE_FUNCS(fputws fputwc) AC_HAVE_FUNCS(setbuffer setbuf setvbuf) AC_HAVE_FUNCS(fileno _fileno setmode _setmode isatty _isatty) AC_HAVE_FUNCS(strtod _strtod wcstod _wcstod) AC_HAVE_FUNCS(_snprintf_s _snprintf snprintf _snwprintf_s _snwprintf snwprintf) AC_HAVE_FUNCS(swprintf) AC_HAVE_FUNCS(unlink _unlink wunlink _wunlink) AC_HAVE_FUNCS(rmdir _rmdir wrmdir _wrmdir) AC_HAVE_FUNCS(mkdir _mkdir wmkdir _wmkdir) AC_HAVE_FUNCS(strerror strerror_r) AC_HAVE_FUNCS(sigaction sigset signal sigprocmask sigemptyset) AC_HAVE_FUNCS(setpwent getpwent endpwent) AC_HAVE_FUNCS(getenv getenv_s setlocale) AC_HAVE_FUNCS(getcwd _getcwd _wgetcwd) AC_HAVE_FUNCS(getuid setuid setgid) AC_HAVE_FUNCS(chdir chmod chown) AC_HAVE_FUNCS(opendir readdir closedir) AC_HAVE_FUNCS(getgrent getgrgid getgrnam endgrent setgrent) AC_HAVE_FUNCS(getpwuid getpwnam) AC_HAVE_FUNCS(fopen fclose feof ferror fflush fread fwrite) AC_HAVE_FUNCS(_fclose _feof _ferror _fflush _fopen _fread _fwrite) AC_HAVE_FUNCS(_getenv_s _wgetenv _getpid) AC_HAVE_FUNCS(fetestexcept _clearfp) AC_HAVE_FUNCS(fork getrlimit setpgrp setsid syslog) AC_HAVE_FUNCS(gethostname) AC_HAVE_FUNCS(time localtime localtime_s) AC_HAVE_FUNCS(stat stat32 lstat32) AC_HAVE_FUNCS(_stat _stat32 _stat64 _lstat _lstat32 _lstat64) AC_HAVE_FUNCS(mpctl sysconf sysctl) AC_HAVE_FUNCS(popen _popen) AC_HAVE_FUNCS(read write _read _write) AC_HAVE_FUNCS(seed48) AC_HAVE_FUNCS(sprintf_s sscanf_s swscanf_s) AC_HAVE_FUNCS(strcat strchr strcmp strcpy strdup strlen strncmp strncpy _strdup) AC_HAVE_FUNCS(strncpy_s strrchr strtoimax strtol strtoll strtoul strtoull) AC_HAVE_FUNCS(strtoumax) AC_HAVE_FUNCS(wcsdup wcsncmp wcsncpy wcsncpy_s wcstoimax wcstol wcstoll) AC_HAVE_FUNCS(wcstoul wcstoull wcstoumax) AC_HAVE_FUNCS(_wcscat _wcschr _wcscpy _wcsdup _wcslen _wcsncmp _wcsncpy) AC_HAVE_FUNCS(_wcsrchr) AC_HAVE_FUNCS(tcflush tcgetattr) AC_HAVE_FUNCS(umask) AC_HAVE_FUNCS(GetFinalPathNameByHandle) dnl isgreater dnl --------- AC_MSG_CHECKING(isgreater) AC_TRY_COMPILE([ #include #if HAVE_MATH_H #include #endif #if HAVE_FENV_H #include #endif #if HAVE_FLOAT_H #include #endif ],[ double x; int a = 0; x = 5.0; if (isgreater(x, 4.0)) { a = 1; } ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_ISGREATER)],[AC_MSG_RESULT(no)]) dnl isgreaterequal dnl -------------- AC_MSG_CHECKING(isgreaterequal) AC_TRY_COMPILE([ #include #if HAVE_MATH_H #include #endif #if HAVE_FENV_H #include #endif #if HAVE_FLOAT_H #include #endif ],[ double x; int a = 0; x = 5.0; if (isgreaterequal(x, 4.0)) { a = 1; } ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_ISGREATEREQUAL)],[AC_MSG_RESULT(no)]) dnl isless dnl ------ AC_MSG_CHECKING(isless) AC_TRY_COMPILE([ #include #if HAVE_MATH_H #include #endif #if HAVE_FENV_H #include #endif #if HAVE_FLOAT_H #include #endif ],[ double x; int a = 0; x = 5.0; if (isless(x, 6.0)) { a = 1; } ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_ISLESS)],[AC_MSG_RESULT(no)]) dnl islessequal dnl ----------- AC_MSG_CHECKING(islessequal) AC_TRY_COMPILE([ #include #if HAVE_MATH_H #include #endif #if HAVE_FENV_H #include #endif #if HAVE_FLOAT_H #include #endif ],[ double x; int a = 0; x = 5.0; if (islessequal(x, 6.0)) { a = 1; } ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_ISLESSEQUAL)],[AC_MSG_RESULT(no)]) dnl isfinite dnl -------- AC_MSG_CHECKING(isfinite) AC_TRY_COMPILE([ #include #if HAVE_MATH_H #include #endif #if HAVE_FENV_H #include #endif #if HAVE_FLOAT_H #include #endif ],[ double x; int a = 0; x = 5.0; if (isfinite(x)) { a = 1; } ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_ISFINITE)],[AC_MSG_RESULT(no)]) dnl isnormal dnl -------- AC_MSG_CHECKING(isnormal) AC_TRY_COMPILE([ #include #if HAVE_MATH_H #include #endif #if HAVE_FENV_H #include #endif #if HAVE_FLOAT_H #include #endif ],[ double x; int a = 0; x = 5.0; if (isnormal(x)) { a = 1; } ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_ISNORMAL)],[AC_MSG_RESULT(no)]) dnl _finite dnl ------- AC_MSG_CHECKING(_finite) AC_TRY_COMPILE([ #include #if HAVE_MATH_H #include #endif #if HAVE_FENV_H #include #endif #if HAVE_FLOAT_H #include #endif ],[ double x; int a = 0; x = 5.0; if (_finite(x)) { a = 1; } ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE__FINITE)],[AC_MSG_RESULT(no)]) dnl fpclassify dnl ---------- AC_MSG_CHECKING(fpclassify) AC_TRY_COMPILE([ #include #if HAVE_MATH_H #include #endif ],[ int cl; cl = fpclassify(-0.5); ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_FPCLASSIFY)],[AC_MSG_RESULT(no)]) dnl mkdir with 2 arguments dnl ---------------------- AC_MSG_CHECKING([mkdir(path,mode);]) AC_TRY_COMPILE([ #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_STAT_H #include #endif #if HAVE_FCNTL_H #include #endif #if HAVE_UNISTD_H #include #endif ],[ mkdir("test", 0755); ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_MKDIR2)],[AC_MSG_RESULT(no)]) dnl qsort dnl ----- AC_MSG_CHECKING(qsort) AC_TRY_COMPILE([ #if HAVE_STDLIB_H #include #endif #if HAVE_SEARCH_H #include #endif typedef struct { int a; int b; } test_t; test_t testvar[] = { { 1, 1 }, { 2, 2 } }; int testcmp(const void *l, const void *r) { int back = 0; const test_t *pl; const test_t *pr; pl = (const test_t *)l; pr = (const test_t *)r; if (pl->a < pr->a) { back = -1; } else { if (pl->a > pr->a) { back = 1; } } } ],[ qsort(testvar, 2, sizeof(test_t), testcmp); ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_QSORT)],[AC_MSG_RESULT(no)]) dnl bsearch dnl ------- AC_MSG_CHECKING(bsearch) AC_TRY_COMPILE([ #if HAVE_STDLIB_H #include #endif #if HAVE_SEARCH_H #include #endif typedef struct { int a; int b; } test_t; test_t testvar[] = { { 1, 1 }, { 2, 2 } }; int testcmp(const void *l, const void *r) { int back = 0; const test_t *pl; const test_t *pr; pl = (const test_t *)l; pr = (const test_t *)r; if (pl->a < pr->a) { back = -1; } else { if (pl->a > pr->a) { back = 1; } } } ],[ bsearch(&(testvar[0]), testvar, 2, sizeof(test_t), testcmp); ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_BSEARCH)],[AC_MSG_RESULT(no)]) dnl setgroups dnl --------- AC_MSG_CHECKING(setgroups) AC_TRY_COMPILE([ #if HAVE_SYS_TYPES_H #include #endif #if HAVE_UNISTD_H #include #endif ],[ gid_t gid = 0; if (0 != setgroups(1, &gid)) { } ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_SETGROUPS)],[AC_MSG_RESULT(no)]) dnl initgroups dnl ---------- AC_MSG_CHECKING(initgroups) AC_TRY_COMPILE([ #if HAVE_SYS_TYPES_H #include #endif #if HAVE_GRP_H #include #endif ],[ gid_t gid = 0; if (0 != initgroups("abcdefg", gid)) { } ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_INITGROUPS)],[AC_MSG_RESULT(no)]) dnl assert dnl ------ AC_MSG_CHECKING(assert) AC_TRY_COMPILE([ #include #include ],[ int i = -1; assert(0 < i); ],[ASSERT_FOUND='yes';AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)]) dnl Mathematical functions dnl ---------------------- AC_CHECK_LIB(m,acosh,AC_DEFINE(HAVE_ACOSH)) AC_CHECK_LIB(m,acoshl,AC_DEFINE(HAVE_ACOSHL)) AC_CHECK_LIB(m,acosl,AC_DEFINE(HAVE_ACOSL)) AC_CHECK_LIB(m,asinh,AC_DEFINE(HAVE_ASINH)) AC_CHECK_LIB(m,asinhl,AC_DEFINE(HAVE_ASINHL)) AC_CHECK_LIB(m,asinl,AC_DEFINE(HAVE_ASINL)) AC_CHECK_LIB(m,atan2,AC_DEFINE(HAVE_ATAN2)) AC_CHECK_LIB(m,atan2l,AC_DEFINE(HAVE_ATAN2L)) AC_CHECK_LIB(m,atanh,AC_DEFINE(HAVE_ATANH)) AC_CHECK_LIB(m,atanhl,AC_DEFINE(HAVE_ATANHL)) AC_CHECK_LIB(m,atanl,AC_DEFINE(HAVE_ATANL)) AC_CHECK_LIB(m,ceil,AC_DEFINE(HAVE_CEIL)) AC_CHECK_LIB(m,ceill,AC_DEFINE(HAVE_CEILL)) AC_CHECK_LIB(m,coshl,AC_DEFINE(HAVE_COSHL)) AC_CHECK_LIB(m,cosl,AC_DEFINE(HAVE_COSL)) AC_CHECK_LIB(m,expl,AC_DEFINE(HAVE_EXPL)) AC_CHECK_LIB(m,fabs,AC_DEFINE(HAVE_FABS)) AC_CHECK_LIB(m,fabsl,AC_DEFINE(HAVE_FABSL)) AC_CHECK_LIB(m,floor,AC_DEFINE(HAVE_FLOOR)) AC_CHECK_LIB(m,floorl,AC_DEFINE(HAVE_FLOORL)) AC_CHECK_LIB(m,labs,AC_DEFINE(HAVE_LABS)) AC_CHECK_LIB(m,logl,AC_DEFINE(HAVE_LOGL)) AC_CHECK_LIB(m,rint,AC_DEFINE(HAVE_RINT)) AC_CHECK_LIB(m,rintl,AC_DEFINE(HAVE_RINTL)) AC_CHECK_LIB(m,sinhl,AC_DEFINE(HAVE_SINHL)) AC_CHECK_LIB(m,sqrt,AC_DEFINE(HAVE_SQRT)) AC_CHECK_LIB(m,sqrtl,AC_DEFINE(HAVE_SQRTL)) AC_CHECK_LIB(m,sinl,AC_DEFINE(HAVE_SINL)) AC_CHECK_LIB(m,tanhl,AC_DEFINE(HAVE_TANHL)) AC_CHECK_LIB(m,tanl,AC_DEFINE(HAVE_TANL)) dnl Specific features of used libraries dnl =================================== dnl Real time library required for MySQL on some systems dnl ---------------------------------------------------- AC_CHECK_LIB(rt,clock_gettime,[RTLIB='-lrt']) dnl Defaults differing between POSIX and Windows dnl -------------------------------------------- case X$TARGETCLASS in Xwindows) AC_DEFINE(HAVE_BACKSLASH_AS_SEP) AC_DEFINE(HAVE_LINE_END_CR_NL) AC_DEFINE(HAVE_CASE_INSENSITIVE_PATHNAMES) AC_DEFINE(HAVE_CASE_INSENSITIVE_USERNAMES) ;; *) AC_DEFINE(HAVE_FILE_DEVINO) AC_DEFINE(HAVE_FILE_UIDGID) AC_DEFINE(HAVE_FILE_ATIMECTIME) ;; esac dnl As long as software from DK tools 3 and 4 coexist, allow dnl backward compatibility in DK tools 4. dnl -------------------------------------------------------- AC_DEFINE(HAVE_COMPATDKTOOLS3) dnl Network functions and data types dnl ================================ dnl Data type socklen_t dnl ------------------- AC_MSG_CHECKING(socklen_t) AC_TRY_COMPILE([ #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_SOCKET_H #include #endif #if HAVE_STDLIB_H #include #endif #if HAVE_UNISTD_H #include #endif #if HAVE_WINSOCK2_H #include #endif #if HAVE_WS2TCPIP_H #include #endif #if HAVE_NETINET_IN_H #include #endif #if HAVE_NETDB_H #include #endif ],[ socklen_t sz; ],[ AC_MSG_RESULT(yes) AC_DEFINE(HAVE_SOCKLEN_T) ],[ AC_MSG_RESULT(no) ]) dnl Data type struct sockaddr_in dnl ---------------------------- AC_MSG_CHECKING(struct sockaddr_in) AC_TRY_COMPILE([ #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_SOCKET_H #include #endif #if HAVE_NETDB_H #include #endif #if HAVE_STDLIB_H #include #endif #if HAVE_UNISTD_H #include #endif #if HAVE_WINSOCK2_H #include #endif #if HAVE_WS2TCPIP_H #include #endif #if HAVE_NETINET_IN_H #include #endif ],[ struct sockaddr_in sain; ],[ AC_MSG_RESULT(yes) AC_DEFINE(HAVE_STRUCT_SOCKADDR_IN) ],[ AC_MSG_RESULT(no) ]) dnl Data type struct sockaddr_in6 dnl ----------------------------- AC_MSG_CHECKING(struct sockaddr_in6) AC_TRY_COMPILE([ #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_SOCKET_H #include #endif #if HAVE_NETDB_H #include #endif #if HAVE_STDLIB_H #include #endif #if HAVE_UNISTD_H #include #endif #if HAVE_WINSOCK2_H #include #endif #if HAVE_WS2TCPIP_H #include #endif #if HAVE_NETINET_IN_H #include #endif ],[ struct sockaddr_in6 sain; ],[ AC_MSG_RESULT(yes) AC_DEFINE(HAVE_STRUCT_SOCKADDR_IN6) ],[ AC_MSG_RESULT(no) ]) dnl Data type struct sockaddr_un dnl ---------------------------- AC_MSG_CHECKING(struct sockaddr_un) AC_TRY_COMPILE([ #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_SOCKET_H #include #endif #if HAVE_SYS_UN_H #include #endif #if HAVE_NETDB_H #include #endif #if HAVE_STDLIB_H #include #endif #if HAVE_UNISTD_H #include #endif #if HAVE_WINSOCK2_H #include #endif #if HAVE_WS2TCPIP_H #include #endif #if HAVE_NETINET_IN_H #include #endif ],[ struct sockaddr_un sain; ],[ AC_MSG_RESULT(yes) AC_DEFINE(HAVE_STRUCT_SOCKADDR_UN) ],[ AC_MSG_RESULT(no) ]) dnl Data type struct addrinfo dnl ------------------------- AC_MSG_CHECKING(struct addrinfo) AC_TRY_COMPILE([ #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_SOCKET_H #include #endif #if HAVE_NETDB_H #include #endif #if HAVE_STDLIB_H #include #endif #if HAVE_UNISTD_H #include #endif #if HAVE_WINSOCK2_H #include #endif #if HAVE_WS2TCPIP_H #include #endif #if HAVE_NETINET_IN_H #include #endif ],[ struct addrinfo adi; ],[ AC_MSG_RESULT(yes) AC_DEFINE(HAVE_STRUCT_ADDRINFO) ],[ AC_MSG_RESULT(no) ]) dnl Data type sockaddr_storage dnl -------------------------- AC_MSG_CHECKING(struct sockaddr_storage) AC_TRY_COMPILE([ #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_SOCKET_H #include #endif #if HAVE_NETDB_H #include #endif #if HAVE_ARPA_INET_H #include #endif #if HAVE_NETINET_IN_H #include #endif #if HAVE_STDLIB_H #include #endif #if HAVE_UNISTD_H #include #endif #if HAVE_WINSOCK2_H #include #endif #if HAVE_WS2TCPIP_H #include #endif #if HAVE_NETINET_IN_H #include #endif ],[ struct sockaddr_storage sain; ],[ AC_MSG_RESULT(yes) AC_DEFINE(HAVE_STRUCT_SOCKADDR_STORAGE) ],[ AC_MSG_RESULT(no) ]) dnl Typedef IN_ADDR dnl --------------- AC_MSG_CHECKING(IN_ADDR) AC_TRY_COMPILE([ #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_SOCKET_H #include #endif #if HAVE_STDLIB_H #include #endif #if HAVE_UNISTD_H #include #endif #if HAVE_WINSOCK2_H #include #endif #if HAVE_WS2TCPIP_H #include #endif #if HAVE_NETINET_IN_H #include #endif ],[ IN_ADDR addr; ],[ AC_MSG_RESULT(yes) AC_DEFINE(HAVE_IN_ADDR) ],[ AC_MSG_RESULT(no) ]) dnl Typedef IN6_ADDR dnl ---------------- AC_MSG_CHECKING(IN6_ADDR) AC_TRY_COMPILE([ #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_SOCKET_H #include #endif #if HAVE_STDLIB_H #include #endif #if HAVE_UNISTD_H #include #endif #if HAVE_WINSOCK2_H #include #endif #if HAVE_WS2TCPIP_H #include #endif #if HAVE_NETINET_IN_H #include #endif ],[ IN6_ADDR addr; ],[ AC_MSG_RESULT(yes) AC_DEFINE(HAVE_IN6_ADDR) ],[ AC_MSG_RESULT(no) ]) dnl Function socket in standard library, -lxnet and -lsocket dnl -------------------------------------------------------- SOCKLIB='' NSLLIB='' FOUND_SOCKET='no' AC_CHECK_FUNCS(socket,[ LIB_SHARED_RES_NET='$(LIB_SHARED_RES_NET)' PRG_RES_NET='$(PRG_RES_NET)' MAN_RES_NET='$(MAN_RES_NET)' RES_RES_NET='$(RES_RES_NET)' PRG_CLI_NET='$(PRG_CLI_NET)' MAN_CLI_NET='$(MAN_CLI_NET)' RES_CLI_NET='$(RES_CLI_NET)' PRG_GUI_NET='$(PRG_GUI_NET)' MAN_GUI_NET='$(MAN_GUI_NET)' RES_GUI_NET='$(RES_GUI_NET)' FOUND_SOCKET='yes' AC_DEFINE(HAVE_SOCKET) ],[ AC_CHECK_LIB(xnet,socket,[ PRG_RES_NET='$(PRG_RES_NET)' MAN_RES_NET='$(MAN_RES_NET)' RES_RES_NET='$(RES_RES_NET)' PRG_CLI_NET='$(PRG_CLI_NET)' MAN_CLI_NET='$(MAN_CLI_NET)' RES_CLI_NET='$(RES_CLI_NET)' PRG_GUI_NET='$(PRG_GUI_NET)' MAN_GUI_NET='$(MAN_GUI_NET)' RES_GUI_NET='$(RES_GUI_NET)' FOUND_SOCKET='yes' AC_DEFINE(HAVE_SOCKET) SOCKLIB='-lxnet' ],[ AC_CHECK_LIB(socket,socket,[ PRG_RES_NET='$(PRG_RES_NET)' MAN_RES_NET='$(MAN_RES_NET)' RES_RES_NET='$(RES_RES_NET)' PRG_CLI_NET='$(PRG_CLI_NET)' MAN_CLI_NET='$(MAN_CLI_NET)' RES_CLI_NET='$(RES_CLI_NET)' PRG_GUI_NET='$(PRG_GUI_NET)' MAN_GUI_NET='$(MAN_GUI_NET)' RES_GUI_NET='$(RES_GUI_NET)' FOUND_SOCKET='yes' AC_DEFINE(HAVE_SOCKET) SOCKLIB='-lsocket' ],[ AC_CHECK_LIB(ws2_32,socket,[ PRG_RES_NET='$(PRG_RES_NET)' MAN_RES_NET='$(MAN_RES_NET)' RES_RES_NET='$(RES_RES_NET)' PRG_CLI_NET='$(PRG_CLI_NET)' MAN_CLI_NET='$(MAN_CLI_NET)' RES_CLI_NET='$(RES_CLI_NET)' PRG_GUI_NET='$(PRG_GUI_NET)' MAN_GUI_NET='$(MAN_GUI_NET)' RES_GUI_NET='$(RES_GUI_NET)' FOUND_SOCKET='yes' AC_DEFINE(HAVE_SOCKET) SOCKLIB='-lws2_32' ]) ]) ]) ]) dnl Function setsockopt dnl ------------------- AC_CHECK_FUNCS(setsockopt,[ AC_DEFINE(HAVE_SETSOCKOPT) ],[ AC_CHECK_LIB(xnet,setsockopt,[ AC_DEFINE(HAVE_SETSOCKOPT) ],[ AC_CHECK_LIB(socket,setsockopt,[ AC_DEFINE(HAVE_SETSOCKOPT) ],[ AC_CHECK_LIB(ws2_32,setsockopt,[ AC_DEFINE(HAVE_SETSOCKOPT) ]) ]) ]) ]) dnl Function getaddrinfo dnl -------------------- AC_CHECK_FUNCS(getaddrinfo,[ AC_DEFINE(HAVE_GETADDRINFO) ],[ AC_CHECK_LIB(xnet,getaddrinfo,[ NSLLIB='-lxnet' AC_DEFINE(HAVE_GETADDRINFO) ],[ AC_CHECK_LIB(nsl,getaddrinfo,[ NSLLIB='-lnsl' AC_DEFINE(HAVE_GETADDRINFO) ],[ AC_CHECK_LIB(socket,getaddrinfo,[ NSLLIB='-lsocket' AC_DEFINE(HAVE_GETADDRINFO) ],[ AC_CHECK_LIB(ws2_32,getaddrinfo,[ AC_DEFINE(HAVE_GETADDRINFO) ]) ]) ]) ]) ]) dnl Function getnameinfo (reverse getaddrinfo) dnl ------------------------------------------ AC_CHECK_FUNCS(getnameinfo,[ AC_DEFINE(HAVE_GETNAMEINFO) ],[ AC_CHECK_LIB(xnet,getnameinfo,[ AC_DEFINE(HAVE_GETNAMEINFO) ],[ AC_CHECK_LIB(nsl,getnameinfo,[ AC_DEFINE(HAVE_GETNAMEINFO) ],[ AC_CHECK_LIB(socket,getnameinfo,[ AC_DEFINE(HAVE_GETNAMEINFO) ],[ AC_CHECK_LIB(ws2_32,getnameinfo,[ AC_DEFINE(HAVE_GETNAMEINFO) ]) ]) ]) ]) ]) dnl Function gethostbyname dnl ---------------------- AC_CHECK_FUNCS(gethostbyname,[ AC_DEFINE(HAVE_GETHOSTBYNAME) ],[ AC_CHECK_LIB(xnet,gethostbyname,[ AC_DEFINE(HAVE_GETHOSTBYNAME) ],[ AC_CHECK_LIB(nsl,gethostbyname,[ AC_DEFINE(HAVE_GETHOSTBYNAME) ],[ AC_CHECK_LIB(socket,gethostbyname,[ AC_DEFINE(HAVE_GETHOSTBYNAME) ],[ AC_CHECK_LIB(ws3_32,gethostbyname,[ AC_DEFINE(HAVE_GETHOSTBYNAME) ]) ]) ]) ]) ]) dnl Function or macro htons dnl ----------------------- AC_MSG_CHECKING(htons) AC_TRY_COMPILE([ #if HAVE_STDINT_H #include #endif #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_SOCKET_H #include #endif #if HAVE_ARPA_INET_H #include #endif #if HAVE_NETINET_IN_H #include #endif ],[ unsigned short s; s = htons(5); ],[ AC_DEFINE(HAVE_HTONS) AC_MSG_RESULT(yes) ],[ AC_MSG_RESULT(no) ]) dnl Function or macro ntohs dnl ----------------------- AC_MSG_CHECKING(ntohs) AC_TRY_COMPILE([ #if HAVE_STDINT_H #include #endif #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_SOCKET_H #include #endif #if HAVE_ARPA_INET_H #include #endif #if HAVE_NETINET_IN_H #include #endif ],[ unsigned short s; s = ntohs(5); ],[ AC_DEFINE(HAVE_NTOHS) AC_MSG_RESULT(yes) ],[ AC_MSG_RESULT(no) ]) dnl Function or macro htonl dnl ----------------------- AC_MSG_CHECKING(htonl) AC_TRY_COMPILE([ #if HAVE_STDINT_H #include #endif #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_SOCKET_H #include #endif #if HAVE_ARPA_INET_H #include #endif #if HAVE_NETINET_IN_H #include #endif ],[ unsigned long s; s = htonl(5); ],[ AC_DEFINE(HAVE_HTONL) AC_MSG_RESULT(yes) ],[ AC_MSG_RESULT(no) ]) dnl Function or macro ntohl dnl ----------------------- AC_MSG_CHECKING(ntohl) AC_TRY_COMPILE([ #if HAVE_STDINT_H #include #endif #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_SOCKET_H #include #endif #if HAVE_ARPA_INET_H #include #endif #if HAVE_NETINET_IN_H #include #endif ],[ unsigned long s; s = ntohl(5); ],[ AC_DEFINE(HAVE_NTOHL) AC_MSG_RESULT(yes) ],[ AC_MSG_RESULT(no) ]) dnl Function inet_addr dnl ------------------ AC_CHECK_FUNCS(inet_addr,[ AC_DEFINE(HAVE_INET_ADDR) ],[ AC_CHECK_LIB(xnet,inet_addr,[ AC_DEFINE(HAVE_INET_ADDR) ],[ AC_CHECK_LIB(nsl,inet_addr,[ AC_DEFINE(HAVE_INET_ADDR) ],[ AC_CHECK_LIB(socket,inet_addr,[ AC_DEFINE(HAVE_INET_ADDR) ],[ AC_CHECK_LIB(ws2_32,inet_addr,[ AC_DEFINE(HAVE_INET_ADDR) ]) ]) ]) ]) ]) dnl Function inet_aton dnl ------------------ AC_CHECK_FUNCS(inet_aton,[ AC_DEFINE(HAVE_INET_ATON) ],[ AC_CHECK_LIB(xnet,inet_aton,[ AC_DEFINE(HAVE_INET_ATON) ],[ AC_CHECK_LIB(nsl,inet_aton,[ AC_DEFINE(HAVE_INET_ATON) ],[ AC_CHECK_LIB(socket,inet_aton,[ AC_DEFINE(HAVE_INET_ATON) ],[ AC_CHECK_LIB(ws2_32,inet_aton,[ AC_DEFINE(HAVE_INET_ATON) ]) ]) ]) ]) ]) dnl Function inet_pton dnl ------------------ AC_CHECK_FUNCS(inet_pton,[ AC_DEFINE(HAVE_INET_PTON) ],[ AC_CHECK_LIB(xnet,inet_pton,[ AC_DEFINE(HAVE_INET_PTON) ],[ AC_CHECK_LIB(nsl,inet_pton,[ AC_DEFINE(HAVE_INET_PTON) ],[ AC_CHECK_LIB(socket,inet_pton,[ AC_DEFINE(HAVE_INET_PTON) ],[ AC_CHECK_LIB(ws2_32,inet_pton,[ AC_DEFINE(HAVE_INET_PTON) ]) ]) ]) ]) ]) dnl Function inet_ntop (reverse inet_pton) dnl -------------------------------------- AC_CHECK_FUNCS(inet_ntop,[ AC_DEFINE(HAVE_INET_NTOP) ],[ AC_CHECK_LIB(xnet,inet_ntop,[ AC_DEFINE(HAVE_INET_NTOP) ],[ AC_CHECK_LIB(nsl,inet_ntop,[ AC_DEFINE(HAVE_INET_NTOP) ],[ AC_CHECK_LIB(socket,inet_ntop,[ AC_DEFINE(HAVE_INET_NTOP) ],[ AC_CHECK_LIB(ws2_32,inet_ntop,[ AC_DEFINE(HAVE_INET_NTOP) ]) ]) ]) ]) ]) dnl Function getpeername dnl -------------------- AC_CHECK_FUNCS(getpeername,[ AC_DEFINE(HAVE_GETPEERNAME) ],[ AC_CHECK_LIB(xnet,getpeername,[ AC_DEFINE(HAVE_GETPEERNAME) ],[ AC_CHECK_LIB(nsl,getpeername,[ AC_DEFINE(HAVE_GETPEERNAME) ],[ AC_CHECK_LIB(socket,getpeername,[ AC_DEFINE(HAVE_GETPEERNAME) ],[ AC_CHECK_LIB(ws2_32,getpeername,[AC_DEFINE(HAVE_GETPEERNAME)]) ]) ]) ]) ]) dnl Function getsockname dnl -------------------- AC_CHECK_FUNCS(getsockname,[ AC_DEFINE(HAVE_GETSOCKNAME) ],[ AC_CHECK_LIB(xnet,getsockname,[ AC_DEFINE(HAVE_GETSOCKNAME) ],[ AC_CHECK_LIB(nsl,getsockname,[ AC_DEFINE(HAVE_GETSOCKNAME) ],[ AC_CHECK_LIB(socket,getsockname,[ AC_DEFINE(HAVE_GETSOCKNAME) ],[ AC_CHECK_LIB(ws2_32,getsockname,[AC_DEFINE(HAVE_GETSOCKNAME)]) ]) ]) ]) ]) dnl Function select dnl --------------- AC_CHECK_FUNCS(select,[ AC_DEFINE(HAVE_SELECT) ],[ AC_CHECK_LIB(xnet,select,[ AC_DEFINE(HAVE_SELECT) ],[ AC_CHECK_LIB(nsl,select,[ AC_DEFINE(HAVE_SELECT) ],[ AC_CHECK_LIB(socket,select,[ AC_DEFINE(HAVE_SELECT) ],[ AC_CHECK_LIB(ws2_32,select,[AC_DEFINE(HAVE_SELECT)]) ]) ]) ]) ]) dnl Some systems have socket and name service functionality in one library dnl ---------------------------------------------------------------------- if [[ "X$SOCKLIB" = "X$NSLLIB" ]] then NSLLIB='' fi dnl Systemd dnl ------- rundir="$runstatedir" if [[ "X$ENA_SYSTEMD" = "Xauto" -a "X$systemddir" = "X" -a -d /lib/systemd/system ]] then ENA_SYSTEMD='yes' systemddir='/lib/systemd/system' FOUND_SYSTEMD='yes' AC_DEFINE(HAVE_SYSTEMD) rundir='/run' elif [[ "X$ENA_SYSTEMD" = "Xauto" -a "X$systemddir" = "X" -a -d /usr/lib/systemd/system ]] then ENA_SYSTEMD='yes' systemddir='/usr/lib/systemd/system' FOUND_SYSTEMD='yes' AC_DEFINE(HAVE_SYSTEMD) rundir='/run' elif [[ "X$ENA_SYSTEMD" = "Xauto" -a "X$systemddir" != "X" ]] then ENA_SYSTEMD='yes' FOUND_SYSTEMD='yes' AC_DEFINE(HAVE_SYSTEMD) rundir='/run' elif [[ "X$ENA_SYSTEMD" = "Xyes" -a "X$systemddir" = "X" -a -d /lib/systemd/system ]] then ENA_SYSTEMD='yes' systemddir='/lib/systemd/system' FOUND_SYSTEMD='yes' AC_DEFINE(HAVE_SYSTEMD) rundir='/run' elif [[ "X$ENA_SYSTEMD" = "Xyes" -a "X$systemddir" = "X" -a -d /usr/lib/systemd/system ]] then ENA_SYSTEMD='yes' systemddir='/usr/lib/systemd/system' FOUND_SYSTEMD='yes' AC_DEFINE(HAVE_SYSTEMD) rundir='/run' elif [[ "X$ENA_SYSTEMD" = "Xyes" -a "X$systemddir" != "X" ]] then ENA_SYSTEMD='yes' FOUND_SYSTEMD='yes' AC_DEFINE(HAVE_SYSTEMD) rundir='/run' elif [[ "X$systemddir" = "X" -a -d /lib/systemd/system ]] then systemddir='/lib/systemd/system' elif [[ "X$systemddir" = "X" -a -d /usr/lib/systemd/system ]] then systemddir='/usr/lib/systemd/system' elif [[ "X$systemddir" = "X" ]] then systemddir='/lib/systemd/system' fi dnl Find names of test programs dnl =========================== SEP=`cat sep.txt` for i in test*.ctr do j=`echo $i | sed -e 's/\.ctr//g'` if [[ "X$TESTPROGRAMS" = "X" ]] then TESTPROGRAMS="$j" else TESTPROGRAMS="${TESTPROGRAMS} ${SEP}$j" fi done dnl Used libraries dnl ============== LIBPNG='' LIBJPEG='' LIBTIFF='' ANYDB='' PTHREADLIB='' LIBDK3WXOBJ='' LIBDK4WXOBJ='' LIBDK4WXTOBUILD='' DBLIB='' DBLIBSOCK='' NETSNMP_LIBS='' NETSNMP_CFLAGS='' dnl NetSNMP dnl ------- TESTSNMPCONFIG='' if [[ "X$CROSSBUILD" != "Xyes" ]] then TESTSNMPCONFIG='net-snmp-config' else CROSSPREFIX=`$PKG_CONFIG --variable=prefix zlib` TESTSNMPCONFIG=`find $CROSSPREFIX -name 'net-snmp-config'` fi if [[ "X$TESTSNMPCONFIG" != "X" ]] then NETSNMP_LIBS=`$TESTSNMPCONFIG --libs` NETSNMP_CFLAGS=`$TESTSNMPCONFIG --cflags` fi dnl Database libraries dnl ------------------ AC_HEADER_CHECK(gdbm.h, [FOUND_GDBM='yes']) AC_HEADER_CHECK(ndbm.h, [FOUND_NDBM='yes']) case "X${FOUND_NDBM}${USE_NDBM}${FOUND_GDBM}" in "Xyesyesyes") AC_DEFINE(HAVE_NDBM_H) ANYDB='ndbm' ;; "Xyesyesno") AC_DEFINE(HAVE_NDBM_H) ANYDB='ndbm' ;; "Xyesautono") AC_DEFINE(HAVE_NDBM_H) ANYDB='ndbm' ;; esac if [[ "X$ANYDB" != "Xndbm" -a "X$FOUND_GDBM" = "Xyes" ]] then AC_DEFINE(HAVE_GDBM_H) fi AC_HEADER_CHECK(db.h, [FOUND_BDB='yes';ANYDB='db';DBLIB='-ldb';AC_DEFINE(HAVE_DB_H)]) dnl libpng dnl ------ FOUND_PNG='no' AC_HEADER_CHECK(png.h, [LIBPNG='-lpng';FOUND_PNG='yes';AC_DEFINE(HAVE_PNG_H)]) FOUND_JPG='no' dnl libjpeg dnl ------- AC_HEADER_CHECK(jpeglib.h, [LIBJPEG='-ljpeg';FOUND_JPG='yes';AC_DEFINE(HAVE_JPEGLIB_H)]) dnl libtiff dnl ------- FOUND_TIFF='no' AC_HEADER_CHECK(tiff.h, [LIBTIFF='-ltiff';FOUND_TIFF='yes';AC_DEFINE(HAVE_TIFF_H)]) dnl wxWidgets dnl --------- WX_HEADER_FOUND='no' WX_HEADER_FILENAME='' AC_MSG_CHECKING(wx-config) TESTWXCONFIG='' if [[ "X$CROSSBUILD" = "Xyes" -a "X$PKG_CONFIG" != "X:" ]] then CROSSPREFIX=`$PKG_CONFIG --variable=prefix zlib` WX_HEADER_FILENAME=`find $CROSSPREFIX -name 'wx.h'` [[ "X$TESTWXCONFIG" != "X" ]] || TESTWXCONFIG=`find $CROSSPREFIX -name 'wx-config-3.0'` [[ "X$TESTWXCONFIG" != "X" ]] || TESTWXCONFIG=`find $CROSSPREFIX -name 'wx-config-gtk3'` [[ "X$TESTWXCONFIG" != "X" ]] || TESTWXCONFIG=`find $CROSSPREFIX -name 'wx-config-gtk2'` [[ "X$TESTWXCONFIG" != "X" ]] || TESTWXCONFIG=`find $CROSSPREFIX -name 'wx-config'` [[ "X$TESTWXCONFIG" != "X" ]] || TESTWXCONFIG=`find $CROSSPREFIX -name 'wxconfig'` elif [[ "X$CROSSBUILD" != "Xyes" ]] then [[ "X$TESTWXCONFIG" != "X" ]] || TESTWXCONFIG=`which wx-config-3.0` [[ "X$TESTWXCONFIG" != "X" ]] || TESTWXCONFIG=`which wx-config-gtk3` [[ "X$TESTWXCONFIG" != "X" ]] || TESTWXCONFIG=`which wx-config-gtk2` [[ "X$TESTWXCONFIG" != "X" ]] || TESTWXCONFIG=`which wx-config` [[ "X$TESTWXCONFIG" != "X" ]] || TESTWXCONFIG=`which wxconfig` fi AC_MSG_RESULT($TESTWXCONFIG) dnl Check for wxWidgets dnl ------------------- AC_MSG_CHECKING(wxWidgets) if [[ "XWX_HEADER_FILENAME" != "X" ]] then WX_HEADER_FOUND='yes' fi AC_CHECK_HEADER(wx/wx.h,[WX_HEADER_FOUND='yes']) if [[ "X$WX_HEADER_FOUND" = "Xyes" -a "X$TESTWXCONFIG" != "X" ]] then WXCPPFLAGS=`$TESTWXCONFIG --cppflags` WXCXXFLAGS=`$TESTWXCONFIG --cxxflags` WXVERSION=`$TESTWXCONFIG --version` WXCFLAGS=`$TESTWXCONFIG --cflags` WXLDFLAGS=`$TESTWXCONFIG --libs` WXCONFIGLIBS="$WXLDFLAGS" elif [[ "X$WX_HEADER_FOUND" = "Xyes" ]] then AC_MSG_WARN([wxWidgets headers found, bot no wx-config!]) fi if [[ "X$TOOLCHAIN" = "Xgcc" -o "X$TOOLCHAIN" = "Xclang" ]] then WXCPPFLAGS=`echo $WXCPPFLAGS | sed -e 's/\-I/-isystem /g'` WXCXXFLAGS=`echo $WXCXXFLAGS | sed -e 's/\-I/-isystem /g'` WXCFLAGS=`echo $WXCFLAGS | sed -e 's/\-I/-isystem /g'` fi FOUND_WX='no' if [[ "X$WXLDFLAGS" != "X" ]] then FOUND_WX='yes' AC_DEFINE(HAVE_WXWIDGETS) fi WXMAJOR='' WXMINOR='' if [[ "X$WXVERSION" != "X" ]] then WXMAJOR=`echo $WXVERSION | cut -f 1 -d .` WXMINOR=`echo $WXVERSION | cut -f 2 -d .` fi [[ "X$WXMAJOR" != "X" ]] || WXMAJOR='0' if [[ "$WXMAJOR" -ge 3 ]] then AC_DEFINE(HAVE_WX_DEFS_H) AC_DEFINE(HAVE_WX_CHARTYPE_H) elif [[ "$WXMAJOR" -ge 2 ]] then AC_DEFINE(HAVE_WX_DEFS_H) AC_DEFINE(HAVE_WX_WXCHAR_H) fi AC_MSG_RESULT($FOUND_WX) dnl MySQL / MariaDB dnl --------------- FOUND_MYSQL='no' AC_HEADER_CHECK(mariadb/mysql.h, [ MYSQLLIB='-lmariadbclient' FOUND_MYSQL='yes' AC_DEFINE(HAVE_MARIADB_MYSQL_H) ],[ AC_HEADER_CHECK(mysql/mysql.h, [ MYSQLLIB='-lmysqlclient' FOUND_MYSQL='yes' AC_DEFINE(HAVE_MYSQL_MYSQL_H) ],[ AC_HEADER_CHECK(mysql.h, [ MYSQLLIB='-lmysqlclient' FOUND_MYSQL='yes' AC_DEFINE(HAVE_MYSQL_H) ] ) ] ) ]) dnl Resolution information in PNG files dnl ----------------------------------- AC_CHECK_LIB(png, png_get_pixels_per_inch,AC_DEFINE(HAVE_PNG_GET_PIXELS_PER_INCH)) dnl HAVE_DB_CURSOR_C_GET dnl -------------------- AC_TRY_COMPILE([ #include ],[ DBT k; DBT v; DBC *cp; cp->c_get(cp, &k, &v, DB_FIRST); ],[AC_DEFINE(HAVE_DB_CURSOR_C_GET)]) dnl Random number generation dnl ======================== dnl Functions rand and srand dnl ------------------------ AC_MSG_CHECKING(rand srand) AC_TRY_COMPILE([ #include #include ],[ srand(25); printf("%d\n", rand()); printf("%d\n", RAND_MAX); ],[AC_MSG_RESULT(yes) AC_DEFINE(HAVE_RAND) AC_DEFINE(HAVE_SRAND)],[AC_MSG_RESULT(no)]) dnl Function family initstate setstat random dnl ---------------------------------------- AC_MSG_CHECKING(initstate setstate random) AC_TRY_COMPILE([ #include #include ],[ char rs[256]; initstate(25, rs, sizeof(rs)); setstate(rs); printf("%ld\n", random()); ],[ AC_MSG_RESULT(yes) AC_DEFINE(HAVE_INITSTATE) AC_DEFINE(HAVE_SETSTATE) AC_DEFINE(HAVE_RANDOM) ],[AC_MSG_RESULT(no)]) dnl Functions lrand48 nrand48 seed48 dnl -------------------------------- AC_MSG_CHECKING(lrand48 nrand48 seed48) AC_TRY_COMPILE([ #include #include ],[ unsigned short sv[3]; sv[0] = 0; sv[1] = 1; sv[2] = 2; seed48(sv); printf("%ld\n", lrand48()); printf("%ld\n", nrand48(sv)); ],[ AC_MSG_RESULT(yes) AC_DEFINE(HAVE_LRAND48) AC_DEFINE(HAVE_NRAND48) ],[AC_MSG_RESULT(no)]) dnl RAND_egd function in OpenSSL dnl ---------------------------- COMPILE_RAND_EGD=no LIBCHECK_RAND_EGD=no AC_CHECK_LIB(crypto, RAND_egd,LIBCHECK_RAND_EGD='yes') AC_MSG_CHECKING([RAND_egd (compile test code)]) AC_TRY_COMPILE([ #include ],[ int i; i = RAND_egd("/dev/egd"); ],[COMPILE_RAND_EGD='yes';AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)]) if [[ "X$COMPILE_RAND_EGD" = "Xyes" -a "X$LIBCHECK_RAND_EGD" = "Xyes" ]] then AC_DEFINE(HAVE_RAND_EGD) fi dnl /dev/random and /dev/urandom dnl ---------------------------- if test -b /dev/urandom then AC_DEFINE(HAVE_DEV_URANDOM) fi if test -c /dev/urandom then AC_DEFINE(HAVE_DEV_URANDOM) fi if test -b /dev/random then AC_DEFINE(HAVE_DEV_RANDOM) fi if test -c /dev/random then AC_DEFINE(HAVE_DEV_RANDOM) fi dnl Feature Checking for /proc/.../exe symbolic link dnl ------------------------------------------------ dnl http://stackoverflow.com/questions/1023306/finding-current-executables-path-without-proc-self-exe AC_MSG_CHECKING(/proc/.../exe symbolic link) AC_TRY_RUN([ #include #if HAVE_STDLIB_H #include #endif #if HAVE_SYS_TYPES_H #include #endif #if HAVE_SYS_STAT_H #include #endif #if HAVE_UNISTD_H #include #endif #if HAVE_STDINT_H #include #endif /* Buffer for result */ char prog[1024]; #ifdef __cplusplus int main(int argc, char *argv[]) #else int main(argc, argv) int argc; char *argv[]; #endif { char buf[64]; struct stat stbuf; int exv = 1; ssize_t res; #if HAVE_STDINT_H sprintf(buf, "/proc/%ju/exe", (uintmax_t)getpid()); #else sprintf(buf, "/proc/%lu/exe", (unsigned long)getpid()); #endif res = readlink(buf, prog, sizeof(prog)); if ((0 < res) && (sizeof(prog) > res)) { prog[res] = '\0'; if (0 == stat(prog, &stbuf)) { exv = 0; } } return exv; } ],[AC_MSG_RESULT(yes);AC_DEFINE(HAVE_PROC_PID_EXE)],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)]) if [[ "X$CROSSBUILD" = "Xyes" ]] then AC_MSG_WARN([Test for /proc/.../exe not possible!]) AC_MSG_WARN([Result is guessed and may be wrong.]) AC_MSG_WARN([Correct HAVE_PROC_PID_EXE in config.h if necessary.]) fi dnl NetSNMP library dnl --------------- FOUND_NETSNMP='no' AC_TRY_COMPILE([ #include #include #include ],[ netsnmp_session session, *ss; ],[ FOUND_NETSNMP='yes' AC_DEFINE(HAVE_LIBNETSNMP) ]) AC_CHECK_LIB(netsnmp,snmp_enable_filelog,[AC_DEFINE(HAVE_SNMP_ENABLE_FILELOG)]) AC_CHECK_LIB(netsnmp,snmp_disable_syslog,[AC_DEFINE(HAVE_SNMP_DISABLE_SYSLOG)]) AC_CHECK_LIB(netsnmp,snmp_disable_stderrlog,[AC_DEFINE(HAVE_SNMP_DISABLE_STDERRLOG)]) AC_CHECK_LIB(netsnmp,snmp_disable_filelog,[AC_DEFINE(HAVE_SNMP_DISABLE_FILELOG)]) dnl Check for MySQL client library dnl ------------------------------ AC_MSG_CHECKING(MySQL client library) if [[ "X$FOUND_MYSQL" = "Xyes" ]] then [[ ! -f /usr/lib/mysql/libmysqlclient.so ]] || LDFLAGS="$LDFLAGS -L/usr/lib/mysql" [[ ! -f /usr/lib/mysql/libmysqlclient.a ]] || LDFLAGS="$LDFLAGS -L/usr/lib/mysql" [[ ! -f /usr/lib/mysql/libmysqlclient.so ]] || MYSQLLDFLAGS="-L/usr/lib/mysql" [[ ! -f /usr/lib/mysql/libmysqlclient.a ]] || MYSQLLDFLAGS="-L/usr/lib/mysql" [[ ! -f /usr/lib64/mysql/libmysqlclient.so ]] || LDFLAGS="$LDFLAGS -L/usr/lib64/mysql" [[ ! -f /usr/lib64/mysql/libmysqlclient.a ]] || LDFLAGS="$LDFLAGS -L/usr/lib64/mysql" [[ ! -f /usr/lib64/mysql/libmysqlclient.so ]] || MYSQLLDFLAGS="-L/usr/lib64/mysql" [[ ! -f /usr/lib64/mysql/libmysqlclient.a ]] || MYSQLLDFLAGS="-L/usr/lib64/mysql" fi AC_MSG_RESULT(done) SOLIBZ='' SOLIBBZ='' SOLIBMATH='' SOLIBCRYPTO='' SOLIBNET='' SOLIBIMG='' SOLIBSDBI='' SOLIBWX='' SOLIBDK3PORT='' SOLIBDK3C='' SOLIBDK3OF='' SOLIBDK3CSRND='' SOLIBDK3BIF='' SOLIBDK3DBI='' SOLIBDK3FIG='' SOLIBDK3BMEPS='' SOLIBDK3NET='' SOLIBDK4BASE='' SOLIBDK4MA='' SOLIBDK4MAIO8H='' SOLIBDK4MAIOWH='' SOLIBDK4MAIODH='' SOLIBDK4MAIO8D='' SOLIBDK4MAIOWD='' SOLIBDK4MAIODD='' SOLIBDK4C='' SOLIBDK4MDRND='' SOLIBDK4PPPT='' SOLIBDK4APP='' SOLIBDK4LATA='' SOLIBDK4LAT='' SOLIBDK4SOCK='' SOLIBDK4SOCKA='' SOLIBDK4DBI='' SOLIBDK4DBIA='' LIBDK4BASELIBF='' LIBDK4BASELIBS='' LIBDK4MALIBF='' LIBDK4MALIBS='' LIBDK4MAIO8DLIBF='' LIBDK4MAIO8DLIBS='' LIBDK4MAIOWDLIBF='' LIBDK4MAIOWDLIBS='' LIBDK4MAIODDLIBF='' LIBDK4MAIODDLIBS='' LIBDK4MAIOXDLIBF='' LIBDK4MAIOXDLIBS='' LIBDK4MAIO8HLIBF='' LIBDK4MAIO8HLIBS='' LIBDK4MAIOWHLIBF='' LIBDK4MAIOWHLIBS='' LIBDK4MAIODHLIBF='' LIBDK4MAIODHLIBS='' LIBDK4DBILIBF='' LIBDK4DBILIBS='' LIBDK4CLIBF='' LIBDK4CLIBS='' LIBDK4LATALIBF='' LIBDK4LATALIBS='' LIBDK4LATLIBF='' LIBDK4LATLIBS='' LIBDK4BIFLIBF='' LIBDK4BIFLIBS='' LIBDK4GRALIBF='' LIBDK4GRALIBS='' LIBDK4SOCKLIBF='' LIBDK4SOCKLIBS='' LIBDK4MDRNDLIBF='' LIBDK4MDRNDLIBS='' LIBDK4PPPTLIBF='' LIBDK4PPPTLIBS='' LIBDK4APPLIBF='' LIBDK4APPLIBS='' LIBDK4PPPTALIBF='' LIBDK4PPPTALIBS='' LIBDK4SOCKALIBF='' LIBDK4SOCKALIBS='' LIBDK4DBIALIBF='' LIBDK4DBIALIBS='' LIBDK4BIFALIBF='' LIBDK4BIFALIBS='' LIBDK4GRAALIBF='' LIBDK4GRAALIBS='' LIBDK4WXLIBF='' LIBDK4WXLIBS='' LIBDK3TRACELIBF='' LIBDK3TRACELIBS='' LIBDK3CLIBF='' LIBDK3CLIBS='' LIBDK3OFLIBF='' LIBDK3OFLIBS='' LIBDK3CSRNDLIBF='' LIBDK3CSRNDLIBS='' LIBDK3BIFLIBF='' LIBDK3BIFLIBS='' LIBDK3DBILIBF='' LIBDK3DBILIBS='' LIBDK3BMEPSLIBF='' LIBDK3BMEPSLIBS='' LIBDK3FIGLIBF='' LIBDK3FIGLIBS='' LIBDK3WXLIBF='' LIBDK3WXLIBS='' AC_MSG_CHECKING(Link shared libraries against shared libraries) if [[ "X$ENA_SHARED" = "Xyes" -a "X$ENA_SOSO" = "Xyes" ]] then AC_MSG_RESULT(yes) SOLIBZ="$ZLIB" SOLIBBZ="$BZLIB" SOLIBMATH='-lm' SOLIBCRYPTO="$CRYPTO" SOLIBNET="$NETLIB" SOLIBIMG="$IMGLIBS" SOLIBSDBI="$DKSDBILIBS" SOLIBWX="$WXCONFIGLIBS" SOLIBDK3PORT='' SOLIBDK3C='-ldk3c' SOLIBDK3OF='-ldk3of' SOLIBDK3CSRND='-ldk3csrnd' SOLIBDK3BIF='-ldk3bif' SOLIBDK3DBI='-ldk3dbi' SOLIBDK3FIG='-ldk3fig' SOLIBDK3BMEPS='-ldk3bmeps' SOLIBDK3NET='-ldk3net' SOLIBDK4BASE='-ldk4base' SOLIBDK4MA='-ldk4ma' SOLIBDK4MAIO8H='-ldk4maio8h' SOLIBDK4MAIOWH='-ldk4maiowh' SOLIBDK4MAIODH='-ldk4maiodh' SOLIBDK4MAIO8D='-ldk4maio8d' SOLIBDK4MAIOWD='-ldk4maiowd' SOLIBDK4MAIODD='-ldk4maiodd' SOLIBDK4C='-ldk4c' SOLIBDK4MDRND='-ldk4mdrnd' SOLIBDK4PPPT='-ldk4pppt' SOLIBDK4APP='-ldk4app' SOLIBDK4LATA='-ldk4lata' SOLIBDK4LAT='-ldk4lat' SOLIBDK4SOCK='-ldk4sock' SOLIBDK4SOCKA='-ldk4socka' SOLIBDK4DBI='-ldk4dbi' SOLIBDK4DBIA='-ldk4dbia' LIBDK4BASELIBF='' LIBDK4BASELIBS='' LIBDK4MALIBF='libdk4base.so' LIBDK4MALIBS='-ldk4base' LIBDK4MAIO8DLIBF='libdk4base.so libdk4ma.so' LIBDK4MAIO8DLIBS='-ldk4ma -ldk4base' LIBDK4MAIOWDLIBF='libdk4base.so libdk4ma.so' LIBDK4MAIOWDLIBS='-ldk4ma -ldk4base' LIBDK4MAIODDLIBF='libdk4maio8d.so' LIBDK4MAIODDLIBS='-ldk4maio8d' LIBDK4MAIOXDLIBF='libdk4maio8d.so libdk4maiowd.so' LIBDK4MAIOXDLIBS='-ldk4maiowd -ldk4maio8d' LIBDK4MAIO8HLIBF='libdk4base.so' LIBDK4MAIO8HLIBS='-ldk4base' LIBDK4MAIOWHLIBF='libdk4base.so' LIBDK4MAIOWHLIBS='-ldk4base' LIBDK4MAIODHLIBF='libdk4base.so libdk4maio8h.so' LIBDK4MAIODHLIBS='-ldk4maio8h -ldk4base' LIBDK4CLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so' LIBDK4CLIBS='-ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(BZLIB) $(ZLIB)' LIBDK4DBILIBF='libdk4base.so libdk4ma.so libdk4c.so' LIBDK4DBILIBS='-ldk4c -ldk4ma -ldk4base $(DBLIB) $(DBLIBSOCK)' LIBDK4LATLIBF='libdk4base.so libdk4ma.so libdk4maio8h.so libdk4c.so' LIBDK4LATLIBS='-ldk4c -ldk4maio8h -ldk4ma -ldk4base' LIBDK4BIFLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4c.so' LIBDK4BIFLIBS='-ldk4c -ldk4maio8d -ldk4ma -ldk4base $(IMGLIBS)' LIBDK4GRALIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4lat.so libdk4bif.so' LIBDK4GRALIBS='-ldk4bif -ldk4lat -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base -lm' LIBDK4SOCKLIBF='libdk4base.so libdk4maio8d.so libdk4c.so' LIBDK4SOCKLIBS='-ldk4c -ldk4maio8d -ldk4base $(SOCKLIB) $(NSLLIB)' LIBDK4MDRNDLIBF='libdk4base.so libdk4c.so' LIBDK4MDRNDLIBS='$(CRYPTO) -ldk4c -ldk4base $(CRYPTO)' LIBDK4PPPTLIBF='libdk4base.so libdk4c.so libdk4lat.so libdk4gra.so' LIBDK4PPPTLIBS='-ldk4gra -ldk4lat -ldk4c -ldk4base' LIBDK4APPLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so' LIBDK4APPLIBS='-ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base' LIBDK4LATALIBF='libdk4base.so libdk4maio8d.so libdk4maio8h.so libdk4maiodd.so libdk4maiodh.so libdk4c.so libdk4app.so libdk4lat.so' LIBDK4LATALIBS='-ldk4app -ldk4lat -ldk4c -ldk4maiodh -ldk4maiodd -ldk4maio8h -ldk4maio8d -ldk4base' LIBDK4SOCKALIBF='libdk4base.so libdk4maio8d.so libdk4maiodd.so libdk4maiodh.so libdk4sock.so libdk4app.so' LIBDK4SOCKALIBS='-ldk4app -ldk4sock -ldk4maiodh -ldk4maiodd -ldk4maio8d -ldk4base' LIBDK4DBIALIBF='libdk4base.so libdk4dbi.so libdk4app.so' LIBDK4DBIALIBS='-ldk4app -ldk4dbi -ldk4base' LIBDK4BIFALIBF='libdk4base.so libdk4ma.so libdk4maiodd.so libdk4c.so libdk4bif.so libdk4app.so' LIBDK4BIFALIBS='-ldk4app -ldk4bif -ldk4c -ldk4maiodd -ldk4ma -ldk4base' LIBDK4GRAALIBF='libdk4base.so libdk4maiodd.so libdk4maiodh.so libdk4c.so libdk4bif.so libdk4gra.so libdk4app.so libdk4bifa.so' LIBDK4GRAALIBS='-ldk4bifa -ldk4app -ldk4gra -ldk4bif -ldk4c -ldk4maiodd -ldk4maiodh -ldk4base' LIBDK4PPPTALIBF='libdk4pppt.so libdk4app.so' LIBDK4PPPTALIBS='-ldk4app -ldk4pppt' LIBDK4WXLIBF='libdk4base.so libdk4maio8d.so libdk4maiowd.so libdk4c.so' LIBDK4WXLIBS='-ldk4c -ldk4base -ldk4maiowd -ldk4maio8d $(WXLDFLAGS)' LIBDK3TRACELIBF='' LIBDK3TRACELIBS='' LIBDK3CLIBF='' LIBDK3CLIBS='$(BZLIB) $(ZLIB) -lm' LIBDK3OFLIBF='libdk3c.so' LIBDK3OFLIBS='-ldk3c $(BZLIB) $(ZLIB)' LIBDK3CSRNDLIBF='libdk3c.so' LIBDK3CSRNDLIBS='-ldk3c $(CRYPTO)' LIBDK3BIFLIBF='libdk3c.so' LIBDK3BIFLIBS='-ldk3c $(IMGLIBS)' LIBDK3DBILIBF='libdk3c.so' LIBDK3DBILIBS='-ldk3c $(DBLIB) $(DBLIBSOCK)' LIBDK3BMEPSLIBF='libdk3c.so libdk3of.so libdk3bif.so' LIBDK3BMEPSLIBS='-ldk3bif -ldk3of -ldk3c -lm' LIBDK3FIGLIBF='libdk3c.so' LIBDK3FIGLIBS='-ldk3c -lm' LIBDK3WXLIBF='libdk3c.so' LIBDK3WXLIBS='-ldk3c $(WXLDFLAGS)' else AC_MSG_RESULT(no) fi dnl FEATURE TESTS END dnl COMPONENTS TO BUILD AND INSTALL dnl Further compiler setup dnl ====================== dnl Position independent code and shared libraries dnl ---------------------------------------------- MKSOLIB='echo "ERROR: Can not build shared libraries!" #' MKSOLIBCPP='echo "ERROR: Can not build shared libraries!" #' AC_MSG_CHECKING(toolchain specific options) case X$TOOLCHAIN in Xgcc|Xclang) CFLAGS="$CFLAGS -fPIC -D_REENTRANT" CFL_CLI_C8="$CFL_CLI_C8 -fPIC -D_REENTRANT" CFL_CLI_DK="$CFL_CLI_DK -fPIC -D_REENTRANT" CXXFL_CLI_C8="$CXXFL_CLI_C8 -fPIC -D_REENTRANT" CXXFL_CLI_DK="$CXXFL_CLI_DK -fPIC -D_REENTRANT" CXXFL_CLI_WX="$CXXFL_CLI_WX -fPIC -D_REENTRANT" CXXFL_GUI="$CXXFL_GUI -fPIC -D_REENTRANT" if [[ "X$ENA_SHARED" = "Xyes" ]] then CXXFL_GUI="$CXXFL_GUI" fi MKSOLIB='$(CC) -shared -L. $(MKSORPATH) $(MKSOCHECKSYMBOLS) $(MKSORPATHLINK) $(LDFLAGS) -o $@.$(SOVERS) -Wl,-soname,$@.$(SOVERS)' MKSOLIBCPP='$(CXX) -shared -L. $(MKSORPATH) $(MKSOCHECKSYMBOLS) $(MKSORPATHLINK) $(LDFLAGS) -o $@.$(SOVERS) -Wl,-soname,$@.$(SOVERS)' if [[ "X$ENA_SHARED" = "Xyes" -a "X$ENA_SOSO" = "Xyes" ]] then MKSORPATHLINK='-Wl,-rpath-link,./' MKSOCHECKSYMBOLS='-Wl,-z,defs' fi AC_MSG_RESULT(gcc) ;; Xworkshop) if [[ "X$ENA_SHARED" = "Xyes" ]] then CFLAGS="-Bdynamic -dy $CFLAGS" CFL_CLI_C8="-Bdynamic -dy $CFL_CLI_C8" CFL_CLI_DK="-Bdynamic -dy $CFL_CLI_DK" CXXFL_CLI_C8="-Bdynamic -dy $CXXFL_CLI_C8" CXXFL_CLI_DK="-Bdynamic -dy $CXXFL_CLI_DK" CXXFL_CLI_WX="-Bdynamic -dy $CXXFL_CLI_WX" CXXFL_GUI="-Bdynamic -dy $CXXFL_GUI" LDFLAGS="-Bdynamic -dy $LDFLAGS" LDFLC_CLI_C8="-Bdynamic -dy $LDFLC_CLI_C8" LDFLC_CLI_DK="-Bdynamic -dy $LDFLC_CLI_DK" LDFLCXX_CLI_C8="-Bdynamic -dy $LDFLCXX_CLI_C8" LDFLCXX_CLI_DK="-Bdynamic -dy $LDFLCXX_CLI_DK" LDFLCXX_CLI_WX="-Bdynamic -dy $LDFLCXX_CLI_WX" LDFLCXX_GUI="-Bdynamic -dy $LDFLCXX_GUI" fi CFLAGS="$CFLAGS -xcode=pic32 -D_REENTRANT" CFL_CLI_C8="$CFL_CLI_C8 -xcode=pic32 -D_REENTRANT" CFL_CLI_DK="$CFL_CLI_DK -xcode=pic32 -D_REENTRANT" CXXFL_CLI_C8="$CXXFL_CLI_C8 -xcode=pic32 -D_REENTRANT" CXXFL_CLI_DK="$CXXFL_CLI_DK -xcode=pic32 -D_REENTRANT" CXXFL_CLI_WX="$CXXFL_CLI_WX -xcode=pic32 -D_REENTRANT" CXXFL_GUI="$CXXFL_GUI -xcode=pic32 -D_REENTRANT" MKSOLIB='$(CC) -L. $(MKSORPATH) $(MKSORPATHLINK) $(LDFLAGS) -G -h $@.$(SOVERS) -o $@.$(SOVERS)' MKSOLIBCPP='$(CXX) -L. $(MKSORPATH) $(MKSORPATHLINK) $(LDFLAGS) -G -h $@.$(SOVERS) -o $@.$(SOVERS)' AC_MSG_RESULT(workshop) ;; *) AC_MSG_RESULT(other) ;; esac dnl Create -R option for linker AC_MSG_CHECKING(linker requires -R option) if [[ "X$LD_LIBRARY_PATH" != "X" -a "X$TOOLCHAIN" = "Xworkshop" ]] then RPATH="-R${LD_LIBRARY_PATH}" AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) fi if [[ "X$ENA_RPATH" = "Xyes" -a "X$ENA_PACKAGE" = "Xyes" -a \( "X$TOOLCHAIN" = "Xgcc" -o "X$TOOLCHAIN" = "Xclang" \) ]] then RPATH='-Wl,-rpath,$(libdir)' fi dnl Corrections for Solaris dnl ----------------------- DBLIBSOCK="$DBLIB" case X$TARGETHOST in Xsparc-sun-solaris*) if [[ "X$ENA_SUNOS_CORR" = "Xyes" ]] then AC_MSG_CHECKING(corrections for Solaris) [[ "X$DBLIBSOCK" = "X" ]] || DBLIBSOCK="$DBLIB -lrt "'$(SOCKLIB)' [[ "X$DBLIB" = "X" ]] || DBLIB="$DBLIB -lrt" [[ "X$CRYPTO" = "X" ]] || CRYPTO="$CRYPTO -lssl "'$(SOCKLIB)' [[ "X$MYSQLLIB" = "X" ]] || MYSQLLIB="$MYSQLLIB -lrt "'$(SOCKLIB)' NETSNMP_LIBS=`echo $NETSNMP_LIBS | sed -f modsnmp.sed` SOCKLIB='-lsocket' NSLLIB='-lnsl' AC_MSG_RESULT(done) NETSNMP_LIBS='' FOUND_NETSNMP='no' fi ;; esac dnl Programs in suite dnl ================= dnl socket available dnl ---------------- AC_MSG_CHECKING(availability of network functions) if [[ "X$FOUND_SOCKET" = "Xyes" ]] then PRG_RES_NET='$(PRG_RES_NET)' MAN_RES_NET='$(MAN_RES_NET)' RES_RES_NET='$(RES_RES_NET)' RES_RES_NET_EN='$(RES_RES_NET_EN)' RES_RES_NET_DE='$(RES_RES_NET_DE)' PRG_CLI_NET='$(PRG_CLI_NET)' MAN_CLI_NET='$(MAN_CLI_NET)' RES_CLI_NET='$(RES_CLI_NET)' PRG_GUI_NET='$(PRG_GUI_NET)' MAN_GUI_NET='$(MAN_GUI_NET)' RES_GUI_NET='$(RES_GUI_NET)' AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) fi dnl socket available, target class posix dnl ------------------------------------ AC_MSG_CHECKING(both network functions and POSIX) if [[ "X$FOUND_SOCKET" = "Xyes" -a "X$TARGETCLASS" = "Xposix" ]] then PRG_CLI_NET_POSIX='$(PRG_CLI_NET_POSIX)' MAN_CLI_NET_POSIX='$(MAN_CLI_NET_POSIX)' RES_CLI_NET_POSIX='$(RES_CLI_NET_POSIX)' AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) fi dnl NetSNMP available dnl ----------------- AC_MSG_CHECKING(NetSNMP support) if [[ "X$NETSNMP_LIBS" != "X" ]] then PRG_CLI_SNMP='$(PRG_CLI_SNMP)' MAN_CLI_SNMP='$(MAN_CLI_SNMP)' RES_CLI_SNMP='$(RES_CLI_SNMP)' AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) fi dnl MySQL or MariaDB available dnl -------------------------- AC_MSG_CHECKING(MySQL or MariaDB) if [[ "X$MYSQLLIB" != "X" ]] then PRG_CLI_MYSQL='$(PRG_CLI_MYSQL)' MAN_CLI_MYSQL='$(MAN_CLI_MYSQL)' RES_CLI_MYSQL='$(RES_CLI_MYSQL)' AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) fi dnl OpenSSL available dnl ----------------- AC_MSG_CHECKING(OpenSSL) if [[ "X$CRYPTO" != "X" ]] then PRG_CLI_SSL='$(PRG_CLI_SSL)' MAN_CLI_SSL='$(MAN_CLI_SSL)' RES_CLI_SSL='$(RES_CLI_SSL)' PRG_GUI_SSL='$(PRG_GUI_SSL)' MAN_GUI_SSL='$(MAN_GUI_SSL)' RES_GUI_SSL='$(RES_GUI_SSL)' AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) fi dnl POSIX system dnl ------------ MOD_DK4DMT='' MOD_DKK3WREG='' AC_MSG_CHECKING(target class POSIX) if [[ "X$TARGETCLASS" = "Xposix" ]] then PRG_CLI_POSIX='$(PRG_CLI_POSIX)' MAN_CLI_POSIX='$(MAN_CLI_POSIX)' RES_CLI_POSIX='$(RES_CLI_POSIX)' MOD_DK4DMT='dk4dmt.$(OBJEXT)' AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) fi dnl Windows system dnl -------------- AC_MSG_CHECKING(target class Windows) if [[ "X$TARGETCLASS" = "Xwindows" ]] then PRG_CLI_WINDOWS='$(PRG_CLI_WINDOWS)' MAN_CLI_WINDOWS='$(MAN_CLI_WINDOWS)' RES_CLI_WINDOWS='$(RES_CLI_WINDOWS)' PRG_GUI_WINDOWS='$(PRG_GUI_WINDOWS)' MAN_GUI_WINDOWS='$(MAN_GUI_WINDOWS)' RES_GUI_WINDOWS='$(RES_GUI_WINDOWS)' MOD_DK3WREG='dk3wreg.$(OBJEXT)' AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) fi if [[ "X$SUITE" = "Xauto" -a "X$FOUND_WX" = "Xyes" ]] then SUITE='gui' elif [[ "X$SUITE" = "Xauto" ]] then SUITE='cli' fi AC_MSG_CHECKING(components to install) INSTALL_INDEP='i-ind-cli' INSTALL_LIBS='' LIBDK3WXOBJ='' LIBDK4WXOBJ='' if [[ "X$ENA_MAN" = "Xyes" ]] then INSTALL_INDEP='i-ind-cli i-man-cli' fi case X$SUITE in Xrescue) BUILD_ARCH='$(PRG_RES)' INSTALL_INDEP='i-ind-res' INSTALL_PROGRAMS='i-prg-res' if [[ "X$ENA_MAN" = "Xyes" ]] then INSTALL_INDEP="$INSTALL_INDEP i-man-res" fi if [[ "X$ENA_PACKAGE" = "Xyes" -a "X$ENA_SHARED" = "Xyes" ]] then BUILD_ARCH='$(PRG_RES) $(LIB_SHARED_RES)' INSTALL_LIBS='i-lib-dyn-res' fi ;; Xcli) BUILD_ARCH='$(PRG_CLI)' INSTALL_INDEP='i-ind-cli' if [[ "X$ENA_MAN" = "Xyes" ]] then INSTALL_INDEP="$INSTALL_INDEP i-man-cli" fi if [[ "X$FOUND_SYSTEMD" = "Xyes" ]] then INSTALL_INDEP="$INSTALL_INDEP i-svc-sysd" else INSTALL_INDEP="$INSTALL_INDEP i-svc-init" fi INSTALL_PROGRAMS='i-prg-cli' if [[ "X$ENA_DEVEL" = "Xyes" -a "X$ENA_STATIC" = "Xyes" -a "X$ENA_SHARED" = "Xyes" ]] then BUILD_ARCH='$(PRG_CLI) $(LIB_STATIC_CLI) $(LIB_SHARED_CLI)' INSTALL_LIBS='i-lib-dyn-cli i-lib-stt-cli i-hdr-cli' elif [[ "X$ENA_DEVEL" = "Xyes" -a "X$ENA_SHARED" ]] then BUILD_ARCH='$(PRG_CLI) $(LIB_SHARED_CLI)' INSTALL_LIBS='i-lib-dyn-cli i-hdr-cli' elif [[ "X$ENA_DEVEL" = "Xyes" -a "X$ENA_STATIC" ]] then BUILD_ARCH='$(PRG_CLI) $(LIB_STATIC_CLI)' INSTALL_LIBS='i-lib-stt-cli i-hdr-cli' elif [[ "X$ENA_PACKAGE" = "Xyes" -a "X$ENA_SHARED" ]] then BUILD_ARCH='$(PRG_CLI) $(LIB_SHARED_CLI)' INSTALL_LIBS='i-lib-dyn-cli' else BUILD_ARCH='$(PRG_CLI)' fi if [[ "X$TARGETCLASS" = "Xposix" -a "X$FOUND_SOCKET" = "Xyes" ]] then BUILD_ARCH="$BUILD_ARCH"' $(PRG_DAEMON_NET_POSIX)' INSTALL_PROGRAMS="$INSTALL_PROGRAMS i-prg-dae" fi if [[ "X$TARGETCLASS" = "Xposix" -a "X$FOUND_SOCKET" = "Xyes" -a "X$FOUND_NETSNMP" = "Xyes" ]] then BUILD_ARCH="$BUILD_ARCH"' $(PRG_FILTER_SNMP_POSIX)' INSTALL_PROGRAMS="$INSTALL_PROGRAMS i-prg-fil" fi ;; *) BUILD_ARCH='$(PRG_GUI)' INSTALL_INDEP='i-ind-gui' INSTALL_PROGRAMS='i-prg-gui' if [[ "X$ENA_MAN" = "Xyes" ]] then INSTALL_INDEP="$INSTALL_INDEP i-man-gui" fi if [[ "X$FOUND_SYSTEMD" = "Xyes" ]] then INSTALL_INDEP="$INSTALL_INDEP i-svc-sysd" else INSTALL_INDEP="$INSTALL_INDEP i-svc-init" fi if [[ "X$ENA_DEVEL" = "Xyes" -a "X$ENA_STATIC" = "Xyes" -a "X$ENA_SHARED" = "Xyes" ]] then BUILD_ARCH='$(PRG_GUI) $(LIB_STATIC_GUI) $(LIB_SHARED_GUI)' INSTALL_LIBS='i-lib-dyn-gui i-lib-stt-gui i-hdr-gui' elif [[ "X$ENA_DEVEL" = "Xyes" -a "X$ENA_SHARED" ]] then BUILD_ARCH='$(PRG_GUI) $(LIB_SHARED_GUI)' INSTALL_LIBS='i-lib-dyn-gui i-hdr-gui' elif [[ "X$ENA_DEVEL" = "Xyes" -a "X$ENA_STATIC" ]] then BUILD_ARCH='$(PRG_GUI) $(LIB_STATIC_GUI)' INSTALL_LIBS='i-lib-stt-gui i-hdr-gui' elif [[ "X$ENA_PACKAGE" = "Xyes" -a "X$ENA_SHARED" ]] then BUILD_ARCH='$(PRG_GUI) $(LIB_SHARED_GUI)' INSTALL_LIBS='i-lib-dyn-gui' else BUILD_ARCH='$(PRG_GUI)' fi LIBDK3WXOBJ='$(LIBDK3WXOBJ)' LIBDK4WXOBJ='$(LIBDK4WXOBJ)' if [[ "X$TARGETCLASS" = "Xposix" -a "X$FOUND_SOCKET" = "Xyes" ]] then BUILD_ARCH="$BUILD_ARCH"' $(PRG_DAEMON_NET_POSIX)' INSTALL_PROGRAMS="$INSTALL_PROGRAMS i-prg-dae" fi if [[ "X$TARGETCLASS" = "Xposix" -a "X$FOUND_SOCKET" = "Xyes" -a "X$FOUND_NETSNMP" = "Xyes" ]] then BUILD_ARCH="$BUILD_ARCH"' $(PRG_FILTER_SNMP_POSIX)' INSTALL_PROGRAMS="$INSTALL_PROGRAMS i-prg-fil" fi ;; esac AC_MSG_RESULT(done) dnl OpenSSL needs socket library on Windows with gcc dnl ------------------------------------------------ case X$TARGETCLASS/X$ENA_PACKAGE/X$TOOLCHAIN in Xwindows/Xno/Xgcc) CRYPTO="$CRYPTO $SOCKLIB" ;; Xwindows/Xno/Xclang) CRYPTO="$CRYPTO $SOCKLIB" ;; esac dnl Objects and libraries per program dnl --------------------------------- AC_MSG_CHECKING(default elements for programs and libraries) DKCTLIBF='libdk3.a' DKCTLIBS='libdk3.a $(CLILIB) $(BZLIB) $(ZLIB)' ADDCTRLDLIBF='' ADDCTRLDLIBS='$(CLILIB)' DKDBTLIBF='libdk3.a' DKDBTLIBS='libdk3.a $(CLILIB) $(BZLIB) $(ZLIB)' ITADMINLIBF='libdk3.a' ITADMINLIBS='libdk3.a $(MYSQLLIB) $(CLILIB) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) $(RTLIB)' FIG2LATLIBF='libdk3.a' FIG2LATLIBS='libdk3.a $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' HTMLBOOKLIBF='libdk3.a' HTMLBOOKLIBS='libdk3.a $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB)' DK3INFOLIBF='libdk3.a' DK3INFOLIBS='libdk3.a $(CLILIB) $(BZLIB) $(ZLIB)' DKWTLIBF='libdk3.a' DKWTLIBS='libdk3.a $(CLILIB) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB)' WPRCLEANLIBF='libdk3.a' WPRCLEANLIBS='libdk3.a $(CLILIB) $(BZLIB) $(ZLIB)' DKWXWIZLIBF='libdk3.a' DKWXWIZLIBS='libdk3.a $(CLILIB) $(BZLIB) $(ZLIB)' DKWXPATHLIBF='libdk3.a' DKWXPATHLIBS='libdk3.a $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB)' WINPRINTLIBF='libdk3.a' WINPRINTLIBS='libdk3.a $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB)' CHSCRSZLIBF='libdk3.a' CHSCRSZLIBS='libdk3.a $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB)' WXDKCTLIBF='libdk3.a' WXDKCTLIBS='libdk3.a $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB)' WXIMGSZLIBF='libdk4.a' WXIMGSZLIBS='libdk4.a $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB)' WXDKCLOCKLIBF='libdk3.a' WXDKCLOCKLIBS='libdk3.a $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB)' WXDKHTBLIBF='libdk3.a' WXDKHTBLIBS='libdk3.a $(WXLDFLAGS) $(GUILIB) $(CLILIB) $(BZLIB) $(ZLIB)' PRINTQDILIBF='libdk3.a' PRINTQDILIBS='libdk3.a $(CLILIB) $(BZLIB) $(ZLIB)' PRINTQDALIBF='libdk3.a' PRINTQDALIBS='libdk3.a $(CLILIB) $(BZLIB) $(ZLIB)' WXDKDRAWLIBF='libdk4.a libdk4maioxd.a libdk4wx.a' WXDKDRAWLIBS='libdk4wx.a libdk4maioxd.a libdk4.a $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' WXBMPPLIBF='libdk4.a libdk4maioxd.a libdk4wx.a' WXBMPPLIBS='libdk4wx.a libdk4maioxd.a libdk4.a $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' BMPPLIBF='libdk4.a' BMPPLIBS='libdk4.a $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' PLPDFTEXLIBF='libdk4.a' PLPDFTEXLIBS='libdk4.a $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' DKCATLIBF='libdk4.a' DKCATLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' DKBLKSLIBF='libdk4.a' DKBLKSLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' DKSQLSPLITLIBF='libdk4.a' DKSQLSPLITLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' DKERADISKLIBF='libdk4.a' DKERADISKLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' DKLSLIBF='libdk4.a' DKLSLIBS='libdk4.a $(CRYPTO) $(CLILIB) $(BZLIB) $(ZLIB)' DKSORTLIBF='libdk4.a' DKSORTLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' DKLINESLIBF='libdk4.a' DKLINESLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' DKFICLIBF='libdk4.a' DKFICLIBS='libdk4.a $(CRYPTO) $(CLILIB) $(BZLIB) $(ZLIB)' DKUIDLIBF='libdk4.a' DKUIDLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' DKPWGENLIBF='libdk4.a' DKPWGENLIBS='libdk4.a $(CRYPTO) $(CLILIB) $(BZLIB) $(ZLIB)' DKRANDLIBF='libdk4.a' DKRANDLIBS='libdk4.a $(CRYPTO) $(CLILIB) $(BZLIB) $(ZLIB)' DKT2HLIBF='libdk4.a' DKT2HLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' DKT2LLIBF='libdk4.a' DKT2LLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' DKBIN2CLIBF='libdk4.a' DKBIN2CLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' DKHEXLIBF='libdk4.a' DKHEXLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' DKBMMLIBF='libdk4.a' DKBMMLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' DKPWDLIBF='libdk4.a' DKPWDLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' DKRECVLIBF='libdk4.a' DKRECVLIBS='libdk4.a $(CLILIB) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) -lm' DKSENDLIBF='libdk4.a' DKSENDLIBS='libdk4.a $(CLILIB) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) -lm' DKDBT2LIBF='libdk4.a' DKDBT2LIBS='libdk4.a $(DBLIBSOCK) $(CLILIB) $(BZLIB) $(ZLIB)' DK4INFOLIBF='libdk4.a' DK4INFOLIBS='libdk4.a $(CLILIB) $(BZLIB) $(ZLIB)' LPRNGCLLIBF='libdk4.a' LPRNGCLLIBS='libdk4.a $(CLILIB) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) -lm' WXDKFCSLIBF='libdk4.a libdk4wx.a' WXDKFCSLIBS='libdk4wx.a libdk4.a $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CRYPTO) $(CLILIB) $(BZLIB) $(ZLIB)' WXPQDICLIBF='libdk4.a libdk4wx.a' WXPQDICLIBS='libdk4wx.a libdk4.a $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB)' PJSNMPLIBF='libdk4.a' PJSNMPLIBS='libdk4.a $(CLILIB) $(NETSNMP_LIBS) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB)' PRMONSNMPLIBF='libdk4.a' PRMONSNMPLIBS='libdk4.a $(CLILIB) $(NETSNMP_LIBS) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB)' PRINTQDLIBF='libdk4.a' PRINTQDLIBS='libdk4.a $(DBLIB) $(SOCKLIB) $(NSLLIB)' PRINTQDCLIBF='libdk4.a' PRINTQDCLIBS='libdk4.a $(CLILIB) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB)' RSHDOWNLIBF='libdk4.a' RSHDOWNLIBS='libdk4.a $(CLILIB) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB)' WXD2LATLIBF='libdk4.a' WXD2LATLIBS='libdk4.a $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' AC_MSG_RESULT(done) AC_MSG_CHECKING(elements in programs and libraries) case X$ENA_PACKAGE/X$ENA_SOSO in Xyes/Xyes) AC_MSG_RESULT([linking so with so]) DKCTLIBF='libdk3c.so' DKCTLIBS='-ldk3c $(CLILIB)' ADDCTRLDLIBF='' ADDCTRLDLIBS='$(CLILIB)' DKDBTLIBF='' DKDBTLIBS='' ITADMINLIBF='libdk3c.so libdk3of.so' ITADMINLIBS='-ldk3of -ldk3c $(MYSQLLIB) $(CLILIB) $(BZLIB) $(ZLIB)' FIG2LATLIBF='libdk3c.so libdk3bif.so libdk3bmeps.so libdk3fig.so' FIG2LATLIBS='-ldk3fig -ldk3bmeps -ldk3bif -ldk3c $(CLILIB) -lm' HTMLBOOKLIBF='libdk3c.so libdk3bif.so' HTMLBOOKLIBS='-ldk3bif -ldk3c $(CLILIB)' DK3INFOLIBF='libdk3c.so' DK3INFOLIBS='-ldk3c $(CLILIB)' DKWXWIZLIBF='libdk3c.so' DKWXWIZLIBS='-ldk3c $(CLILIB)' WXDKCTLIBF='libdk3c.so libdk3wx.so' WXDKCTLIBS='-ldk3wx -ldk3c $(WXLDFLAGS) $(GUILIB) $(CLILIB)' WXIMGSZLIBF='libdk4base.so libdk4maio8d.so libdk4maiowd.so libdk4maiodd.so libdk4ma.so libdk4c.so libdk4bif.so libdk4maioxd.so libdk4wx.so' WXIMGSZLIBS='-ldk4wx -ldk4maioxd -ldk4bif -ldk4c -ldk4ma -ldk4maiodd -ldk4maiowd -ldk4maio8d -ldk4base $(WXLDFLAGS) $(GUILIB) $(CLILIB)' WXDKCLOCKLIBF='libdk3c.so libdk3wx.so' WXDKCLOCKLIBS='-ldk3wx -ldk3c $(WXLDFLAGS) $(GUILIB) $(CLILIB)' WXDKHTBLIBF='libdk3c.so libdk3wx.so' WXDKHTBLIBS='-ldk3wx -ldk3c $(WXLDFLAGS) $(GUILIB) $(CLILIB)' PRINTQDILIBF='' PRINTQDILIBS='' PRINTQDALIBF='' PRINTQDALIBS='' WXDKDRAWLIBF='libdk4base.so libdk4maio8d.so libdk4maio8h.so libdk4maiowd.so libdk4maiodd.so libdk4ma.so libdk4c.so libdk4bif.so libdk4lat.so libdk4gra.so libdk4wx.so' WXDKDRAWLIBS='-ldk4wx -ldk4gra -ldk4lat -ldk4bif -ldk4c -ldk4ma -ldk4maiodd -ldk4maiowd -ldk4maio8h -ldk4maio8d -ldk4base $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' WXBMPPLIBF='libdk4base.so libdk4maio8h.so libdk4c.so libdk4bif.so libdk4gra.so libdk4app.so libdk4graa.so libdk4maioxd.so libdk4wx.so' WXBMPPLIBS='-ldk4wx -ldk4maioxd -ldk4graa -ldk4app -ldk4gra -ldk4bif -ldk4c -ldk4maio8h -ldk4base $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' DKCATLIBF='libdk4base.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so' DKCATLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4base $(CLILIB)' DKBLKSLIBF='libdk4base.so libdk4app.so' DKBLKSLIBS='-ldk4app -ldk4base $(CLILIB) $(BZLIB) $(ZLIB)' DKSQLSPLITLIBF='libdk4app.so' DKSQLSPLITLIBS='-ldk4app $(CLILIB) $(BZLIB) $(ZLIB)' DKERADISKLIBF='libdk4base.so libdk4app.so' DKERADISKLIBS='-ldk4app -ldk4base $(CLILIB) $(BZLIB) $(ZLIB)' DKLSLIBF='libdk4base.so libdk4maiodd.so libdk4maiodh.so libdk4ma.so libdk4c.so libdk4mdrnd.so libdk4app.so' DKLSLIBS='-ldk4app -ldk4mdrnd -ldk4c -ldk4maiodh -ldk4maiodd -ldk4ma -ldk4base $(CLILIB)' BMPPLIBF='libdk4base.so libdk4maio8h.so libdk4maio8d.so libdk4c.so libdk4bif.so libdk4gra.so libdk4app.so libdk4bifa.so libdk4graa.so' BMPPLIBS='-ldk4graa -ldk4bifa -ldk4app -ldk4gra -ldk4bif -ldk4c -ldk4maio8d -ldk4maio8h -ldk4base $(CLILIB)' PLPDFTEXLIBF='libdk4base.so libdk4maio8d.so libdk4c.so libdk4lat.so libdk4gra.so libdk4pppt.so libdk4app.so libdk4lata.so libdk4graa.so' PLPDFTEXLIBS='-ldk4graa -ldk4lata -ldk4app -ldk4pppt -ldk4gra -ldk4lat -ldk4c -ldk4maio8d -ldk4base $(IMGLIBS) $(CLILIB)' DKSORTLIBF='libdk4base.so libdk4maiodd.so libdk4maiodh.so libdk4c.so libdk4app.so' DKSORTLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maiodh -ldk4base $(CLILIB)' DKLINESLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so' DKLINESLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CLILIB)' DKFICLIBF='libdk4base.so libdk4ma.so libdk4maiodd.so libdk4c.so libdk4mdrnd.so libdk4app.so' DKFICLIBS='-ldk4app -ldk4mdrnd -ldk4c -ldk4maiodd -ldk4ma -ldk4base $(CLILIB)' DKUIDLIBF='libdk4base.so libdk4ma.so libdk4maiodd.so libdk4c.so libdk4app.so' DKUIDLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4ma -ldk4base $(CLILIB)' DKPWGENLIBF='libdk4base.so libdk4ma.so libdk4maiodd.so libdk4c.so libdk4mdrnd.so libdk4app.so' DKPWGENLIBS='-ldk4app -ldk4mdrnd -ldk4c -ldk4maiodd -ldk4ma -ldk4base $(CRYPTO) $(CLILIB)' DKRANDLIBF='libdk4base.so libdk4ma.so libdk4maiodd.so libdk4c.so libdk4mdrnd.so libdk4app.so' DKRANDLIBS='-ldk4app -ldk4mdrnd -ldk4c -ldk4maiodd -ldk4ma -ldk4base $(CRYPTO) $(CLILIB)' DKT2HLIBF='libdk4base.so libdk4maio8h.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so' DKT2HLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4maio8h -ldk4base $(CLILIB)' DKT2LLIBF='libdk4base.so libdk4maiodd.so libdk4maiodh.so libdk4c.so libdk4lat.so libdk4app.so libdk4lata.so' DKT2LLIBS='-ldk4lata -ldk4app -ldk4lat -ldk4c -ldk4maiodh -ldk4maiodd -ldk4base $(CLILIB)' DKBIN2CLIBF='libdk4base.so libdk4c.so libdk4app.so' DKBIN2CLIBS='-ldk4app -ldk4c -ldk4base $(CLILIB)' DKHEXLIBF='libdk4maiodh.so libdk4c.so libdk4app.so' DKHEXLIBS='-ldk4app -ldk4c -ldk4maiodh $(CLILIB)' DKBMMLIBF='libdk4base.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so' DKBMMLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4base $(CLILIB)' DKPWDLIBF='libdk4base.so libdk4c.so libdk4app.so' DKPWDLIBS='-ldk4app -ldk4c -ldk4base $(CLILIB)' DKRECVLIBF='libdk4base.so libdk4ma.so libdk4maiodd.so libdk4c.so libdk4sock.so libdk4app.so libdk4socka.so' DKRECVLIBS='-ldk4socka -ldk4app -ldk4sock -ldk4c -ldk4maiodd -ldk4ma -ldk4base $(CLILIB) -lm' DKSENDLIBF='libdk4base.so libdk4ma.so libdk4maiodh.so libdk4maiodd.so libdk4c.so libdk4sock.so libdk4app.so libdk4socka.so' DKSENDLIBS='-ldk4socka -ldk4app -ldk4sock -ldk4c -ldk4maiodd -ldk4maiodh -ldk4ma -ldk4base $(SOCKLIB) $(CLILIB) -lm' DKDBT2LIBF='libdk4base.so libdk4ma.so libdk4maiodd.so libdk4c.so libdk4dbi.so libdk4app.so libdk4dbia.so' DKDBT2LIBS='-ldk4dbia -ldk4app -ldk4dbi -ldk4c -ldk4maiodd -ldk4ma -ldk4base $(CLILIB)' DK4INFOLIBF='libdk4base.so libdk4maiodd.so libdk4c.so libdk4app.so' DK4INFOLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4base $(CLILIB)' LPRNGCLLIBF='libdk4base.so libdk4maiodh.so libdk4c.so libdk4sock.so libdk4app.so libdk4socka.so' LPRNGCLLIBS='-ldk4socka -ldk4app -ldk4sock -ldk4c -ldk4maiodh -ldk4base $(SOCKLIB) $(CLILIB) -lm' WXDKFCSLIBF='libdk4ma.so libdk4maiodd.so libdk4c.so libdk4wx.so' WXDKFCSLIBS='-ldk4wx -ldk4c -ldk4maiodd -ldk4ma $(WXLDFLAGS) $(CRYPTO) $(GUILIB) $(CLILIB)' WXPQDICLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiowd.so libdk4c.so libdk4sock.so libdk4wx.so' WXPQDICLIBS='-ldk4wx -ldk4sock -ldk4c -ldk4maiowd -ldk4maio8d -ldk4ma -ldk4base $(WXLDFLAGS) $(SOCKLIB) $(GUILIB) $(CLILIB)' PJSNMPLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maio8h.so libdk4c.so libdk4sock.so' PJSNMPLIBS='-ldk4sock -ldk4c -ldk4maio8d -ldk4maio8h -ldk4ma -ldk4base $(NETSNMP_LIBS) $(SOCKLIB) $(NSLLIB) $(CLILIB)' PRMONSNMPLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maio8h.so libdk4c.so libdk4sock.so' PRMONSNMPLIBS='-ldk4sock -ldk4c -ldk4maio8d -ldk4maio8h -ldk4ma -ldk4base $(NETSNMP_LIBS) $(SOCKLIB) $(NSLLIB) $(CLILIB)' PRINTQDLIBF='libdk4base.so libdk4maio8d.so libdk4c.so libdk4dbi.so libdk4sock.so' PRINTQDLIBS='-ldk4sock -ldk4dbi -ldk4c -ldk4maio8d -ldk4base $(SOCKLIB) $(NSLLIB) $(CLILIB)' PRINTQDCLIBF='libdk4base.so libdk4maio8d.so libdk4c.so libdk4sock.so' PRINTQDCLIBS='-ldk4sock -ldk4c -ldk4maio8d -ldk4base $(SOCKLIB) $(NSLLIB) $(CLILIB)' RSHDOWNLIBF='libdk4base.so libdk4maio8d.so libdk4c.so libdk4sock.so' RSHDOWNLIBS='-ldk4sock -ldk4c -ldk4maio8d -ldk4base $(SOCKLIB) $(NSLLIB) $(CLILIB)' 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' WXD2LATLIBS='-ldk4graa -ldk4lata -ldk4bifa -ldk4app -ldk4pppt -ldk4gra -ldk4bif -ldk4lat -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) -lm' ;; Xyes/Xno) AC_MSG_RESULT([linking programs with all required libs]) DKCTLIBF='libdk3c.so' DKCTLIBS='-ldk3c $(CLILIB) $(BZLIB) $(ZLIB) -lm' ADDCTRLDLIBF='' ADDCTRLDLIBS='$(CLILIB)' DKDBTLIBF='libdk3c.so libdk3dbi.so' DKDBTLIBS='-ldk3dbi -ldk3c $(CLILIB) $(BZLIB) $(ZLIB)' ITADMINLIBF='libdk3c.so libdk3of.so' ITADMINLIBS='-ldk3of -ldk3c $(MYSQLLIB) $(CLILIB) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) -lm' FIG2LATLIBF='libdk3c.so libdk3bif.so libdk3of.so libdk3bmeps.so libdk3fig.so' FIG2LATLIBS='-ldk3fig -ldk3bmeps -ldk3of -ldk3bif -ldk3c $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' HTMLBOOKLIBF='libdk3c.so libdk3bif.so libdk3of.so libdk3bmeps.so' HTMLBOOKLIBS='-ldk3bmeps -ldk3of -ldk3bif -ldk3c $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB)' DK3INFOLIBF='libdk3c.so' DK3INFOLIBS='-ldk3c $(CLILIB) $(BZLIB) $(ZLIB) -lm' DKWXWIZLIBF='libdk3c.so' DKWXWIZLIBS='-ldk3c $(CLILIB) $(BZLIB) $(ZLIB) -lm' WXDKCTLIBF='libdk3c.so libdk3wx.so' WXDKCTLIBS='-ldk3wx -ldk3c $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB)' WXIMGSZLIBF='libdk4base.so libdk4maio8d.so libdk4maiowd.so libdk4maiodd.so libdk4ma.so libdk4c.so libdk4bif.so libdk4maioxd.so libdk4wx.so' WXIMGSZLIBS='-ldk4wx -ldk4maioxd -ldk4bif -ldk4c -ldk4ma -ldk4maiodd -ldk4maiowd -ldk4maio8d -ldk4base $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB)' WXDKCLOCKLIBF='libdk3c.so libdk3wx.so' WXDKCLOCKLIBS='-ldk3wx -ldk3c $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB)' WXDKHTBLIBF='libdk3c.so libdk3wx.so' WXDKHTBLIBS='-ldk3wx -ldk3c $(WXLDFLAGS) $(GUILIB) $(CLILIB) $(BZLIB) $(ZLIB)' PRINTQDILIBF='libdk3c.so libdk3dbi.so' PRINTQDILIBS='-ldk3dbi -ldk3c $(CLILIB) $(BZLIB) $(ZLIB)' PRINTQDALIBF='libdk3c.so' PRINTQDALIBS='-ldk3c $(CLILIB) $(BZLIB) $(ZLIB)' WXDKDRAWLIBF='libdk4base.so libdk4maio8d.so libdk4maio8h.so libdk4maiowd.so libdk4maiodd.so libdk4ma.so libdk4c.so libdk4bif.so libdk4lat.so libdk4gra.so libdk4wx.so' WXDKDRAWLIBS='-ldk4wx -ldk4gra -ldk4lat -ldk4bif -ldk4c -ldk4ma -ldk4maiodd -ldk4maiowd -ldk4maio8h -ldk4maio8d -ldk4base $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' 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' 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' 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' BMPPLIBS='-ldk4graa -ldk4bifa -ldk4lata -ldk4app -ldk4gra -ldk4bif -ldk4lat -ldk4c -ldk4maiodh -ldk4maiodd -ldk4maiowh -ldk4maiowd -ldk4maio8h -ldk4maio8d -ldk4ma -ldk4base $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' 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' PLPDFTEXLIBS='-ldk4graa -ldk4lata -ldk4bifa -ldk4app -ldk4pppt -ldk4gra -ldk4bif -ldk4lat -ldk4c -ldk4maiodd -ldk4maiodh -ldk4maiowd -ldk4maiowh -ldk4maio8d -ldk4maio8h -ldk4ma -ldk4base $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' DKCATLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so' DKCATLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' DKBLKSLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so' DKBLKSLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' DKSQLSPLITLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so' DKSQLSPLITLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' DKERADISKLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so' DKERADISKLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' DKLSLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maio8h.so libdk4maiodd.so libdk4maiodh.so libdk4c.so libdk4app.so libdk4mdrnd.so' DKLSLIBS='-ldk4app -ldk4mdrnd -ldk4c -ldk4maiodh -ldk4maiodd -ldk4maio8h -ldk4maio8d -ldk4ma -ldk4base $(CRYPTO) $(CLILIB) $(BZLIB) $(ZLIB) -lm' DKSORTLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maio8h.so libdk4maiodd.so libdk4maiodh.so libdk4c.so libdk4app.so' DKSORTLIBS='-ldk4app -ldk4c -ldk4maiodh -ldk4maiodd -ldk4maio8h -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' DKLINESLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maio8h.so libdk4maiodd.so libdk4maiodh.so libdk4ma.so libdk4c.so libdk4app.so' DKLINESLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' DKFICLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so libdk4mdrnd.so' DKFICLIBS='-ldk4app -ldk4mdrnd -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CRYPTO) $(CLILIB) $(BZLIB) $(ZLIB) -lm' DKUIDLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so' DKUIDLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' DKPWGENLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so libdk4mdrnd.so' DKPWGENLIBS='-ldk4app -ldk4mdrnd -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CRYPTO) $(CLILIB) $(BZLIB) $(ZLIB) -lm' DKRANDLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so libdk4mdrnd.so' DKRANDLIBS='-ldk4app -ldk4mdrnd -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CRYPTO) $(CLILIB) $(BZLIB) $(ZLIB) -lm' DKT2HLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maio8h.so libdk4maiodd.so libdk4c.so libdk4app.so' DKT2HLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8h -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' DKT2LLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maio8h.so libdk4maiodd.so libdk4maiodh.so libdk4c.so libdk4lat.so libdk4app.so libdk4lata.so' DKT2LLIBS='-ldk4lata -ldk4app -ldk4lat -ldk4c -ldk4maiodh -ldk4maiodd -ldk4maio8h -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' DKBIN2CLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maio8h.so libdk4maiodd.so libdk4c.so libdk4app.so' DKBIN2CLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8h -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' DKHEXLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maio8h.so libdk4maiodd.so libdk4maiodh.so libdk4c.so libdk4app.so' DKHEXLIBS='-ldk4app -ldk4c -ldk4maiodh -ldk4maiodd -ldk4maio8h -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' DKBMMLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so' DKBMMLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' DKPWDLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so' DKPWDLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' DKRECVLIBF='libdk4base.so libdk4c.so libdk4sock.so libdk4app.so libdk4socka.so libdk4maio8d.so libdk4maiodd.so libdk4maio8h.so libdk4maiowh.so libdk4maiodh.so libdk4ma.so' DKRECVLIBS='-ldk4socka -ldk4app -ldk4sock -ldk4c -ldk4maiodh -ldk4maiowh -ldk4maio8h -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) -lm' 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' DKSENDLIBS='-ldk4socka -ldk4app -ldk4sock -ldk4c -ldk4maiodd -ldk4maiowd -ldk4maio8d -ldk4maiodh -ldk4maiowh -ldk4maio8h -ldk4ma -ldk4base $(CLILIB) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) -lm' DKDBT2LIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4dbi.so libdk4app.so libdk4dbia.so' DKDBT2LIBS='-ldk4dbia -ldk4app -ldk4dbi -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(DBLIBSOCK) $(CLILIB) $(BZLIB) $(ZLIB) -lm' DK4INFOLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4app.so' DK4INFOLIBS='-ldk4app -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(CLILIB) $(BZLIB) $(ZLIB) -lm' 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' LPRNGCLLIBS='-ldk4socka -ldk4app -ldk4sock -ldk4c -ldk4maiodd -ldk4maiowd -ldk4maio8d -ldk4maiodh -ldk4maiowh -ldk4maio8h -ldk4ma -ldk4base $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) -lm' 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' WXDKFCSLIBS='-ldk4wx -ldk4socka -ldk4app -ldk4sock -ldk4mdrnd -ldk4c -ldk4maiodd -ldk4maiodh -ldk4maiowd -ldk4maiowh -ldk4maio8d -ldk4maio8h -ldk4ma -ldk4base $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CRYPTO) $(CLILIB) $(BZLIB) $(ZLIB) -lm' 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' WXPQDICLIBS='-ldk4wx -ldk4socka -ldk4app -ldk4sock -ldk4c -ldk4maiodd -ldk4maiodh -ldk4maiowd -ldk4maiowh -ldk4maio8d -ldk4maio8h -ldk4ma -ldk4base $(WXLDFLAGS) $(GUILIB) $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' PJSNMPLIBF='libdk4base.so libdk4maio8h.so libdk4maio8d.so libdk4maiodd.so libdk4maiodh.so libdk4ma.so libdk4c.so libdk4sock.so libdk4app.so libdk4socka.so' PJSNMPLIBS='-ldk4socka -ldk4app -ldk4sock -ldk4c -ldk4maiodh -ldk4maiodd -ldk4maio8h -ldk4maio8d -ldk4ma -ldk4base $(NETSNMP_LIBS) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) -lm' PRMONSNMPLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maio8h.so libdk4c.so libdk4maiodd.so libdk4maiodh.so libdk4sock.so libdk4app.so libdk4socka.so' PRMONSNMPLIBS='-ldk4socka -ldk4app -ldk4sock -ldk4c -ldk4maiodh -ldk4maiodd -ldk4maio8h -ldk4maio8d -ldk4ma -ldk4base $(NETSNMP_LIBS) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) -lm' PRINTQDLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4dbi.so libdk4sock.so' PRINTQDLIBS='-ldk4sock -ldk4dbi -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(DBLIB) $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) -lm' PRINTQDCLIBF='libdk4base.so libdk4ma.so libdk4maio8h.so libdk4maio8d.so libdk4maiodh.so libdk4maiodd.so libdk4c.so libdk4sock.so libdk4app.so libdk4socka.so' PRINTQDCLIBS='-ldk4socka -ldk4app -ldk4sock -ldk4c -ldk4maiodd -ldk4maiodh -ldk4maio8d -ldk4maio8h -ldk4ma -ldk4base $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) -lm' RSHDOWNLIBF='libdk4base.so libdk4ma.so libdk4maio8d.so libdk4maiodd.so libdk4c.so libdk4sock.so' RSHDOWNLIBS='-ldk4sock -ldk4c -ldk4maiodd -ldk4maio8d -ldk4ma -ldk4base $(SOCKLIB) $(NSLLIB) $(BZLIB) $(ZLIB) -lm' 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' WXD2LATLIBS='-ldk4graa -ldk4lata -ldk4bifa -ldk4app -ldk4pppt -ldk4gra -ldk4bif -ldk4lat -ldk4c -ldk4maiodd -ldk4maiodh -ldk4maiowd -ldk4maiowh -ldk4maio8d -ldk4maio8h -ldk4ma -ldk4base $(IMGLIBS) $(CLILIB) $(BZLIB) $(ZLIB) -lm' ;; *) AC_MSG_RESULT(defaults) ;; esac if [[ "X$TOOLCHAIN" = "Xgcc" -o "X$TOOLCHAIN" = "Xclang" -o "X$TOOLCHAIN" = "msvc" ]] then case X$TARGETCLASS in Xwindows) ADDCTRLDRES='addctrldres.$(RESEXT)' BMPPRES='bmppres.$(RESEXT)' DK3INFORES='dk3infores.$(RESEXT)' DK4INFORES='dk4infores.$(RESEXT)' DKBIN2CRES='dk-bin2cres.$(RESEXT)' DKBLKSRES='dk-blksres.$(RESEXT)' DKBMMRES='dk-bmmres.$(RESEXT)' DKCATRES='dk-catres.$(RESEXT)' DKCTRES='dkctres.$(RESEXT)' DKDB2TRES='dk-db2tres.$(RESEXT)' DKDBCORES='dk-dbcores.$(RESEXT)' DKDBTRES='dkdbtres.$(RESEXT)' DKERADISKRES='dk-eradiskres.$(RESEXT)' DKFICRES='dk-ficres.$(RESEXT)' DKHEXRES='dk-hexres.$(RESEXT)' DKLINESRES='dk-linesres.$(RESEXT)' DKLSRES='dk-lsres.$(RESEXT)' DKPWDRES='dk-pwdres.$(RESEXT)' DKPWGENRES='dk-pwgenres.$(RESEXT)' DKRANDRES='dk-randres.$(RESEXT)' DKRECVRES='dk-recvres.$(RESEXT)' DKSENDRES='dk-sendres.$(RESEXT)' DKSORTRES='dk-sortres.$(RESEXT)' DKSQLSPLITRES='dk-sqlsplitres.$(RESEXT)' DKT2DBRES='dk-t2dbres.$(RESEXT)' DKT2HRES='dk-t2hres.$(RESEXT)' DKT2LRES='dk-t2lres.$(RESEXT)' DKWTADMRES='dkwtadmres.$(RESEXT)' DKWTRES='dkwtres.$(RESEXT)' DKWXPATHRES='dkwxpathres.$(RESEXT)' DKWXWIZRES='dkwxwizres.$(RESEXT)' FIG2LATRES='fig2latres.$(RESEXT)' HTMLBOOKRES='htmlbookres.$(RESEXT)' ITADMINRES='itadminres.$(RESEXT)' LPRNGCLRES='lprngclres.$(RESEXT)' PLPDFTEXRES='plpdftexres.$(RESEXT)' WINPRINTRES='winprintres.$(RESEXT)' WPRCLEANRES='wprcleanres.$(RESEXT)' WXBMPPRES='wxbmppres.$(RESEXT)' WXDKCLOCKRES='wxdkclockres.$(RESEXT)' WXDKCTRES='wxdkctres.$(RESEXT)' WXDKFCSRES='wxdkfcsres.$(RESEXT)' WXDKHTBRES='wxdkhtbres.$(RESEXT)' WXDKSCRSZRES='wxdkscrszres.$(RESEXT)' WXIMGSZRES='wximgszres.$(RESEXT)' WXPQDICRES='wxpqdicres.$(RESEXT)' ;; esac fi AC_MSG_CHECKING(options for Windows) WINCLILIB='' WINGUILIB='' CLILIB='' GUILIB='' if [[ "X$BUILDCLASS" = "Xwindows" ]] then DELTARGET='@-IF EXIST "$@" DEL /F /Q "$@"' DELTARGETSO='@-IF EXIST "$@.$(SOVERS)" DEL /F /Q "$@.$(SOVERS)"' else DELTARGET='@-[[ ! -f "$@" ]] || rm -f "$@"' DELTARGETSO='@-[[ ! -f "$@.$(SOVERS)" ]] || rm -f "$@.$(SOVERS)"' fi if [[ "X$TARGETCLASS" = "Xwindows" ]] then WINCLILIB='-lkernel32 -lgdi32 -ladvapi32 -luser32 -lnetapi32 -lwinspool' WINGUILIB='-lole32 -loleaut32 -lshell32 -lcomctl32 -lcomdlg32' CLILIB='$(WINCLILIB)' GUILIB='$(WINGUILIB)' fi if [[ "X$TARGETCLASS" = "Xwindows" -a "X$TOOLCHAIN" = "Xgcc" ]] then WINGUILIB="-lwinmm -limm32 -luuid $WINGUILIB" LDFLC_CLI_DK="$LDFLC_CLI_DK -municode" fi if [[ "X$TARGETCLASS" = "Xwindows" -a "X$TOOLCHAIN" = "Xclang" ]] then WINGUILIB="-lwinmm -limm32 -luuid $WINGUILIB" LDFLC_CLI_DK="$LDFLC_CLI_DK -municode" fi if [[ "X$TOOLCHAIN" = "Xgcc" -o "X$TOOLCHAIN" = "Xclang" ]] then case X$CROSSBUILD/X$ENA_PACKAGE in Xyes/Xno) LDFLC_CLI_C8="$LDFLC_CLI_C8 -static -static-libgcc -Wl,-Bstatic" LDFLC_CLI_DK="$LDFLC_CLI_DK -static -static-libgcc -Wl,-Bstatic" LDFLCXX_CLI_C8="$LDFLCXX_CLI_C8 -static -static-libstdc++ -static-libgcc -Wl,-Bstatic" LDFLCXX_CLI_DK="$LDFLCXX_CLI_DK -static -static-libstdc++ -static-libgcc -Wl,-Bstatic" LDFLCXX_CLI_WX="$LDFLCXX_CLI_WX -static -static-libstdc++ -static-libgcc -Wl,-Bstatic" LDFLCXX_GUI="$LDFLCXX_GUI -static -static-libstdc++ -static-libgcc -Wl,-Bstatic" ;; esac fi AC_MSG_RESULT(done) dnl Find user and group running the LPRng lpd process dnl ------------------------------------------------- dnl Normally both should be lp but the Debian LPRng package dnl uses daemon.lp to run lpd. dnl The printqd daemon should use the same account and group. LPRNGUSER='lp' LPRNGGROUP='lp' if [[ -f /etc/debian_version ]] then LPRNGUSER='daemon' fi dnl OUTPUT GENERATION dnl Substitue variables dnl =================== dnl Compiler toolchain dnl ------------------ AC_SUBST(DEFS) AC_SUBST(CC) AC_SUBST(CPP) AC_SUBST(CXX) AC_SUBST(WINDRES) AC_SUBST(RCFLAGS) AC_SUBST(MKDIR_P) AC_SUBST(SED) AC_SUBST(INSTALL) AC_SUBST(LN_S) AC_SUBST(RANLIB) AC_SUBST(AR) AC_SUBST(NM) AC_SUBST(MAKE) AC_SUBST(DELTARGET) AC_SUBST(DELTARGETSO) AC_SUBST(MKSOLIB) AC_SUBST(MKSOLIBCPP) AC_SUBST(RPATH) AC_SUBST(RPATHLINK) AC_SUBST(MKSORPATH) AC_SUBST(MKSORPATHLINK) AC_SUBST(MKSOCHECKSYMBOLS) dnl Compiler and linker flags dnl ------------------------- AC_SUBST(CFL_CLI_C8) AC_SUBST(CFL_CLI_DK) AC_SUBST(CXXFL_CLI_C8) AC_SUBST(CXXFL_CLI_DK) AC_SUBST(CXXFL_CLI_WX) AC_SUBST(CXXFL_GUI) AC_SUBST(LDFLC_CLI_C8) AC_SUBST(LDFLC_CLI_DK) AC_SUBST(LDFLCXX_CLI_C8) AC_SUBST(LDFLCXX_CLI_DK) AC_SUBST(LDFLCXX_CLI_WX) AC_SUBST(LDFLCXX_GUI) dnl Build system type dnl ----------------- AC_SUBST(BUILDHOST) AC_SUBST(TARGETHOST) AC_SUBST(BUILDCLASS) AC_SUBST(TARGETCLASS) AC_SUBST(CROSSBUILD) AC_SUBST(UNAME) AC_SUBST(TOOLCHAIN) dnl Package version dnl --------------- AC_SUBST(VERSNO) AC_SUBST(SOVERS) dnl Select components to build dnl -------------------------- AC_SUBST(LIB_SHARED_RES_NET) AC_SUBST(PRG_RES_NET) AC_SUBST(MAN_RES_NET) AC_SUBST(RES_RES_NET) AC_SUBST(RES_RES_NET_EN) AC_SUBST(RES_RES_NET_DE) AC_SUBST(PRG_CLI_NET) AC_SUBST(MAN_CLI_NET) AC_SUBST(RES_CLI_NET) AC_SUBST(PRG_GUI_NET) AC_SUBST(MAN_GUI_NET) AC_SUBST(RES_GUI_NET) AC_SUBST(PRG_CLI_NET_POSIX) AC_SUBST(MAN_CLI_NET_POSIX) AC_SUBST(RES_CLI_NET_POSIX) AC_SUBST(PRG_CLI_SNMP) AC_SUBST(MAN_CLI_SNMP) AC_SUBST(RES_CLI_SNMP) AC_SUBST(PRG_CLI_MYSQL) AC_SUBST(MAN_CLI_MYSQL) AC_SUBST(RES_CLI_MYSQL) AC_SUBST(PRG_CLI_SSL) AC_SUBST(MAN_CLI_SSL) AC_SUBST(RES_CLI_SSL) AC_SUBST(PRG_GUI_SSL) AC_SUBST(MAN_GUI_SSL) AC_SUBST(RES_GUI_SSL) AC_SUBST(PRG_CLI_POSIX) AC_SUBST(MAN_CLI_POSIX) AC_SUBST(RES_CLI_POSIX) AC_SUBST(PRG_CLI_WINDOWS) AC_SUBST(MAN_CLI_WINDOWS) AC_SUBST(RES_CLI_WINDOWS) AC_SUBST(PRG_GUI_WINDOWS) AC_SUBST(MAN_GUI_WINDOWS) AC_SUBST(RES_GUI_WINDOWS) AC_SUBST(BUILD_ARCH) AC_SUBST(INSTALL_PROGRAMS) AC_SUBST(INSTALL_LIBS) AC_SUBST(INSTALL_INDEP) AC_SUBST(FOUND_SYSTEMD) # File name extensions # -------------------- AC_SUBST(EXEEXT) AC_SUBST(OBJEXT) AC_SUBST(RCEXT) AC_SUBST(RESEXT) AC_SUBST(RESCRULE) # Detected run path # ----------------- AC_SUBST(rundir) # Detected features # ----------------- AC_SUBST(ZLIB) AC_SUBST(BZLIB) AC_SUBST(LIBPNG) AC_SUBST(LIBJPEG) AC_SUBST(LIBTIFF) AC_SUBST(CRYPTO) AC_SUBST(FS64) AC_SUBST(SOCKLIB) AC_SUBST(NSLLIB) AC_SUBST(RTLIB) AC_SUBST(PTHREADLIB) AC_SUBST(DBLIB) AC_SUBST(DBLIBSOCK) AC_SUBST(MYSQLLIB) AC_SUBST(MYSQLLDFLAGS) AC_SUBST(NETSNMP_LIBS) AC_SUBST(NETSNMP_CFLAGS) AC_SUBST(WINCLILIB) AC_SUBST(WINGUILIB) AC_SUBST(CLILIB) AC_SUBST(GUILIB) AC_MSG_NOTICE([CPPFLAGS substituted: $CPPFLAGS]) AC_MSG_NOTICE([CFLAGS substituted: $CFLAGS]) AC_MSG_NOTICE([LDFLAGS substituted: $LDFLAGS]) AC_SUBST(CPPFLAGS) AC_SUBST(CFLAGS) AC_SUBST(LDFLAGS) AC_SUBST(WXCPPFLAGS) AC_SUBST(WXCFLAGS) AC_SUBST(WXCXXFLAGS) AC_SUBST(WXLDFLAGS) AC_SUBST(WXVERSION) AC_SUBST(MOD_DK3WREG) AC_SUBST(MOD_DK4DMT) AC_SUBST(LIBDK3WXOBJ) AC_SUBST(LIBDK4WXOBJ) AC_SUBST(LPRNGUSER) AC_SUBST(LPRNGGROUP) dnl Program objects and libraries dnl ----------------------------- AC_SUBST(SOLIBZ) AC_SUBST(SOLIBBZ) AC_SUBST(SOLIBMATH) AC_SUBST(SOLIBCRYPTO) AC_SUBST(SOLIBNET) AC_SUBST(SOLIBIMG) AC_SUBST(SOLIBSDBI) AC_SUBST(SOLIBWX) AC_SUBST(SOLIBDK3PORT) AC_SUBST(SOLIBDK3C) AC_SUBST(SOLIBDK3OF) AC_SUBST(SOLIBDK3CSRND) AC_SUBST(SOLIBDK3BIF) AC_SUBST(SOLIBDK3DBI) AC_SUBST(SOLIBDK3FIG) AC_SUBST(SOLIBDK3BMEPS) AC_SUBST(SOLIBDK3NET) AC_SUBST(SOLIBDK4BASE) AC_SUBST(SOLIBDK4MA) AC_SUBST(SOLIBDK4MAIO8H) AC_SUBST(SOLIBDK4MAIOWH) AC_SUBST(SOLIBDK4MAIODH) AC_SUBST(SOLIBDK4MAIO8D) AC_SUBST(SOLIBDK4MAIOWD) AC_SUBST(SOLIBDK4MAIODD) AC_SUBST(SOLIBDK4C) AC_SUBST(SOLIBDK4MDRND) AC_SUBST(SOLIBDK4PPPT) AC_SUBST(SOLIBDK4APP) AC_SUBST(SOLIBDK4LATA) AC_SUBST(SOLIBDK4LAT) AC_SUBST(SOLIBDK4SOCK) AC_SUBST(SOLIBDK4SOCKA) AC_SUBST(SOLIBDK4DBI) AC_SUBST(SOLIBDK4DBIA) AC_SUBST(LIBDK4BASELIBF) AC_SUBST(LIBDK4BASELIBS) AC_SUBST(LIBDK4MALIBF) AC_SUBST(LIBDK4MALIBS) AC_SUBST(LIBDK4MAIO8DLIBF) AC_SUBST(LIBDK4MAIO8DLIBS) AC_SUBST(LIBDK4MAIOWDLIBF) AC_SUBST(LIBDK4MAIOWDLIBS) AC_SUBST(LIBDK4MAIODDLIBF) AC_SUBST(LIBDK4MAIODDLIBS) AC_SUBST(LIBDK4MAIOXDLIBF) AC_SUBST(LIBDK4MAIOXDLIBS) AC_SUBST(LIBDK4MAIO8HLIBF) AC_SUBST(LIBDK4MAIO8HLIBS) AC_SUBST(LIBDK4MAIOWHLIBF) AC_SUBST(LIBDK4MAIOWHLIBS) AC_SUBST(LIBDK4MAIODHLIBF) AC_SUBST(LIBDK4MAIODHLIBS) AC_SUBST(LIBDK4DBILIBF) AC_SUBST(LIBDK4DBILIBS) AC_SUBST(LIBDK4CLIBF) AC_SUBST(LIBDK4CLIBS) AC_SUBST(LIBDK4LATALIBF) AC_SUBST(LIBDK4LATALIBS) AC_SUBST(LIBDK4LATLIBF) AC_SUBST(LIBDK4LATLIBS) AC_SUBST(LIBDK4SOCKLIBF) AC_SUBST(LIBDK4SOCKLIBS) AC_SUBST(LIBDK4MDRNDLIBF) AC_SUBST(LIBDK4MDRNDLIBS) AC_SUBST(LIBDK4BIFLIBF) AC_SUBST(LIBDK4BIFLIBS) AC_SUBST(LIBDK4GRALIBF) AC_SUBST(LIBDK4GRALIBS) AC_SUBST(LIBDK4PPPTLIBF) AC_SUBST(LIBDK4PPPTLIBS) AC_SUBST(LIBDK4APPLIBF) AC_SUBST(LIBDK4APPLIBS) AC_SUBST(LIBDK4BIFALIBF) AC_SUBST(LIBDK4BIFALIBS) AC_SUBST(LIBDK4GRAALIBF) AC_SUBST(LIBDK4GRAALIBS) AC_SUBST(LIBDK4PPPTALIBF) AC_SUBST(LIBDK4PPPTALIBS) AC_SUBST(LIBDK4SOCKALIBF) AC_SUBST(LIBDK4SOCKALIBS) AC_SUBST(LIBDK4DBIALIBF) AC_SUBST(LIBDK4DBIALIBS) AC_SUBST(LIBDK4WXLIBF) AC_SUBST(LIBDK4WXLIBS) AC_SUBST(LIBDK3TRACELIBF) AC_SUBST(LIBDK3TRACELIBS) AC_SUBST(LIBDK3CLIBF) AC_SUBST(LIBDK3CLIBS) AC_SUBST(LIBDK3OFLIBF) AC_SUBST(LIBDK3OFLIBS) AC_SUBST(LIBDK3CSRNDLIBF) AC_SUBST(LIBDK3CSRNDLIBS) AC_SUBST(LIBDK3BIFLIBF) AC_SUBST(LIBDK3BIFLIBS) AC_SUBST(LIBDK3DBILIBF) AC_SUBST(LIBDK3DBILIBS) AC_SUBST(LIBDK3BMEPSLIBF) AC_SUBST(LIBDK3BMEPSLIBS) AC_SUBST(LIBDK3FIGLIBF) AC_SUBST(LIBDK3FIGLIBS) AC_SUBST(LIBDK3WXLIBF) AC_SUBST(LIBDK3WXLIBS) AC_SUBST(DKCATLIBF) AC_SUBST(DKCATLIBS) AC_SUBST(DKBLKSLIBF) AC_SUBST(DKBLKSLIBS) AC_SUBST(DKSQLSPLITLIBF) AC_SUBST(DKSQLSPLITLIBS) AC_SUBST(DKERADISKLIBF) AC_SUBST(DKERADISKLIBS) AC_SUBST(DKLSLIBF) AC_SUBST(DKLSLIBS) AC_SUBST(DKSORTLIBF) AC_SUBST(DKSORTLIBS) AC_SUBST(DKLINESLIBF) AC_SUBST(DKLINESLIBS) AC_SUBST(DKFICLIBF) AC_SUBST(DKFICLIBS) AC_SUBST(DKUIDLIBF) AC_SUBST(DKUIDLIBS) AC_SUBST(DKPWGENLIBF) AC_SUBST(DKPWGENLIBS) AC_SUBST(DKRANDLIBF) AC_SUBST(DKRANDLIBS) AC_SUBST(DKT2HLIBF) AC_SUBST(DKT2HLIBS) AC_SUBST(DKT2LLIBF) AC_SUBST(DKT2LLIBS) AC_SUBST(DKBIN2CLIBF) AC_SUBST(DKBIN2CLIBS) AC_SUBST(DKHEXLIBF) AC_SUBST(DKHEXLIBS) AC_SUBST(DKBMMLIBF) AC_SUBST(DKBMMLIBS) AC_SUBST(DKPWDLIBF) AC_SUBST(DKPWDLIBS) AC_SUBST(DKRECVLIBF) AC_SUBST(DKRECVLIBS) AC_SUBST(DKSENDLIBF) AC_SUBST(DKSENDLIBS) AC_SUBST(DKDBT2LIBF) AC_SUBST(DKDBT2LIBS) AC_SUBST(DK4INFOLIBS) AC_SUBST(DK4INFOLIBF) AC_SUBST(DKCTLIBF) AC_SUBST(DKCTLIBS) AC_SUBST(ADDCTRLDLIBF) AC_SUBST(ADDCTRLDLIBS) AC_SUBST(DKDBTLIBF) AC_SUBST(DKDBTLIBS) AC_SUBST(BMPPLIBF) AC_SUBST(BMPPLIBS) AC_SUBST(FIG2LATLIBF) AC_SUBST(FIG2LATLIBS) AC_SUBST(WXD2LATLIBF) AC_SUBST(WXD2LATLIBS) AC_SUBST(HTMLBOOKLIBF) AC_SUBST(HTMLBOOKLIBS) AC_SUBST(DKWTLIBF) AC_SUBST(DKWTLIBS) AC_SUBST(WPRCLEANLIBF) AC_SUBST(WPRCLEANLIBS) AC_SUBST(DK3INFOLIBF) AC_SUBST(DK3INFOLIBS) AC_SUBST(PLPDFTEXLIBF) AC_SUBST(PLPDFTEXLIBS) AC_SUBST(DKWXWIZLIBF) AC_SUBST(DKWXWIZLIBS) AC_SUBST(DKWXPATHLIBF) AC_SUBST(DKWXPATHLIBS) AC_SUBST(WINPRINTLIBF) AC_SUBST(WINPRINTLIBS) AC_SUBST(CHSCRSZLIBF) AC_SUBST(CHSCRSZLIBS) AC_SUBST(WXDKCTLIBF) AC_SUBST(WXDKCTLIBS) AC_SUBST(WXDKDRAWLIBF) AC_SUBST(WXDKDRAWLIBS) AC_SUBST(WXBMPPLIBF) AC_SUBST(WXBMPPLIBS) AC_SUBST(WXDKFCSLIBF) AC_SUBST(WXDKFCSLIBS) AC_SUBST(WXPQDICLIBF) AC_SUBST(WXPQDICLIBS) AC_SUBST(WXIMGSZLIBF) AC_SUBST(WXIMGSZLIBS) AC_SUBST(WXDKCLOCKLIBF) AC_SUBST(WXDKCLOCKLIBS) AC_SUBST(WXDKHTBLIBF) AC_SUBST(WXDKHTBLIBS) AC_SUBST(PRINTQDLIBF) AC_SUBST(PRINTQDLIBS) AC_SUBST(PRINTQDILIBF) AC_SUBST(PRINTQDILIBS) AC_SUBST(PRINTQDALIBF) AC_SUBST(PRINTQDALIBS) AC_SUBST(PJSNMPLIBF) AC_SUBST(PJSNMPLIBS) AC_SUBST(PRMONSNMPLIBF) AC_SUBST(PRMONSNMPLIBS) AC_SUBST(PRINTQDCLIBF) AC_SUBST(PRINTQDCLIBS) AC_SUBST(RSHDOWNLIBF) AC_SUBST(RSHDOWNLIBS) AC_SUBST(LPRNGCLLIBF) AC_SUBST(LPRNGCLLIBS) AC_SUBST(ITADMINLIBF) AC_SUBST(ITADMINLIBS) AC_SUBST(GETSOURCE) dnl Resource files dnl -------------- AC_SUBST(ADDCTRLDRES) AC_SUBST(BMPPRES) AC_SUBST(DK3INFORES) AC_SUBST(DK4INFORES) AC_SUBST(DKBIN2CRES) AC_SUBST(DKBLKSRES) AC_SUBST(DKBMMRES) AC_SUBST(DKCATRES) AC_SUBST(DKCTRES) AC_SUBST(DKDB2TRES) AC_SUBST(DKDBCORES) AC_SUBST(DKDBTRES) AC_SUBST(DKERADISKRES) AC_SUBST(DKFICRES) AC_SUBST(DKHEXRES) AC_SUBST(DKLINESRES) AC_SUBST(DKLSRES) AC_SUBST(DKPWDRES) AC_SUBST(DKPWGENRES) AC_SUBST(DKRANDRES) AC_SUBST(DKRECVRES) AC_SUBST(DKSENDRES) AC_SUBST(DKSORTRES) AC_SUBST(DKSQLSPLITRES) AC_SUBST(DKT2DBRES) AC_SUBST(DKT2HRES) AC_SUBST(DKT2LRES) AC_SUBST(DKWTADMRES) AC_SUBST(DKWTRES) AC_SUBST(DKWXPATHRES) AC_SUBST(DKWXWIZRES) AC_SUBST(FIG2LATRES) AC_SUBST(HTMLBOOKRES) AC_SUBST(ITADMINRES) AC_SUBST(LPRNGCLRES) AC_SUBST(PLPDFTEXRES) AC_SUBST(WINPRINTRES) AC_SUBST(WPRCLEANRES) AC_SUBST(WXBMPPRES) AC_SUBST(WXDKCLOCKRES) AC_SUBST(WXDKCTRES) AC_SUBST(WXDKFCSRES) AC_SUBST(WXDKHTBRES) AC_SUBST(WXDKSCRSZRES) AC_SUBST(WXIMGSZRES) AC_SUBST(WXPQDICRES) LIBSPRIVATE="$CRYPTO $MYSQLLIB $DBLIB $LIBTIFF $LIBJPEG $BZLIB" AC_SUBST(LIBSPRIVATE) AC_SUBST(systemddir) AC_SUBST(SUITE) AC_SUBST(THISYEAR) dnl Debian packaging dnl ---------------- cp debian/dktools-lib.install.in debian/dktools-lib-${SOVERS}.install cp debian/dktools-lib-dev.install.in debian/dktools-lib-${SOVERS}-dev.install echo package-name-doesnt-match-sonames > debian/dktools-lib-${SOVERS}.lintian-overrides dnl Produce Makefile and other files dnl ================================ AC_OUTPUT([Makefile scripts/write-files.sh scripts/build-help.sh initd-printqd initd-rshdown dktools.pc pkginfo debian/control debian/control9 debian/control8] debian/printqd.postrm debian/printqd.postinst debian/rshdown.postrm) dnl Correct permissions on scripts, run scripts dnl ------------------------------------------- export FOUND_SYSTEMD chmod ugo+rx scripts/*.sh initd-printqd initd-rshdown scripts/write-files.sh dnl Fix configure script results dnl ============================ if [[ "X$CROSSBUILD" = "Xyes" -o "X$MAKE" = "X" ]] then AC_MSG_NOTICE([Fix configure results: Use sed]) ( cat dk4conf.h.start grep '#define' config.h | awk '{print $2 " " $3;}' | grep -v CONFIG_H_INCLUDED | sort | sed -e 's/^/#define DK4_/g' cat dk4conf.h.large cat dk4conf.h.end ) > dk4conf.h ( cat dk3conf.h.start grep '#define' config.h | awk '{print $2 " " $3;}' | grep -v CONFIG_H_INCLUDED | sort | sed -e 's/^/#define DK3_/g' cat dk3conf.h.large cat dk3conf.h.end ) > dk3conf.h cp dk4wxcs.cross dk4wxcs.h else AC_MSG_NOTICE([Fix configure results: Run programs]) [[ ! -f "dk4config${EXEEXT}" ]] || rm -f "dk4config${EXEEXT}" [[ ! -f "dk4wxcs${EXEEXT}" ]] || rm -f "dk4wxcs${EXEEXT}" [[ ! -f "dk3config${EXEEXT}" ]] || rm -f "dk3config${EXEEXT}" ${MAKE} dk4config${EXEEXT} dk3config${EXEEXT} dk4wxcs${EXEEXT} ( cat dk4conf.h.start ./dk4config${EXEEXT} cat dk4conf.h.end ) > dk4conf.h ./dk3config${EXEEXT} > dk3conf.h ./dk4wxcs${EXEEXT} > dk4wxcs.h sed -e 's/DK4/DK3/g' < dk4wxcs.h > dk3wxcs.h fi dnl Summary output dnl ============== AC_MSG_NOTICE([Software suite: $SUITE]) AC_MSG_NOTICE([Build static libraries: $ENA_STATIC]) AC_MSG_NOTICE([Build shared libraries: $ENA_SHARED]) if [[ "X$ENA_SHARED" = "Xyes" ]] then AC_MSG_NOTICE([Build for package generation: $ENA_PACKAGE]) fi AC_MSG_NOTICE([Link shared libs with shared libs: $ENA_SOSO]) AC_MSG_NOTICE([Install man pages: $ENA_MAN]) AC_MSG_NOTICE([Activate more warnings: $ENA_WARN]) AC_MSG_NOTICE([Allow debug information: $ENA_DEBUG]) AC_MSG_NOTICE([Corrections for SunOS: $ENA_SUNOS_CORR]) AC_MSG_NOTICE([Build host: $BUILDHOST]) AC_MSG_NOTICE([Build class: $BUILDCLASS]) AC_MSG_NOTICE([Target host: $TARGETHOST]) AC_MSG_NOTICE([Target class: $TARGETCLASS]) AC_MSG_NOTICE([Cross compilation build: $CROSSBUILD]) AC_MSG_NOTICE([Tool chain: $TOOLCHAIN]) AC_MSG_NOTICE([C compiler: $CC]) AC_MSG_NOTICE([C++ compiler: $CXX]) AC_MSG_NOTICE([CPPFLAGS: $CPPFLAGS]) AC_MSG_NOTICE([CFLAGS: $CFLAGS]) AC_MSG_NOTICE([LDFLAGS: $LDFLAGS]) AC_MSG_NOTICE([]) AC_MSG_NOTICE([Libraries and functions:]) AC_MSG_NOTICE([socket $FOUND_SOCKET]) AC_MSG_NOTICE([zlib $FOUND_ZLIB]) AC_MSG_NOTICE([libbz2 $FOUND_BZLIB]) AC_MSG_NOTICE([libpng $FOUND_PNG]) AC_MSG_NOTICE([libjpeg $FOUND_JPG]) AC_MSG_NOTICE([libtiff $FOUND_TIFF]) AC_MSG_NOTICE([OpenSSL $FOUND_OPENSSL]) AC_MSG_NOTICE([NetSNMP $FOUND_NETSNMP]) AC_MSG_NOTICE([MySQL / MariaDB $FOUND_MYSQL]) AC_MSG_NOTICE([wxWidgets $FOUND_WX]) dnl Special hints for cross-compilation builds dnl ------------------------------------------ if [[ "X$CROSSBUILD" = "Xyes" ]] then AC_MSG_NOTICE([]) AC_MSG_NOTICE([CROSS-COMPILATION BUILD:]) AC_MSG_WARN([Test for twos complement not possible!]) AC_MSG_WARN([Test for IEEE 754 compliant double not possible!]) AC_MSG_WARN([Test for /proc/.../exe not possible!]) AC_MSG_WARN([Results for these tests are guessed and may be wrong.]) AC_MSG_WARN([Before you continue check the following settings,]) AC_MSG_WARN([apply corrections if necessary:]) AC_MSG_WARN([- HAVE_TWOS_COMPLEMENT in file config.h]) AC_MSG_WARN([- HAVE_IEEE_754_DOUBLE in file config.h]) AC_MSG_WARN([- HAVE_PROC_PID_EXE in file config.h]) AC_MSG_WARN([Run "make confprogs" if corrections were necessary.]) AC_MSG_NOTICE([]) AC_MSG_NOTICE([Before running "make" and "make install" transfer the programs]) AC_MSG_NOTICE([dk3config${EXEEXT}, dk4config${EXEEXT} and dk4wxcs${EXEEXT}]) AC_MSG_NOTICE([to the target system and run the commands]) AC_MSG_NOTICE([ ./dk3config > dk3conf.h]) AC_MSG_NOTICE([ ./dk4config > dk4conf.h]) AC_MSG_NOTICE([ ./dk4wxcs > dk4wxcs.h]) AC_MSG_NOTICE([on the target system.]) AC_MSG_NOTICE([Transfer the files dk3conf.h, dk4conf.h and dk4wxcs.h back to]) AC_MSG_NOTICE([here. At the start of dk4conf.h insert the dk4conf.h.start file.]) AC_MSG_NOTICE([At the end of dk4conf.h insert the dk4conf.h.end file.]) AC_MSG_NOTICE([Now continue the build process.]) fi