diff options
Diffstat (limited to 'configure.ac')
| -rw-r--r-- | configure.ac | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/configure.ac b/configure.ac deleted file mode 100644 index d7c4f04..0000000 --- a/configure.ac +++ /dev/null | |||
| @@ -1,155 +0,0 @@ | |||
| 1 | # -*- Autoconf -*- | ||
| 2 | # Run autoreconf -fi to generate a configure script from this file. | ||
| 3 | |||
| 4 | AC_PREREQ([2.69]) | ||
| 5 | AC_INIT([i3lock-extended], [2.2.13a], [https://simeon.simeonov.no]) | ||
| 6 | # For AX_EXTEND_SRCDIR | ||
| 7 | AX_ENABLE_BUILDDIR | ||
| 8 | AM_INIT_AUTOMAKE([foreign subdir-objects -Wall no-dist-gzip dist-bzip2]) | ||
| 9 | # Default to silent rules, use V=1 to get verbose compilation output. | ||
| 10 | AM_SILENT_RULES([yes]) | ||
| 11 | # Make it possible to disable maintainer mode to disable re-generation of build | ||
| 12 | # system files. | ||
| 13 | AM_MAINTAINER_MODE([enable]) | ||
| 14 | AC_CONFIG_SRCDIR([i3lock.c]) | ||
| 15 | AC_CONFIG_HEADERS([config.h]) | ||
| 16 | AC_CONFIG_MACRO_DIR([m4]) | ||
| 17 | |||
| 18 | dnl Verify macros defined in m4/ such as AX_SANITIZERS are not present in the | ||
| 19 | dnl output, i.e. are replaced as expected. This line results in a better error | ||
| 20 | dnl message when using aclocal < 1.13 (which does not understand | ||
| 21 | dnl AC_CONFIG_MACRO_DIR) without passing the -I m4 parameter. | ||
| 22 | m4_pattern_forbid([AX_SANITIZERS]) | ||
| 23 | |||
| 24 | # Verify we are using GNU make because we use '%'-style pattern rules in | ||
| 25 | # Makefile.am, which are a GNU make extension. Pull requests to replace | ||
| 26 | # '%'-style pattern rules with a more portable alternative are welcome. | ||
| 27 | AX_CHECK_GNU_MAKE | ||
| 28 | AS_VAR_IF([_cv_gnu_make_command], [""], [AC_MSG_ERROR([the i3lock Makefile.am requires GNU make])]) | ||
| 29 | |||
| 30 | AX_EXTEND_SRCDIR | ||
| 31 | |||
| 32 | AS_IF([test -d ${srcdir}/.git], | ||
| 33 | [ | ||
| 34 | VERSION="$(git -C ${srcdir} describe --tags --abbrev=0)" | ||
| 35 | I3LOCK_VERSION="$(git -C ${srcdir} describe --tags --always) ($(git -C ${srcdir} log --pretty=format:%cd --date=short -n1), branch \\\"$(git -C ${srcdir} describe --tags --always --all | sed s:heads/::)\\\")" | ||
| 36 | # Mirrors what libi3/is_debug_build.c does: | ||
| 37 | is_release=$(test $(echo "${I3LOCK_VERSION}" | cut -d '(' -f 1 | wc -m) -lt 10 && echo yes || echo no) | ||
| 38 | ], | ||
| 39 | [ | ||
| 40 | VERSION="$(cut -d '-' -f 1 ${srcdir}/I3LOCK_VERSION | cut -d ' ' -f 1)" | ||
| 41 | I3LOCK_VERSION="$(sed -e 's/@<:@\"?\\@:>@/\\&/g' ${srcdir}/I3LOCK_VERSION)" | ||
| 42 | is_release="$(grep -q non-git ${srcdir}/I3LOCK_VERSION && echo no || echo yes)" | ||
| 43 | ]) | ||
| 44 | AC_SUBST([I3LOCK_VERSION], [$I3LOCK_VERSION]) | ||
| 45 | AC_DEFINE_UNQUOTED([I3LOCK_VERSION], ["${I3LOCK_VERSION}"], [i3lock version]) | ||
| 46 | |||
| 47 | AX_CODE_COVERAGE | ||
| 48 | |||
| 49 | dnl is_release must be lowercase because AX_CHECK_ENABLE_DEBUG calls m4_tolower | ||
| 50 | dnl on its fourth argument. | ||
| 51 | AX_CHECK_ENABLE_DEBUG([yes], , [UNUSED_NDEBUG], [$is_release]) | ||
| 52 | |||
| 53 | AC_PROG_CC_C99 | ||
| 54 | |||
| 55 | # For strnlen() and vasprintf(). | ||
| 56 | AC_USE_SYSTEM_EXTENSIONS | ||
| 57 | |||
| 58 | # Checks for typedefs, structures, and compiler characteristics. | ||
| 59 | AC_CHECK_HEADER_STDBOOL | ||
| 60 | dnl The error message should include the specific type which could not be | ||
| 61 | dnl found, but I do not see a way to achieve that. | ||
| 62 | AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t], , [AC_MSG_FAILURE([cannot find required type])]) | ||
| 63 | |||
| 64 | # Checks for library functions. | ||
| 65 | AC_FUNC_FORK | ||
| 66 | AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK | ||
| 67 | AC_FUNC_STRNLEN | ||
| 68 | AC_CHECK_FUNCS([atexit dup2 ftruncate getcwd gettimeofday localtime_r memchr memset mkdir rmdir setlocale socket strcasecmp strchr strdup strerror strncasecmp strndup strrchr strspn strstr strtol strtoul], , [AC_MSG_FAILURE([cannot find the $ac_func function, which i3lock requires])]) | ||
| 69 | AC_CHECK_FUNCS([explicit_bzero]) | ||
| 70 | |||
| 71 | # Checks for libraries. | ||
| 72 | |||
| 73 | AC_SEARCH_LIBS([floor], [m], , [AC_MSG_FAILURE([cannot find the required floor() function despite trying to link with -lm])]) | ||
| 74 | |||
| 75 | # libev does not ship with a pkg-config file :(. | ||
| 76 | AC_SEARCH_LIBS([ev_run], [ev], , [AC_MSG_FAILURE([cannot find the required ev_run() function despite trying to link with -lev])]) | ||
| 77 | |||
| 78 | AC_SEARCH_LIBS([shm_open], [rt]) | ||
| 79 | |||
| 80 | # Only disable PAM on OpenBSD where i3lock uses BSD Auth instead | ||
| 81 | case "$host" in | ||
| 82 | *-openbsd*) | ||
| 83 | # Nothing yet. | ||
| 84 | ;; | ||
| 85 | *) | ||
| 86 | AC_SEARCH_LIBS([pam_authenticate], [pam]) | ||
| 87 | ;; | ||
| 88 | esac | ||
| 89 | |||
| 90 | AC_SEARCH_LIBS([iconv_open], [iconv], , [AC_MSG_FAILURE([cannot find the required iconv_open() function despite trying to link with -liconv])]) | ||
| 91 | |||
| 92 | dnl Each prefix corresponds to a source tarball which users might have | ||
| 93 | dnl downloaded in a newer version and would like to overwrite. | ||
| 94 | PKG_CHECK_MODULES([XCB], [xcb xcb-xkb xcb-xinerama xcb-randr]) | ||
| 95 | PKG_CHECK_MODULES([XCB_IMAGE], [xcb-image]) | ||
| 96 | PKG_CHECK_MODULES([XCB_UTIL], [xcb-event xcb-util xcb-atom]) | ||
| 97 | PKG_CHECK_MODULES([XCB_UTIL_XRM], [xcb-xrm]) | ||
| 98 | PKG_CHECK_MODULES([XKBCOMMON], [xkbcommon xkbcommon-x11]) | ||
| 99 | PKG_CHECK_MODULES([CAIRO], [cairo]) | ||
| 100 | |||
| 101 | # Checks for programs. | ||
| 102 | AC_PROG_AWK | ||
| 103 | AC_PROG_CPP | ||
| 104 | AC_PROG_INSTALL | ||
| 105 | AC_PROG_MAKE_SET | ||
| 106 | AC_PROG_RANLIB | ||
| 107 | AC_PROG_LN_S | ||
| 108 | |||
| 109 | AM_PROG_AR | ||
| 110 | |||
| 111 | AX_FLAGS_WARN_ALL | ||
| 112 | AX_CHECK_COMPILE_FLAG([-Wunused-value], [AX_APPEND_FLAG([-Wunused-value], [AM_CFLAGS])]) | ||
| 113 | AC_SUBST(AM_CFLAGS) | ||
| 114 | |||
| 115 | # Checks for header files. | ||
| 116 | AC_CHECK_HEADERS([fcntl.h float.h inttypes.h limits.h locale.h netinet/in.h paths.h stddef.h stdint.h stdlib.h string.h sys/param.h sys/socket.h sys/time.h unistd.h], , [AC_MSG_FAILURE([cannot find the $ac_header header, which i3lock requires])]) | ||
| 117 | |||
| 118 | AC_CONFIG_FILES([Makefile]) | ||
| 119 | |||
| 120 | # Enable address sanitizer for non-release builds. The performance hit is a | ||
| 121 | # 50% increase of wallclock time for the testsuite on my machine. | ||
| 122 | if test x$is_release = xyes; then | ||
| 123 | default_sanitizers= | ||
| 124 | else | ||
| 125 | default_sanitizers=address | ||
| 126 | fi | ||
| 127 | AX_SANITIZERS(, [$default_sanitizers], [AC_DEFINE([I3LOCK_ASAN_ENABLED], [], [Enable ASAN])]) | ||
| 128 | |||
| 129 | AC_OUTPUT | ||
| 130 | |||
| 131 | in_git_worktree=`git rev-parse --is-inside-work-tree 2>/dev/null` | ||
| 132 | if [[ "$in_git_worktree" = "true" ]]; then | ||
| 133 | git_dir=`git rev-parse --git-dir 2>/dev/null` | ||
| 134 | srcdir=`dirname "$git_dir"` | ||
| 135 | exclude_dir=`pwd | sed "s,^$srcdir,,g"` | ||
| 136 | if ! grep -q "^$exclude_dir" "$git_dir/info/exclude"; then | ||
| 137 | echo "$exclude_dir" >> "$git_dir/info/exclude" | ||
| 138 | fi | ||
| 139 | fi | ||
| 140 | |||
| 141 | echo \ | ||
| 142 | "-------------------------------------------------------------------------------- | ||
| 143 | build configured: | ||
| 144 | |||
| 145 | AS_HELP_STRING([i3lock-extended version:], [`echo ${I3LOCK_VERSION} | sed 's,\\\\,,g'`]) | ||
| 146 | AS_HELP_STRING([is release version:], [${is_release}]) | ||
| 147 | |||
| 148 | AS_HELP_STRING([enable debug flags:], [${ax_enable_debug}]) | ||
| 149 | AS_HELP_STRING([code coverage:], [${CODE_COVERAGE_ENABLED}]) | ||
| 150 | AS_HELP_STRING([enabled sanitizers:], [${ax_enabled_sanitizers}]) | ||
| 151 | |||
| 152 | To compile, run: | ||
| 153 | |||
| 154 | cd `pwd` && make -j8 | ||
| 155 | --------------------------------------------------------------------------------" | ||
