forked from enlightenment/edi
efl_project: Move from autotools to meson.
This commit is contained in:
parent
9f834e35bb
commit
210f43a736
|
@ -1,91 +0,0 @@
|
||||||
MAINTAINERCLEANFILES = \
|
|
||||||
ABOUT-NLS \
|
|
||||||
Makefile.in \
|
|
||||||
aclocal.m4 \
|
|
||||||
compile \
|
|
||||||
config.guess \
|
|
||||||
config.h.in \
|
|
||||||
config.rpath \
|
|
||||||
config.sub \
|
|
||||||
configure \
|
|
||||||
depcomp \
|
|
||||||
install-sh \
|
|
||||||
ltmain.sh \
|
|
||||||
missing \
|
|
||||||
m4/libtool.m4 \
|
|
||||||
m4/ltoptions.m4 \
|
|
||||||
m4/ltsugar.m4 \
|
|
||||||
m4/ltversion.m4 \
|
|
||||||
m4/lt~obsolete.m4 \
|
|
||||||
po/boldquot.sed \
|
|
||||||
po/en@boldquot.header \
|
|
||||||
po/en@quot.header \
|
|
||||||
po/insert-header.sin \
|
|
||||||
po/Makefile.in.in \
|
|
||||||
po/Makevars.template \
|
|
||||||
po/quot.sed \
|
|
||||||
po/remove-potcdate.sin \
|
|
||||||
po/Rules-quot \
|
|
||||||
$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz \
|
|
||||||
$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.bz2
|
|
||||||
|
|
||||||
SUBDIRS = data doc po src
|
|
||||||
|
|
||||||
ACLOCAL_AMFLAGS = -I m4
|
|
||||||
|
|
||||||
filesdir = $(docdir)
|
|
||||||
files_DATA = \
|
|
||||||
AUTHORS \
|
|
||||||
COPYING \
|
|
||||||
ChangeLog \
|
|
||||||
INSTALL \
|
|
||||||
NEWS \
|
|
||||||
README \
|
|
||||||
TODO
|
|
||||||
|
|
||||||
EXTRA_DIST = \
|
|
||||||
autogen.sh \
|
|
||||||
config.rpath \
|
|
||||||
configure \
|
|
||||||
m4/efl_attribute.m4 \
|
|
||||||
m4/efl_binary.m4 \
|
|
||||||
m4/efl_compiler_flag.m4 \
|
|
||||||
m4/efl_path_max.m4
|
|
||||||
|
|
||||||
if EFL_HAVE_LCOV
|
|
||||||
|
|
||||||
lcov-reset:
|
|
||||||
@rm -rf $(top_builddir)/coverage
|
|
||||||
@find $(top_builddir) -name "*.gcda" -delete
|
|
||||||
@lcov --zerocounters --directory $(top_builddir)
|
|
||||||
|
|
||||||
lcov-report:
|
|
||||||
@mkdir $(top_builddir)/coverage
|
|
||||||
lcov --capture --compat-libtool --output-file $(top_builddir)/coverage/coverage.info --directory $(top_builddir)/src/lib --base-directory $(top_srcdir)/src/lib
|
|
||||||
lcov --remove $(top_builddir)/coverage/coverage.info '*.h' --output-file $(top_builddir)/coverage/coverage.cleaned.info
|
|
||||||
lcov --remove $(top_builddir)/coverage/coverage.cleaned.info '*/tests/*' --output-file $(top_builddir)/coverage/coverage.cleaned2.info
|
|
||||||
genhtml --branch-coverage -t "$(PACKAGE_STRING)" -o $(top_builddir)/coverage/html $(top_builddir)/coverage/coverage.cleaned2.info
|
|
||||||
@echo "Coverage Report at $(top_builddir)/coverage/html"
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
if EFL_HAVE_TESTS
|
|
||||||
|
|
||||||
TESTS = src/tests/${edi_name}_tests
|
|
||||||
|
|
||||||
lcov-check:
|
|
||||||
if EFL_HAVE_LCOV
|
|
||||||
@$(MAKE) $(AM_MAKEFLAGS) lcov-reset
|
|
||||||
endif
|
|
||||||
@$(MAKE) $(AM_MAKEFLAGS) check
|
|
||||||
if EFL_HAVE_LCOV
|
|
||||||
@$(MAKE) $(AM_MAKEFLAGS) lcov-report
|
|
||||||
endif
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
# cleaning
|
|
||||||
|
|
||||||
clean-local:
|
|
||||||
rm -rf benchmark coverage
|
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
EDJE_CC = @edje_cc@
|
|
||||||
EDJE_CC_FLAGS_VERBOSE = $(EDJE_CC_FLAGS_VERBOSE_@AM_V@)
|
|
||||||
EDJE_CC_FLAGS_VERBOSE_ = $(EDJE_CC_FLAGS_VERBOSE_@AM_DEFAULT_V@)
|
|
||||||
EDJE_CC_FLAGS_VERBOSE_1 = -v
|
|
||||||
EDJE_CC_FLAGS = $(EDJE_CC_FLAGS_VERBOSE) -fastdecomp -id $(srcdir) -fd $(srcdir)
|
|
||||||
|
|
||||||
AM_V_EDJ = $(am__v_EDJ_@AM_V@)
|
|
||||||
am__v_EDJ_ = $(am__v_EDJ_@AM_DEFAULT_V@)
|
|
||||||
am__v_EDJ_0 = @echo " EDJ " $@;
|
|
|
@ -1,15 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
rm -rf autom4te.cache
|
|
||||||
rm -f aclocal.m4 ltmain.sh
|
|
||||||
|
|
||||||
echo "Running autopoint..." ; autopoint -f || :
|
|
||||||
echo "Running aclocal..." ; aclocal -I m4 $ACLOCAL_FLAGS || exit 1
|
|
||||||
echo "Running autoconf..." ; autoconf || exit 1
|
|
||||||
echo "Running autoheader..." ; autoheader || exit 1
|
|
||||||
echo "Running libtoolize..." ; (libtoolize --copy --automake || glibtoolize --automake) || exit 1
|
|
||||||
echo "Running automake..." ; automake --add-missing --copy --gnu || exit 1
|
|
||||||
|
|
||||||
if [ -z "$NOCONFIGURE" ]; then
|
|
||||||
./configure "$@"
|
|
||||||
fi
|
|
|
@ -1,95 +0,0 @@
|
||||||
EFL_VERSION([0], [0], [1], [dev])
|
|
||||||
AC_INIT([${edi_name}], [efl_version], [enlightenment-devel@lists.sourceforge.net])
|
|
||||||
|
|
||||||
AC_PREREQ([2.65])
|
|
||||||
AC_CONFIG_SRCDIR([configure.ac])
|
|
||||||
AC_CONFIG_HEADERS([config.h])
|
|
||||||
|
|
||||||
AC_CANONICAL_BUILD
|
|
||||||
AC_CANONICAL_HOST
|
|
||||||
|
|
||||||
AM_INIT_AUTOMAKE([1.10 dist-bzip2 -Wall color-tests])
|
|
||||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
|
||||||
AM_PROG_AR
|
|
||||||
|
|
||||||
# this will speed up libtool checks
|
|
||||||
LT_PREREQ([2.2])
|
|
||||||
LT_INIT([win32-dll pic-only])
|
|
||||||
EFL_INIT
|
|
||||||
|
|
||||||
AC_PROG_CC
|
|
||||||
AM_PROG_CC_C_O
|
|
||||||
EFL_ATTRIBUTE_UNUSED
|
|
||||||
ELM_QUICKLAUNCH
|
|
||||||
EFL_COMPILER_FLAG([-Wall])
|
|
||||||
EFL_COMPILER_FLAG([-W])
|
|
||||||
|
|
||||||
# Checks for header files.
|
|
||||||
EFL_CHECK_PATH_MAX
|
|
||||||
|
|
||||||
# Check for EFL
|
|
||||||
PKG_CHECK_MODULES([EFL],
|
|
||||||
[
|
|
||||||
eina >= 1.8.0
|
|
||||||
evas >= 1.8.0
|
|
||||||
ecore >= 1.8.0
|
|
||||||
edje >= 1.8.0
|
|
||||||
elementary >= 1.8.0
|
|
||||||
])
|
|
||||||
|
|
||||||
# Check for tests and coverage
|
|
||||||
AC_ARG_WITH([tests],
|
|
||||||
[AC_HELP_STRING([--with-tests=none|tests|coverage],
|
|
||||||
[choose testing method: tests, coverage or none.
|
|
||||||
@<:@default=auto@:>@])],
|
|
||||||
[build_tests=${withval}],
|
|
||||||
[build_tests=auto])
|
|
||||||
|
|
||||||
EFL_TESTS([${build_tests}])
|
|
||||||
|
|
||||||
# doxygen program for documentation building
|
|
||||||
EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
|
|
||||||
|
|
||||||
# Check edje_cc
|
|
||||||
EFL_WITH_BIN([edje], [edje-cc], [edje_cc])
|
|
||||||
|
|
||||||
# Checks for library functions.
|
|
||||||
AC_CHECK_FUNCS([setlocale])
|
|
||||||
|
|
||||||
AM_GNU_GETTEXT_VERSION([0.17])
|
|
||||||
AM_GNU_GETTEXT([external])
|
|
||||||
|
|
||||||
AC_CONFIG_FILES([
|
|
||||||
Makefile
|
|
||||||
data/Makefile
|
|
||||||
data/desktop/Makefile
|
|
||||||
data/desktop/${edi_name}.desktop
|
|
||||||
data/themes/Makefile
|
|
||||||
data/themes/default/Makefile
|
|
||||||
doc/Makefile
|
|
||||||
po/Makefile.in
|
|
||||||
src/Makefile
|
|
||||||
src/bin/Makefile
|
|
||||||
src/lib/Makefile
|
|
||||||
src/tests/Makefile
|
|
||||||
doc/${edi_name}.1
|
|
||||||
])
|
|
||||||
AC_OUTPUT
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo "------------------------------------------------------------------------"
|
|
||||||
echo "$PACKAGE_NAME $PACKAGE_VERSION"
|
|
||||||
echo "------------------------------------------------------------------------"
|
|
||||||
echo
|
|
||||||
echo "Compilation..............: make (or gmake)"
|
|
||||||
echo " CFLAGS.................: $CFLAGS"
|
|
||||||
echo " edje_cc................: ${edje_cc}"
|
|
||||||
echo
|
|
||||||
echo "Building documentation...: ${build_doc}"
|
|
||||||
echo "Building tests...........: ${have_tests}"
|
|
||||||
echo "Generate coverage .......: ${have_lcov}"
|
|
||||||
echo
|
|
||||||
echo "Installation.............: make install (as root if needed, with 'su' or 'sudo')"
|
|
||||||
echo " prefix.................: $prefix"
|
|
||||||
echo
|
|
|
@ -1,3 +0,0 @@
|
||||||
MAINTAINERCLEANFILES = Makefile.in
|
|
||||||
|
|
||||||
SUBDIRS = themes desktop
|
|
|
@ -1,12 +0,0 @@
|
||||||
[Desktop Entry]
|
|
||||||
Encoding=UTF-8
|
|
||||||
Version=@VERSION@
|
|
||||||
Type=Application
|
|
||||||
Name=@PACKAGE_NAME@
|
|
||||||
Name[fr]=@PACKAGE_NAME@
|
|
||||||
GenericName=${Edi_Name}
|
|
||||||
Comment=Efl Application ${Edi_Name}
|
|
||||||
Icon=@PACKAGE_NAME@
|
|
||||||
TryExec=@PACKAGE_NAME@
|
|
||||||
Exec=@PACKAGE_NAME@
|
|
||||||
Categories=Development;Utility;
|
|
|
@ -1,9 +0,0 @@
|
||||||
MAINTAINERCLEANFILES = Makefile.in
|
|
||||||
|
|
||||||
desktopdir = $(datadir)/applications
|
|
||||||
desktop_DATA = ${edi_name}.desktop
|
|
||||||
|
|
||||||
icondir = $(datadir)/icons/hicolor/256x256/apps
|
|
||||||
icon_DATA = ${edi_name}.png
|
|
||||||
|
|
||||||
EXTRA_DIST = $(desktop_DATA) $(icon_DATA)
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
install_data('${edi_name}.desktop',
|
||||||
|
install_dir: join_paths(dir_data, 'applications'))
|
||||||
|
|
||||||
|
install_data('${edi_name}.png',
|
||||||
|
install_dir: join_paths(dir_data, 'icons'))
|
|
@ -0,0 +1,2 @@
|
||||||
|
subdir('desktop')
|
||||||
|
subdir('themes')
|
|
@ -1,4 +0,0 @@
|
||||||
MAINTAINERCLEANFILES = Makefile.in
|
|
||||||
|
|
||||||
SUBDIRS = default
|
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
AUTOMAKE_OPTIONS = subdir-objects
|
|
||||||
MAINTAINERCLEANFILES = Makefile.in
|
|
||||||
|
|
||||||
EXTRA_DIST = \
|
|
||||||
default.edc \
|
|
||||||
images/enlightenment.png \
|
|
||||||
sounds/bell.wav
|
|
||||||
|
|
||||||
include ../../../Makefile_Edje_Helper.am
|
|
||||||
|
|
||||||
filesdir = $(datadir)/$(PACKAGE)/themes
|
|
||||||
files_DATA = default.edj
|
|
||||||
|
|
||||||
default.edj: Makefile $(EXTRA_DIST)
|
|
||||||
$(AM_V_EDJ)$(EDJE_CC) $(EDJE_CC_FLAGS) \
|
|
||||||
-id ${top_srcdir}/data/themes/default/images \
|
|
||||||
-sd ${top_srcdir}/data/themes/default/sounds \
|
|
||||||
$(top_srcdir)/data/themes/default/default.edc \
|
|
||||||
$(top_builddir)/data/themes/default/default.edj
|
|
||||||
|
|
||||||
clean-local:
|
|
||||||
rm -f *.edj
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
edje_cc = find_program('edje_cc')
|
||||||
|
|
||||||
|
cmd = [ edje_cc,
|
||||||
|
'-id', join_paths(meson.source_root(), 'data', 'themes', 'default', 'images'),
|
||||||
|
'-sd', join_paths(meson.source_root(), 'data', 'themes', 'default', 'sounds'),
|
||||||
|
'@INPUT@', '@OUTPUT@'
|
||||||
|
]
|
||||||
|
|
||||||
|
custom_target('default.edj',
|
||||||
|
input : 'default.edc',
|
||||||
|
output : 'default.edj',
|
||||||
|
command: cmd,
|
||||||
|
install_dir: join_paths(get_option('prefix'), get_option('datadir'), '${edi_name}', 'themes'),
|
||||||
|
install: true
|
||||||
|
)
|
|
@ -0,0 +1 @@
|
||||||
|
subdir('default')
|
|
@ -1 +0,0 @@
|
||||||
|
|
|
@ -1,50 +0,0 @@
|
||||||
.TH ${EDI_NAME} 1 "01 01 ${Edi_Year} FIXME" "@PACKAGE_NAME@ @PACKAGE_VERSION@"
|
|
||||||
|
|
||||||
.SH NAME
|
|
||||||
${edi_name} \- a demo application
|
|
||||||
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.B ${edi_name}
|
|
||||||
[-L] [-C] [-V] [-h]
|
|
||||||
|
|
||||||
.SH DESCRIPTION
|
|
||||||
|
|
||||||
${Edi_Name} is a demo application to show how to integrate EFL and autotools into a
|
|
||||||
cross platform build. You should be able to generate an executable easily for all
|
|
||||||
target supported by EFL with this ${edi_name}.
|
|
||||||
|
|
||||||
With no option, the program starts and display an Hello World.
|
|
||||||
|
|
||||||
|
|
||||||
.SH OPTIONS
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B -L, --license
|
|
||||||
Show license.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B -C, --copyright
|
|
||||||
Show copyright.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B -V, --version
|
|
||||||
Show program version.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B -h, --help
|
|
||||||
Print list of options with short description.
|
|
||||||
|
|
||||||
|
|
||||||
.SH BUGS
|
|
||||||
|
|
||||||
Reports are welcome. Send them at @PACKAGE_BUGREPORT@.
|
|
||||||
|
|
||||||
|
|
||||||
.SH HOMEPAGE
|
|
||||||
|
|
||||||
http://enlightenment.org
|
|
||||||
|
|
||||||
|
|
||||||
.SH AUTHORS
|
|
||||||
|
|
||||||
${Edi_User} <${Edi_Email}> and various contributors.
|
|
|
@ -1,38 +0,0 @@
|
||||||
MAINTAINERCLEANFILES = Makefile.in
|
|
||||||
EXTRA_DIST = ${edi_name}.1.in
|
|
||||||
|
|
||||||
man_MANS = ${edi_name}.1
|
|
||||||
|
|
||||||
|
|
||||||
.PHONY: doc
|
|
||||||
|
|
||||||
PACKAGE_DOCNAME = $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-doc
|
|
||||||
|
|
||||||
if EFL_BUILD_DOC
|
|
||||||
|
|
||||||
doc-clean:
|
|
||||||
rm -rf html/ latex/ man/ xml/ $(top_builddir)/$(PACKAGE_DOCNAME).tar*
|
|
||||||
|
|
||||||
doc: all
|
|
||||||
$(efl_doxygen)
|
|
||||||
cp $(srcdir)/img/* html/
|
|
||||||
cp $(srcdir)/img/*.eps latex/
|
|
||||||
rm -rf $(PACKAGE_DOCNAME).tar*
|
|
||||||
mkdir -p $(PACKAGE_DOCNAME)/doc
|
|
||||||
cp -R html/ latex/ man/ $(PACKAGE_DOCNAME)/doc
|
|
||||||
tar cf $(PACKAGE_DOCNAME).tar $(PACKAGE_DOCNAME)/
|
|
||||||
bzip2 -9 $(PACKAGE_DOCNAME).tar
|
|
||||||
rm -rf $(PACKAGE_DOCNAME)/
|
|
||||||
mv $(PACKAGE_DOCNAME).tar.bz2 $(top_builddir)
|
|
||||||
@echo "Documentation Package: doc/$(PACKAGE_DOCNAME).tar.bz2"
|
|
||||||
@echo "Documentation HTML: doc/html"
|
|
||||||
|
|
||||||
clean-local: doc-clean
|
|
||||||
|
|
||||||
else
|
|
||||||
|
|
||||||
doc:
|
|
||||||
@echo "Documentation not built. Run ./configure --help"
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
|
@ -1,123 +0,0 @@
|
||||||
dnl file to manage modules in efl
|
|
||||||
|
|
||||||
dnl EFL_VERSION(major, minor, micro, release)
|
|
||||||
dnl This setup EFL version information and should be called BEFORE AC_INIT().
|
|
||||||
dnl
|
|
||||||
dnl release parameter is 'dev' to use from SVN or libtool -release field.
|
|
||||||
dnl It may be empty if not dev (svn/live build) and no -release is to be used.
|
|
||||||
dnl
|
|
||||||
dnl Examples:
|
|
||||||
dnl EFL_VERSION(1, 7, 99, dev)
|
|
||||||
dnl EFL_VERSION(1, 7, 99, ver-1234)
|
|
||||||
dnl This will define couple of m4 symbols:
|
|
||||||
dnl v_maj = given major number (first parameter)
|
|
||||||
dnl v_min = given minor number (second parameter)
|
|
||||||
dnl v_mic = given micro number (third parameter)
|
|
||||||
dnl v_rev = if release, it's 0, otherwise it's dev_version.
|
|
||||||
dnl v_rel = if release, it's -release followed by fourth parameter,
|
|
||||||
dnl otherwise it's empty. (mostly for libtool)
|
|
||||||
dnl efl_version = if release, it's major.minor.micro, otherwise it's
|
|
||||||
dnl major.minor.micro.dev_version
|
|
||||||
dnl dev_version = development version (svn revision).
|
|
||||||
dnl def_build_profile = dev or release based on 'dev' release parameter.
|
|
||||||
AC_DEFUN([EFL_VERSION],
|
|
||||||
[dnl
|
|
||||||
m4_define([v_maj], [$1])dnl
|
|
||||||
m4_define([v_min], [$2])dnl
|
|
||||||
m4_define([v_mic], [$3])dnl
|
|
||||||
m4_define([dev_version], m4_esyscmd([(git rev-list --count HEAD 2>/dev/null || echo 0) | tr -d '\n']))dnl
|
|
||||||
m4_define([v_rev], m4_if($4, dev, [dev_version], [0]))dnl
|
|
||||||
m4_define([v_rel], [])dnl
|
|
||||||
m4_define([def_build_profile], m4_if($4, dev, [dev], [release]))dnl
|
|
||||||
m4_define([efl_version], m4_if($4, dev, [v_maj.v_min.v_mic.v_rev], [v_maj.v_min.v_mic]))dnl
|
|
||||||
m4_define([efl_version], [v_maj.v_min.v_mic])dnl
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl EFL_COLOR
|
|
||||||
dnl will check if terminal supports color and if color is wanted by user.
|
|
||||||
dnl
|
|
||||||
dnl Used Variables:
|
|
||||||
dnl WANT_COLOR: if no, forces no color output.
|
|
||||||
dnl TERM: used to check if color should be enabled.
|
|
||||||
dnl
|
|
||||||
dnl Defined Variables:
|
|
||||||
dnl COLOR_YES: to be used in positive/yes conditions
|
|
||||||
dnl COLOR_NO: to be used in negative/no conditions
|
|
||||||
dnl COLOR_OTHER: to be used to highlight some other condition
|
|
||||||
dnl COLOR_RESET: to reset color
|
|
||||||
dnl want_color: yes or no
|
|
||||||
AC_DEFUN([EFL_COLOR],
|
|
||||||
[dnl
|
|
||||||
case "$TERM" in
|
|
||||||
xterm|xterm-color|xterm-256color|Eterm|aterm|kterm|rxvt*|screen|gnome|interix)
|
|
||||||
want_color="${WANT_COLOR:-yes}"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
want_color="no"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if test "${want_color}" = "yes"; then
|
|
||||||
if test `echo -e x` = x; then
|
|
||||||
echoopt=-e
|
|
||||||
else
|
|
||||||
echoopt=
|
|
||||||
fi
|
|
||||||
|
|
||||||
COLOR_YES=`echo $echoopt "\033@<:@1;32m"`
|
|
||||||
COLOR_NO=`echo $echoopt "\033@<:@1;31m"`
|
|
||||||
COLOR_OTHER=`echo $echoopt "\033@<:@1;36m"`
|
|
||||||
COLOR_RESET=`echo $echoopt "\033@<:@0m"`
|
|
||||||
|
|
||||||
else
|
|
||||||
COLOR_YES=""
|
|
||||||
COLOR_NO=""
|
|
||||||
COLOR_OTHER=""
|
|
||||||
COLOR_RESET=""
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl EFL_INIT()
|
|
||||||
dnl Will AC_DEFINE() the following:
|
|
||||||
dnl VMAJ = v_maj
|
|
||||||
dnl VMIN = v_min
|
|
||||||
dnl VMIC = v_mic
|
|
||||||
dnl VREV = v_rev
|
|
||||||
dnl Will AC_SUBST() the following:
|
|
||||||
dnl VMAJ = v_maj
|
|
||||||
dnl VMIN = v_min
|
|
||||||
dnl VMIC = v_mic
|
|
||||||
dnl EFL_LTLIBRARY_FLAGS="-no-undefined -version-info ..."
|
|
||||||
dnl EFL_LTMODULE_FLAGS="-no-undefined -avoid-version"
|
|
||||||
dnl Will define the following m4:
|
|
||||||
dnl lt_cur = libtool 'current' field of libtool's -version-info
|
|
||||||
dnl lt_rev = libtool 'revision' field of libtool's -version-info
|
|
||||||
dnl lt_age = libtool 'age' field of libtool's -version-info
|
|
||||||
AC_DEFUN([EFL_INIT],
|
|
||||||
[dnl
|
|
||||||
AC_REQUIRE([EFL_COLOR])dnl
|
|
||||||
AC_DEFINE_UNQUOTED([VMAJ], [v_maj], [Major version])dnl
|
|
||||||
AC_DEFINE_UNQUOTED([VMIN], [v_min], [Minor version])dnl
|
|
||||||
AC_DEFINE_UNQUOTED([VMIC], [v_mic], [Micro version])dnl
|
|
||||||
AC_DEFINE_UNQUOTED([VREV], [v_rev], [Revison])dnl
|
|
||||||
VMAJ=v_maj
|
|
||||||
VMIN=v_min
|
|
||||||
VMIC=v_mic
|
|
||||||
AC_SUBST([VMAJ])dnl
|
|
||||||
AC_SUBST([VMIN])dnl
|
|
||||||
AC_SUBST([VMIC])dnl
|
|
||||||
dnl
|
|
||||||
dnl TODO: warning - lt_cur:
|
|
||||||
dnl the previous code assumed v_maj + v_min, but this will be a problem when
|
|
||||||
dnl we bump v_maj and reset v_min. 1 + 7 == 7 + 1, so if v_maj is bumped
|
|
||||||
dnl we multiply it by 100.
|
|
||||||
m4_define([lt_cur], m4_if(m4_cmp(v_maj, 1), 0, m4_eval(v_maj + v_min), m4_eval(v_maj * 100 + v_min)))dnl
|
|
||||||
m4_define([lt_rev], v_mic)dnl
|
|
||||||
m4_define([lt_age], v_min)dnl
|
|
||||||
dnl
|
|
||||||
EFL_LTLIBRARY_FLAGS="-no-undefined -version-info lt_cur:lt_rev:lt_age v_rel"
|
|
||||||
AC_SUBST(EFL_LTLIBRARY_FLAGS)dnl
|
|
||||||
EFL_LTMODULE_FLAGS="-no-undefined -avoid-version"
|
|
||||||
AC_SUBST([EFL_LTMODULE_FLAGS])dnl
|
|
||||||
AC_MSG_NOTICE([Initialized AC_PACKAGE_NAME (AC_PACKAGE_VERSION) development=dev_version v_rel])
|
|
||||||
])
|
|
|
@ -1,56 +0,0 @@
|
||||||
dnl Copyright (C) 2011 Vincent Torri <vtorri at univ-evry dot fr>
|
|
||||||
dnl That code is public domain and can be freely used or copied.
|
|
||||||
|
|
||||||
dnl Macros for checking if the compiler supports some __attribute__ uses
|
|
||||||
|
|
||||||
dnl Usage: EFL_ATTRIBUTE_UNUSED
|
|
||||||
dnl call AC_DEFINE for __UNUSED__ if __attribute__((unused)) is available
|
|
||||||
|
|
||||||
AC_DEFUN([EFL_ATTRIBUTE_UNUSED],
|
|
||||||
[
|
|
||||||
AC_MSG_CHECKING([for __attribute__ ((unused))])
|
|
||||||
AC_COMPILE_IFELSE(
|
|
||||||
[AC_LANG_PROGRAM(
|
|
||||||
[[
|
|
||||||
void foo(int x __attribute__ ((unused))) {}
|
|
||||||
]],
|
|
||||||
[[
|
|
||||||
]])],
|
|
||||||
[have_attribute_unused="yes"],
|
|
||||||
[have_attribute_unused="no"])
|
|
||||||
AC_MSG_RESULT([${have_attribute_unused}])
|
|
||||||
|
|
||||||
if test "x${have_attribute_unused}" = "xyes" ; then
|
|
||||||
AC_DEFINE([__UNUSED__], [__attribute__ ((unused))], [Macro declaring a function argument to be unused.])
|
|
||||||
else
|
|
||||||
AC_DEFINE([__UNUSED__], [], [__attribute__ ((unused)) is not supported.])
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl Usage: EFL_ATTRIBUTE_VECTOR
|
|
||||||
dnl call AC_DEFINE for HAVE_GCC_ATTRIBUTE_VECTOR if __attribute__((vector)) is available
|
|
||||||
|
|
||||||
AC_DEFUN([EFL_ATTRIBUTE_VECTOR],
|
|
||||||
[
|
|
||||||
AC_MSG_CHECKING([for __attribute__ ((vector))])
|
|
||||||
AC_COMPILE_IFELSE(
|
|
||||||
[AC_LANG_PROGRAM(
|
|
||||||
[[
|
|
||||||
typedef int v4si __attribute__ ((vector_size (16)));
|
|
||||||
]],
|
|
||||||
[[
|
|
||||||
if (sizeof(v4si) == 16)
|
|
||||||
return 0;
|
|
||||||
else
|
|
||||||
return -1;
|
|
||||||
]])],
|
|
||||||
[have_attribute_vector="yes"],
|
|
||||||
[have_attribute_vector="no"])
|
|
||||||
AC_MSG_RESULT([${have_attribute_vector}])
|
|
||||||
|
|
||||||
if test "x${have_attribute_vector}" = "xyes" ; then
|
|
||||||
AC_DEFINE([HAVE_GCC_ATTRIBUTE_VECTOR], [1], [Define to 1 if your compiler supports __attribute__ ((vector)).])
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl End of efl_attribute.m4
|
|
|
@ -1,79 +0,0 @@
|
||||||
dnl Copyright (C) 2010 Vincent Torri <vtorri at univ-evry dot fr>
|
|
||||||
dnl That code is public domain and can be freely used or copied.
|
|
||||||
|
|
||||||
dnl Macro that check if a binary is built or not
|
|
||||||
|
|
||||||
dnl Usage: EFL_ENABLE_BIN(binary)
|
|
||||||
dnl Call AC_SUBST(BINARY_PRG) (BINARY is the uppercase of binary, - being transformed into _)
|
|
||||||
dnl Define have_binary (- is transformed into _)
|
|
||||||
dnl Define conditional BUILD_BINARY (BINARY is the uppercase of binary, - being transformed into _)
|
|
||||||
|
|
||||||
AC_DEFUN([EFL_ENABLE_BIN],
|
|
||||||
[
|
|
||||||
|
|
||||||
m4_pushdef([UP], m4_translit([[$1]], [-a-z], [_A-Z]))dnl
|
|
||||||
m4_pushdef([DOWN], m4_translit([[$1]], [-A-Z], [_a-z]))dnl
|
|
||||||
|
|
||||||
have_[]m4_defn([DOWN])="yes"
|
|
||||||
|
|
||||||
dnl configure option
|
|
||||||
|
|
||||||
AC_ARG_ENABLE([$1],
|
|
||||||
[AC_HELP_STRING([--disable-$1], [disable building of ]DOWN)],
|
|
||||||
[
|
|
||||||
if test "x${enableval}" = "xyes" ; then
|
|
||||||
have_[]m4_defn([DOWN])="yes"
|
|
||||||
else
|
|
||||||
have_[]m4_defn([DOWN])="no"
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([whether to build ]DOWN[ binary])
|
|
||||||
AC_MSG_RESULT([$have_[]m4_defn([DOWN])])
|
|
||||||
|
|
||||||
if test "x$have_[]m4_defn([DOWN])" = "xyes"; then
|
|
||||||
UP[]_PRG=DOWN[${EXEEXT}]
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_SUBST(UP[]_PRG)
|
|
||||||
|
|
||||||
AM_CONDITIONAL(BUILD_[]UP, test "x$have_[]m4_defn([DOWN])" = "xyes")
|
|
||||||
|
|
||||||
AS_IF([test "x$have_[]m4_defn([DOWN])" = "xyes"], [$2], [$3])
|
|
||||||
|
|
||||||
])
|
|
||||||
|
|
||||||
|
|
||||||
dnl Macro that check if a binary is built or not
|
|
||||||
|
|
||||||
dnl Usage: EFL_WITH_BIN(package, binary, default_value)
|
|
||||||
dnl Call AC_SUBST(_binary) (_binary is the lowercase of binary, - being transformed into _ by default, or the value set by the user)
|
|
||||||
|
|
||||||
AC_DEFUN([EFL_WITH_BIN],
|
|
||||||
[
|
|
||||||
|
|
||||||
m4_pushdef([DOWN], m4_translit([[$2]], [-A-Z], [_a-z]))dnl
|
|
||||||
m4_pushdef([UP], m4_translit([[$2]], [-a-z], [_A-Z]))dnl
|
|
||||||
|
|
||||||
dnl configure option
|
|
||||||
|
|
||||||
AC_ARG_WITH([$2],
|
|
||||||
[AC_HELP_STRING([--with-$2=PATH], [specify a specific path to ]DOWN[ @<:@default=$3@:>@])],
|
|
||||||
[
|
|
||||||
_efl_with_binary=${withval}
|
|
||||||
_efl_binary_define="yes"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
_efl_with_binary=$(pkg-config --variable=prefix $1)/bin/$3
|
|
||||||
_efl_binary_define="no"
|
|
||||||
])
|
|
||||||
|
|
||||||
DOWN=${_efl_with_binary}
|
|
||||||
AC_MSG_NOTICE(DOWN[ set to ${_efl_with_binary}])
|
|
||||||
|
|
||||||
with_binary_[]m4_defn([DOWN])=${_efl_with_binary}
|
|
||||||
|
|
||||||
AM_CONDITIONAL(HAVE_[]UP, [test "x${_efl_binary_define}" = "xyes"])
|
|
||||||
AC_SUBST(DOWN)
|
|
||||||
|
|
||||||
])
|
|
|
@ -1,57 +0,0 @@
|
||||||
dnl Copyright (C) 2010 Vincent Torri <vtorri at univ-evry dot fr>
|
|
||||||
dnl and Albin Tonnerre <albin dot tonnerre at gmail dot com>
|
|
||||||
dnl That code is public domain and can be freely used or copied.
|
|
||||||
|
|
||||||
dnl Macro that checks if a compiler flag is supported by the compiler.
|
|
||||||
|
|
||||||
dnl Usage: EFL_COMPILER_FLAG(flag)
|
|
||||||
dnl flag is added to CFLAGS if supported.
|
|
||||||
|
|
||||||
AC_DEFUN([EFL_COMPILER_FLAG],
|
|
||||||
[
|
|
||||||
|
|
||||||
CFLAGS_save="${CFLAGS}"
|
|
||||||
CFLAGS="${CFLAGS} $1"
|
|
||||||
|
|
||||||
AC_LANG_PUSH([C])
|
|
||||||
AC_MSG_CHECKING([whether the compiler supports $1])
|
|
||||||
|
|
||||||
AC_COMPILE_IFELSE(
|
|
||||||
[AC_LANG_PROGRAM([[]])],
|
|
||||||
[have_flag="yes"],
|
|
||||||
[have_flag="no"])
|
|
||||||
AC_MSG_RESULT([${have_flag}])
|
|
||||||
|
|
||||||
if test "x${have_flag}" = "xno" ; then
|
|
||||||
CFLAGS="${CFLAGS_save}"
|
|
||||||
fi
|
|
||||||
AC_LANG_POP([C])
|
|
||||||
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl Macro that checks if a linker flag is supported by the compiler.
|
|
||||||
|
|
||||||
dnl Usage: EFL_LINKER_FLAG(flag)
|
|
||||||
dnl flag is added to LDFLAGS if supported (will be passed to ld anyway).
|
|
||||||
|
|
||||||
AC_DEFUN([EFL_LINKER_FLAG],
|
|
||||||
[
|
|
||||||
|
|
||||||
LDFLAGS_save="${LDFLAGS}"
|
|
||||||
LDFLAGS="${LDFLAGS} $1"
|
|
||||||
|
|
||||||
AC_LANG_PUSH([C])
|
|
||||||
AC_MSG_CHECKING([whether the compiler supports $1])
|
|
||||||
|
|
||||||
AC_LINK_IFELSE(
|
|
||||||
[AC_LANG_PROGRAM([[]])],
|
|
||||||
[have_flag="yes"],
|
|
||||||
[have_flag="no"])
|
|
||||||
AC_MSG_RESULT([${have_flag}])
|
|
||||||
|
|
||||||
if test "x${have_flag}" = "xno" ; then
|
|
||||||
LDFLAGS="${LDFLAGS_save}"
|
|
||||||
fi
|
|
||||||
AC_LANG_POP([C])
|
|
||||||
|
|
||||||
])
|
|
|
@ -1,98 +0,0 @@
|
||||||
dnl Copyright (C) 2008 Vincent Torri <vtorri at univ-evry dot fr>
|
|
||||||
dnl That code is public domain and can be freely used or copied.
|
|
||||||
|
|
||||||
dnl Macro that check if doxygen is available or not.
|
|
||||||
|
|
||||||
dnl EFL_CHECK_DOXYGEN([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
|
|
||||||
dnl Test for the doxygen program
|
|
||||||
dnl Defines efl_doxygen
|
|
||||||
dnl Defines the automake conditionnal EFL_BUILD_DOC
|
|
||||||
dnl
|
|
||||||
AC_DEFUN([EFL_CHECK_DOXYGEN],
|
|
||||||
[
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl Disable the build of the documentation
|
|
||||||
dnl
|
|
||||||
AC_ARG_ENABLE([doc],
|
|
||||||
[AC_HELP_STRING(
|
|
||||||
[--disable-doc],
|
|
||||||
[Disable documentation build @<:@default=enabled@:>@])],
|
|
||||||
[
|
|
||||||
if test "x${enableval}" = "xyes" ; then
|
|
||||||
efl_enable_doc="yes"
|
|
||||||
else
|
|
||||||
efl_enable_doc="no"
|
|
||||||
fi
|
|
||||||
],
|
|
||||||
[efl_enable_doc="yes"]
|
|
||||||
)
|
|
||||||
|
|
||||||
if test "x${efl_enable_doc}" = "xyes" ; then
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl Specify the full file name, with path
|
|
||||||
dnl
|
|
||||||
|
|
||||||
efl_doxygen="doxygen"
|
|
||||||
|
|
||||||
AC_ARG_WITH([doxygen],
|
|
||||||
[AC_HELP_STRING(
|
|
||||||
[--with-doxygen=FILE],
|
|
||||||
[doxygen program to use @<:@default=doxygen@:>@])],
|
|
||||||
dnl
|
|
||||||
dnl Check the given doxygen program.
|
|
||||||
dnl
|
|
||||||
[efl_doxygen=${withval}
|
|
||||||
AC_CHECK_PROG([efl_have_doxygen],
|
|
||||||
[${efl_doxygen}],
|
|
||||||
[yes],
|
|
||||||
[no])
|
|
||||||
if test "x${efl_have_doxygen}" = "xno" ; then
|
|
||||||
echo "WARNING:"
|
|
||||||
echo "The doxygen program you specified:"
|
|
||||||
echo "$efl_doxygen"
|
|
||||||
echo "was not found. Please check the path and make sure "
|
|
||||||
echo "the program exists and is executable."
|
|
||||||
AC_MSG_WARN([Warning: no doxygen detected. Documentation will not be built])
|
|
||||||
fi
|
|
||||||
],
|
|
||||||
[AC_CHECK_PROG([efl_have_doxygen],
|
|
||||||
[${efl_doxygen}],
|
|
||||||
[yes],
|
|
||||||
[no])
|
|
||||||
if test "x${efl_have_doxygen}" = "xno" ; then
|
|
||||||
echo "WARNING:"
|
|
||||||
echo "The doxygen program was not found in your execute"
|
|
||||||
echo "You may have doxygen installed somewhere not covered by your path."
|
|
||||||
echo ""
|
|
||||||
echo "If this is the case make sure you have the packages installed, AND"
|
|
||||||
echo "that the doxygen program is in your execute path (see your"
|
|
||||||
echo "shell manual page on setting the \$PATH environment variable), OR"
|
|
||||||
echo "alternatively, specify the program to use with --with-doxygen."
|
|
||||||
AC_MSG_WARN([Warning: no doxygen detected. Documentation will not be built])
|
|
||||||
fi
|
|
||||||
]
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl Substitution
|
|
||||||
dnl
|
|
||||||
AC_SUBST([efl_doxygen])
|
|
||||||
|
|
||||||
if ! test "x${efl_have_doxygen}" = "xyes" ; then
|
|
||||||
efl_enable_doc="no"
|
|
||||||
fi
|
|
||||||
|
|
||||||
AM_CONDITIONAL(EFL_BUILD_DOC, test "x${efl_enable_doc}" = "xyes")
|
|
||||||
|
|
||||||
if test "x${efl_enable_doc}" = "xyes" ; then
|
|
||||||
ifelse([$1], , :, [$1])
|
|
||||||
else
|
|
||||||
ifelse([$2], , :, [$2])
|
|
||||||
fi
|
|
||||||
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl End of doxygen.m4
|
|
|
@ -1,36 +0,0 @@
|
||||||
dnl Check for PATH_MAX in limits.h, and define a default value if not found
|
|
||||||
dnl This is a workaround for systems not providing PATH_MAX, like GNU/Hurd
|
|
||||||
|
|
||||||
dnl EFL_CHECK_PATH_MAX([DEFAULT_VALUE_IF_NOT_FOUND])
|
|
||||||
dnl
|
|
||||||
dnl If PATH_MAX is not defined in <limits.h>, defines it
|
|
||||||
dnl to DEFAULT_VALUE_IF_NOT_FOUND if it exists, or fallback
|
|
||||||
dnl to using 4096
|
|
||||||
|
|
||||||
AC_DEFUN([EFL_CHECK_PATH_MAX],
|
|
||||||
[
|
|
||||||
|
|
||||||
default_max=m4_default([$1], "4096")
|
|
||||||
AC_LANG_PUSH([C])
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([for PATH_MAX in limits.h])
|
|
||||||
AC_COMPILE_IFELSE(
|
|
||||||
[AC_LANG_PROGRAM(
|
|
||||||
[[
|
|
||||||
#include <limits.h>
|
|
||||||
]],
|
|
||||||
[[
|
|
||||||
int i = PATH_MAX;
|
|
||||||
]])],
|
|
||||||
[AC_MSG_RESULT([yes])],
|
|
||||||
[
|
|
||||||
AC_DEFINE_UNQUOTED([PATH_MAX],
|
|
||||||
[${default_max}],
|
|
||||||
[default value since PATH_MAX is not defined])
|
|
||||||
AC_MSG_RESULT([no: using ${default_max}])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_LANG_POP([C])
|
|
||||||
|
|
||||||
])
|
|
||||||
dnl end of efl_path_max.m4
|
|
|
@ -1,65 +0,0 @@
|
||||||
dnl Copyright (C) 2013 Cedric BAIL <cedric.bail at free dot fr>
|
|
||||||
dnl That code is public domain and can be freely used or copied.
|
|
||||||
|
|
||||||
dnl Macro for checking availability of tests and coverage infra structure
|
|
||||||
|
|
||||||
dnl Usage: EFL_TESTS(profile)
|
|
||||||
dnl Valid profile are auto, tests, coverage, no
|
|
||||||
dnl Call PKG_CHECK_MODULES, AC_CHECK_PROG, define CHECK_CFLAGS/CHECK_LIBS and modify CFLAGS/LIBS
|
|
||||||
dnl It define EFL_HAVE_TESTS/EFL_HAVE_LCOV for use in Makefile.am
|
|
||||||
dnl It set have_test and have_coverage to yes/no depending if found
|
|
||||||
|
|
||||||
AC_DEFUN([EFL_TESTS],
|
|
||||||
[
|
|
||||||
build_tests=$1
|
|
||||||
|
|
||||||
case "${build_tests}" in
|
|
||||||
auto)
|
|
||||||
check_tests="auto"
|
|
||||||
check_coverage="auto"
|
|
||||||
;;
|
|
||||||
tests)
|
|
||||||
check_tests="yes"
|
|
||||||
check_coverage="auto"
|
|
||||||
;;
|
|
||||||
coverage)
|
|
||||||
check_tests="yes"
|
|
||||||
check_coverage="yes"
|
|
||||||
;;
|
|
||||||
no)
|
|
||||||
check_tests="no"
|
|
||||||
check_coverage="no"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
AC_MSG_ERROR([Unknow tests profile])
|
|
||||||
esac
|
|
||||||
|
|
||||||
have_tests="no"
|
|
||||||
if test "x${check_tests}" = "xyes" -o "x${check_tests}" = "xauto"; then
|
|
||||||
PKG_CHECK_MODULES([CHECK], [check >= 0.9.5], [have_tests="yes"], [have_tests="no"])
|
|
||||||
if test "${check_tests}" = "xyes" -a "x${have_tests}" = "xno"; then
|
|
||||||
AC_MSG_ERROR([Impossible to find check package to build tests])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${have_tests}" = "xyes"; then
|
|
||||||
if test "x${check_coverage}" = "xyes" -o "x${check_coverage}" = "xauto"; then
|
|
||||||
AC_CHECK_PROG([have_lcov], [lcov], [yes], [no])
|
|
||||||
if test "x${have_lcov}" = "xyes" ; then
|
|
||||||
CFLAGS="${CFLAGS} -fprofile-arcs -ftest-coverage"
|
|
||||||
LIBS="${LIBS} -lgcov"
|
|
||||||
fi
|
|
||||||
if test "x${have_lcov}" = "xno" -a "x${check_coverage}" = "xyes"; then
|
|
||||||
AC_MSG_ERROR([Impossible to find lcov package to build with coverage support])
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
have_coverage="no"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
have_coverage="no"
|
|
||||||
fi
|
|
||||||
|
|
||||||
AM_CONDITIONAL([EFL_HAVE_TESTS], [test "x${have_tests}" = "xyes"])
|
|
||||||
AM_CONDITIONAL([EFL_HAVE_LCOV], [test "x${have_lcov}" = "xyes"])
|
|
||||||
|
|
||||||
])
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
##### Project
|
||||||
|
project('asdas', 'c',
|
||||||
|
version : '0.0.1',
|
||||||
|
meson_version : '>= 0.40.0')
|
||||||
|
|
||||||
|
efl_version = '>= 1.22.0'
|
||||||
|
|
||||||
|
cfg = configuration_data()
|
||||||
|
|
||||||
|
host_os = host_machine.system()
|
||||||
|
|
||||||
|
deps_os = declare_dependency(link_args : [] )
|
||||||
|
if host_os == 'freebsd'
|
||||||
|
deps_os = declare_dependency(link_args : ['-I/usr/local/include', '-lintl'])
|
||||||
|
endif
|
||||||
|
|
||||||
|
deps = dependency('elementary', version: efl_version)
|
||||||
|
|
||||||
|
##### dir locations
|
||||||
|
dir_prefix = get_option('prefix')
|
||||||
|
dir_bin = join_paths(dir_prefix, get_option('bindir'))
|
||||||
|
dir_lib = join_paths(dir_prefix, get_option('libdir'))
|
||||||
|
dir_data = join_paths(dir_prefix, get_option('datadir'))
|
||||||
|
dir_locale = join_paths(dir_prefix, get_option('localedir'))
|
||||||
|
|
||||||
|
subdir('data')
|
||||||
|
subdir('po')
|
||||||
|
subdir('src')
|
||||||
|
|
||||||
|
##### config.h
|
||||||
|
cfg.set('HAVE_CONFIG_H', 1)
|
||||||
|
cfg.set_quoted('PACKAGE', 'asdas')
|
||||||
|
cfg.set_quoted('PACKAGE_VERSION', meson.project_version())
|
||||||
|
cfg.set_quoted('PACKAGE_DATA_DIR', join_paths(dir_data, 'asdas'))
|
||||||
|
configure_file(output: 'config.h', configuration: cfg)
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
i18n = import('i18n')
|
||||||
|
i18n.gettext('${edi_name}')
|
||||||
|
|
||||||
|
cfg.set('ENABLE_NLS', 1)
|
||||||
|
cfg.set_quoted('LOCALEDIR', join_paths(get_option('prefix'), get_option('localedir')))
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
MAINTAINERCLEANFILES = Makefile.in
|
|
||||||
|
|
||||||
SUBDIRS = lib bin tests
|
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
# include "config.h"
|
# include "config.h"
|
||||||
#endif
|
|
||||||
|
|
||||||
/* NOTE: Respecting header order is important for portability.
|
|
||||||
* Always put system first, then EFL, then your public header,
|
|
||||||
* and finally your private one. */
|
|
||||||
|
|
||||||
#if ENABLE_NLS
|
#if ENABLE_NLS
|
||||||
# include <libintl.h>
|
# include <libintl.h>
|
||||||
|
@ -13,8 +7,6 @@
|
||||||
#include <Ecore_Getopt.h>
|
#include <Ecore_Getopt.h>
|
||||||
#include <Elementary.h>
|
#include <Elementary.h>
|
||||||
|
|
||||||
#include "${Edi_Name}.h"
|
|
||||||
|
|
||||||
#include "${edi_name}_private.h"
|
#include "${edi_name}_private.h"
|
||||||
|
|
||||||
#define COPYRIGHT "Copyright © ${Edi_Year} ${Edi_User} <${Edi_Email}> and various contributors (see AUTHORS)."
|
#define COPYRIGHT "Copyright © ${Edi_Year} ${Edi_User} <${Edi_Email}> and various contributors (see AUTHORS)."
|
||||||
|
@ -91,8 +83,6 @@ elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
|
||||||
textdomain(PACKAGE);
|
textdomain(PACKAGE);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
${edi_name}_init();
|
|
||||||
|
|
||||||
args = ecore_getopt_parse(&optdesc, values, argc, argv);
|
args = ecore_getopt_parse(&optdesc, values, argc, argv);
|
||||||
if (args < 0)
|
if (args < 0)
|
||||||
{
|
{
|
||||||
|
@ -109,12 +99,9 @@ elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
|
||||||
if (!(win = ${edi_name}_win_setup()))
|
if (!(win = ${edi_name}_win_setup()))
|
||||||
goto end;
|
goto end;
|
||||||
|
|
||||||
${edi_name}_library_call();
|
|
||||||
|
|
||||||
elm_run();
|
elm_run();
|
||||||
|
|
||||||
end:
|
end:
|
||||||
${edi_name}_shutdown();
|
|
||||||
elm_shutdown();
|
elm_shutdown();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
MAINTAINERCLEANFILES = Makefile.in
|
|
||||||
|
|
||||||
bin_PROGRAMS = ${edi_name}
|
|
||||||
|
|
||||||
AM_CPPFLAGS = -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
|
|
||||||
-I$(top_builddir)/src/bin/ \
|
|
||||||
-I$(top_srcdir)/src/bin/ \
|
|
||||||
-I$(top_builddir)/src/lib/ \
|
|
||||||
-I$(top_srcdir)/src/lib/ \
|
|
||||||
@EFL_CFLAGS@
|
|
||||||
|
|
||||||
${edi_name}_SOURCES = ${edi_name}_main.c
|
|
||||||
${edi_name}_LDADD = @EFL_LIBS@ $(top_builddir)/src/lib/lib${edi_name}.la
|
|
||||||
|
|
||||||
localedir = $(datadir)/locale
|
|
||||||
DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
|
|
||||||
|
|
||||||
EXTRA_DIST = ${edi_name}_private.h
|
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
inc = include_directories('.', '../..')
|
||||||
|
|
||||||
|
executable('${edi_name}', [
|
||||||
|
'${edi_name}_main.c',
|
||||||
|
'${edi_name}_private.h',
|
||||||
|
'gettext.h'
|
||||||
|
],
|
||||||
|
include_directories: inc,
|
||||||
|
dependencies: [ deps, deps_os ],
|
||||||
|
gui_app : true,
|
||||||
|
install : true)
|
|
@ -1,111 +0,0 @@
|
||||||
#ifndef ${EDI_NAME}_H_
|
|
||||||
# define ${EDI_NAME}_H_
|
|
||||||
|
|
||||||
#include <Elementary.h>
|
|
||||||
|
|
||||||
#ifdef EAPI
|
|
||||||
# undef EAPI
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
# ifdef EFL_${EDI_NAME}_BUILD
|
|
||||||
# ifdef DLL_EXPORT
|
|
||||||
# define EAPI __declspec(dllexport)
|
|
||||||
# else
|
|
||||||
# define EAPI
|
|
||||||
# endif /* ! DLL_EXPORT */
|
|
||||||
# else
|
|
||||||
# define EAPI __declspec(dllimport)
|
|
||||||
# endif /* ! EFL_${EDI_NAME}_BUILD */
|
|
||||||
#else
|
|
||||||
# ifdef __GNUC__
|
|
||||||
# if __GNUC__ >= 4
|
|
||||||
# define EAPI __attribute__ ((visibility("default")))
|
|
||||||
# else
|
|
||||||
# define EAPI
|
|
||||||
# endif
|
|
||||||
# else
|
|
||||||
# define EAPI
|
|
||||||
# endif
|
|
||||||
#endif /* ! _WIN32 */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @file
|
|
||||||
* @brief These routines are used for ${Edi_Name} library interaction.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Init / shutdown functions.
|
|
||||||
* @defgroup Init Init / Shutdown
|
|
||||||
*
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* Functions of obligatory usage, handling proper initialization
|
|
||||||
* and shutdown routines.
|
|
||||||
*
|
|
||||||
* Before the usage of any other function, ${Edi_Name} should be properly
|
|
||||||
* initialized with @ref ${edi_name}_init() and the last call to ${Edi_Name}'s
|
|
||||||
* functions should be @ref ${edi_name}_shutdown(), so everything will
|
|
||||||
* be correctly freed.
|
|
||||||
*
|
|
||||||
* ${Edi_Name} logs everything with Eina Log, using the "${edi_name}" log domain.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize ${Edi_Name}.
|
|
||||||
*
|
|
||||||
* Initializes ${Edi_Name}, its dependencies and modules. Should be the first
|
|
||||||
* function of ${Edi_Name} to be called.
|
|
||||||
*
|
|
||||||
* @return The init counter value.
|
|
||||||
*
|
|
||||||
* @see ${edi_name}_shutdown().
|
|
||||||
*
|
|
||||||
* @ingroup Init
|
|
||||||
*/
|
|
||||||
EAPI int ${edi_name}_init(void);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Shutdown ${Edi_Name}
|
|
||||||
*
|
|
||||||
* Shutdown ${Edi_Name}. If init count reaches 0, all the internal structures will
|
|
||||||
* be freed. Any ${Edi_Name} library call after this point will leads to an error.
|
|
||||||
*
|
|
||||||
* @return ${Edi_Name}'s init counter value.
|
|
||||||
*
|
|
||||||
* @see ${edi_name}_init().
|
|
||||||
*
|
|
||||||
* @ingroup Init
|
|
||||||
*/
|
|
||||||
EAPI int ${edi_name}_shutdown(void);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Main group API that wont do anything
|
|
||||||
* @defgroup Main Main
|
|
||||||
*
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @brief A function that doesn't do any good nor any bad
|
|
||||||
*
|
|
||||||
* @ingroup Main
|
|
||||||
*/
|
|
||||||
EAPI void ${edi_name}_library_call(void);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @}
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* ${EDI_NAME}_H_ */
|
|
|
@ -1,64 +0,0 @@
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
# include "config.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "${Edi_Name}.h"
|
|
||||||
|
|
||||||
#include "${edi_name}_private.h"
|
|
||||||
|
|
||||||
static int _${edi_name}_init = 0;
|
|
||||||
int _${edi_name}_lib_log_dom = -1;
|
|
||||||
|
|
||||||
EAPI int
|
|
||||||
${edi_name}_init(void)
|
|
||||||
{
|
|
||||||
_${edi_name}_init++;
|
|
||||||
if (_${edi_name}_init > 1) return _${edi_name}_init;
|
|
||||||
|
|
||||||
eina_init();
|
|
||||||
|
|
||||||
_${edi_name}_lib_log_dom = eina_log_domain_register("${edi_name}", EINA_COLOR_CYAN);
|
|
||||||
if (_${edi_name}_lib_log_dom < 0)
|
|
||||||
{
|
|
||||||
EINA_LOG_ERR("${Edi_Name} can not create its log domain.");
|
|
||||||
goto shutdown_eina;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Put here your initialization logic of your library
|
|
||||||
|
|
||||||
eina_log_timing(_${edi_name}_lib_log_dom, EINA_LOG_STATE_STOP, EINA_LOG_STATE_INIT);
|
|
||||||
|
|
||||||
return _${edi_name}_init;
|
|
||||||
|
|
||||||
shutdown_eina:
|
|
||||||
eina_shutdown();
|
|
||||||
_${edi_name}_init--;
|
|
||||||
|
|
||||||
return _${edi_name}_init;
|
|
||||||
}
|
|
||||||
|
|
||||||
EAPI int
|
|
||||||
${edi_name}_shutdown(void)
|
|
||||||
{
|
|
||||||
_${edi_name}_init--;
|
|
||||||
if (_${edi_name}_init != 0) return _${edi_name}_init;
|
|
||||||
|
|
||||||
eina_log_timing(_${edi_name}_lib_log_dom,
|
|
||||||
EINA_LOG_STATE_START,
|
|
||||||
EINA_LOG_STATE_SHUTDOWN);
|
|
||||||
|
|
||||||
// Put here your shutdown logic
|
|
||||||
|
|
||||||
eina_log_domain_unregister(_${edi_name}_lib_log_dom);
|
|
||||||
_${edi_name}_lib_log_dom = -1;
|
|
||||||
|
|
||||||
eina_shutdown();
|
|
||||||
|
|
||||||
return _${edi_name}_init;
|
|
||||||
}
|
|
||||||
|
|
||||||
EAPI void
|
|
||||||
${edi_name}_library_call(void)
|
|
||||||
{
|
|
||||||
INF("Not really doing anything useful.");
|
|
||||||
}
|
|
|
@ -1,27 +0,0 @@
|
||||||
#ifndef ${EDI_NAME}_PRIVATE_H
|
|
||||||
# define ${EDI_NAME}_PRIVATE_H
|
|
||||||
|
|
||||||
extern int _${edi_name}_lib_log_dom;
|
|
||||||
|
|
||||||
#ifdef ERR
|
|
||||||
# undef ERR
|
|
||||||
#endif
|
|
||||||
#define ERR(...) EINA_LOG_DOM_ERR(_${edi_name}_lib_log_dom, __VA_ARGS__)
|
|
||||||
#ifdef INF
|
|
||||||
# undef INF
|
|
||||||
#endif
|
|
||||||
#define INF(...) EINA_LOG_DOM_INFO(_${edi_name}_lib_log_dom, __VA_ARGS__)
|
|
||||||
#ifdef WRN
|
|
||||||
# undef WRN
|
|
||||||
#endif
|
|
||||||
#define WRN(...) EINA_LOG_DOM_WARN(_${edi_name}_lib_log_dom, __VA_ARGS__)
|
|
||||||
#ifdef CRIT
|
|
||||||
# undef CRIT
|
|
||||||
#endif
|
|
||||||
#define CRIT(...) EINA_LOG_DOM_CRIT(_${edi_name}_lib_log_dom, __VA_ARGS__)
|
|
||||||
#ifdef DBG
|
|
||||||
# undef DBG
|
|
||||||
#endif
|
|
||||||
#define DBG(...) EINA_LOG_DOM_DBG(_${edi_name}_lib_log_dom, __VA_ARGS__)
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,20 +0,0 @@
|
||||||
MAINTAINERCLEANFILES = Makefile.in
|
|
||||||
|
|
||||||
AM_CPPFLAGS = \
|
|
||||||
-I$(top_srcdir)/src/lib \
|
|
||||||
-I$(top_builddir)/src/lib \
|
|
||||||
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
|
|
||||||
-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
|
|
||||||
@EFL_CFLAGS@ \
|
|
||||||
-DEFL_${EDI_NAME}_BUILD
|
|
||||||
|
|
||||||
lib_LTLIBRARIES = lib${edi_name}.la
|
|
||||||
|
|
||||||
includes_HEADERS = ${Edi_Name}.h
|
|
||||||
includesdir = $(includedir)/${edi_name}-@VMAJ@
|
|
||||||
|
|
||||||
lib${edi_name}_la_SOURCES = \
|
|
||||||
${efl_name}_private.h \
|
|
||||||
${edi_name}.c
|
|
||||||
lib${edi_name}_la_LIBADD = @EFL_LIBS@ -lm
|
|
||||||
lib${edi_name}_la_LDFLAGS = -no-undefined @EFL_LTLIBRARY_FLAGS@
|
|
|
@ -0,0 +1 @@
|
||||||
|
subdir('bin')
|
|
@ -1,20 +0,0 @@
|
||||||
MAINTAINERCLEANFILES = Makefile.in
|
|
||||||
CLEANFILES = check-results.xml
|
|
||||||
|
|
||||||
if EFL_HAVE_TESTS
|
|
||||||
|
|
||||||
check_PROGRAMS = ${edi_name}_tests
|
|
||||||
|
|
||||||
${edi_name}_tests_SOURCES = test_${edi_name}.c
|
|
||||||
${edi_name}_tests_CPPFLAGS = -I$(top_builddir)/src/lib/ \
|
|
||||||
-I$(top_srcdir)/src/lib \
|
|
||||||
-DPACKAGE_TESTS_DIR=\"$(top_srcdir)/src/tests/\" \
|
|
||||||
-DPACKAGE_BUILD_DIR=\"`pwd`/$(top_builddir)/src/tests/\" \
|
|
||||||
@EFL_CFLAGS@ \
|
|
||||||
@CHECK_CFLAGS@
|
|
||||||
${edi_name}_tests_LDADD = @CHECK_LIBS@ $(top_builddir)/src/lib/lib${edi_name}.la
|
|
||||||
${edi_name}_tests_DEPENDENCIES = $(top_builddir)/src/lib/lib${edi_name}.la
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
EXTRA_DIST = test_${edi_name}.c
|
|
|
@ -1,124 +0,0 @@
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
# include "config.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <Ecore_Getopt.h>
|
|
||||||
#include <check.h>
|
|
||||||
|
|
||||||
#include "${Edi_Name}.h"
|
|
||||||
|
|
||||||
#define COPYRIGHT "Copyright © ${Edi_Year} ${Edi_User} <${Edi_Email}> and various contributors (see AUTHORS)."
|
|
||||||
|
|
||||||
static void ${edi_name}_test_basic(TCase *tc);
|
|
||||||
|
|
||||||
static const struct {
|
|
||||||
const char *name;
|
|
||||||
void (*build)(TCase *tc);
|
|
||||||
} tests[] = {
|
|
||||||
{ "basic", ${edi_name}_test_basic }
|
|
||||||
};
|
|
||||||
|
|
||||||
START_TEST(${edi_name}_initialization)
|
|
||||||
{
|
|
||||||
fail_if(${edi_name}_init() != 1);
|
|
||||||
|
|
||||||
${edi_name}_library_call();
|
|
||||||
|
|
||||||
fail_if(${edi_name}_shutdown() != 0);
|
|
||||||
}
|
|
||||||
END_TEST
|
|
||||||
|
|
||||||
static void
|
|
||||||
${edi_name}_test_basic(TCase *tc)
|
|
||||||
{
|
|
||||||
tcase_add_test(tc, ${edi_name}_initialization);
|
|
||||||
}
|
|
||||||
|
|
||||||
static const Ecore_Getopt optdesc = {
|
|
||||||
"${edi_name}",
|
|
||||||
"%prog [options]",
|
|
||||||
PACKAGE_VERSION,
|
|
||||||
COPYRIGHT,
|
|
||||||
"BSD with advertisement clause",
|
|
||||||
"An EFL ${edi_name} program",
|
|
||||||
0,
|
|
||||||
{
|
|
||||||
ECORE_GETOPT_STORE_TRUE('l', "list", "list available tests"),
|
|
||||||
ECORE_GETOPT_STORE_STR('t', "test", "test to run"),
|
|
||||||
ECORE_GETOPT_LICENSE('L', "license"),
|
|
||||||
ECORE_GETOPT_COPYRIGHT('C', "copyright"),
|
|
||||||
ECORE_GETOPT_VERSION('V', "version"),
|
|
||||||
ECORE_GETOPT_HELP('h', "help"),
|
|
||||||
ECORE_GETOPT_SENTINEL
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
int
|
|
||||||
main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
|
|
||||||
{
|
|
||||||
Suite *s;
|
|
||||||
SRunner *sr;
|
|
||||||
TCase *tc = NULL;
|
|
||||||
char *test = NULL;
|
|
||||||
unsigned int i;
|
|
||||||
int failed_count = -1;
|
|
||||||
int args;
|
|
||||||
Eina_Bool quit_option = EINA_FALSE;
|
|
||||||
Eina_Bool list_option = EINA_FALSE;
|
|
||||||
|
|
||||||
Ecore_Getopt_Value values[] = {
|
|
||||||
ECORE_GETOPT_VALUE_BOOL(list_option),
|
|
||||||
ECORE_GETOPT_VALUE_STR(test),
|
|
||||||
ECORE_GETOPT_VALUE_BOOL(quit_option),
|
|
||||||
ECORE_GETOPT_VALUE_BOOL(quit_option),
|
|
||||||
ECORE_GETOPT_VALUE_BOOL(quit_option),
|
|
||||||
ECORE_GETOPT_VALUE_BOOL(quit_option),
|
|
||||||
ECORE_GETOPT_VALUE_NONE
|
|
||||||
};
|
|
||||||
|
|
||||||
eina_init();
|
|
||||||
|
|
||||||
args = ecore_getopt_parse(&optdesc, values, argc, argv);
|
|
||||||
if (args < 0)
|
|
||||||
{
|
|
||||||
EINA_LOG_CRIT("Could not parse arguments.");
|
|
||||||
goto end;
|
|
||||||
}
|
|
||||||
else if (quit_option)
|
|
||||||
{
|
|
||||||
goto end;
|
|
||||||
}
|
|
||||||
else if (list_option)
|
|
||||||
{
|
|
||||||
fprintf(stdout, "Available tests :\n");
|
|
||||||
for (i = 0; i < sizeof (tests) / sizeof (tests[0]); i++)
|
|
||||||
fprintf(stdout, "\t%s\n", tests[i].name);
|
|
||||||
goto end;
|
|
||||||
}
|
|
||||||
|
|
||||||
s = suite_create("${Edi_Name}");
|
|
||||||
|
|
||||||
for (i = 0; i < sizeof (tests) / sizeof (tests[0]); i++)
|
|
||||||
{
|
|
||||||
if (test && strcmp(tests[i].name, test))
|
|
||||||
continue ;
|
|
||||||
|
|
||||||
tc = tcase_create(tests[i].name);
|
|
||||||
tcase_set_timeout(tc, 0);
|
|
||||||
|
|
||||||
tests[i].build(tc);
|
|
||||||
suite_add_tcase(s, tc);
|
|
||||||
}
|
|
||||||
|
|
||||||
sr = srunner_create(s);
|
|
||||||
srunner_set_xml(sr, PACKAGE_BUILD_DIR "/check-results.xml");
|
|
||||||
|
|
||||||
srunner_run_all(sr, CK_ENV);
|
|
||||||
failed_count = srunner_ntests_failed(sr);
|
|
||||||
srunner_free(sr);
|
|
||||||
|
|
||||||
end:
|
|
||||||
eina_shutdown();
|
|
||||||
|
|
||||||
return (failed_count == 0) ? 0 : 255;
|
|
||||||
}
|
|
Loading…
Reference in New Issue