@ -0,0 +1,7 @@ |
||||
The Rasterman <raster@rasterman.com> |
||||
Tom Gilbert <tom@linuxbrit.co.uk> |
||||
Burra <burra@colorado.edu> |
||||
Chris Ross <chris@darkrock.co.uk> |
||||
Term <term@twistedpath.org> |
||||
Tilman Sauerbeck <tilman@code-monkey.de> |
||||
Yuri <da2001@hotmail.ru> |
@ -0,0 +1,20 @@ |
||||
Copyright (C) 2000 Carsten Haitzler and various contributors (see AUTHORS) |
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy |
||||
of this software and associated documentation files (the "Software"), to |
||||
deal in the Software without restriction, including without limitation the |
||||
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or |
||||
sell copies of the Software, and to permit persons to whom the Software is |
||||
furnished to do so, subject to the following conditions: |
||||
|
||||
The above copyright notice and this permission notice shall be included in |
||||
all copies of the Software, its documentation and marketing & publicity |
||||
materials, and acknowledgment shall be given in the documentation, materials |
||||
and software packages that this Software was used. |
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
||||
THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER |
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
@ -0,0 +1,145 @@ |
||||
PROJECT_NAME = Ecore |
||||
PROJECT_NUMBER = |
||||
OUTPUT_DIRECTORY = doc |
||||
INPUT = ecore.c |
||||
IMAGE_PATH = doc/img |
||||
OUTPUT_LANGUAGE = English |
||||
GENERATE_HTML = YES |
||||
HTML_OUTPUT = html |
||||
HTML_FILE_EXTENSION = .html |
||||
HTML_HEADER = doc/head.html |
||||
HTML_FOOTER = doc/foot.html |
||||
HTML_STYLESHEET = doc/ecore.css |
||||
HTML_ALIGN_MEMBERS = YES |
||||
ENUM_VALUES_PER_LINE = 1 |
||||
GENERATE_HTMLHELP = NO |
||||
CHM_FILE = |
||||
HHC_LOCATION = |
||||
GENERATE_CHI = NO |
||||
BINARY_TOC = NO |
||||
TOC_EXPAND = NO |
||||
DISABLE_INDEX = NO |
||||
EXTRACT_ALL = NO |
||||
EXTRACT_PRIVATE = NO |
||||
EXTRACT_STATIC = NO |
||||
EXTRACT_LOCAL_CLASSES = NO |
||||
HIDE_UNDOC_MEMBERS = YES |
||||
HIDE_UNDOC_CLASSES = YES |
||||
HIDE_FRIEND_COMPOUNDS = YES |
||||
BRIEF_MEMBER_DESC = YES |
||||
REPEAT_BRIEF = YES |
||||
ALWAYS_DETAILED_SEC = NO |
||||
INLINE_INHERITED_MEMB = NO |
||||
FULL_PATH_NAMES = NO |
||||
STRIP_FROM_PATH = |
||||
INTERNAL_DOCS = NO |
||||
STRIP_CODE_COMMENTS = YES |
||||
CASE_SENSE_NAMES = YES |
||||
SHORT_NAMES = NO |
||||
HIDE_SCOPE_NAMES = NO |
||||
VERBATIM_HEADERS = NO |
||||
SHOW_INCLUDE_FILES = NO |
||||
JAVADOC_AUTOBRIEF = YES |
||||
MULTILINE_CPP_IS_BRIEF = NO |
||||
DETAILS_AT_TOP = NO |
||||
INHERIT_DOCS = YES |
||||
INLINE_INFO = YES |
||||
SORT_MEMBER_DOCS = YES |
||||
DISTRIBUTE_GROUP_DOC = NO |
||||
TAB_SIZE = 2 |
||||
GENERATE_TODOLIST = YES |
||||
GENERATE_TESTLIST = YES |
||||
GENERATE_BUGLIST = YES |
||||
GENERATE_DEPRECATEDLIST= YES |
||||
ALIASES = |
||||
ENABLED_SECTIONS = |
||||
MAX_INITIALIZER_LINES = 30 |
||||
OPTIMIZE_OUTPUT_FOR_C = YES |
||||
OPTIMIZE_OUTPUT_JAVA = NO |
||||
SHOW_USED_FILES = NO |
||||
QUIET = NO |
||||
WARNINGS = YES |
||||
WARN_IF_UNDOCUMENTED = YES |
||||
WARN_FORMAT = "$file:$line: $text" |
||||
WARN_LOGFILE = |
||||
FILE_PATTERNS = |
||||
RECURSIVE = NO |
||||
EXCLUDE = |
||||
EXCLUDE_SYMLINKS = NO |
||||
EXCLUDE_PATTERNS = |
||||
EXAMPLE_PATH = |
||||
EXAMPLE_PATTERNS = |
||||
EXAMPLE_RECURSIVE = NO |
||||
INPUT_FILTER = |
||||
FILTER_SOURCE_FILES = NO |
||||
SOURCE_BROWSER = NO |
||||
INLINE_SOURCES = NO |
||||
REFERENCED_BY_RELATION = YES |
||||
REFERENCES_RELATION = YES |
||||
ALPHABETICAL_INDEX = YES |
||||
COLS_IN_ALPHA_INDEX = 2 |
||||
IGNORE_PREFIX = |
||||
GENERATE_TREEVIEW = NO |
||||
TREEVIEW_WIDTH = 250 |
||||
GENERATE_LATEX = YES |
||||
LATEX_OUTPUT = latex |
||||
LATEX_CMD_NAME = latex |
||||
MAKEINDEX_CMD_NAME = makeindex |
||||
COMPACT_LATEX = NO |
||||
PAPER_TYPE = a4wide |
||||
EXTRA_PACKAGES = |
||||
LATEX_HEADER = |
||||
PDF_HYPERLINKS = YES |
||||
USE_PDFLATEX = NO |
||||
LATEX_BATCHMODE = NO |
||||
GENERATE_RTF = NO |
||||
RTF_OUTPUT = rtf |
||||
COMPACT_RTF = NO |
||||
RTF_HYPERLINKS = NO |
||||
RTF_STYLESHEET_FILE = |
||||
RTF_EXTENSIONS_FILE = |
||||
GENERATE_MAN = YES |
||||
MAN_OUTPUT = man |
||||
MAN_EXTENSION = .3 |
||||
MAN_LINKS = YES |
||||
GENERATE_XML = NO |
||||
XML_SCHEMA = |
||||
XML_DTD = |
||||
GENERATE_AUTOGEN_DEF = NO |
||||
ENABLE_PREPROCESSING = YES |
||||
MACRO_EXPANSION = NO |
||||
EXPAND_ONLY_PREDEF = NO |
||||
SEARCH_INCLUDES = NO |
||||
INCLUDE_PATH = |
||||
INCLUDE_FILE_PATTERNS = |
||||
PREDEFINED = |
||||
EXPAND_AS_DEFINED = |
||||
SKIP_FUNCTION_MACROS = YES |
||||
TAGFILES = |
||||
GENERATE_TAGFILE = |
||||
ALLEXTERNALS = NO |
||||
EXTERNAL_GROUPS = YES |
||||
PERL_PATH = /usr/bin/perl |
||||
CLASS_DIAGRAMS = NO |
||||
HIDE_UNDOC_RELATIONS = YES |
||||
HAVE_DOT = NO |
||||
CLASS_GRAPH = NO |
||||
COLLABORATION_GRAPH = NO |
||||
TEMPLATE_RELATIONS = NO |
||||
INCLUDE_GRAPH = NO |
||||
INCLUDED_BY_GRAPH = NO |
||||
GRAPHICAL_HIERARCHY = NO |
||||
DOT_IMAGE_FORMAT = png |
||||
DOT_PATH = |
||||
DOTFILE_DIRS = |
||||
MAX_DOT_GRAPH_WIDTH = 512 |
||||
MAX_DOT_GRAPH_HEIGHT = 512 |
||||
GENERATE_LEGEND = YES |
||||
DOT_CLEANUP = YES |
||||
SEARCHENGINE = NO |
||||
CGI_NAME = search.cgi |
||||
CGI_URL = |
||||
DOC_URL = |
||||
DOC_ABSPATH = |
||||
BIN_ABSPATH = /usr/bin/ |
||||
EXT_DOC_PATHS = |
@ -0,0 +1,37 @@ |
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
SUBDIRS = src debian
|
||||
|
||||
MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess \
|
||||
config.h.in config.sub configure install-sh \
|
||||
ltconfig ltmain.sh missing mkinstalldirs \
|
||||
stamp-h.in
|
||||
|
||||
install-data-local: |
||||
@$(NORMAL_INSTALL)
|
||||
if test -d $(srcdir)/data; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/data; \
|
||||
for d in $(srcdir)/data/*; do \
|
||||
cp -pR $$d $(DESTDIR)$(pkgdatadir)/data; \
|
||||
done \
|
||||
fi
|
||||
|
||||
dist-hook: |
||||
./gendoc; \
|
||||
tar cvf ecore_docs.tar doc/html doc/latex doc/man; \
|
||||
rm -f ecore_docs.tar.gz; \
|
||||
gzip -9 ecore_docs.tar; \
|
||||
if test -d data; then \
|
||||
mkdir $(distdir)/data; \
|
||||
for file in data/*; do \
|
||||
cp -pR $$file $(distdir)/data; \
|
||||
done \
|
||||
fi
|
||||
|
||||
bin_SCRIPTS = ecore-config
|
||||
|
||||
EXTRA_DIST = README AUTHORS COPYING ecore.m4 ecore.spec ecore.c.in gendoc Doxyfile ecore_docs.tar.gz \
|
||||
make_cross_compile_arm.sh conf-e-x11.sh |
||||
|
||||
m4datadir = $(datadir)/aclocal
|
||||
m4data_DATA = ecore.m4
|
@ -0,0 +1,46 @@ |
||||
------------------------------------------------------------------------------- |
||||
E C O R E - 1 . 0 . 0 |
||||
------------------------------------------------------------------------------- |
||||
|
||||
Fast: |
||||
How ot build and install Ecore from this tarball? |
||||
./configure \ |
||||
--enable-ecore-x \ |
||||
--enable-ecore-fb \ |
||||
--enable-ecore-evas \ |
||||
--enable-ecore-evas-gl \ |
||||
--enable-ecore-job \ |
||||
--enable-ecore-con \ |
||||
--enable-ecore-ipc |
||||
make |
||||
su |
||||
<as root do:> |
||||
make install |
||||
|
||||
from CVS: |
||||
./autogen.sh \ |
||||
--enable-ecore-x \ |
||||
--enable-ecore-fb \ |
||||
--enable-ecore-evas \ |
||||
--enable-ecore-evas-gl \ |
||||
--enable-ecore-job \ |
||||
--enable-ecore-con \ |
||||
--enable-ecore-ipc |
||||
make |
||||
su |
||||
<as root do:> |
||||
make install |
||||
|
||||
for ipaq cross-compile: |
||||
|
||||
export CC=/skiff/local/bin/arm-linux-gcc |
||||
export CFLAGS="-O9" |
||||
./configure \ |
||||
--enable-ecore-fb \ |
||||
--enable-ecore-evas \ |
||||
--enable-ecore-job \ |
||||
--enable-ecore-con \ |
||||
--enable-ecore-ipc \ |
||||
--with-evas-config=/skiff/local/arm-linux/bin/evas-config |
||||
make CFLAGS="-O9 -I/skiff/local/include -I/skiff/local/arm-linux/include" |
||||
|
@ -0,0 +1,11 @@ |
||||
#undef PACKAGE_LOCALE_DIR |
||||
#undef PACKAGE_DATA_DIR |
||||
#undef PACKAGE_SOURCE_DIR |
||||
#undef PACKAGE_BIN_DIR |
||||
#undef BUILD_ECORE_EVAS |
||||
#undef BUILD_ECORE_EVAS_GL |
||||
#undef BUILD_ECORE_FB |
||||
#undef BUILD_ECORE_JOB |
||||
#undef BUILD_ECORE_X |
||||
#undef BUILD_ECORE_CON |
||||
#undef BUILD_ECORE_IPC |
@ -0,0 +1,148 @@ |
||||
#!/bin/sh |
||||
# Run this to generate all the initial makefiles, etc. |
||||
|
||||
srcdir=`dirname $0` |
||||
PKG_NAME="libecore" |
||||
|
||||
DIE=0 |
||||
|
||||
(autoconf --version) < /dev/null > /dev/null 2>&1 || { |
||||
echo |
||||
echo "**Error**: You must have \`autoconf' installed to." |
||||
echo "Download the appropriate package for your distribution," |
||||
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/" |
||||
DIE=1 |
||||
} |
||||
|
||||
(grep "^AM_PROG_LIBTOOL" $srcdir/configure.in >/dev/null) && { |
||||
(libtool --version) < /dev/null > /dev/null 2>&1 || { |
||||
echo |
||||
echo "**Error**: You must have \`libtool' installed." |
||||
echo "Get ftp://ftp.gnu.org/pub/gnu/libtool-1.2d.tar.gz" |
||||
echo "(or a newer version if it is available)" |
||||
DIE=1 |
||||
} |
||||
} |
||||
|
||||
grep "^AM_GNU_GETTEXT" $srcdir/configure.in >/dev/null && { |
||||
grep "sed.*POTFILES" $srcdir/configure.in >/dev/null || \ |
||||
(gettext --version) < /dev/null > /dev/null 2>&1 || { |
||||
echo |
||||
echo "**Error**: You must have \`gettext' installed." |
||||
echo "Get ftp://alpha.gnu.org/gnu/gettext-0.10.35.tar.gz" |
||||
echo "(or a newer version if it is available)" |
||||
DIE=1 |
||||
} |
||||
} |
||||
|
||||
grep "^AM_GNOME_GETTEXT" $srcdir/configure.in >/dev/null && { |
||||
grep "sed.*POTFILES" $srcdir/configure.in >/dev/null || \ |
||||
(gettext --version) < /dev/null > /dev/null 2>&1 || { |
||||
echo |
||||
echo "**Error**: You must have \`gettext' installed." |
||||
echo "Get ftp://alpha.gnu.org/gnu/gettext-0.10.35.tar.gz" |
||||
echo "(or a newer version if it is available)" |
||||
DIE=1 |
||||
} |
||||
} |
||||
|
||||
(automake --version) < /dev/null > /dev/null 2>&1 || { |
||||
echo |
||||
echo "**Error**: You must have \`automake' installed." |
||||
echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz" |
||||
echo "(or a newer version if it is available)" |
||||
DIE=1 |
||||
NO_AUTOMAKE=yes |
||||
} |
||||
|
||||
|
||||
# if no automake, don't bother testing for aclocal |
||||
test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || { |
||||
echo |
||||
echo "**Error**: Missing \`aclocal'. The version of \`automake'" |
||||
echo "installed doesn't appear recent enough." |
||||
echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz" |
||||
echo "(or a newer version if it is available)" |
||||
DIE=1 |
||||
} |
||||
|
||||
if test "$DIE" -eq 1; then |
||||
exit 1 |
||||
fi |
||||
|
||||
if test -z "$*"; then |
||||
echo "**Warning**: I am going to run \`configure' with no arguments." |
||||
echo "If you wish to pass any to it, please specify them on the" |
||||
echo \`$0\'" command line." |
||||
echo |
||||
fi |
||||
|
||||
case $CC in |
||||
xlc ) |
||||
am_opt=--include-deps;; |
||||
esac |
||||
|
||||
for coin in `find $srcdir -name configure.in -print` |
||||
do |
||||
dr=`dirname $coin` |
||||
if test -f $dr/NO-AUTO-GEN; then |
||||
echo skipping $dr -- flagged as no auto-gen |
||||
else |
||||
echo processing $dr |
||||
macrodirs=`sed -n -e 's,AM_ACLOCAL_INCLUDE(\(.*\)),\1,gp' < $coin` |
||||
( cd $dr |
||||
aclocalinclude="$ACLOCAL_FLAGS" |
||||
for k in $macrodirs; do |
||||
if test -d $k; then |
||||
aclocalinclude="$aclocalinclude -I $k" |
||||
##else |
||||
## echo "**Warning**: No such directory \`$k'. Ignored." |
||||
fi |
||||
done |
||||
if grep "^AM_GNU_GETTEXT" configure.in >/dev/null; then |
||||
if grep "sed.*POTFILES" configure.in >/dev/null; then |
||||
: do nothing -- we still have an old unmodified configure.in |
||||
else |
||||
echo "Creating $dr/aclocal.m4 ..." |
||||
test -r $dr/aclocal.m4 || touch $dr/aclocal.m4 |
||||
echo "Running gettextize... Ignore non-fatal messages." |
||||
echo "no" | gettextize --force --copy |
||||
echo "Making $dr/aclocal.m4 writable ..." |
||||
test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4 |
||||
fi |
||||
fi |
||||
if grep "^AM_GNOME_GETTEXT" configure.in >/dev/null; then |
||||
echo "Creating $dr/aclocal.m4 ..." |
||||
test -r $dr/aclocal.m4 || touch $dr/aclocal.m4 |
||||
echo "Running gettextize... Ignore non-fatal messages." |
||||
echo "no" | gettextize --force --copy |
||||
echo "Making $dr/aclocal.m4 writable ..." |
||||
test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4 |
||||
fi |
||||
if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then |
||||
echo "Running libtoolize..." |
||||
libtoolize --force --copy |
||||
fi |
||||
echo "Running aclocal $aclocalinclude ..." |
||||
aclocal $aclocalinclude |
||||
if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then |
||||
echo "Running autoheader..." |
||||
autoheader |
||||
fi |
||||
echo "Running automake --gnu $am_opt ..." |
||||
automake --add-missing --gnu $am_opt |
||||
echo "Running autoconf ..." |
||||
autoconf |
||||
) |
||||
fi |
||||
done |
||||
|
||||
#conf_flags="--enable-maintainer-mode --enable-compile-warnings" #--enable-iso-c |
||||
|
||||
if test x$NOCONFIGURE = x; then |
||||
echo Running $srcdir/configure $conf_flags "$@" ... |
||||
$srcdir/configure $conf_flags "$@" \ |
||||
&& echo Now type \`make\' to compile $PKG_NAME |
||||
else |
||||
echo Skipping configure process. |
||||
fi |
@ -0,0 +1,12 @@ |
||||
#!/bin/sh |
||||
|
||||
cmake clean distclean |
||||
rm config.cache |
||||
./configure \ |
||||
--enable-ecore-x \ |
||||
--enable-ecore-evas \ |
||||
--enable-ecore-evas-gl \ |
||||
--enable-ecore-job \ |
||||
--enable-ecore-con \ |
||||
--enable-ecore-ipc \ |
||||
$@ |
@ -0,0 +1,283 @@ |
||||
dnl Process this file with autoconf to produce a configure script. |
||||
|
||||
AC_INIT(configure.in) |
||||
AC_ISC_POSIX |
||||
AM_INIT_AUTOMAKE(ecore, 1.0.0_pre4) |
||||
AM_CONFIG_HEADER(config.h) |
||||
|
||||
AC_C_BIGENDIAN |
||||
AC_PROG_CC |
||||
AM_PROG_CC_STDC |
||||
AC_HEADER_STDC |
||||
AC_C_CONST |
||||
AM_ENABLE_SHARED |
||||
AM_PROG_LIBTOOL |
||||
|
||||
if test "x${exec_prefix}" = "xNONE"; then |
||||
if test "x${prefix}" = "xNONE"; then |
||||
bindir="${ac_default_prefix}/bin"; |
||||
else |
||||
bindir="${prefix}/bin"; |
||||
fi |
||||
else |
||||
if test "x${prefix}" = "xNONE"; then |
||||
bindir="${ac_default_prefix}/bin"; |
||||
else |
||||
bindir="${prefix}/bin"; |
||||
fi |
||||
fi |
||||
|
||||
if test "x${exec_prefix}" = "xNONE"; then |
||||
if test "x${prefix}" = "xNONE"; then |
||||
libdir="${ac_default_prefix}/lib"; |
||||
else |
||||
libdir="${prefix}/lib"; |
||||
fi |
||||
else |
||||
if test "x${prefix}" = "xNONE"; then |
||||
libdir="${ac_default_prefix}/lib"; |
||||
else |
||||
libdir="${prefix}/lib"; |
||||
fi |
||||
fi |
||||
|
||||
|
||||
dnl Set PACKAGE_DATA_DIR in config.h. |
||||
if test "x${datadir}" = 'x${prefix}/share'; then |
||||
if test "x${prefix}" = "xNONE"; then |
||||
AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${ac_default_prefix}/share/${PACKAGE}") |
||||
else |
||||
AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${prefix}/share/${PACKAGE}") |
||||
fi |
||||
else |
||||
AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${datadir}/${PACKAGE}") |
||||
fi |
||||
|
||||
dnl Set PACKAGE_BIN_DIR in config.h. |
||||
if test "x${bindir}" = 'xNONE'; then |
||||
if test "x${prefix}" = "xNONE"; then |
||||
AC_DEFINE_UNQUOTED(PACKAGE_BIN_DIR, "${ac_default_prefix}/bin") |
||||
else |
||||
AC_DEFINE_UNQUOTED(PACKAGE_BIN_DIR, "${prefix}/bin") |
||||
fi |
||||
else |
||||
AC_DEFINE_UNQUOTED(PACKAGE_BIN_DIR, "${bindir}") |
||||
fi |
||||
|
||||
dnl Set PACKAGE_DATA_DIR in config.h. |
||||
if test "x${datadir}" = 'x${prefix}/share'; then |
||||
if test "x${prefix}" = "xNONE"; then |
||||
AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${ac_default_prefix}/share/${PACKAGE}") |
||||
else |
||||
AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${prefix}/share/${PACKAGE}") |
||||
fi |
||||
else |
||||
AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${datadir}/${PACKAGE}") |
||||
fi |
||||
|
||||
dnl Set PACKAGE_SOURCE_DIR in config.h. |
||||
packagesrcdir=`cd $srcdir && pwd` |
||||
AC_DEFINE_UNQUOTED(PACKAGE_SOURCE_DIR, "${packagesrcdir}") |
||||
|
||||
dnl Use -Wall if we have gcc. |
||||
changequote(,)dnl |
||||
if test "x$GCC" = "xyes"; then |
||||
case " $CFLAGS " in |
||||
*[\ \ ]-Wall[\ \ ]*) ;; |
||||
*) CFLAGS="$CFLAGS -Wall" ;; |
||||
esac |
||||
fi |
||||
changequote([,])dnl |
||||
|
||||
AC_MSG_CHECKING(whether ecore_x module is to be built) |
||||
|
||||
ecore_x_cflags=""; |
||||
ecore_x_libs=""; |
||||
|
||||
x_dir=""; |
||||
x_includes=""; |
||||
x_cflags=""; |
||||
x_libs=""; |
||||
x_ldflags=""; |
||||
|
||||
AC_ARG_ENABLE(ecore-x, |
||||
[ --enable-ecore-x enable the ecore_x module], [ |
||||
AC_MSG_RESULT(yes) |
||||
AM_CONDITIONAL(BUILD_ECORE_X, test "$enableval" = "yes") |
||||
AC_DEFINE(BUILD_ECORE_X) |
||||
x_dir="/usr/X11R6"; |
||||
x_includes=""; |
||||
x_cflags="-I"$x_dir"/include" |
||||
x_libs="-L"$x_dir"/lib -lX11 -lXext" |
||||
x_ldflags=""; |
||||
ecore_x_libs="-lecore_x"; |
||||
], [ |
||||
AC_MSG_RESULT(no) |
||||
AM_CONDITIONAL(BUILD_ECORE_X, false) |
||||
] |
||||
) |
||||
|
||||
AC_SUBST(x_cflags) |
||||
AC_SUBST(x_includes) |
||||
AC_SUBST(x_ldflags) |
||||
AC_SUBST(x_libs) |
||||
|
||||
AC_SUBST(ecore_x_cflags) |
||||
AC_SUBST(ecore_x_libs) |
||||
|
||||
AC_MSG_CHECKING(whether ecore_job module is to be built) |
||||
|
||||
ecore_job_cflags=""; |
||||
ecore_job_libs=""; |
||||
|
||||
AC_ARG_ENABLE(ecore-job, |
||||
[ --enable-ecore-job enable the ecore_job module], [ |
||||
AC_MSG_RESULT(yes) |
||||
AM_CONDITIONAL(BUILD_ECORE_JOB, test "$enableval" = "yes") |
||||
AC_DEFINE(BUILD_ECORE_JOB) |
||||
ecore_job_libs="-lecore_job"; |
||||
], [ |
||||
AC_MSG_RESULT(no) |
||||
AM_CONDITIONAL(BUILD_ECORE_JOB, false) |
||||
] |
||||
) |
||||
|
||||
AC_SUBST(ecore_job_cflags) |
||||
AC_SUBST(ecore_job_libs) |
||||
|
||||
ecore_fb_cflags=""; |
||||
ecore_fb_libs=""; |
||||
|
||||
AC_MSG_CHECKING(whether ecore_fb module is to be built) |
||||
|
||||
AC_ARG_ENABLE(ecore-fb, |
||||
[ --enable-ecore-fb enable the ecore_fb module], [ |
||||
AC_MSG_RESULT(yes) |
||||
AM_CONDITIONAL(BUILD_ECORE_FB, test "$enableval" = "yes") |
||||
AC_DEFINE(BUILD_ECORE_FB) |
||||
ecore_fb_libs="-lecore_fb"; |
||||
], [ |
||||
AC_MSG_RESULT(no) |
||||
AM_CONDITIONAL(BUILD_ECORE_FB, false) |
||||
] |
||||
) |
||||
|
||||
AC_SUBST(ecore_fb_cflags) |
||||
AC_SUBST(ecore_fb_libs) |
||||
|
||||
ecore_evas_cflags=""; |
||||
ecore_evas_libs=""; |
||||
|
||||
evas_cflags=""; |
||||
evas_libs=""; |
||||
|
||||
AC_ARG_WITH(evas-config, |
||||
[ --with-evas-config=EVAS_CONFIG use evas-config specified ], |
||||
[ |
||||
PROG_CONFIG=$withval; |
||||
echo "using "$PROG_CONFIG" for evas-config"; |
||||
],[ |
||||
PROG="evas-config"; |
||||
AC_PATH_PROG(PROG_CONFIG, $PROG, "", $PATH) |
||||
]) |
||||
EVAS_CONFIG=$PROG_CONFIG |
||||
|
||||
AC_MSG_CHECKING(whether ecore_evas module is to be built) |
||||
|
||||
AC_ARG_ENABLE(ecore-evas, |
||||
[ --enable-ecore-evas enable the ecore_evas module], [ |
||||
AC_MSG_RESULT(yes) |
||||
AM_CONDITIONAL(BUILD_ECORE_EVAS, test "$enableval" = "yes") |
||||
AC_DEFINE(BUILD_ECORE_EVAS) |
||||
if [ test -z $EVAS_CONFIG ]; then |
||||
echo $PROG " is not in your \$PATH. Please ensure it is."; |
||||
echo "Read the manual page for you shell as to how to extend your path."; |
||||
echo "FATAL ERROR. ABORT."; |
||||
exit -1; |
||||
fi |
||||
evas_cflags=`$EVAS_CONFIG --cflags` |
||||
evas_libs=`$EVAS_CONFIG --libs` |
||||
ecore_evas_libs="-lecore_evas"; |
||||
], [ |
||||
AC_MSG_RESULT(no) |
||||
AM_CONDITIONAL(BUILD_ECORE_EVAS, false) |
||||
] |
||||
) |
||||
|
||||
AC_SUBST(evas_cflags) |
||||
AC_SUBST(evas_libs) |
||||
|
||||
AC_SUBST(ecore_evas_cflags) |
||||
AC_SUBST(ecore_evas_libs) |
||||
|
||||
AC_MSG_CHECKING(whether ecore_evas gl support is to be built) |
||||
|
||||
AC_ARG_ENABLE(ecore-evas-gl, |
||||
[ --enable-ecore-evas-gl enable gl in the ecore_evas module], [ |
||||
AC_MSG_RESULT(yes) |
||||
AM_CONDITIONAL(BUILD_ECORE_EVAS_GL, test "$enableval" = "yes") |
||||
AC_DEFINE(BUILD_ECORE_EVAS_GL) |
||||
], [ |
||||
AC_MSG_RESULT(no) |
||||
AM_CONDITIONAL(BUILD_ECORE_EVAS_GL, false) |
||||
] |
||||
) |
||||
|
||||
AC_MSG_CHECKING(whether ecore_con module is to be built) |
||||
|
||||
ecore_con_cflags=""; |
||||
ecore_con_libs=""; |
||||
|
||||
AC_ARG_ENABLE(ecore-con, |
||||
[ --enable-ecore-con enable the ecore_con module], [ |
||||
AC_MSG_RESULT(yes) |
||||
AM_CONDITIONAL(BUILD_ECORE_CON, test "$enableval" = "yes") |
||||
AC_DEFINE(BUILD_ECORE_CON) |
||||
ecore_con_libs="-lecore_con" |
||||
], [ |
||||
AC_MSG_RESULT(no) |
||||
AM_CONDITIONAL(BUILD_ECORE_CON, false) |
||||
] |
||||
) |
||||
|
||||
AC_SUBST(ecore_con_cflags) |
||||
AC_SUBST(ecore_con_libs) |
||||
|
||||
AC_MSG_CHECKING(whether ecore_ipc module is to be built) |
||||
|
||||
ecore_ipc_cflags=""; |
||||
ecore_ipc_libs=""; |
||||
|
||||
AC_ARG_ENABLE(ecore-ipc, |
||||
[ --enable-ecore-ipc enable the ecore_ipc module], [ |
||||
AC_MSG_RESULT(yes) |
||||
AM_CONDITIONAL(BUILD_ECORE_IPC, test "$enableval" = "yes") |
||||
AC_DEFINE(BUILD_ECORE_IPC) |
||||
ecore_ipc_libs="-lecore_ipc" |
||||
], [ |
||||
AC_MSG_RESULT(no) |
||||
AM_CONDITIONAL(BUILD_ECORE_IPC, false) |
||||
] |
||||
) |
||||
|
||||
AC_SUBST(ecore_ipc_cflags) |
||||
AC_SUBST(ecore_ipc_libs) |
||||
|
||||
AC_OUTPUT([ |
||||
Makefile |
||||
ecore-config |
||||
src/Makefile |
||||
src/bin/Makefile |
||||
src/lib/Makefile |
||||
src/lib/ecore/Makefile |
||||
src/lib/ecore_job/Makefile |
||||
src/lib/ecore_x/Makefile |
||||
src/lib/ecore_fb/Makefile |
||||
src/lib/ecore_evas/Makefile |
||||
src/lib/ecore_con/Makefile |
||||
src/lib/ecore_ipc/Makefile |
||||
debian/Makefile |
||||
], [ |
||||
chmod +x ecore-config |
||||
] |
||||
) |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 136 B |
After Width: | Height: | Size: 142 B |
After Width: | Height: | Size: 59 KiB |
After Width: | Height: | Size: 875 B |
After Width: | Height: | Size: 45 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.3 KiB |
@ -0,0 +1,8 @@ |
||||
EXTRA_DIST = \
|
||||
changelog \ |
||||
control \ |
||||
copyright \ |
||||
ecore1-test.files \ |
||||
libecore1.files \ |
||||
libecore1-dev.files \ |
||||
rules |
@ -0,0 +1,5 @@ |
||||
ecore (1.0.0-pre3-0cvs20030821) unstable; urgency=low |
||||
|
||||
* a CVS release |
||||
|
||||
-- Sytse Wielinga <s.b.wielinga@student.utwente.nl> Thu, 21 Aug 2003 16:29:37 +0200 |
@ -0,0 +1,35 @@ |
||||
Source: ecore |
||||
Section: libs |
||||
Priority: optional |
||||
Maintainer: Sytse Wielinga <s.b.wielinga@student.utwente.nl> |
||||
Build-Depends: debhelper (>> 4.0.0) |
||||
Standards-Version: 3.6.1.0 |
||||
|
||||
Package: libecore1 |
||||
Architecture: any |
||||
Section: libs |
||||
Depends: ${shlibs:Depends} |
||||
Description: Core abstraction layer for enlightenment DR 0.17 |
||||
This is the core event abstraction layer and X abstraction layer that makes |
||||
doing selections, Xdnd, general X stuff, and event loops, timeouts and idle |
||||
handlers fast, optimized, and convenient. It's a separate library so anyone |
||||
can make use of the work put into Ecore to make this job easy for |
||||
applications. |
||||
|
||||
Package: libecore1-dev |
||||
Architecture: any |
||||
Section: devel |
||||
Architecture: any |
||||
Depends: libecore1 (= ${Source-Version}), libc6-dev | libc-dev |
||||
Provides: libecore-dev |
||||
Conflicts: libecore-dev, libecore0-dev |
||||
Description: libecore1 headers, static libraries and documentation |
||||
Headers, static libraries and documentation for the Ecore library. |
||||
|
||||
Package: ecore1-test |
||||
Architecture: any |
||||
Section: libs |
||||
Depends: ${shlibs:Depends} |
||||
Description: Test programs for libecore1 |
||||
Programs for testing Ecore and demonstrating what it can do. |
||||
|
@ -0,0 +1,32 @@ |
||||
This package was debianized by Laurence J. Lane <ljlane@debian.org> on |
||||
Sat, 28 Oct 2000 17:56:46 -0400. |
||||
|
||||
The source code is from the e17/libs/ecore module of the enlightenment CVS |
||||
tree. For more information, see: |
||||
|
||||
http://www.enlightenment.org/cvs.html |
||||
|
||||
Upstream Author: Carsten Haitzler <raster@rasterman.com> |
||||
|
||||
Copyright: |
||||
|
||||
Copyright (C) 2000 Carsten Haitzler and various contributors (see AUTHORS) |
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy |
||||
of this software and associated documentation files (the "Software"), to |
||||
deal in the Software without restriction, including without limitation the |
||||
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or |
||||
sell copies of the Software, and to permit persons to whom the Software is |
||||
furnished to do so, subject to the following conditions: |
||||
|
||||
The above copyright notice and this permission notice shall be included in |
||||
all copies of the Software, its documentation and marketing & publicity |
||||
materials, and acknowledgment shall be given in the documentation, materials |
||||
and software packages that this Software was used. |
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
||||
THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER |
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
@ -0,0 +1,2 @@ |
||||
usr/bin/*test |
||||
usr/share/ecore/data/images/*.png |
@ -0,0 +1,7 @@ |
||||
usr/include/* |
||||
usr/lib/lib*.a |
||||
usr/lib/lib*.so |
||||
usr/lib/pkgconfig/* |
||||
usr/lib/*.la |
||||
usr/share/aclocal/* |
||||
usr/bin/*-config |
@ -0,0 +1,3 @@ |
||||
usr/lib/lib*.so.* |
||||
usr/share/ecore/data/fonts/*.ttf |
||||
usr/share/ecore/data/pointers/*.png |
@ -0,0 +1,88 @@ |
||||
#!/usr/bin/make -f |
||||
# Sample debian/rules that uses debhelper. |
||||
# GNU copyright 1997 to 1999 by Joey Hess. |
||||
|
||||
# Uncomment this to turn on verbose mode. |
||||
#export DH_VERBOSE=1 |
||||
|
||||
|
||||
# This is the debhelper compatability version to use. |
||||
export DH_COMPAT=4 |
||||
|
||||
|
||||
CFLAGS ?= -Wall -g |
||||
|
||||
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) |
||||
CFLAGS += -O0 |
||||
else |
||||
CFLAGS += -O2 |
||||
endif |
||||
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) |
||||
INSTALL_PROGRAM += -s |
||||
endif |
||||
|
||||
# These are used for cross-compiling and for saving the configure script |
||||
# from having to guess our platform (since we know it already) |
||||
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) |
||||
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) |
||||
|
||||
INSTALL=/usr/bin/install -p |
||||
CONFIGUREOPTS = --prefix=/usr --enable-ecore-x --enable-ecore-job --enable-ecore-evas --enable-ecore-con --enable-ecore-ipc --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) |
||||
package=libecore1 |
||||
|
||||
configure: configure-stamp |
||||
configure-stamp: |
||||
dh_testdir |
||||
|
||||
test -x autogen.sh && ./autogen.sh $(CONFIGUREOPTS) || ./configure $(CONFIGUREOPTS) |
||||
|
||||
touch configure-stamp |
||||
|
||||
build: configure build-stamp |
||||
build-stamp: |
||||
dh_testdir |
||||
|
||||
$(MAKE) |
||||
|
||||
touch build-stamp |
||||
|
||||
clean: |
||||
dh_testdir |
||||
rm -f build-stamp configure-stamp |
||||
|
||||
-$(MAKE) distclean |
||||
-rm -f configure-stamp build-stamp |
||||
|
||||
dh_clean |
||||
|
||||
install: build |
||||
dh_testdir |
||||
dh_testroot |
||||
dh_clean -k |
||||
dh_installdirs |
||||
|
||||
$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp/ |
||||
|
||||
# Build architecture-independent files here. |
||||
binary-indep: build install |
||||
# We have nothing to do by default. |
||||
|
||||
# Build architecture-dependent files here. |
||||
binary-arch: build install |
||||
dh_testdir |
||||
dh_testroot |
||||
dh_installdocs AUTHORS README |
||||
dh_installchangelogs |
||||
dh_movefiles |
||||
dh_strip |
||||
dh_compress |
||||
dh_fixperms |
||||
dh_installdeb |
||||
dh_makeshlibs |
||||
dh_shlibdeps |
||||
dh_gencontrol |
||||
dh_md5sums |
||||
dh_builddeb |
||||
|
||||
binary: binary-indep binary-arch |
||||
.PHONY: build clean binary-indep binary-arch binary install configure |
@ -0,0 +1,178 @@ |
||||
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 |
||||
} |
||||
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; |
||||
} |
||||
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; |
||||
} |
||||
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; |
||||
} |
||||
hr |
||||
{ |
||||
border: 0; |
||||
background-color: #000000; |
||||
width: 80%; |
||||
height: 1; |
||||
} |
||||
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; |
||||
} |
||||
em |
||||
{ |
||||
color: #334466; |
||||
font-family: courier; |
||||
font-size: 10; |
||||
font-style: normal; |
||||
} |
||||
|
||||
div.nav |
||||
{ |
||||
border: thin solid #000000; |
||||
background-color: #ffffff; |
||||
padding: 1px; |
||||
text-align: center; |
||||
vertical-align: center; |
||||
font-size: 12; |
||||
} |
||||
div.body |
||||
{ |
||||
border: thin solid #000000; |
||||
background-color: #ffffff; |
||||
padding: 4px; |
||||
text-align: left; |
||||
font-size: 10; |
||||
} |
||||
div.diag |
||||
{ |
||||
border: thin solid #888888; |
||||
background-color: #eeeeee; |
||||
padding: 4px; |
||||
text-align: center; |
||||
font-size: 8; |
||||
} |
@ -0,0 +1,2 @@ |
||||
</body> |
||||
</html> |
@ -0,0 +1,19 @@ |
||||
<html> |
||||
|
||||
<head> |
||||
|
||||
<title>$title</title> |
||||
<link href=ecore.css rel=stylesheet type=text/css> |
||||
|
||||
</head> |
||||
|
||||
<body> |
||||
<div class=nav> |
||||
<table border=0 align=center><tr> |
||||
<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td> |
||||
<td width=100% align=center> |
||||
E : C : O : R : E |
||||
</td> |
||||
<td width=16><img src=ecore_mini.png width=16 height=16 alt=E></td> |
||||
</tr></table> |
||||
</div> |
After Width: | Height: | Size: 73 KiB |
After Width: | Height: | Size: 915 KiB |
After Width: | Height: | Size: 753 B |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 6.0 KiB |
After Width: | Height: | Size: 45 KiB |
@ -0,0 +1,59 @@ |
||||
#!/bin/sh |
||||
|
||||
prefix=@prefix@ |
||||
exec_prefix=@exec_prefix@ |
||||
exec_prefix_set=no |
||||
|
||||
usage="\ |
||||
Usage: ecore-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--libs] [--cflags]" |
||||
|
||||
if test $# -eq 0; then |
||||
echo "${usage}" 1>&2 |
||||
exit 1 |
||||
fi |
||||
|
||||
while test $# -gt 0; do |
||||
case "$1" in |
||||
-*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; |
||||
*) optarg= ;; |
||||
esac |
||||
|
||||
case $1 in |
||||
--prefix=*) |
||||
prefix=$optarg |
||||
if test $exec_prefix_set = no ; then |
||||
exec_prefix=$optarg |
||||
fi |
||||
;; |
||||
--prefix) |
||||
echo $prefix |
||||
;; |
||||
--exec-prefix=*) |
||||
exec_prefix=$optarg |
||||
exec_prefix_set=yes |
||||
;; |
||||
--exec-prefix) |
||||
echo $exec_prefix |
||||
;; |
||||
--version) |
||||
echo @VERSION@ |
||||
;; |
||||
--cflags) |
||||
if test @includedir@ != /usr/include ; then |
||||
includes=-I@includedir@ |
||||
fi |
||||
echo $includes |
||||
;; |
||||
--libs) |
||||
libdirs=-L@libdir@ |
||||
echo $libdirs -lecore @ecore_job_libs@ @ecore_x_libs@ @ecore_evas_libs@ @ecore_con_libs@ @ecore_ipc_libs@ @ecore_fb_libs@ -lm |
||||
;; |
||||
*) |
||||
echo "${usage}" 1>&2 |
||||
exit 1 |
||||
;; |
||||
esac |
||||
shift |
||||
done |
||||
|
||||
exit 0 |
@ -0,0 +1,235 @@ |
||||
/**
|
||||
@file |
||||
@brief Ecore Library Public API Calls |
||||
|
||||
These routines are used for Ecore Library interaction |
||||
*/ |
||||
|
||||
/**
|
||||
|
||||
@mainpage Ecore |
||||
@image latex ecore_big.eps width=5cm |
||||
@image html ecore.png |
||||
@version 1.0.0 |
||||
@author Carsten Haitzler <raster@rasterman.com> |
||||
@date 2000-2003 |
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@section intro What is Ecore? |
||||
|
||||
Ecore is a clean and tiny event loop library with many modules to do lots of |
||||
convenient things for a programmer, to save time and effort. |
||||
|
||||
It's small and lean, designed to work on embedded systems all the way to |
||||
large and powerful multi-cpu workstations. It serialises all system signals, |
||||
events etc. into a single event queue, that is easily processed without |
||||
needing to worry about concurrency. A properly written, event-driven program |
||||
using this kind of programming doesn't need threads, nor has to worry about |
||||
concurrency. It turns a program into a state machine, and makes it very |
||||
robust and easy to follow. |
||||
|
||||
Ecore gives you other handy primitives, such as timers to tick over for you |
||||
and call specified functions at particular times so the programmer can use |
||||
this to do things, like animate, or time out on connections or tasks that take |
||||
too long etc. |
||||
|
||||
Idle handlers are provided too, as well as calls on entering an idle state |
||||
(often a very good time to update the state of the program). All events that |
||||
enter the system are passed to specific callback functions that the program |
||||
sets up to handle those events. Handling them is simple and other Ecore |
||||
modules produce more events on the queue, coming from other sources such as |
||||
file descriptors etc. |
||||
|
||||
Ecore also lets you have functions called when file descriptors become active |
||||
for reading or writing, allowing for streamlined, non-blocking IO. |
||||
|
||||
Here is an exmaple of a simple program and its basic event loop flow: |
||||
|
||||
@image html prog_flow.png |
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@section work How does Ecore work? |
||||
|
||||
Ecore is very easy to learn and use. All the function calls are designed to |
||||
be easy to remember, explicit in describing what they do, and heavily |
||||
name-spaced. Ecore programs can start and be very simple. |
||||
|
||||
For example: |
||||
|
||||
@code |
||||
#include <Ecore.h> |
||||
|
||||
int main(int argc, const char **argv) |
||||
{ |
||||
ecore_init(); |
||||
ecore_app_args_set(argc, argv); |
||||
ecore_main_loop_begin(); |
||||
ecore_shutdown(); |
||||
return 0; |
||||
} |
||||
@endcode |
||||
|
||||
This program is very simple and does't check for errors, but it does start up |
||||
and begin a main loop waiting for events or timers to tick off. This program |
||||
doesn't set up any, but now we can expand on this simple program a little |
||||
more by adding some event handlers and timers. |
||||
|
||||
@code |
||||
#include <Ecore.h> |
||||
|
||||
Ecore_Timer *timer1 = NULL; |
||||
Ecore_Event_Handler *handler1 = NULL; |
||||
double start_time = 0.0; |
||||
|
||||
int timer_func(void *data) |
||||
{ |
||||
printf("Tick timer. Sec: %3.2f\n", ecore_time_get() - start_time); |
||||
return 1; |
||||
} |
||||
|
||||
int exit_func(int ev_type, void *ev, void *data) |
||||
{ |
||||
Ecore_Event_Signal_Exit *e; |
||||
|
||||
e = (Ecore_Event_Signal_Exit *)ev; |
||||
if (e->interrupt) printf("Exit: interrupt\n"); |
||||
else if (e->quit) printf("Exit: quit\n"); |
||||
else if (e->terminate) printf("Exit: terminate\n"); |
||||
ecore_main_loop_quit(); |
||||
return 1; |
||||
} |
||||
|
||||
int main(int argc, const char **argv) |
||||
{ |
||||
ecore_init(); |
||||
ecore_app_args_set(argc, argv);
|
||||
start_time = ecore_time_get(); |
||||
handler1 = ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, exit_func, NULL); |
||||
timer1 = ecore_timer_add(0.5, timer_func, NULL);
|
||||
ecore_main_loop_begin(); |
||||
ecore_shutdown(); |
||||
return 0; |
||||
} |
||||
@endcode |
||||
|
||||
In the previous example, we initialize our application and get the time at which |
||||
our program has started so we can calculate an offset. We set up a timer to |
||||
tick off in 0.5 seconds, and since it returns 1, will keep ticking off every |
||||
0.5 seconds until it returns 0, or is deleted by hand. An event handler is set |
||||
up to call a function - exit_func(), whenever an event of type
|
||||
ECORE_EVENT_SIGNAL_EXIT is received (CTRL-C on the command line will cause |
||||
such an event to happen). If this event occurs it tells you what kind of |
||||
exit signal was received, and asks the main loop to quit when it is finished |
||||
by calling ecore_main_loop_quit(). |
||||
|
||||
The handles returned by ecore_timer_add() and ecore_event_handler_add() are
|
||||
only stored here as an example. If you don't need to address the timer or
|
||||
event handler again you don't need to store the result, so just call the
|
||||
function, and don't assign the result to any variable. |
||||
|
||||
This program looks slightly more complex than needed to do these simple |
||||
things, but in principle, programs don't get any more complex. You add more |
||||
event handlers, for more events, will have more timers and such, BUT it all |
||||
follows the same principles as shown in this example. |
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@section compiling How to compile using Ecore? |
||||
|
||||
This section has to be documented. Below is just a quick line to handle all |
||||
Ecore modules at once. |
||||
|
||||
@verbatim |
||||
gcc *.c \
|
||||
-I/usr/local/include -I/usr/X11R6/include \
|
||||
-L/usr/local/lib -L/usr/X11R6/lib \
|
||||
-lecore -lecore_evas -lecore_x -lecore_fb -lecore_job \
|
||||
`evas-config --cflags --libs` |
||||
@endverbatim |
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||