empc/configure.ac

300 lines
9.4 KiB
Plaintext

##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
m4_define([v_maj], [0])
m4_define([v_min], [99])
m4_define([v_mic], [0])
m4_define([v_rev], m4_esyscmd([(git rev-list --count HEAD 2>/dev/null || echo 0) | tr -d '\n']))dnl
##-- When released, remove the dnl on the below line
dnl 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_rev], m4_eval(v_maj + v_min))
m4_define([lt_cur], v_mic)
m4_define([lt_age], v_min)
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
AC_INIT([empc], [v_ver], [zmike@enlightenment.org], [empc])
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_HEADER([config.h])
AC_GNU_SOURCE
AC_ISC_POSIX
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
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_rev:lt_cur:lt_age"
release_info="v_rel"
AC_SUBST(version_info)
AC_SUBST(release_info)
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
VMAJ=v_maj
AC_SUBST(VMAJ)
AM_INIT_AUTOMAKE([foreign dist-bzip2 dist-xz])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
AC_PROG_INSTALL
AC_PROG_CC
AM_PROG_CC_C_O
AC_PROG_MAKE_SET
AC_PROG_LIBTOOL
AC_HEADER_STDC
AC_C_CONST
AC_C_INLINE
AC_TYPE_SIZE_T
AC_FUNC_ALLOCA
AC_CHECK_FUNCS([strdup strndup])
PKG_PROG_PKG_CONFIG
##############################
m4_ifdef([AM_GNU_GETTEXT_VERSION], [
AM_GNU_GETTEXT_VERSION([0.18])
])
m4_ifdef([AM_GNU_GETTEXT], [
AM_GNU_GETTEXT([external])
po_makefile_in=po/Makefile.in
have_po="yes"
],[
have_po="no"
])
AC_SUBST([LTLIBINTL])
if test "x${POSUB}" = "x" ; then
have_po="no"
fi
AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"])
AC_ARG_WITH([edje-cc],
[AC_HELP_STRING([--with-edje-cc=PATH],
[specify a specific path to edje_cc])],
[edje_cc=$withval;
AC_MSG_NOTICE([edje_cc explicitly set to $edje_cc])
],[edje_cc=$(pkg-config --variable=prefix edje)/bin/edje_cc])
AC_SUBST(edje_cc)
AC_ARG_WITH([eldbus-codegen],
[AC_HELP_STRING([--with-eldbus-codegen=PATH],
[specify a specific path to eldbus-codegen])],
[eldbus_codegen=$withval;
AC_MSG_NOTICE([eldbus-codegen explicitly set to $eldbus_codegen])
],[eldbus_codegen=$(pkg-config --variable=prefix eldbus)/bin/eldbus-codegen])
AC_SUBST(eldbus_codegen)
dbusservicedir="${datadir}/dbus-1/services"
AC_ARG_WITH([dbus-services],
[AC_HELP_STRING([--with-dbus-services=DBUS_SERVICES],
[specify a directory to store dbus service files.])],
[dbusservicedir=$withval])
AC_SUBST(dbusservicedir)
PKG_CHECK_MODULES([MPDCLIENT], [libmpdclient >= 2.9])
PKG_CHECK_MODULES([EFL], [eina >= 1.12 ecore >= 1.12 ecore-con >= 1.12 eldbus >= 1.12 efreet >= 1.12 eet >= 1.12])
PKG_CHECK_MODULES([ELM], [evas >= 1.12 elementary >= 1.12])
PKG_CHECK_MODULES([ESQL], [esskyuehl], [have_esql=yes], [have_esql=no])
PKG_CHECK_MODULES([EIO], [eio])
AC_PATH_PROG([AZY_PARSER], [azy_parser], [no])
AM_CONDITIONAL([HAVE_AZY_PARSER], [test "x$AZY_PARSER" != "xno"])
############# MODULES ###################
want_glyr_gmpc=maybe
AC_ARG_ENABLE([module-glyr-gmpc],
[AC_HELP_STRING([--disable-module-glyr-gmpc], [disable glyr gmpc module. @<:@default=detect@:>@])],
[want_glyr_gmpc=$enableval], [])
if test "x$want_glyr_gmpc" = "xyes" && test "$have_esql" != "xyes" ; then
AC_MSG_ERROR([glyr gmpc module requested, but esskyuehl support not available])
elif test "x$want_glyr_gmpc" != "xno" ; then
want_glyr_gmpc=$have_esql
fi
AM_CONDITIONAL([MOD_GLYR_GMPC], [test "x$want_glyr_gmpc" = "xyes"])
want_glyr=maybe
AC_ARG_ENABLE([module-glyr],
[AC_HELP_STRING([--disable-module-glyr], [disable glyr module. @<:@default=detect@:>@])],
[want_glyr=$enableval], [])
if test -n "$want_glyr" ; then
AC_CHECK_PROG([GLYR], [glyrc], [yes], [no])
want_glyr=$GLYR
fi
AM_CONDITIONAL([MOD_GLYR], [test "x$want_glyr" = "xyes"])
want_id3_loader=maybe
AC_ARG_ENABLE([module-id3-loader],
[AC_HELP_STRING([--disable-module-id3-loader], [disable id3-loader module. @<:@default=detect@:>@])],
[want_id3_loader=$enableval], [])
if test "x$want_id3_loader" != "xno" ; then
PKG_CHECK_MODULES([ID3], [id3tag], [have_id3=yes], [have_id3=no])
if test "x$have_id3" != "xyes" ; then
if test "x$want_id3_loader" != "xmaybe" ; then
AC_MSG_ERROR([libid3tag not found])
else
want_id3_loader=no
fi
else
want_id3_loader=yes
fi
fi
AM_CONDITIONAL([MOD_ID3_LOADER], [test "x$want_id3_loader" = "xyes"])
want_elyr=maybe
AC_ARG_ENABLE([module-elyr],
[AC_HELP_STRING([--disable-module-elyr], [disable elyr module. @<:@default=detect@:>@])],
[want_elyr=$enableval], [])
if test "x$want_elyr" != "xno" ; then
PKG_CHECK_MODULES([AZY], [azy], [want_elyr=yes], [want_elyr=no])
fi
AM_CONDITIONAL([MOD_ELYR], [test "x$want_elyr" = "xyes"])
want_eet_saver=yes
AC_ARG_ENABLE([module-eet-saver],
[AC_HELP_STRING([--disable-module-eet-saver], [disable eet-saver module. @<:@default=detect@:>@])],
[want_eet_saver=$enableval], [])
AM_CONDITIONAL([MOD_EET_SAVER], [test "x$want_eet_saver" = "xyes"])
want_eet_loader=yes
AC_ARG_ENABLE([module-eet-loader],
[AC_HELP_STRING([--disable-module-eet-loader], [disable eet-loader module. @<:@default=detect@:>@])],
[want_eet_loader=$enableval], [])
AM_CONDITIONAL([MOD_EET_LOADER], [test "x$want_eet_loader" = "xyes"])
want_filesystem_loader=yes
AC_ARG_ENABLE([module-filesystem-loader],
[AC_HELP_STRING([--disable-module-filesystem-loader], [disable filesystem-loader module. @<:@default=detect@:>@])],
[want_filesystem_loader=$enableval], [])
AM_CONDITIONAL([MOD_FILESYSTEM_LOADER], [test "x$want_filesystem_loader" = "xyes"])
want_google_image=yes
AC_ARG_ENABLE([module-google-image],
[AC_HELP_STRING([--disable-module-google-image], [disable google-image module. @<:@default=detect@:>@])],
[want_google_image=$enableval], [])
AM_CONDITIONAL([MOD_GOOGLE_IMAGE], [test "x$want_google_image" = "xyes"])
########################################
want_auto_playlist_manager=yes
AC_ARG_ENABLE([module-auto-playlist-manager],
[AC_HELP_STRING([--disable-module-auto-playlist-manager], [disable auto playlist manager module. @<:@default=detect@:>@])],
[want_auto_playlist_manager=$enableval], [])
AM_CONDITIONAL([MOD_APL], [test "x$want_auto_playlist_manager" = "xyes"])
########################################
want_mpdule=maybe
AC_ARG_ENABLE([mpdule],
[AC_HELP_STRING([--disable-mpdule], [disable mpdule enlightenment module. @<:@default=detect@:>@])],
[want_google_image=$enableval], [])
if test "x$want_mpdule" != "xno" ; then
PKG_CHECK_MODULES([E], [enlightenment >= 0.19], [want_mpdule=yes],
[
if test "x$want_mpdule" != "xmaybe" ; then
AC_MSG_ERROR([enlightenment installation is required for mpdule])
fi
want_mpdule=no
])
fi
AM_CONDITIONAL([MPDULE], [test "x$want_mpdule" = "xyes"])
if test "x$want_mpdule" = "xyes" ; then
release=$(pkg-config --variable=release enlightenment)
E_MODULE_ARCH="$host_os-$host_cpu-$release"
AC_SUBST([E_MODULE_ARCH])
mpdule_desktop=src/enlightenment/module.desktop
e_module_dir="$(pkg-config --variable=modules enlightenment)"
AC_SUBST([e_module_dir])
fi
########################################
case "$host_os" in
mingw32ce*)
MODULE_ARCH="$host_os-$host_cpu"
;;
*)
MODULE_ARCH="$host_os-$host_cpu-v_maj.v_min.v_mic"
;;
esac
AC_SUBST(MODULE_ARCH)
AC_DEFINE_UNQUOTED([MODULE_ARCH], "${MODULE_ARCH}", "Module architecture")
case "$host_os" in
mingw*)
MODULE_EXT=".dll"
;;
*)
MODULE_EXT=".so"
;;
esac
AC_DEFINE_UNQUOTED([SHARED_LIB_SUFFIX], "${MODULE_EXT}", [Suffix for shared objects])
m4_ifdef([v_rev],
[
EFL_COMPILER_FLAG([-Wshadow])
EFL_COMPILER_FLAG([-Wall])
EFL_COMPILER_FLAG([-Wextra])
EFL_COMPILER_FLAG([-Wpointer-arith])
])
AC_CONFIG_FILES([
Makefile
org.empd.empdd.service
$mpdule_desktop
$po_makefile_in
])
AC_OUTPUT
# report
txt_strip() {
echo "[$]@" | sed -e 's/^[[ \t]]*\([[^ \t]]*\)[[ \t]]*$/\1/g'
}
echo
cat << SUMMARY_EOF
Summary:
* project.........: $PACKAGE $VERSION
* prefix..........: $(txt_strip $prefix)
* CFLAGS..........: $(txt_strip $CFLAGS)
* LDFLAGS.........: $(txt_strip $LDFLAGS)
SUMMARY_EOF
echo
cat << MODULES_EOF
Modules:
* glyr_gmpc............: $want_glyr_gmpc
* glyr.................: $want_glyr
* google_image.........: $want_google_image
* elyr.................: $want_elyr
* eet_saver............: $want_eet_saver
* eet_loader...........: $want_eet_loader
* filesystem_loader....: $want_filesystem_loader
* id3_loader...........: $want_id3_loader
* auto_playlist_manager: $want_auto_playlist_manager
* mpdule...............: $want_mpdule
MODULES_EOF
echo
cat << COMPILE_EOF
Compilation........: make (or gmake)
COMPILE_EOF
echo
cat << INSTALL_EOF
Installation.......: make all install (as root if needed, with 'su' or 'sudo')
INSTALL_EOF
echo