1AC_PREREQ([2.61]) 2AC_REVISION([1]) 3AC_INIT([YAPET],[2.3],[https://github.com/RafaelOstertag/yapet/issues]) 4AC_CONFIG_AUX_DIR([build-aux]) 5AC_CONFIG_SRCDIR([config.h.in]) 6AC_CONFIG_HEADERS([config.h]) 7AC_CONFIG_MACRO_DIR([m4]) 8AC_CONFIG_SUBDIRS([libyacurs]) 9 10AM_INIT_AUTOMAKE([check-news dist-xz dist-bzip2 color-tests]) 11AM_SILENT_RULES([yes]) 12 13# Progs 14AC_MSG_NOTICE([Checking required programs]) 15AC_PROG_CC 16AC_PROG_CXX 17AC_PROG_INSTALL 18AC_PROG_SED 19AC_PROG_MKDIR_P 20AM_PROG_AR 21 22LT_INIT 23LT_LANG([C++]) 24AC_LANG([C++]) 25 26AX_CXX_COMPILE_STDCXX([14], [noext], [mandatory]) 27 28# "Enables" 29AC_ARG_ENABLE([debug], 30 [AS_HELP_STRING([--enable-debug],[enable debug code (Default: no)])], 31 [my_debug=$enableval], 32 [my_debug=no]) 33AC_ARG_ENABLE([install-doc], 34 [AS_HELP_STRING([--disable-install-doc],[disable installation of documentation (man pages, text and html files; Default: no)])], 35 [if test x$enableval = xno ; then 36 my_disableinstalldoc=yes 37 else 38 my_disableinstalldoc=no 39 fi], 40 [my_disableinstalldoc=no]) 41 42# Libs 43AX_CHECK_OPENSSL(,[AC_MSG_ERROR([openssl not found])]) 44 45# Headers 46AC_MSG_NOTICE([Checking C headers]) 47AC_CHECK_HEADERS([fcntl.h getopt.h libgen.h libintl.h locale.h strings.h termios.h]) 48 49# Types 50AC_MSG_NOTICE([Checking types]) 51AC_TYPE_MODE_T 52AC_TYPE_OFF_T 53AC_TYPE_SIZE_T 54AC_TYPE_SSIZE_T 55AC_TYPE_UID_T 56 57# library functions 58AC_MSG_NOTICE([Checking functions]) 59AC_FUNC_ALLOCA 60AC_CHECK_FUNCS([basename isblank isspace setlocale strcasestr tcgetattr tcsetattr tolower towlower]) 61 62AC_CHECK_FUNCS([getopt strchr strdup strerror strstr],,[AC_MSG_ERROR([required function not found])]) 63 64LIBS_SAVE="$LIBS" 65LDFLAGS_SAVE="$LDFLAGS" 66CPPFLAGS_SAVE="$CPPFLAGS" 67 68LIBS="$LIBS $OPENSSL_LIBS" 69LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS" 70CPPFLAGS="$CPPFLAGS $OPENSSL_INCLUDES" 71AC_MSG_NOTICE([Checking encryption functions]) 72AC_CHECK_FUNCS([EVP_bf_cbc EVP_CIPHER_CTX_set_key_length EVP_CipherInit_ex EVP_DigestFinal_ex EVP_DigestInit_ex EVP_DigestUpdate EVP_md5 EVP_ripemd160 EVP_sha1 EVP_sha256 EVP_aes_256_cbc RAND_bytes], 73 [], 74 [AC_MSG_ERROR([You are missing a crucial function required for $PACKAGE_NAME])]) 75AC_CHECK_FUNCS([EVP_CIPHER_CTX_cleanup EVP_CIPHER_CTX_free EVP_CIPHER_CTX_init EVP_CIPHER_CTX_new EVP_MD_CTX_destroy EVP_MD_CTX_create EVP_MD_CTX_free EVP_MD_CTX_new]) 76AC_MSG_NOTICE([Checking support functions]) 77AC_CHECK_FUNCS([SSLeay_version OpenSSL_version]) 78LIBS="$LIBS_SAVE" 79LDFLAGS="$LDFLAGS_SAVE" 80CPPFLAGS="$CPPFLAGS_SAVE" 81 82AC_MSG_NOTICE([Checking miscellaneous properties of platform]) 83AC_CHECK_SIZEOF([int *]) 84AC_CHECK_SIZEOF([int]) 85AC_CHECK_SIZEOF([long]) 86AC_C_BIGENDIAN 87# Mainly used by the RNG test in tests/rng* 88AC_CHECK_FILES([/dev/urandom /dev/random]) 89 90AC_MSG_NOTICE([Preparing NLS]) 91AM_GNU_GETTEXT([external]) 92AM_GNU_GETTEXT_VERSION([0.18.1]) 93 94PKG_CHECK_MODULES([CPPUNIT], [cppunit]) 95PKG_CHECK_MODULES([ARGON2], [libargon2]) 96 97# Some conditionals for the makefileS 98AM_CONDITIONAL([USE_NLS], [test x$USE_NLS = xyes]) 99AM_CONDITIONAL([DISABLEINSTALLDOC], [test x$my_disableinstalldoc = xyes]) 100AM_CONDITIONAL([DISABLE_DEBUG], [test x$my_debug = xno]) 101AC_CONFIG_FILES([ 102 doc/Makefile 103 doc/Makefile.doc 104 Makefile 105 po/Makefile.in 106 src/converters/csv/Makefile 107 src/converters/csv2yapet/Makefile 108 src/converters/Makefile 109 src/converters/yapet2csv/Makefile 110 src/libs/cfg/Makefile 111 src/libs/consts/Makefile 112 src/libs/crypt/Makefile 113 src/libs/exceptions/Makefile 114 src/libs/file/Makefile 115 src/libs/globals/Makefile 116 src/libs/glue/Makefile 117 src/libs/interfaces/Makefile 118 src/libs/Makefile 119 src/libs/metadata/Makefile 120 src/libs/passwordrecord/Makefile 121 src/libs/pwgen/Makefile 122 src/libs/ui/Makefile 123 src/libs/utils/Makefile 124 src/Makefile 125 src/yapet/Makefile 126 tests/cfg/Makefile 127 tests/cfg/testpaths.h 128 tests/converters/csv/Makefile 129 tests/converters/import/Makefile 130 tests/converters/import/testpaths.h 131 tests/converters/Makefile 132 tests/crypt/Makefile 133 tests/crypt/testpaths.h 134 tests/file/Makefile 135 tests/file/testpaths.h 136 tests/Makefile 137 tests/metadata/Makefile 138 tests/passwordrecord/Makefile 139 tests/preload/Makefile 140 tests/pwgen/Makefile 141 tests/utils/Makefile 142 ]) 143# Inject --disable-install which is used by libyacurs. 144ac_configure_args="$ac_configure_args --disable-install" 145AC_OUTPUT 146 147echo "******************************************************************" 148echo "" 149echo "Prefix : $prefix" 150echo "CPPFLAGS : $CPPFLAGS" 151echo "CFLAGS : $CFLAGS" 152echo "CXXFLAGS : $CXXFLAGS" 153echo "LDFLAGS : $LDFLAGS" 154echo "" 155echo "Enable debug code : $my_debug" 156echo "Disable install Doc.: $my_disableinstalldoc" 157echo "" 158echo "Use NLS : $USE_NLS" 159echo "" 160echo "******************************************************************" 161echo "" 162echo "Looks good." 163echo "" 164