init: Set PATH to sane value
[platform/core/system/initrd-recovery.git] / configure.ac
1 #                                               -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
3
4 AC_PREREQ([2.69])
5 AC_INIT([initrd-recovery], [2.1.1], [walyong.cho@samsung.com])
6
7 AC_CONFIG_MACRO_DIR([m4])
8 AC_CONFIG_HEADERS([config.h])
9 AC_CONFIG_AUX_DIR([build-aux])
10
11 AC_USE_SYSTEM_EXTENSIONS
12 AC_SYS_LARGEFILE
13 AC_PREFIX_DEFAULT([/usr])
14 AM_INIT_AUTOMAKE([foreign subdir-objects])
15
16 LT_PREREQ(2.2)
17 LT_INIT([disable-static])
18
19 # Checks for programs.
20 AC_PROG_CC
21 AC_PROG_INSTALL
22 AC_PROG_LN_S
23 AC_PROG_MAKE_SET
24 AC_PROG_MKDIR_P
25 AC_PATH_PROG([M4], [m4])
26
27 # Checks for libraries.
28
29 # Checks for header files.
30 AC_CHECK_HEADERS([fcntl.h limits.h mntent.h stdint.h stdlib.h string.h sys/ioctl.h sys/mount.h unistd.h])
31
32 # Checks for typedefs, structures, and compiler characteristics.
33 AC_CHECK_HEADER_STDBOOL
34 AC_C_INLINE
35 AC_TYPE_PID_T
36 AC_TYPE_SIZE_T
37 AC_TYPE_UINT32_T
38
39 # Checks for library functions.
40 AC_FUNC_FORK
41 AC_FUNC_GETMNTENT
42 AC_FUNC_MALLOC
43 AC_FUNC_MMAP
44 AC_CHECK_FUNCS([dup2 getmntent memset munmap strcasecmp strchr strdup strerror strrchr strstr])
45
46 # ------------------------------------------------------------------------------
47 our_cflags=" \
48         -g -O2 \
49         -Werror \
50         -fpie"
51
52 our_ldflags=" \
53         -Wl,--as-needed \
54         -Wl,--no-undefined \
55         -Wl,--gc-sections \
56         -Wl,-z,relro \
57         -Wl,-z,now \
58         -pie"
59
60 AC_SUBST([OUR_CFLAGS], "$our_cflags")
61 AC_SUBST([OUR_LDFLAGS], "$our_ldflags")
62
63 M4_DEFINES=
64 # ------------------------------------------------------------------------------
65 AC_ARG_WITH([tdm],
66         AS_HELP_STRING([--without-tdm], [disable TDM/TBM graphical backend (default: test)]))
67 PKG_CHECK_MODULES([LIBCONFIG],
68         [libconfig >= 1.6],
69         have_libconfig=yes,
70         have_libconfig=no)
71
72 if test "x$have_libconfig" = "xno"; then
73         AC_MSG_ERROR([libconfig not found])
74 fi
75
76 AC_ARG_ENABLE([recovery-gui],
77         AS_HELP_STRING([--disable-recovery-gui], [disable recovery gui mode]),
78                 [case "${enableval}" in
79                         yes) enable_recovery_gui=yes ;;
80                         no) enable_recovery_gui=no ;;
81                         *) AC_MSG_ERROR(bad value ${enableval} for --disable-recovery-gui) ;;
82                 esac],
83                 enable_recovery_gui=yes)
84
85 have_libtdm=no
86 if test "x$enable_recovery_gui" == "xyes"; then
87         M4_DEFINES="$M4_DEFINES -DRECOVERY_GUI"
88         AC_SUBST([OUR_CFLAGS], "$OUR_CFLAGS -DRECOVERY_GUI")
89         PKG_CHECK_MODULES(LIBPNG, [libpng])
90         PKG_CHECK_MODULES(VCONF_INTERNAL_KEYS, [vconf-internal-keys])
91         if test "x$with_tdm" != "xno"; then
92                 PKG_CHECK_MODULES(LIBTDM,
93                         [libtdm >= 1.7.0],
94                         [AC_DEFINE(HAVE_TDM, 1, [Define if using TDM/TBM graphical backend])
95                         have_libtdm=yes])
96                 if test "x$with_tdm" = "xyes" -a "x$have_libtdm" = "xno"; then
97                         AC_MSG_ERROR([--with-tdm has been specified but libtdm is not available.])
98                 fi
99         fi
100         RECOVERY_GUI="GUI"
101 else
102         RECOVERY_GUI="NO"
103 fi
104
105 AC_SUBST([RECOVERY_GUI])
106 AM_CONDITIONAL([RECOVERY_GUI], [test "x$enable_recovery_gui" != "xno"])
107 AM_CONDITIONAL([HAVE_TDM], [test "x$have_libtdm" = "xyes"])
108
109 SYSTEM_RECOVERY_DATA_DIR="${datadir}/system-recovery"
110 AC_DEFINE_UNQUOTED([SYSTEM_RECOVERY_DATA_DIR], ["$SYSTEM_RECOVERY_DATA_DIR"], "Directory where data for system-recovery UI are stored")
111 AC_SUBST([SYSTEM_RECOVERY_DATA_DIR])
112
113 SYSTEM_RECOVERY_IMAGE_DIR="${datadir}/system-recovery/res/images"
114 AC_DEFINE_UNQUOTED([SYSTEM_RECOVERY_IMAGE_DIR], ["$SYSTEM_RECOVERY_IMAGE_DIR"], "Directory where images for system-recovery UI are stored")
115 AC_SUBST([SYSTEM_RECOVERY_IMAGE_DIR])
116
117 RUI_IMAGES_DIR="${SYSTEM_RECOVERY_IMAGE_DIR}"
118 AC_DEFINE_UNQUOTED([RUI_IMAGES_DIR], ["$RUI_IMAGES_DIR"], "Directory where images for system-recovery UI are stored")
119
120 SYSTEM_RECOVERY_LIBEXEC_DIR="${libexecdir}/system-recovery"
121 AC_DEFINE_UNQUOTED([SYSTEM_RECOVERY_LIBEXEC_DIR], ["$SYSTEM_RECOVERY_LIBEXEC_DIR"], "Directory where sub-programmes for system-recovery UI are stored")
122 AC_SUBST([SYSTEM_RECOVERY_LIBEXEC_DIR])
123
124 INITRD_RECOVERY_DATA_DIR="${datadir}/initrd-recovery"
125 AC_DEFINE_UNQUOTED([INITRD_RECOVERY_DATA_DIR], ["$INITRD_RECOVERY_DATA_DIR"], "Directory where data for recovery initrd are stored")
126 AC_SUBST([INITRD_RECOVERY_DATA_DIR])
127
128 INITRD_RECOVERY_INSTALL_DROPIN_DIR="${INITRD_RECOVERY_DATA_DIR}/initrd.list.d"
129 AC_DEFINE_UNQUOTED([INITRD_RECOVERY_INSTALL_DROPIN_DIR], ["$INITRD_RECOVERY_INSTALL_DROPIN_DIR"], "Directory where configuration drop-in files for recovery initrd are stored")
130 AC_SUBST([INITRD_RECOVERY_INSTALL_DROPIN_DIR])
131
132 INITRD_RECOVERY_LIBEXEC_DIR="${libexecdir}/initrd-recovery"
133 AC_DEFINE_UNQUOTED([INITRD_RECOVERY_LIBEXEC_DIR], ["$INITRD_RECOVERY_LIBEXEC_DIR"], "Directory where sub-progremmes for recovery initrd are stored")
134 AC_SUBST([INITRD_RECOVERY_LIBEXEC_DIR])
135 # ------------------------------------------------------------------------------
136 AC_SUBST(M4_DEFINES)
137
138 # ------------------------------------------------------------------------------
139 AC_CONFIG_FILES([Makefile])
140
141 AC_OUTPUT
142 AC_MSG_RESULT([
143         $PACKAGE_NAME $VERSION
144         =====================
145         prefix:                  ${prefix}
146         recovery gui mode:       ${enable_recovery_gui}
147         with TDM:                ${have_libtdm}
148         OUR CFLAGS:              ${OUR_CFLAGS} ${CFLAGS}
149 ])