librui : check invalid frame count
[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         if test "x$with_tdm" != "xno"; then
91                 PKG_CHECK_MODULES(LIBTDM,
92                         [libtdm >= 1.7.0],
93                         [AC_DEFINE(HAVE_TDM, 1, [Define if using TDM/TBM graphical backend])
94                         have_libtdm=yes])
95                 if test "x$with_tdm" = "xyes" -a "x$have_libtdm" = "xno"; then
96                         AC_MSG_ERROR([--with-tdm has been specified but libtdm is not available.])
97                 fi
98         fi
99         RECOVERY_GUI="GUI"
100 else
101         RECOVERY_GUI="NO"
102 fi
103
104 AC_SUBST([RECOVERY_GUI])
105 AM_CONDITIONAL([RECOVERY_GUI], [test "x$enable_recovery_gui" != "xno"])
106 AM_CONDITIONAL([HAVE_TDM], [test "x$have_libtdm" = "xyes"])
107
108 SYSTEM_RECOVERY_DATA_DIR="${datadir}/system-recovery"
109 AC_DEFINE_UNQUOTED([SYSTEM_RECOVERY_DATA_DIR], ["$SYSTEM_RECOVERY_DATA_DIR"], "Directory where data for system-recovery UI are stored")
110 AC_SUBST([SYSTEM_RECOVERY_DATA_DIR])
111
112 SYSTEM_RECOVERY_IMAGE_DIR="${datadir}/system-recovery/res/images"
113 AC_DEFINE_UNQUOTED([SYSTEM_RECOVERY_IMAGE_DIR], ["$SYSTEM_RECOVERY_IMAGE_DIR"], "Directory where images for system-recovery UI are stored")
114 AC_SUBST([SYSTEM_RECOVERY_IMAGE_DIR])
115
116 RUI_IMAGES_DIR="${SYSTEM_RECOVERY_IMAGE_DIR}"
117 AC_DEFINE_UNQUOTED([RUI_IMAGES_DIR], ["$RUI_IMAGES_DIR"], "Directory where images for system-recovery UI are stored")
118
119 SYSTEM_RECOVERY_LIBEXEC_DIR="${libexecdir}/system-recovery"
120 AC_DEFINE_UNQUOTED([SYSTEM_RECOVERY_LIBEXEC_DIR], ["$SYSTEM_RECOVERY_LIBEXEC_DIR"], "Directory where sub-programmes for system-recovery UI are stored")
121 AC_SUBST([SYSTEM_RECOVERY_LIBEXEC_DIR])
122
123 SYSTEM_RECOVERY_ACTION_FILE="/opt/.recovery.action"
124 AC_DEFINE_UNQUOTED([SYSTEM_RECOVERY_ACTION_FILE], ["$SYSTEM_RECOVERY_ACTION_FILE"], "File where recovery action is stored")
125 AC_SUBST([SYSTEM_RECOVERY_ACTION_FILE])
126
127 INITRD_RECOVERY_DATA_DIR="${datadir}/initrd-recovery"
128 AC_DEFINE_UNQUOTED([INITRD_RECOVERY_DATA_DIR], ["$INITRD_RECOVERY_DATA_DIR"], "Directory where data for recovery initrd are stored")
129 AC_SUBST([INITRD_RECOVERY_DATA_DIR])
130
131 INITRD_RECOVERY_INSTALL_DROPIN_DIR="${INITRD_RECOVERY_DATA_DIR}/initrd.list.d"
132 AC_DEFINE_UNQUOTED([INITRD_RECOVERY_INSTALL_DROPIN_DIR], ["$INITRD_RECOVERY_INSTALL_DROPIN_DIR"], "Directory where configuration drop-in files for recovery initrd are stored")
133 AC_SUBST([INITRD_RECOVERY_INSTALL_DROPIN_DIR])
134
135 INITRD_RECOVERY_LIBEXEC_DIR="${libexecdir}/initrd-recovery"
136 AC_DEFINE_UNQUOTED([INITRD_RECOVERY_LIBEXEC_DIR], ["$INITRD_RECOVERY_LIBEXEC_DIR"], "Directory where sub-progremmes for recovery initrd are stored")
137 AC_SUBST([INITRD_RECOVERY_LIBEXEC_DIR])
138
139 # ------------------------------------------------------------------------------
140 AC_SUBST(M4_DEFINES)
141
142 # ------------------------------------------------------------------------------
143 AC_CONFIG_FILES([Makefile])
144
145 AC_OUTPUT
146 AC_MSG_RESULT([
147         $PACKAGE_NAME $VERSION
148         =====================
149         prefix:                  ${prefix}
150         recovery gui mode:       ${enable_recovery_gui}
151         with TDM:                ${have_libtdm}
152         OUR CFLAGS:              ${OUR_CFLAGS} ${CFLAGS}
153 ])