# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ([2.68]) AC_INIT([powertop], [2.9-pre], [powertop@lists.01.org], [], [https://01.org/powertop]) AM_INIT_AUTOMAKE([ -Wall 1.12.2 foreign ]) AC_LANG([C++]) AC_CONFIG_FILES([ Makefile src/Makefile traceevent/Makefile po/Makefile.in doc/Makefile ]) AC_CONFIG_SRCDIR([src/main.cpp]) AC_CONFIG_MACRO_DIR([m4]) AC_USE_SYSTEM_EXTENSIONS AC_CONFIG_HEADERS([config.h]) GETTEXT_PACKAGE=powertop AC_SUBST([GETTEXT_PACKAGE]) AM_SILENT_RULES([yes]) AM_GNU_GETTEXT([external]) AM_GNU_GETTEXT_VERSION([0.18.2]) m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) # Checks for programs. AC_PROG_CPP AC_PROG_CXX AC_PROG_LIBTOOL AC_PROG_CC AC_PROG_INSTALL AM_PROG_CC_C_O GCC_FORTIFY_SOURCE_CC AX_CXX_COMPILE_STDCXX_11([noext], [mandatory]) # Checks for libraries. AX_PTHREAD([ LIBS="$PTHREAD_LIBS $LIBS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" CC="$PTHREAD_CC" ], [ AC_MSG_ERROR([Could not configure pthreads support]) ]) # Checks for header files. AC_CHECK_HEADERS([ \ fcntl.h \ libintl.h \ limits.h \ locale.h \ malloc.h \ ncurses.h \ stdint.h \ stdlib.h \ string.h \ sys/ioctl.h \ sys/socket.h \ sys/statfs.h \ sys/time.h \ termios.h \ unistd.h \ ]) # Checks for typedefs, structures, and compiler characteristics. AC_HEADER_STDBOOL AC_C_INLINE AC_TYPE_INT64_T AC_TYPE_PID_T AC_TYPE_SIZE_T AC_TYPE_SSIZE_T AC_TYPE_UINT16_T AC_TYPE_UINT32_T AC_TYPE_UINT64_T # Checks for library functions. AC_FUNC_MALLOC AC_FUNC_MMAP AC_FUNC_REALLOC AC_FUNC_STRTOD AC_CHECK_FUNCS([ \ fdatasync \ getpagesize \ gettimeofday \ memmove \ memset \ mkdir \ munmap \ pow \ realpath \ regcomp \ select \ setlocale \ socket \ sqrt \ strcasecmp \ strchr \ strdup \ strerror \ strncasecmp \ strstr \ strtoul \ strtoull \ ]) AC_SEARCH_LIBS([clock_gettime], [rt]) PKG_CHECK_MODULES([NCURSES], [ncursesw ncurses], [LIBS="$LIBS $ncurses_LIBS"], [ AC_SEARCH_LIBS([delwin], [ncursesw ncurses], [], [ AC_MSG_ERROR([ncurses is required but was not found]) ], []) ]) has_libpci=0 PKG_CHECK_MODULES([PCIUTILS], [libpci],[has_libpci=1], [ AC_SEARCH_LIBS([pci_get_dev], [pci],[has_libpci=1], [has_libpci=0]) ]) has_libnl_ver=0 dnl libnl-2 provides only libnl-2.0.pc file, so we check for separate dnl libnl-genl-3.0.pc pkg-config file just for libnl-3.0 case. PKG_CHECK_MODULES([LIBNL], [libnl-3.0 >= 3.0 libnl-genl-3.0 >= 3.0], [has_libnl_ver=3], [ PKG_CHECK_MODULES([LIBNL], [libnl-2.0 >= 2.0], [has_libnl_ver=2], [ PKG_CHECK_MODULES([LIBNL], [libnl-1], [has_libnl_ver=1], [has_libnl_ver=0]) ]) ]) AS_IF([test "$has_libnl_ver" -eq 0], [ AC_MSG_ERROR([libnl and libnl-genl are required but were not found]) ]) AS_IF([test "$has_libnl_ver" -gt 1], [ AC_DEFINE([HAVE_LIBNL20], [1], [Define if you have libnl-2.0 or higher]) ]) AS_IF([test "$has_libpci" -eq 0], [ AC_DEFINE([HAVE_NO_PCI], [1], [Define if pci is not supported]) AC_MSG_WARN([ ************* LIBPCI SUPPORT NOT CONFIGURED************** If you need or want pci support, please install libpci and re-configure PowerTOP. ********************************************************* ]) ]) AC_SEARCH_LIBS([inet_aton], [resolv], [], [ AC_MSG_ERROR([libresolv is required but was not found]) ], []) AC_OUTPUT