summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac294
1 files changed, 294 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..fe69563
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,294 @@
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+m4_define([v_maj], [1])
+m4_define([v_min], [7])
+m4_define([v_mic], [1])
+m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v '\(export\|Unversioned directory\)' || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
+m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))])
+##-- When released, remove the dnl on the below line
+m4_undefine([v_rev])
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])], [m4_define([v_ver], [v_maj.v_min.v_mic])])
+m4_define([lt_cur], m4_eval(v_maj + v_min))
+m4_define([lt_rev], v_mic)
+m4_define([lt_age], v_min)
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+
+AC_INIT([eeze], [v_ver], [enlightenment-devel@lists.sourceforge.net])
+AC_PREREQ([2.52])
+AC_CONFIG_SRCDIR([configure.ac])
+AC_CONFIG_MACRO_DIR([m4])
+
+AC_CONFIG_HEADERS([config.h])
+AH_TOP([
+#ifndef EFL_CONFIG_H__
+#define EFL_CONFIG_H__
+])
+AH_BOTTOM([
+#endif /* EFL_CONFIG_H__ */
+])
+
+AM_INIT_AUTOMAKE([1.6 dist-bzip2])
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
+define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl
+define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
+AC_PROG_LIBTOOL
+
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
+m4_ifdef([v_rel], , [m4_define([v_rel], [])])
+AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
+AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
+AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
+AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
+version_info="lt_cur:lt_rev:lt_age"
+release_info="v_rel"
+AC_SUBST(version_info)
+AC_SUBST(release_info)
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+VMAJ=v_maj
+AC_SUBST(VMAJ)
+
+### Needed information
+
+AC_CANONICAL_BUILD
+AC_CANONICAL_HOST
+
+requirement_eeze="ecore >= 1.6.99 eina >= 1.6.99 libudev"
+
+
+### Checks for programs
+AC_PROG_CC
+AM_PROG_CC_C_O
+AC_C___ATTRIBUTE__
+
+# pkg-config
+PKG_PROG_PKG_CONFIG
+
+# Check whether pkg-config supports Requires.private
+AS_IF(
+ [$PKG_CONFIG --atleast-pkgconfig-version 0.22],
+ [pkgconfig_requires_private="Requires.private"],
+ [pkgconfig_requires_private="Requires"]
+)
+AC_SUBST(pkgconfig_requires_private)
+
+# doxygen program for documentation building
+
+EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
+
+
+### Checks for libraries
+
+PKG_CHECK_MODULES([EEZE], [${requirement_eeze}])
+
+udev_version=$(pkg-config libudev --modversion)
+
+if test $udev_version -lt 143;then
+ AC_MSG_ERROR([udev version is too old!])
+elif test $udev_version -lt 148;then
+ AC_MSG_WARN([Old udev version detected, enabling compat code])
+ AC_DEFINE([OLD_UDEV_RRRRRRRRRRRRRR],[1],[compat functionality for udev < 148])
+fi
+
+eeze_mount=
+PKG_CHECK_EXISTS([mount >= 2.18.0],
+ [
+ AC_DEFINE([HAVE_EEZE_MOUNT], [1], [Eeze is mount-capable])
+ AM_CONDITIONAL([HAVE_EEZE_MOUNT], [true])
+ eeze_mount="yes"
+ ],
+ AM_CONDITIONAL([HAVE_EEZE_MOUNT], [false])
+)
+
+if test "x$eeze_mount" = "xyes";then
+ AC_ARG_WITH([mount], [AS_HELP_STRING([--with-mount], [specify mount bin @<:@default=detect@:>@])], [with_mount=$withval], [with_mount="detect"])
+ AC_ARG_WITH([umount], [AS_HELP_STRING([--with-umount], [specify umount bin @<:@default=detect@:>@])], [with_umount=$withval], [with_umount="detect"])
+ AC_ARG_WITH([eject], [AS_HELP_STRING([--with-eject], [specify eject bin @<:@default=detect@:>@])], [with_eject=$withval], [with_eject="detect"])
+ PKG_CHECK_MODULES([LIBMOUNT], [mount >= 2.18.0])
+ mount_v=$(pkg-config --modversion mount)
+ PKG_CHECK_MODULES([ECORE_FILE], [ecore-file >= 1.6.99])
+ PKG_CHECK_MODULES([EET], [eet >= 1.6.99])
+ PKG_CHECK_MODULES([ECORE_CON], [ecore-con >= 1.6.99])
+
+ if test "x$with_mount" = "xdetect";then
+ AC_PATH_PROG([with_mount], [mount], [])
+ fi
+ if test -z "$with_mount" ; then
+ AC_DEFINE_UNQUOTED([MOUNTABLE], [0], [whether mount is available])
+ else
+ AC_DEFINE_UNQUOTED([MOUNTABLE], [1], [whether mount is available])
+ fi
+ AC_DEFINE_UNQUOTED([EEZE_MOUNT_BIN], ["$with_mount"], [mount bin to use])
+
+ if test "x$with_umount" = "xdetect";then
+ AC_PATH_PROG([with_umount], [umount], [])
+ fi
+ if test -z "$with_umount" ; then
+ AC_DEFINE_UNQUOTED([UNMOUNTABLE], [0], [whether umount is available])
+ else
+ AC_DEFINE_UNQUOTED([UNMOUNTABLE], [1], [whether umount is available])
+ fi
+ AC_DEFINE_UNQUOTED([EEZE_UNMOUNT_BIN], ["$with_umount"], [umount bin to use])
+
+ if test "x$with_eject" = "xdetect";then
+ AC_PATH_PROG([with_eject], [eject], [])
+ fi
+ if test -z "$with_eject" ; then
+ AC_DEFINE_UNQUOTED([EJECTABLE], [0], [whether eject is available])
+ else
+ AC_DEFINE_UNQUOTED([EJECTABLE], [1], [whether eject is available])
+ fi
+ AC_DEFINE_UNQUOTED([EEZE_EJECT_BIN], ["$with_eject"], [eject bin to use])
+fi
+
+want_mtab=
+AC_ARG_ENABLE([mtab],
+ [AC_HELP_STRING([--enable-mtab],
+ [force use of mtab for mount info @<:@default=detect@:>@])],
+ [
+ if test "x${enableval}" = "xyes" ; then
+ want_mtab="yes"
+ else
+ want_mtab="no"
+ fi],
+ [want_mtab="auto"])
+
+
+if test "x${want_mtab}" = "xyes" ; then
+ AM_CONDITIONAL([OLD_LIBMOUNT], [false])
+ AM_CONDITIONAL([NEW_LIBMOUNT], [false])
+else
+ if test -n "$mount_v";then
+ AM_CONDITIONAL([OLD_LIBMOUNT], [test "$(echo $mount_v | cut -d'.' -f2)" -lt 19])
+ AM_CONDITIONAL([NEW_LIBMOUNT], [test "$(echo $mount_v | cut -d'.' -f2)" -gt 19])
+ else
+ AM_CONDITIONAL([OLD_LIBMOUNT], [false])
+ AM_CONDITIONAL([NEW_LIBMOUNT], [false])
+ fi
+fi
+AM_COND_IF([OLD_LIBMOUNT], [
+ AC_DEFINE_UNQUOTED([OLD_LIBMOUNT], [1], [using first version of libmount])
+ ],[])
+
+AC_CHECK_HEADERS([netinet/in.h])
+want_ipv6="yes"
+have_ipv6="no"
+
+AC_ARG_ENABLE([ipv6],
+ [AC_HELP_STRING([--disable-ipv6],
+ [disable ipv6 functionality @<:@default=detect@:>@])],
+ [
+ if test "x${enableval}" = "xyes" ; then
+ want_ipv6="yes"
+ else
+ want_ipv6="no"
+ fi],
+ [want_ipv6="auto"])
+
+# Verify IPV6 availability in headers
+if test "x${want_ipv6}" != "xno" ; then
+ AC_CHECK_TYPES([struct ipv6_mreq],
+ [have_ipv6="yes"],
+ [have_ipv6="no"],
+ [[
+#ifdef HAVE_NETINET_IN_H
+# include <netinet/in.h>
+#endif
+ ]])
+fi
+
+if test "x${have_ipv6}" = "xyes" ; then
+ AC_DEFINE(HAVE_IPV6, 1, [Define if IPV6 is supported])
+fi
+
+### Checks for header files
+
+
+### Checks for types
+
+
+### Checks for structures
+
+
+### Checks for compiler characteristics
+
+AC_HEADER_STDC
+
+if ! test "x${VMIC}" = "x" ; then
+ EFL_COMPILER_FLAG([-Wall])
+ EFL_COMPILER_FLAG([-W])
+fi
+
+EFL_COMPILER_FLAG([-Wshadow])
+
+
+### Binary
+
+EFL_ENABLE_BIN([eeze-udev-test], ["yes"])
+EFL_ENABLE_BIN([eeze-mount], ["yes"])
+EFL_ENABLE_BIN([eeze-disk-ls], ["yes"])
+EFL_ENABLE_BIN([eeze-umount], ["yes"])
+EFL_ENABLE_BIN([eeze-scanner], ["yes"])
+
+AC_SUBST(requirement_eeze)
+
+
+AC_OUTPUT([
+Makefile
+doc/eeze.dox
+doc/Makefile
+doc/Doxyfile
+src/Makefile
+src/lib/Makefile
+src/bin/Makefile
+eeze.pc
+eeze.spec
+])
+
+
+#####################################################################
+## Info
+
+echo
+echo
+echo
+echo "------------------------------------------------------------------------"
+echo "$PACKAGE $VERSION"
+echo "------------------------------------------------------------------------"
+echo
+echo "Configuration Options Summary:"
+if test "x$eeze_mount" = "xyes";then
+ echo
+ echo "Mount..................: ${with_mount}"
+ echo "Umount.................: ${with_umount}"
+ echo "Eject..................: ${with_eject}"
+ echo
+fi
+echo "Tests..................: ${have_eeze_udev_test}"
+echo
+echo "Demos..................:"
+echo " eeze_mount...........: ${have_eeze_mount}"
+echo " eeze_umount..........: ${have_eeze_umount}"
+echo " eeze_disk_ls.........: ${have_eeze_disk_ls}"
+echo
+echo "Utilities..............:"
+echo " eeze_scanner.........: ${have_eeze_scanner}"
+echo
+echo "IPv6...................: ${have_ipv6}"
+echo
+echo "Documentation..........: ${build_doc}"
+echo
+echo "Compilation............: make (or gmake)"
+echo " CPPFLAGS.............: $CPPFLAGS"
+echo " CFLAGS...............: $CFLAGS"
+echo " LDFLAGS..............: $LDFLAGS"
+echo
+echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
+echo " prefix...............: $prefix"
+echo
+