# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ([2.69]) AC_INIT([initrd-recovery], [2.1.1], [walyong.cho@samsung.com]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_AUX_DIR([build-aux]) AC_USE_SYSTEM_EXTENSIONS AC_SYS_LARGEFILE AC_PREFIX_DEFAULT([/usr]) AM_INIT_AUTOMAKE([foreign subdir-objects]) LT_PREREQ(2.2) LT_INIT([disable-static]) # Checks for programs. AC_PROG_CC AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET AC_PROG_MKDIR_P AC_PATH_PROG([M4], [m4]) # Checks for libraries. # Checks for header files. AC_CHECK_HEADERS([fcntl.h limits.h mntent.h stdint.h stdlib.h string.h sys/ioctl.h sys/mount.h unistd.h]) # Checks for typedefs, structures, and compiler characteristics. AC_CHECK_HEADER_STDBOOL AC_C_INLINE AC_TYPE_PID_T AC_TYPE_SIZE_T AC_TYPE_UINT32_T # Checks for library functions. AC_FUNC_FORK AC_FUNC_GETMNTENT AC_FUNC_MALLOC AC_FUNC_MMAP AC_CHECK_FUNCS([dup2 getmntent memset munmap strcasecmp strchr strdup strerror strrchr strstr]) # ------------------------------------------------------------------------------ our_cflags=" \ -g -O2 \ -Werror \ -fpie" our_ldflags=" \ -Wl,--as-needed \ -Wl,--no-undefined \ -Wl,--gc-sections \ -Wl,-z,relro \ -Wl,-z,now \ -pie" AC_SUBST([OUR_CFLAGS], "$our_cflags") AC_SUBST([OUR_LDFLAGS], "$our_ldflags") M4_DEFINES= # ------------------------------------------------------------------------------ AC_ARG_WITH([tdm], AS_HELP_STRING([--without-tdm], [disable TDM/TBM graphical backend (default: test)])) PKG_CHECK_MODULES([LIBCONFIG], [libconfig >= 1.6], have_libconfig=yes, have_libconfig=no) if test "x$have_libconfig" = "xno"; then AC_MSG_ERROR([libconfig not found]) fi AC_ARG_ENABLE([recovery-gui], AS_HELP_STRING([--disable-recovery-gui], [disable recovery gui mode]), [case "${enableval}" in yes) enable_recovery_gui=yes ;; no) enable_recovery_gui=no ;; *) AC_MSG_ERROR(bad value ${enableval} for --disable-recovery-gui) ;; esac], enable_recovery_gui=yes) have_libtdm=no if test "x$enable_recovery_gui" == "xyes"; then M4_DEFINES="$M4_DEFINES -DRECOVERY_GUI" AC_SUBST([OUR_CFLAGS], "$OUR_CFLAGS -DRECOVERY_GUI") PKG_CHECK_MODULES(LIBPNG, [libpng]) PKG_CHECK_MODULES(VCONF_INTERNAL_KEYS, [vconf-internal-keys]) if test "x$with_tdm" != "xno"; then PKG_CHECK_MODULES(LIBTDM, [libtdm >= 1.7.0], [AC_DEFINE(HAVE_TDM, 1, [Define if using TDM/TBM graphical backend]) have_libtdm=yes]) if test "x$with_tdm" = "xyes" -a "x$have_libtdm" = "xno"; then AC_MSG_ERROR([--with-tdm has been specified but libtdm is not available.]) fi fi RECOVERY_GUI="GUI" else RECOVERY_GUI="NO" fi AC_SUBST([RECOVERY_GUI]) AM_CONDITIONAL([RECOVERY_GUI], [test "x$enable_recovery_gui" != "xno"]) AM_CONDITIONAL([HAVE_TDM], [test "x$have_libtdm" = "xyes"]) SYSTEM_RECOVERY_DATA_DIR="${datadir}/system-recovery" AC_DEFINE_UNQUOTED([SYSTEM_RECOVERY_DATA_DIR], ["$SYSTEM_RECOVERY_DATA_DIR"], "Directory where data for system-recovery UI are stored") AC_SUBST([SYSTEM_RECOVERY_DATA_DIR]) SYSTEM_RECOVERY_IMAGE_DIR="${datadir}/system-recovery/res/images" AC_DEFINE_UNQUOTED([SYSTEM_RECOVERY_IMAGE_DIR], ["$SYSTEM_RECOVERY_IMAGE_DIR"], "Directory where images for system-recovery UI are stored") AC_SUBST([SYSTEM_RECOVERY_IMAGE_DIR]) RUI_IMAGES_DIR="${SYSTEM_RECOVERY_IMAGE_DIR}" AC_DEFINE_UNQUOTED([RUI_IMAGES_DIR], ["$RUI_IMAGES_DIR"], "Directory where images for system-recovery UI are stored") SYSTEM_RECOVERY_LIBEXEC_DIR="${libexecdir}/system-recovery" AC_DEFINE_UNQUOTED([SYSTEM_RECOVERY_LIBEXEC_DIR], ["$SYSTEM_RECOVERY_LIBEXEC_DIR"], "Directory where sub-programmes for system-recovery UI are stored") AC_SUBST([SYSTEM_RECOVERY_LIBEXEC_DIR]) SYSTEM_RECOVERY_ACTION_FILE="/opt/.recovery.action" AC_DEFINE_UNQUOTED([SYSTEM_RECOVERY_ACTION_FILE], ["$SYSTEM_RECOVERY_ACTION_FILE"], "File where recovery action is stored") AC_SUBST([SYSTEM_RECOVERY_ACTION_FILE]) INITRD_RECOVERY_DATA_DIR="${datadir}/initrd-recovery" AC_DEFINE_UNQUOTED([INITRD_RECOVERY_DATA_DIR], ["$INITRD_RECOVERY_DATA_DIR"], "Directory where data for recovery initrd are stored") AC_SUBST([INITRD_RECOVERY_DATA_DIR]) INITRD_RECOVERY_INSTALL_DROPIN_DIR="${INITRD_RECOVERY_DATA_DIR}/initrd.list.d" AC_DEFINE_UNQUOTED([INITRD_RECOVERY_INSTALL_DROPIN_DIR], ["$INITRD_RECOVERY_INSTALL_DROPIN_DIR"], "Directory where configuration drop-in files for recovery initrd are stored") AC_SUBST([INITRD_RECOVERY_INSTALL_DROPIN_DIR]) INITRD_RECOVERY_LIBEXEC_DIR="${libexecdir}/initrd-recovery" AC_DEFINE_UNQUOTED([INITRD_RECOVERY_LIBEXEC_DIR], ["$INITRD_RECOVERY_LIBEXEC_DIR"], "Directory where sub-progremmes for recovery initrd are stored") AC_SUBST([INITRD_RECOVERY_LIBEXEC_DIR]) # ------------------------------------------------------------------------------ AC_SUBST(M4_DEFINES) # ------------------------------------------------------------------------------ AC_CONFIG_FILES([Makefile]) AC_OUTPUT AC_MSG_RESULT([ $PACKAGE_NAME $VERSION ===================== prefix: ${prefix} recovery gui mode: ${enable_recovery_gui} with TDM: ${have_libtdm} OUR CFLAGS: ${OUR_CFLAGS} ${CFLAGS} ])