AM_INIT_AUTOMAKE(1.6 dist-bzip2)
AM_CONFIG_HEADER(config.h)
-AC_PROG_CC
-AM_PROG_CC_STDC
-AC_HEADER_STDC
-AC_C_CONST
-AM_PROG_CC_C_O
-AC_C___ATTRIBUTE__
-
AC_LIBTOOL_WIN32_DLL
define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl
define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN"
AC_SUBST(version_info)
-PKG_PROG_PKG_CONFIG
-WIN32_CFLAGS=""
-WIN32_LIBS=""
-lt_enable_auto_import=""
+### Default options with respect to host
+
case "$host_os" in
- mingw* | cegcc*)
- PKG_CHECK_MODULES([EVIL], [evil])
- AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed])
- dnl needed for correct definition of EAPI
- AC_DEFINE(EFL_EET_BUILD, 1, [Define to mention that eet is built])
- lt_enable_auto_import="-Wl,--enable-auto-import"
+ mingw32ce* | cegcc*)
+ want_openssl="no"
+ want_cypher="no"
+ want_signature="no"
+ ;;
+ *)
+ want_openssl="auto"
+ want_cypher="yes"
+ want_signature="yes"
;;
esac
+requirement_eet=""
+
+
+### Additional options to configure
+
+# Old eet file format support
+
+old_eet_file_format="yes"
+AC_ARG_ENABLE(old-eet-file-format,
+ [AC_HELP_STRING(
+ [--disable-old-eet-file-format],
+ [disable old eet file format support. [[default=enabled]]]
+ )],
+ [old_eet_file_format=$enableval]
+)
+AC_MSG_CHECKING([whether to support old eet file format])
+AC_MSG_RESULT([${old_eet_file_format=$enableval}])
+
+if test "x${old_eet_file_format}" = "xyes" ; then
+ AC_DEFINE(EET_OLD_EET_FILE_FORMAT, 1, [support old eet file format])
+else
+ AC_DEFINE(EET_OLD_EET_FILE_FORMAT, 0, [support old eet file format])
+fi
+
+# Openssl support
+
+AC_ARG_ENABLE([openssl],
+ [AC_HELP_STRING([--disable-openssl], [disable openssl eet support])],
+ [want_openssl=$enableval]
+)
+AC_MSG_CHECKING([whether to use OpenSSL])
+AC_MSG_RESULT([${want_openssl}])
+
+# Cryptography support
+
+AC_ARG_ENABLE([cypher],
+ [AC_HELP_STRING([--disable-cypher], [disable cypher support for eet API])],
+ [want_cypher=$enableval]
+)
+AC_MSG_CHECKING([whether to use cypher])
+AC_MSG_RESULT([${want_cypher}])
+
+AC_ARG_ENABLE([signature],
+ [AC_HELP_STRING([--disable-signature], [disable signature file support for eet])],
+ [want_signature=$enableval]
+)
+AC_MSG_CHECKING([whether to use signature])
+AC_MSG_RESULT([${want_signature}])
+
+# Assert or fail.
+prefer_assert="no"
+AC_ARG_ENABLE([assert],
+ [AC_HELP_STRING([--enable-assert], [enable assert, [[default=disabled]]])],
+ [prefer_assert=$enableval]
+)
+
+# Unit tests, coverage and benchmarking
+
+EFL_CHECK_TESTS([enable_tests="yes"], [enable_tests="no"])
+EFL_CHECK_COVERAGE([${enable_tests}], [enable_coverage="yes"], [enable_coverage="no"])
+
+if test "x${prefer_assert}" = "xno"; then
+ DEBUG_CFLAGS="-DNDEBUG"
+else
+# use debug symbols and set DEBUG if coverage support is enabled
+ DEBUG_CFLAGS="${EFL_DEBUG_CFLAGS}"
+fi
+AC_SUBST(DEBUG_CFLAGS)
+
+
+### Checks for libraries
+
+PKG_PROG_PKG_CONFIG
+
+# Evil library for compilation on Windows
+
+EFL_EET_BUILD=""
case "$host_os" in
- mingw32ce*)
- WIN32_LIBS="-lws2"
- ;;
- mingw*)
- WIN32_LIBS="-lws2_32"
- ;;
- cegcc*)
- WIN32_CFLAGS="-mwin32"
- WIN32_LIBS="-lws2"
- ;;
+ mingw* | cegcc*)
+ PKG_CHECK_MODULES([EVIL], [evil])
+ AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if Evil library is installed])
+ requirement_eet="evil ${requirement_eet}"
+ EFL_EET_BUILD="-DEFL_EET_BUILD"
+ ;;
esac
-AC_SUBST(WIN32_CFLAGS)
-AC_SUBST(WIN32_LIBS)
-AC_SUBST(lt_enable_auto_import)
+AC_SUBST(EFL_EET_BUILD)
-AC_FUNC_ALLOCA
+# Eina library
+
+PKG_CHECK_MODULES(EINA, [eina-0])
+requirement_eet="eina-0 ${requirement_eet}"
+
+# Openssl library
+have_openssl="no"
+if test "x${want_openssl}" = "xyes" -o "x${want_openssl}" = "xauto" ; then
+ PKG_CHECK_MODULES(OPENSSL, openssl,
+ [
+ have_openssl="yes"
+ AC_DEFINE(HAVE_OPENSSL, 1, [Have Openssl support])
+ requirement_eet="openssl ${requirement_eet}"
+ ])
+fi
+
+have_cypher="no"
+if test "x${have_openssl}" = "xyes" -a "x${want_cypher}" = "xyes" ; then
+ have_cypher="yes"
+ AC_DEFINE(HAVE_CYPHER, 1, [Have cypher support built in eet])
+fi
+
+AC_MSG_CHECKING(whether to activate cypher support in eet)
+AC_MSG_RESULT(${have_cypher})
+
+have_signature="no"
+if test "x${have_openssl}" = "xyes" -a "x${want_signature}" = "xyes" ; then
+ have_signature="yes"
+ AC_DEFINE(HAVE_SIGNATURE, 1, [Have signature support for eet file])
+fi
+
+AC_MSG_CHECKING(whether to activate signature support in eet)
+AC_MSG_RESULT(${have_signature})
+
+
+### Checks for header files
AC_CHECK_HEADER([zlib.h],
[dummy="yes"],
[dummy="yes"],
[AC_MSG_ERROR([Cannot find fnmatch.h. Make sure your CFLAGS environment variable contains include lines for the location of this file. MinGW users: see the INSTALL file])])
-AC_CHECK_FUNCS([fnmatch], [res="yes"], [res="no"])
-if test "x$res" = "xno"; then
- AC_SEARCH_LIBS([fnmatch],
- [fnmatch iberty evil],
- [res="yes"],
- [res="no"])
- if test "x$res" = "xno"; then
- AC_MSG_ERROR([Cannot find fnmatch() in neither libc nor libfnmatch, nor libiberty, nor libevil])
- fi
-fi
-dnl These are needed for fmemopen/open_memstream
-AC_DEFINE(_GNU_SOURCE, , [Enable GNU extensions])
+### Checks for programs
+AC_PROG_CC
-AC_CHECK_FUNCS(fmemopen open_memstream realpath)
+# doxygen program for documentation building
-dnl Check whether the null pointer is zero on this arch
-AC_MSG_CHECKING([value of the null pointer])
-AC_TRY_RUN([
+EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
+
+
+### Checks for types
+
+
+### Checks for structures
+
+
+### Checks for compiler characteristics
+AM_PROG_CC_C_O
+AC_C_CONST
+AC_C_INLINE
+AC_PROG_CC_STDC
+AC_C___ATTRIBUTE__
+
+# Check whether the null pointer is zero on this arch
+AC_TRY_RUN(
+ [
#include <stdlib.h>
int main (int argc, char **argv) {
void *foo = NULL;
int bar = (int)foo;
return (int)foo;
}
-], AC_MSG_RESULT([yes]), [
- AC_MSG_RESULT([no])
- AC_MSG_WARN([Your system is a bit too funny, eet might not work properly])
-], AC_MSG_WARN([Cannot check when cross-compiling -- assuming null is okay])
-)
-
-dnl Unit Tests
-EFL_CHECK_TESTS([enable_tests="yes"], [enable_tests="no"])
-EFL_CHECK_COVERAGE([${enable_tests}], [enable_coverage="yes"], [enable_coverage="no"])
+ ],
+ [have_null="yes"],
+ [have_null="no"],
+ [
+ AC_MSG_WARN([Cannot check when cross-compiling -- assuming null is okay])
+ have_null="yes"
+ ])
+AC_MSG_CHECKING([value of the null pointer])
+AC_MSG_RESULT([${have_null}])
-dnl Openssl support
-want_openssl="auto"
-have_openssl="no"
-AC_ARG_ENABLE(openssl,
- [AC_HELP_STRING([--disable-openssl], [disable openssl eet support])],
- [ want_openssl=$enableval ]
-)
-if test "x$want_openssl" = "xyes" -o "x$want_openssl" = "xauto"; then
- PKG_CHECK_MODULES(OPENSSL, openssl,
- [
- have_openssl="yes"
- AC_DEFINE(HAVE_OPENSSL, 1, [Have Openssl support])
- ])
+if test ! "x${have_null}" = "xyes" ; then
+ AC_MSG_WARN([Your system is a bit too funny, eet might not work properly])
fi
-dnl Crypto option
-want_cypher="yes"
-have_cypher="no"
-want_signature="yes"
-have_signature="no"
+# These are needed for fmemopen/open_memstream
+AC_DEFINE(_GNU_SOURCE, , [Enable GNU extensions])
-AC_ARG_ENABLE(cypher,
- [AC_HELP_STRING([--disable-cypher], [disable cypher support for eet API])],
- [ want_cypher=$enableval ]
-)
+EET_CPPFLAGS=""
+EET_CFLAGS=""
+case "$host_os" in
+ mingw32ce*)
+ EET_CPPFLAGS="-D_WIN32_WCE=0x0420"
+ ;;
+ cegcc*)
+ EET_CPPFLAGS="-D_WIN32_WCE=0x0420"
+ EET_CFLAGS="-mwin32"
+ ;;
+esac
+AC_SUBST(EET_CPPFLAGS)
+AC_SUBST(EET_CFLAGS)
-if test "x$have_openssl" = "xyes" -a "x$want_cypher" = "xyes"; then
- have_cypher="yes"
- AC_DEFINE(HAVE_CYPHER, 1, [Have cypher support built in eet])
-fi
-AC_MSG_CHECKING(whether to activate cypher support in eet)
-AC_MSG_RESULT($have_cypher)
+### Checks for linker characteristics
-AC_ARG_ENABLE(signature,
- [AC_HELP_STRING([--disable-signature], [disable signature file support for eet])],
- [ want_signature=$enableval ]
-)
+EET_LIBS=""
+case "$host_os" in
+ mingw32ce*)
+ EET_LIBS="-lws2"
+ ;;
+ cegcc*)
+ EET_LIBS="-lws2"
+ ;;
+ mingw*)
+ EET_LIBS="-lws2_32"
+ ;;
+esac
+AC_SUBST(EET_LIBS)
-if test "x$have_openssl" = "xyes" -a "x$want_signature" = "xyes"; then
- have_signature="yes"
- AC_DEFINE(HAVE_SIGNATURE, 1, [Have signature support for eet file])
-fi
+lt_enable_auto_import=""
+case "$host_os" in
+ mingw* | cegcc*)
+ lt_enable_auto_import="-Wl,--enable-auto-import"
+ ;;
+esac
+AC_SUBST(lt_enable_auto_import)
-AC_MSG_CHECKING(whether to activate signature support in eet)
-AC_MSG_RESULT($have_signature)
-dnl Disable support for old eet file format.
-old_eet_file_format="yes"
-AC_ARG_ENABLE(old-eet-file-format,
- AC_HELP_STRING(
- [--disable-old-eet-file-format],
- [disable old eet file format support. [[default=enabled]]]
- ),
- [ old_eet_file_format=$enableval ]
-)
-if test "x$old_eet_file_format" = "xyes"; then
- AC_DEFINE(EET_OLD_EET_FILE_FORMAT, 1, [support old eet file format])
-else
- AC_DEFINE(EET_OLD_EET_FILE_FORMAT, 0, [support old eet file format])
-fi
+### Checks for library functions
+AC_FUNC_ALLOCA
-dnl Assert or fail.
-prefer_assert="no"
-AC_ARG_ENABLE(assert,
- AC_HELP_STRING(
- [--enable-assert],
- [enable assert, [[default=disabled]]]
- ),
- [ prefer_assert=$enableval ]
-)
-if test "x$prefer_assert" = "xno"; then
- DEBUG_CFLAGS="-DNDEBUG"
+AC_CHECK_FUNCS(fmemopen open_memstream realpath)
+
+fnmatch_libs=""
+AC_CHECK_FUNCS([fnmatch], [res="yes"], [res="no"])
+if test "x$res" = "xno"; then
+ AC_SEARCH_LIBS([fnmatch],
+ [fnmatch iberty evil],
+ [res="yes"],
+ [res="no"])
+ if test "x$res" = "xno"; then
+ AC_MSG_ERROR([Cannot find fnmatch() in neither libc nor libfnmatch, nor libiberty, nor libevil])
+ fi
+ fnmatch_libs="${ac_cv_search_fnmatch}"
fi
-AC_SUBST(DEBUG_CFLAGS)
+AC_SUBST(fnmatch_libs)
-PKG_CHECK_MODULES(EINA, [eina-0])
-EFL_CHECK_DOXYGEN([enable_doc="yes"], [enable_doc="no"])
+AC_SUBST(requirement_eet)
AC_OUTPUT([
Makefile
eet.pc
doc/Makefile
-doc/eet.c
+doc/eet.dox
src/Makefile
src/lib/Makefile
src/bin/Makefile
-td.md {
- background-color: #ffffff;
- font-family: monospace;
- text-align: left;
- vertical-align: center;
- font-size: 10;
- padding-right : 1px;
- padding-top : 1px;
- padding-left : 1px;
- padding-bottom : 1px;
- margin-left : 1px;
- margin-right : 1px;
- margin-top : 1px;
- margin-bottom : 1px
+body {
+ background: url("b.png");
+ background-repeat: repeat-x;
+ background-position: top left;
+ background-color: #f4f4f4;
+ text-align: center;
+ font-family: sans-serif;
+ padding: 0;
+ margin: 0;
}
-td.mdname {
- font-family: monospace;
- text-align: left;
- vertical-align: center;
- font-size: 10;
- padding-right : 1px;
- padding-top : 1px;
- padding-left : 1px;
- padding-bottom : 1px;
- margin-left : 1px;
- margin-right : 1px;
- margin-top : 1px;
- margin-bottom : 1px
-}
-h1
-{
- text-align: center;
- color: #333333
-}
-h2
-{
- text-align: left;
- color: #333333
-}
-h3
-{
- text-align: left;
- color: #333333
-}
-a:link
-{
- text-decoration: none;
- color: #444444;
- font-weight: bold;
-}
-a:visited
-{
- text-decoration: none;
- color: #666666;
- font-weight: bold;
-}
-a:hover
-{
- text-decoration: none;
- color: #000000;
- font-weight: bold;
-}
-a.nav:link
-{
- text-decoration: none;
- color: #444444;
- font-weight: normal;
-}
-a.nav:visited
-{
- text-decoration: none;
- color: #666666;
- font-weight: normal;
-}
-a.nav:hover
-{
- text-decoration: none;
- color: #000000;
- font-weight: normal;
-}
-a.qindex:link
-{
- text-decoration: none;
- color: #444444;
- font-weight: normal;
-}
-a.qindex:visited
-{
- text-decoration: none;
- color: #666666;
- font-weight: normal;
-}
-a.qindex:hover
-{
- text-decoration: none;
- color: #000000;
- font-weight: normal;
-}
-p
-{
- color: #000000;
- font-family: sans-serif;
- font-size: 10;
+
+div.main {
+ margin: 1em auto;
+ vertical-align: top;
+ font-family: "Bitstream Vera", "Vera", "Trebuchet MS", Trebuchet, Tahoma, sans-serif;
+ color: #444444;
+ font-size: 0.8em;
+ text-align: justify;
+ width: 80%;
}
-body {
- background-image: url("hilite.png");
- background-repeat: no-repeat;
- background-position: left top;
- background-color: #dddddd;
- color: #000000;
- font-family: sans-serif;
- padding: 8px;
- margin: 0;
+
+td.t { background-image:url("t.gif"); }
+td.t[class] { background-image:url("t.png"); }
+td.tl { background-image:url("tl.gif"); }
+td.tl[class] { background-image:url("tl.png"); }
+
+td.nav, td.lnav, td.rnav {
+ align: middle;
+ text-align: center;
+ vertical-align: middle;
+ width: 100px;
+ height: 25px;
+ font-family: "Bitstream Vera", "Vera", "Trebuchet MS", Trebuchet, Tahoma, sans-serif;
+ color: #000000;
+ font-size: 9px;
+ font-weight: bold;
+ white-space: no-wrap;
+}
+
+td.lnav[class] { background-image:url("n.png"); }
+td.lnav[class] { background-image:url("n.png"); }
+td.rnav { background-image:url("n.gif"); }
+td.rnav[class] { background-image:url("n.png"); }
+
+hr {
+ width: 200px;
+ height: 1px;
+ background: #dddddd;
+ border: 0;
}
-div.fragment
-{
- background-image: url("hilite.png");
- background-repeat: no-repeat;
- background-position: left top;
- border: thin solid #888888;
- background-color: #eeeeee;
- padding: 4px;
- text-align: left;
- vertical-align: center;
- font-size: 12;
+
+p { color: #444444 ;}
+p.tiny, small {
+ color: #888888;
+ font-size: 0.5em;
}
-hr
-{
- border: 0;
- background-color: #000000;
- width: 80%;
- height: 1;
+
+h1 {
+ text-align: center;
+ font-size: 1.3em;
}
-dl
-{
- background-image: url("hilite.png");
- background-repeat: no-repeat;
- background-position: left top;
- border: thin solid #aaaaaa;
- background-color: #eeeeee;
- padding: 4px;
- text-align: left;
- vertical-align: center;
- font-size: 12;
+
+h2 { font-size: 1.1em; }
+h3 { font-size: 0.9em; }
+
+span.keyword { color: #008000; }
+span.keywordtype { color: #604020; }
+span.keywordflow { color: #e08000; }
+span.comment { color: #800000; }
+span.preprocessor { color: #806020; }
+span.stringliteral { color: #002080; }
+span.charliteral { color: #008080; }
+
+a:link {
+ color: #445566;
+ text-decoration: underline;
+}
+
+a:visited {
+ color: #667788;
+ text-decoration: underline;
+}
+
+a:active {
+ color: #88cccc;
+ text-decoration: none;
}
-em
-{
- color: #334466;
- font-family: courier;
- font-size: 10;
- font-style: normal;
+
+a:hover {
+ color: #112266;
+ text-decoration: underline;
+}
+
+a.nav {
+ text-decoration: none;
+ display: block;
+}
+
+a.nav:link, a.nav:visited { color: #888888; }
+a.nav:active { color: #000000; }
+a.nav:hover { color: #444444; }
+a.code:link, a.code:visited { text-decoration: none; }
+
+div.fragment {
+ font-size: 1em;
+ border: 1px dotted #cccccc;
+ background-color: #ffffff;
+ text-align: left;
+ vertical-align: middle;
+ padding: 2px;
+ margin-left: 25px;
+ margin-right: 25px;
+ overflow: auto;
}
-div.nav
-{
- border: thin solid #000000;
- background-color: #ffffff;
- padding: 1px;
- text-align: center;
- vertical-align: center;
- font-size: 12;
+td.indexkey {
+ font-weight: bold;
+ padding-left: 10px;
+ padding-right: 0;
+ padding-top: 2px;
+ padding-bottom: 0px;
+ margin: 0;
+ margin-top: 2px;
+ margin-bottom: 2px;
+ border: 1px dotted #cccccc;
+ border-right: 0px dotted #cccccc;
}
-div.body
-{
- border: thin solid #000000;
- background-color: #ffffff;
- padding: 4px;
- text-align: left;
- font-size: 10;
+
+td.indexvalue {
+ font-style: italic;
+ padding-right: 10px;
+ padding-left: 0;
+ padding-top: 2px;
+ padding-bottom: 2px;
+ margin: 0;
+ margin-top: 2px;
+ margin-bottom: 2px;
+ border: 1px dotted #cccccc;
+ border-left: 0px dotted #cccccc;
}
-div.diag
-{
- border: thin solid #888888;
- background-color: #eeeeee;
- padding: 4px;
- text-align: center;
- font-size: 8;
+
+.mdescRight { font-style: italic; }
+.memitem {
+ padding-left: 2px;
+ padding-right: 2px;
+ border: 1px dotted #cccccc;
+ background-color: #ffffff;
+}
+.memname {
+ white-space: nowrap;
+ font-weight: bold;
+}
+.paramname { font-weight: normal; }
+
+div.ah {
+ border: thin solid #888888;
+ font-weight: bold;
+ margin-bottom: 3px;
+ margin-top: 3px;
}
+