2022-11-11 20:53:20 +00:00
|
|
|
AC_INIT([rofi], [1.7.5-dev], [https://github.com/davatorium/rofi/],[],[https://github.com/davatorium/rofi/discussions])
|
2014-03-17 17:00:09 +00:00
|
|
|
|
2014-03-18 07:59:42 +00:00
|
|
|
AC_CONFIG_SRCDIR([source/rofi.c])
|
2014-03-17 17:00:09 +00:00
|
|
|
AC_CONFIG_HEADER([config.h])
|
2017-05-04 11:32:20 +00:00
|
|
|
AH_BOTTOM([#include "gitconfig.h"])
|
2014-03-17 17:00:09 +00:00
|
|
|
|
2017-03-11 13:55:58 +00:00
|
|
|
dnl ---------------------------------------------------------------------
|
|
|
|
dnl Lex & Bison language parser.
|
|
|
|
dnl ---------------------------------------------------------------------
|
2021-01-04 21:56:40 +00:00
|
|
|
AC_PROG_LEX
|
2016-12-09 18:49:49 +00:00
|
|
|
AC_PROG_YACC
|
|
|
|
|
2020-09-03 19:08:17 +00:00
|
|
|
|
|
|
|
AC_DEFUN([AX_PROG_BISON], [
|
|
|
|
AC_REQUIRE([AC_PROG_YACC])
|
|
|
|
AC_REQUIRE([AC_PROG_EGREP])
|
|
|
|
|
|
|
|
AC_CACHE_CHECK([if bison is the parser generator],[ax_cv_prog_bison],[
|
|
|
|
AS_IF([$YACC --version 2>/dev/null | $EGREP -q '^bison '],
|
|
|
|
[ax_cv_prog_bison=yes], [ax_cv_prog_bison=no])
|
|
|
|
])
|
|
|
|
AS_IF([test "$ax_cv_prog_bison" = "yes"], [
|
|
|
|
dnl replace the yacc-compatible compiler with the real bison, as
|
|
|
|
dnl otherwise autoconf limits us to the POSIX yacc.
|
|
|
|
dnl We also change the generated filename to the old one, so that
|
|
|
|
dnl automake's ylwrap can deal with it.
|
|
|
|
YACC="${YACC% -y} -o y.tab.c"
|
|
|
|
] m4_ifnblank([$1], [[$1]]),
|
|
|
|
m4_ifnblank([$2], [[$2]])
|
|
|
|
)
|
|
|
|
])
|
|
|
|
|
|
|
|
AX_PROG_BISON([],[AC_MSG_ERROR("Failed to find bison")])
|
2017-02-23 20:55:37 +00:00
|
|
|
|
2017-04-04 16:59:35 +00:00
|
|
|
m4_include([m4/ax_prog_flex_version.m4])
|
|
|
|
m4_include([m4/ax_compare_version.m4])
|
|
|
|
AC_SUBST([FLEX], [${LEX}])
|
|
|
|
AX_PROG_FLEX_VERSION([2.5.39],,AC_MSG_ERROR("Require flex version 2.5.39 or higher"))
|
|
|
|
#
|
|
|
|
|
2015-11-14 12:47:45 +00:00
|
|
|
dnl ---------------------------------------------------------------------
|
|
|
|
dnl Setup automake to be silent and in foreign mode.
|
2015-12-06 16:12:41 +00:00
|
|
|
dnl We want xz distribution
|
2015-11-14 12:47:45 +00:00
|
|
|
dnl ---------------------------------------------------------------------
|
2015-03-02 21:23:55 +00:00
|
|
|
AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects dist-xz])
|
2014-03-17 23:11:46 +00:00
|
|
|
AM_SILENT_RULES([yes])
|
2014-03-17 17:00:09 +00:00
|
|
|
|
2015-11-14 12:47:45 +00:00
|
|
|
dnl ---------------------------------------------------------------------
|
|
|
|
dnl Check for compiler
|
|
|
|
dnl ---------------------------------------------------------------------
|
2015-02-18 13:00:19 +00:00
|
|
|
AC_PROG_CC([clang gcc cc])
|
2015-12-06 16:12:41 +00:00
|
|
|
|
|
|
|
dnl ---------------------------------------------------------------------
|
|
|
|
dnl C99 standard
|
|
|
|
dnl ---------------------------------------------------------------------
|
2015-02-18 13:00:19 +00:00
|
|
|
AC_PROG_CC_C99
|
2015-12-06 16:12:41 +00:00
|
|
|
|
|
|
|
dnl ---------------------------------------------------------------------
|
|
|
|
dnl C to Object rules.
|
|
|
|
dnl ---------------------------------------------------------------------
|
2015-03-01 18:50:54 +00:00
|
|
|
AM_PROG_CC_C_O
|
2014-03-17 17:00:09 +00:00
|
|
|
|
2015-12-06 16:12:41 +00:00
|
|
|
dnl ---------------------------------------------------------------------
|
|
|
|
dnl System extensions
|
|
|
|
dnl ---------------------------------------------------------------------
|
2014-08-22 07:26:46 +00:00
|
|
|
AC_USE_SYSTEM_EXTENSIONS
|
|
|
|
|
2016-02-19 21:43:53 +00:00
|
|
|
dnl ---------------------------------------------------------------------
|
|
|
|
dnl Static libraries programs
|
|
|
|
dnl ---------------------------------------------------------------------
|
|
|
|
AC_PROG_RANLIB
|
|
|
|
AM_PROG_AR
|
|
|
|
|
2016-02-16 10:12:58 +00:00
|
|
|
dnl ---------------------------------------------------------------------
|
|
|
|
dnl Base CFLAGS
|
|
|
|
dnl ---------------------------------------------------------------------
|
2024-07-08 20:52:03 +00:00
|
|
|
AM_CFLAGS="-Wall -Wextra -Wparentheses -Wno-inline -pedantic -Wno-overlength-strings -Wunreachable-code"
|
2016-02-16 10:12:58 +00:00
|
|
|
|
2015-12-31 18:09:25 +00:00
|
|
|
dnl ---------------------------------------------------------------------
|
|
|
|
dnl Enable source code coverage reporting for GCC
|
|
|
|
dnl ---------------------------------------------------------------------
|
|
|
|
|
2017-03-19 17:03:48 +00:00
|
|
|
AC_ARG_ENABLE([gcov],
|
|
|
|
[AS_HELP_STRING ([--enable-gcov],[Enable source code coverage testing using gcov])],
|
2016-02-16 10:12:58 +00:00
|
|
|
[AM_CFLAGS="${AM_CFLAGS} -coverage"])
|
2016-11-25 20:47:28 +00:00
|
|
|
AS_IF([test "x${enable_gcov}" = "xyes" ], [AC_DEFINE([ENABLE_GCOV], [1], [Enable gcov profiling])])
|
2017-07-27 21:35:46 +00:00
|
|
|
|
|
|
|
AC_ARG_ENABLE([asan], [AS_HELP_STRING ([--enable-asan],[Enable asan support])])
|
|
|
|
AS_IF([test "x${enable_asan}" = "xyes" ], [
|
|
|
|
AC_DEFINE([ENABLE_ASAN], [1], [Enable libasan])
|
|
|
|
AM_CFLAGS="${AM_CFLAGS} -fsanitize=address -fno-omit-frame-pointer -g3"]
|
|
|
|
|
|
|
|
])
|
2016-08-29 06:46:21 +00:00
|
|
|
|
|
|
|
|
2016-08-29 19:38:29 +00:00
|
|
|
dnl --------------------------------------------------------------------
|
2022-02-23 22:25:56 +00:00
|
|
|
dnl DRun Mode
|
2016-08-29 19:38:29 +00:00
|
|
|
dnl --------------------------------------------------------------------
|
2022-02-23 22:25:56 +00:00
|
|
|
AC_ARG_ENABLE([drun], AS_HELP_STRING([--disable-drun],[Disable desktop file run mode]))
|
|
|
|
AS_IF([test "x${enable_drun}" != "xno"], [AC_DEFINE([ENABLE_DRUN], [1], [Enable desktop file run mode])])
|
2017-03-11 13:55:58 +00:00
|
|
|
|
2015-09-14 07:01:05 +00:00
|
|
|
dnl ---------------------------------------------------------------------
|
|
|
|
dnl Disable window mode
|
|
|
|
dnl ---------------------------------------------------------------------
|
2017-03-19 17:03:48 +00:00
|
|
|
AC_ARG_ENABLE([windowmode], AS_HELP_STRING([--disable-windowmode],[Disable window mode]))
|
2015-09-20 09:45:28 +00:00
|
|
|
AS_IF([ test "x$enable_windowmode" != "xno"], [AC_DEFINE([WINDOW_MODE],[1],[Enable the window mode])])
|
2015-09-14 06:57:10 +00:00
|
|
|
|
2015-11-14 12:47:45 +00:00
|
|
|
|
|
|
|
dnl ---------------------------------------------------------------------
|
|
|
|
dnl Check for C functions.
|
|
|
|
dnl ---------------------------------------------------------------------
|
2016-04-14 17:20:37 +00:00
|
|
|
AC_CHECK_FUNC([getline],, AC_MSG_ERROR("Could not find getline in c library"))
|
2016-09-17 16:57:44 +00:00
|
|
|
AC_CHECK_FUNC([open],, AC_MSG_ERROR("Could not find open in c library"))
|
2015-11-12 16:20:51 +00:00
|
|
|
AC_CHECK_FUNC([sysconf],, AC_MSG_ERROR("Could not find sysconf"))
|
2016-04-14 17:20:37 +00:00
|
|
|
AC_CHECK_FUNC([strtok_r],, AC_MSG_ERROR("Could not find strtok_r"))
|
|
|
|
AC_CHECK_FUNC([flock],, AC_MSG_ERROR("Could not find flock"))
|
|
|
|
AC_CHECK_FUNC([ftruncate],,AC_MSG_ERROR("Could not find ftruncate"))
|
|
|
|
AC_CHECK_FUNC([fcntl],, AC_MSG_ERROR("Could not find fcntl"))
|
2016-08-23 22:39:56 +00:00
|
|
|
AC_CHECK_FUNC([setlocale],,AC_MSG_ERROR("Could not find setlocale"))
|
2017-03-08 15:56:28 +00:00
|
|
|
AC_CHECK_FUNC([atexit],, AC_MSG_ERROR("Could not find atexit in c library"))
|
|
|
|
AC_CHECK_FUNC([glob],, AC_MSG_ERROR("Could not find glob in c library"))
|
2020-10-12 18:32:25 +00:00
|
|
|
AC_CHECK_FUNC([readdir],, AC_MSG_ERROR("Could not find readdir in c library"))
|
2015-11-14 12:47:45 +00:00
|
|
|
|
2017-02-06 21:08:10 +00:00
|
|
|
AC_CHECK_HEADER([math.h],, AC_MSG_ERROR("Could not find math.h header file"))
|
2017-02-09 07:45:15 +00:00
|
|
|
AC_SEARCH_LIBS([floor],[m],, AC_MSG_ERROR("Could not find floor in math library"))
|
|
|
|
AC_SEARCH_LIBS([ceil], [m],, AC_MSG_ERROR("Could not find ceil in math library"))
|
2022-01-25 10:23:40 +00:00
|
|
|
AC_SEARCH_LIBS([round], [m],, AC_MSG_ERROR("Could not find round in math library"))
|
2017-02-06 21:08:10 +00:00
|
|
|
|
2019-01-07 16:19:33 +00:00
|
|
|
AC_CHECK_HEADER([sysexits.h],, AC_MSG_ERROR("Could not find the sysexists.h header file"))
|
2020-10-17 19:59:12 +00:00
|
|
|
AC_CHECK_HEADER([setjmp.h],, AC_MSG_ERROR("Could not find the setjmp.h header file"))
|
2019-01-07 16:19:33 +00:00
|
|
|
|
2015-11-14 12:47:45 +00:00
|
|
|
dnl ---------------------------------------------------------------------
|
|
|
|
dnl Check dependencies
|
|
|
|
dnl ---------------------------------------------------------------------
|
2014-03-17 17:00:09 +00:00
|
|
|
PKG_PROG_PKG_CONFIG
|
|
|
|
|
2015-12-06 16:12:41 +00:00
|
|
|
|
|
|
|
dnl ---------------------------------------------------------------------
|
2017-03-06 09:36:12 +00:00
|
|
|
dnl PKG_CONFIG based dependencies
|
2015-12-06 16:12:41 +00:00
|
|
|
dnl ---------------------------------------------------------------------
|
2019-04-19 08:15:06 +00:00
|
|
|
glib_min_major="2"
|
2024-02-27 19:46:34 +00:00
|
|
|
glib_min_minor="72"
|
2019-04-19 08:15:06 +00:00
|
|
|
glib_min_version="${glib_min_major}.${glib_min_minor}"
|
2017-04-12 16:08:57 +00:00
|
|
|
NK_INIT([bindings xdg-theme])
|
2019-04-19 08:15:06 +00:00
|
|
|
PKG_CHECK_MODULES([glib], [glib-2.0 >= ${glib_min_version} gio-unix-2.0 gmodule-2.0])
|
|
|
|
AC_DEFINE_UNQUOTED([GLIB_VERSION_MIN_REQUIRED], [(G_ENCODE_VERSION(${glib_min_major},${glib_min_minor}))], [The lower GLib version supported])
|
|
|
|
AC_DEFINE_UNQUOTED([GLIB_VERSION_MAX_ALLOWED], [(G_ENCODE_VERSION(${glib_min_major},${glib_min_minor}))], [The highest GLib version supported])
|
2024-07-30 18:14:02 +00:00
|
|
|
GW_CHECK_XCB([xcb-aux xcb-xkb xkbcommon xkbcommon-x11 xcb-ewmh xcb-icccm xcb-cursor xcb-randr xcb-xinerama xcb-keysyms ])
|
2022-11-15 16:18:51 +00:00
|
|
|
|
|
|
|
|
2022-11-17 16:49:16 +00:00
|
|
|
AC_ARG_ENABLE([imdkit], AS_HELP_STRING([--enable-imdkit], [Build with checks using check library (default: disabled)]))
|
2022-11-15 16:18:51 +00:00
|
|
|
|
2022-11-17 16:49:16 +00:00
|
|
|
AS_IF([test "x${enable_imdkit}" = "xyes"], [
|
2022-11-08 18:18:45 +00:00
|
|
|
PKG_CHECK_MODULES([imdclient], [xcb-imdkit <= 1.0.2 ],
|
|
|
|
[AC_DEFINE([XCB_IMDKIT_1_0_3_LOWER], [1], [Indicate lower version of imdclient])
|
|
|
|
AC_DEFINE([XCB_IMDKIT],[1], [IMD Kit missing])],
|
|
|
|
[PKG_CHECK_MODULES([imdclient], [xcb-imdkit >= 1.0.3],[AC_DEFINE([XCB_IMDKIT],[1], [IMD Kit missing])],[HAVE_IMDKIT=0])])
|
2022-11-15 16:18:51 +00:00
|
|
|
])
|
2015-09-26 18:34:34 +00:00
|
|
|
PKG_CHECK_MODULES([pango], [pango pangocairo])
|
2021-08-14 11:03:16 +00:00
|
|
|
PKG_CHECK_MODULES([cairo], [cairo cairo-xcb])
|
2017-03-06 09:36:12 +00:00
|
|
|
PKG_CHECK_MODULES([libsn], [libstartup-notification-1.0 ])
|
2020-10-20 18:38:13 +00:00
|
|
|
PKG_CHECK_MODULES([gdkpixbuf], [gdk-pixbuf-2.0])
|
2017-04-30 18:03:31 +00:00
|
|
|
|
2017-05-18 05:59:37 +00:00
|
|
|
dnl ---------------------------------------------------------------------
|
|
|
|
dnl check - Unit testing.
|
|
|
|
dnl ---------------------------------------------------------------------
|
2017-04-30 18:03:31 +00:00
|
|
|
AC_ARG_ENABLE([check], AS_HELP_STRING([--disable-check], [Build with checks using check library (default: enabled)]))
|
|
|
|
|
|
|
|
AS_IF([test "x${enable_check}" != "xno"], [ PKG_CHECK_MODULES([check],[check >= 0.11.0], [HAVE_CHECK=1]) ])
|
|
|
|
AM_CONDITIONAL([USE_CHECK], [test "x${enable_check}" != "xno" && test "$HAVE_CHECK" -eq 1])
|
|
|
|
|
2024-03-05 15:22:47 +00:00
|
|
|
dnl ---------------------------------------------------------------------
|
|
|
|
dnl Build man pages
|
|
|
|
dnl ---------------------------------------------------------------------
|
|
|
|
AC_ARG_ENABLE([man], AS_HELP_STRING([--disable-man], [Build man pages (default: enabled)]))
|
|
|
|
|
|
|
|
AS_IF([test "x$enable_man" != "xno" ], [ AC_CHECK_PROG([pandoc], pandoc, [yes])])
|
|
|
|
AM_CONDITIONAL([FOUND_PANDOC], [test "x$pandoc" = xyes])
|
2014-03-17 17:00:09 +00:00
|
|
|
|
2017-10-31 18:31:58 +00:00
|
|
|
dnl ---------------------------------------------------------------------
|
|
|
|
dnl Gets the resource compile tool path.
|
|
|
|
dnl ---------------------------------------------------------------------
|
|
|
|
AM_PATH_GLIB_2_0
|
|
|
|
|
2015-12-06 16:12:41 +00:00
|
|
|
dnl ---------------------------------------------------------------------
|
|
|
|
dnl Add extra compiler flags
|
|
|
|
dnl ---------------------------------------------------------------------
|
2016-02-16 10:12:58 +00:00
|
|
|
AC_SUBST([AM_CFLAGS])
|
2014-03-17 17:00:09 +00:00
|
|
|
|
2017-02-16 21:32:15 +00:00
|
|
|
AC_CONFIG_FILES([Makefile doc/rofi.doxy pkgconfig/rofi.pc])
|
2014-03-17 17:00:09 +00:00
|
|
|
AC_OUTPUT
|
2015-03-24 15:02:03 +00:00
|
|
|
|
|
|
|
echo ""
|
|
|
|
echo "-------------------------------------"
|
2016-09-26 09:56:20 +00:00
|
|
|
if test x$enable_drun != xno; then
|
2022-02-23 22:25:56 +00:00
|
|
|
echo "Desktop File drun Enabled"
|
2016-08-29 19:38:29 +00:00
|
|
|
else
|
2022-02-23 22:25:56 +00:00
|
|
|
echo "Desktop File drun Disabled"
|
2016-08-29 19:38:29 +00:00
|
|
|
fi
|
|
|
|
if test x$enable_windowmode != xno; then
|
2022-02-23 22:25:56 +00:00
|
|
|
echo "Window switcher mode Enabled"
|
2016-08-29 19:38:29 +00:00
|
|
|
else
|
2022-02-23 22:25:56 +00:00
|
|
|
echo "Window switcher Mode Disabled"
|
2016-08-29 19:38:29 +00:00
|
|
|
fi
|
2017-03-28 18:12:22 +00:00
|
|
|
if test x$enable_asan = xyes; then
|
|
|
|
echo "Asan address sanitize Enabled"
|
|
|
|
else
|
|
|
|
echo "Asan address sanitize Disabled"
|
|
|
|
fi
|
|
|
|
if test x$enable_gcov = xyes; then
|
|
|
|
echo "Code Coverage Enabled"
|
|
|
|
else
|
|
|
|
echo "Code Coverage Disabled"
|
|
|
|
fi
|
2017-04-30 18:03:31 +00:00
|
|
|
if test "x${enable_check}" != "xno" && test "$HAVE_CHECK" -eq 1; then
|
|
|
|
echo "Check based tests Enabled"
|
|
|
|
else
|
|
|
|
echo "Check based tests Disabled"
|
|
|
|
fi
|
2024-03-05 15:22:47 +00:00
|
|
|
if test "x${enable_man}" != "xno" && test "x$pandoc" = "xyes"; then
|
|
|
|
echo "Build man pages Enabled"
|
|
|
|
else
|
|
|
|
echo "Build man pages Disabled"
|
|
|
|
fi
|
2015-03-24 15:02:03 +00:00
|
|
|
echo "-------------------------------------"
|
|
|
|
echo "Now type 'make' to build"
|
|
|
|
echo ""
|