From 210f43a73694677bdff100d4df5e40497c4cf37b Mon Sep 17 00:00:00 2001 From: Alastair Poole Date: Wed, 1 Apr 2020 15:02:03 +0100 Subject: [PATCH] efl_project: Move from autotools to meson. --- .../skeletons/eflproject/Makefile.am | 91 ------------- .../eflproject/Makefile_Edje_Helper.am | 9 -- .../templates/skeletons/eflproject/autogen.sh | 15 --- .../skeletons/eflproject/configure.ac | 95 -------------- .../skeletons/eflproject/data/Makefile.am | 3 - .../data/desktop/${edi_name}.desktop.in | 12 -- .../eflproject/data/desktop/Makefile.am | 9 -- .../eflproject/data/desktop/meson.build | 5 + .../skeletons/eflproject/data/meson.build | 2 + .../eflproject/data/themes/Makefile.am | 4 - .../data/themes/default/Makefile.am | 22 ---- .../data/themes/default/meson.build | 15 +++ .../eflproject/data/themes/meson.build | 1 + .../skeletons/eflproject/description | 1 - .../skeletons/eflproject/doc/${edi_name}.1.in | 50 ------- .../skeletons/eflproject/doc/Makefile.am | 38 ------ .../templates/skeletons/eflproject/m4/efl.m4 | 123 ----------------- .../skeletons/eflproject/m4/efl_attribute.m4 | 56 -------- .../skeletons/eflproject/m4/efl_binary.m4 | 79 ----------- .../eflproject/m4/efl_compiler_flag.m4 | 57 -------- .../skeletons/eflproject/m4/efl_doxygen.m4 | 98 -------------- .../skeletons/eflproject/m4/efl_path_max.m4 | 36 ----- .../skeletons/eflproject/m4/efl_tests.m4 | 65 --------- .../skeletons/eflproject/meson.build | 36 +++++ .../skeletons/eflproject/po/meson.build | 6 + .../skeletons/eflproject/src/Makefile.am | 4 - .../eflproject/src/bin/${edi_name}_main.c | 13 -- .../skeletons/eflproject/src/bin/Makefile.am | 19 --- .../skeletons/eflproject/src/bin/meson.build | 11 ++ .../eflproject/src/lib/${Edi_Name}.h | 111 ---------------- .../eflproject/src/lib/${edi_name}.c | 64 --------- .../eflproject/src/lib/${edi_name}_private.h | 27 ---- .../skeletons/eflproject/src/lib/Makefile.am | 20 --- .../skeletons/eflproject/src/meson.build | 1 + .../eflproject/src/tests/Makefile.am | 20 --- .../eflproject/src/tests/test_${edi_name}.c | 124 ------------------ 36 files changed, 77 insertions(+), 1265 deletions(-) delete mode 100644 data/extra/templates/skeletons/eflproject/Makefile.am delete mode 100644 data/extra/templates/skeletons/eflproject/Makefile_Edje_Helper.am delete mode 100755 data/extra/templates/skeletons/eflproject/autogen.sh delete mode 100644 data/extra/templates/skeletons/eflproject/configure.ac delete mode 100644 data/extra/templates/skeletons/eflproject/data/Makefile.am delete mode 100644 data/extra/templates/skeletons/eflproject/data/desktop/${edi_name}.desktop.in delete mode 100644 data/extra/templates/skeletons/eflproject/data/desktop/Makefile.am create mode 100644 data/extra/templates/skeletons/eflproject/data/desktop/meson.build create mode 100644 data/extra/templates/skeletons/eflproject/data/meson.build delete mode 100644 data/extra/templates/skeletons/eflproject/data/themes/Makefile.am delete mode 100644 data/extra/templates/skeletons/eflproject/data/themes/default/Makefile.am create mode 100644 data/extra/templates/skeletons/eflproject/data/themes/default/meson.build create mode 100644 data/extra/templates/skeletons/eflproject/data/themes/meson.build delete mode 100644 data/extra/templates/skeletons/eflproject/description delete mode 100644 data/extra/templates/skeletons/eflproject/doc/${edi_name}.1.in delete mode 100644 data/extra/templates/skeletons/eflproject/doc/Makefile.am delete mode 100644 data/extra/templates/skeletons/eflproject/m4/efl.m4 delete mode 100644 data/extra/templates/skeletons/eflproject/m4/efl_attribute.m4 delete mode 100644 data/extra/templates/skeletons/eflproject/m4/efl_binary.m4 delete mode 100644 data/extra/templates/skeletons/eflproject/m4/efl_compiler_flag.m4 delete mode 100644 data/extra/templates/skeletons/eflproject/m4/efl_doxygen.m4 delete mode 100644 data/extra/templates/skeletons/eflproject/m4/efl_path_max.m4 delete mode 100644 data/extra/templates/skeletons/eflproject/m4/efl_tests.m4 create mode 100644 data/extra/templates/skeletons/eflproject/meson.build create mode 100644 data/extra/templates/skeletons/eflproject/po/meson.build delete mode 100644 data/extra/templates/skeletons/eflproject/src/Makefile.am delete mode 100644 data/extra/templates/skeletons/eflproject/src/bin/Makefile.am create mode 100644 data/extra/templates/skeletons/eflproject/src/bin/meson.build delete mode 100644 data/extra/templates/skeletons/eflproject/src/lib/${Edi_Name}.h delete mode 100644 data/extra/templates/skeletons/eflproject/src/lib/${edi_name}.c delete mode 100644 data/extra/templates/skeletons/eflproject/src/lib/${edi_name}_private.h delete mode 100644 data/extra/templates/skeletons/eflproject/src/lib/Makefile.am create mode 100644 data/extra/templates/skeletons/eflproject/src/meson.build delete mode 100644 data/extra/templates/skeletons/eflproject/src/tests/Makefile.am delete mode 100644 data/extra/templates/skeletons/eflproject/src/tests/test_${edi_name}.c diff --git a/data/extra/templates/skeletons/eflproject/Makefile.am b/data/extra/templates/skeletons/eflproject/Makefile.am deleted file mode 100644 index 233d39e..0000000 --- a/data/extra/templates/skeletons/eflproject/Makefile.am +++ /dev/null @@ -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 - diff --git a/data/extra/templates/skeletons/eflproject/Makefile_Edje_Helper.am b/data/extra/templates/skeletons/eflproject/Makefile_Edje_Helper.am deleted file mode 100644 index 3f05237..0000000 --- a/data/extra/templates/skeletons/eflproject/Makefile_Edje_Helper.am +++ /dev/null @@ -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 " $@; diff --git a/data/extra/templates/skeletons/eflproject/autogen.sh b/data/extra/templates/skeletons/eflproject/autogen.sh deleted file mode 100755 index fe644eb..0000000 --- a/data/extra/templates/skeletons/eflproject/autogen.sh +++ /dev/null @@ -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 diff --git a/data/extra/templates/skeletons/eflproject/configure.ac b/data/extra/templates/skeletons/eflproject/configure.ac deleted file mode 100644 index d4dfa11..0000000 --- a/data/extra/templates/skeletons/eflproject/configure.ac +++ /dev/null @@ -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 diff --git a/data/extra/templates/skeletons/eflproject/data/Makefile.am b/data/extra/templates/skeletons/eflproject/data/Makefile.am deleted file mode 100644 index 2d4e6c1..0000000 --- a/data/extra/templates/skeletons/eflproject/data/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ -MAINTAINERCLEANFILES = Makefile.in - -SUBDIRS = themes desktop diff --git a/data/extra/templates/skeletons/eflproject/data/desktop/${edi_name}.desktop.in b/data/extra/templates/skeletons/eflproject/data/desktop/${edi_name}.desktop.in deleted file mode 100644 index c54a32b..0000000 --- a/data/extra/templates/skeletons/eflproject/data/desktop/${edi_name}.desktop.in +++ /dev/null @@ -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; diff --git a/data/extra/templates/skeletons/eflproject/data/desktop/Makefile.am b/data/extra/templates/skeletons/eflproject/data/desktop/Makefile.am deleted file mode 100644 index c998702..0000000 --- a/data/extra/templates/skeletons/eflproject/data/desktop/Makefile.am +++ /dev/null @@ -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) diff --git a/data/extra/templates/skeletons/eflproject/data/desktop/meson.build b/data/extra/templates/skeletons/eflproject/data/desktop/meson.build new file mode 100644 index 0000000..cf4d8d3 --- /dev/null +++ b/data/extra/templates/skeletons/eflproject/data/desktop/meson.build @@ -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')) diff --git a/data/extra/templates/skeletons/eflproject/data/meson.build b/data/extra/templates/skeletons/eflproject/data/meson.build new file mode 100644 index 0000000..4155fc3 --- /dev/null +++ b/data/extra/templates/skeletons/eflproject/data/meson.build @@ -0,0 +1,2 @@ +subdir('desktop') +subdir('themes') diff --git a/data/extra/templates/skeletons/eflproject/data/themes/Makefile.am b/data/extra/templates/skeletons/eflproject/data/themes/Makefile.am deleted file mode 100644 index 31a2b40..0000000 --- a/data/extra/templates/skeletons/eflproject/data/themes/Makefile.am +++ /dev/null @@ -1,4 +0,0 @@ -MAINTAINERCLEANFILES = Makefile.in - -SUBDIRS = default - diff --git a/data/extra/templates/skeletons/eflproject/data/themes/default/Makefile.am b/data/extra/templates/skeletons/eflproject/data/themes/default/Makefile.am deleted file mode 100644 index 2612ac0..0000000 --- a/data/extra/templates/skeletons/eflproject/data/themes/default/Makefile.am +++ /dev/null @@ -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 diff --git a/data/extra/templates/skeletons/eflproject/data/themes/default/meson.build b/data/extra/templates/skeletons/eflproject/data/themes/default/meson.build new file mode 100644 index 0000000..7996706 --- /dev/null +++ b/data/extra/templates/skeletons/eflproject/data/themes/default/meson.build @@ -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 + ) diff --git a/data/extra/templates/skeletons/eflproject/data/themes/meson.build b/data/extra/templates/skeletons/eflproject/data/themes/meson.build new file mode 100644 index 0000000..7cd9a71 --- /dev/null +++ b/data/extra/templates/skeletons/eflproject/data/themes/meson.build @@ -0,0 +1 @@ +subdir('default') diff --git a/data/extra/templates/skeletons/eflproject/description b/data/extra/templates/skeletons/eflproject/description deleted file mode 100644 index 8b13789..0000000 --- a/data/extra/templates/skeletons/eflproject/description +++ /dev/null @@ -1 +0,0 @@ - diff --git a/data/extra/templates/skeletons/eflproject/doc/${edi_name}.1.in b/data/extra/templates/skeletons/eflproject/doc/${edi_name}.1.in deleted file mode 100644 index 5720fa3..0000000 --- a/data/extra/templates/skeletons/eflproject/doc/${edi_name}.1.in +++ /dev/null @@ -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. diff --git a/data/extra/templates/skeletons/eflproject/doc/Makefile.am b/data/extra/templates/skeletons/eflproject/doc/Makefile.am deleted file mode 100644 index 9fbea88..0000000 --- a/data/extra/templates/skeletons/eflproject/doc/Makefile.am +++ /dev/null @@ -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 - diff --git a/data/extra/templates/skeletons/eflproject/m4/efl.m4 b/data/extra/templates/skeletons/eflproject/m4/efl.m4 deleted file mode 100644 index 098722f..0000000 --- a/data/extra/templates/skeletons/eflproject/m4/efl.m4 +++ /dev/null @@ -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]) -]) diff --git a/data/extra/templates/skeletons/eflproject/m4/efl_attribute.m4 b/data/extra/templates/skeletons/eflproject/m4/efl_attribute.m4 deleted file mode 100644 index 78bff15..0000000 --- a/data/extra/templates/skeletons/eflproject/m4/efl_attribute.m4 +++ /dev/null @@ -1,56 +0,0 @@ -dnl Copyright (C) 2011 Vincent Torri -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 diff --git a/data/extra/templates/skeletons/eflproject/m4/efl_binary.m4 b/data/extra/templates/skeletons/eflproject/m4/efl_binary.m4 deleted file mode 100644 index 91a26b2..0000000 --- a/data/extra/templates/skeletons/eflproject/m4/efl_binary.m4 +++ /dev/null @@ -1,79 +0,0 @@ -dnl Copyright (C) 2010 Vincent Torri -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) - -]) diff --git a/data/extra/templates/skeletons/eflproject/m4/efl_compiler_flag.m4 b/data/extra/templates/skeletons/eflproject/m4/efl_compiler_flag.m4 deleted file mode 100644 index 25c285d..0000000 --- a/data/extra/templates/skeletons/eflproject/m4/efl_compiler_flag.m4 +++ /dev/null @@ -1,57 +0,0 @@ -dnl Copyright (C) 2010 Vincent Torri -dnl and Albin Tonnerre -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]) - -]) diff --git a/data/extra/templates/skeletons/eflproject/m4/efl_doxygen.m4 b/data/extra/templates/skeletons/eflproject/m4/efl_doxygen.m4 deleted file mode 100644 index 0c1452f..0000000 --- a/data/extra/templates/skeletons/eflproject/m4/efl_doxygen.m4 +++ /dev/null @@ -1,98 +0,0 @@ -dnl Copyright (C) 2008 Vincent Torri -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 diff --git a/data/extra/templates/skeletons/eflproject/m4/efl_path_max.m4 b/data/extra/templates/skeletons/eflproject/m4/efl_path_max.m4 deleted file mode 100644 index f57bfd2..0000000 --- a/data/extra/templates/skeletons/eflproject/m4/efl_path_max.m4 +++ /dev/null @@ -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 , 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 - ]], - [[ -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 diff --git a/data/extra/templates/skeletons/eflproject/m4/efl_tests.m4 b/data/extra/templates/skeletons/eflproject/m4/efl_tests.m4 deleted file mode 100644 index 2b6106c..0000000 --- a/data/extra/templates/skeletons/eflproject/m4/efl_tests.m4 +++ /dev/null @@ -1,65 +0,0 @@ -dnl Copyright (C) 2013 Cedric BAIL -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"]) - -]) diff --git a/data/extra/templates/skeletons/eflproject/meson.build b/data/extra/templates/skeletons/eflproject/meson.build new file mode 100644 index 0000000..a746ce7 --- /dev/null +++ b/data/extra/templates/skeletons/eflproject/meson.build @@ -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) + diff --git a/data/extra/templates/skeletons/eflproject/po/meson.build b/data/extra/templates/skeletons/eflproject/po/meson.build new file mode 100644 index 0000000..f15ae1a --- /dev/null +++ b/data/extra/templates/skeletons/eflproject/po/meson.build @@ -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'))) + diff --git a/data/extra/templates/skeletons/eflproject/src/Makefile.am b/data/extra/templates/skeletons/eflproject/src/Makefile.am deleted file mode 100644 index 15871c9..0000000 --- a/data/extra/templates/skeletons/eflproject/src/Makefile.am +++ /dev/null @@ -1,4 +0,0 @@ -MAINTAINERCLEANFILES = Makefile.in - -SUBDIRS = lib bin tests - diff --git a/data/extra/templates/skeletons/eflproject/src/bin/${edi_name}_main.c b/data/extra/templates/skeletons/eflproject/src/bin/${edi_name}_main.c index 94c63eb..7b85ef9 100644 --- a/data/extra/templates/skeletons/eflproject/src/bin/${edi_name}_main.c +++ b/data/extra/templates/skeletons/eflproject/src/bin/${edi_name}_main.c @@ -1,10 +1,4 @@ -#ifdef HAVE_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 # include @@ -13,8 +7,6 @@ #include #include -#include "${Edi_Name}.h" - #include "${edi_name}_private.h" #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); #endif - ${edi_name}_init(); - args = ecore_getopt_parse(&optdesc, values, argc, argv); if (args < 0) { @@ -109,12 +99,9 @@ elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED) if (!(win = ${edi_name}_win_setup())) goto end; - ${edi_name}_library_call(); - elm_run(); end: - ${edi_name}_shutdown(); elm_shutdown(); return 0; diff --git a/data/extra/templates/skeletons/eflproject/src/bin/Makefile.am b/data/extra/templates/skeletons/eflproject/src/bin/Makefile.am deleted file mode 100644 index e32c80e..0000000 --- a/data/extra/templates/skeletons/eflproject/src/bin/Makefile.am +++ /dev/null @@ -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 - diff --git a/data/extra/templates/skeletons/eflproject/src/bin/meson.build b/data/extra/templates/skeletons/eflproject/src/bin/meson.build new file mode 100644 index 0000000..89c97f0 --- /dev/null +++ b/data/extra/templates/skeletons/eflproject/src/bin/meson.build @@ -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) diff --git a/data/extra/templates/skeletons/eflproject/src/lib/${Edi_Name}.h b/data/extra/templates/skeletons/eflproject/src/lib/${Edi_Name}.h deleted file mode 100644 index 0809238..0000000 --- a/data/extra/templates/skeletons/eflproject/src/lib/${Edi_Name}.h +++ /dev/null @@ -1,111 +0,0 @@ -#ifndef ${EDI_NAME}_H_ -# define ${EDI_NAME}_H_ - -#include - -#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_ */ diff --git a/data/extra/templates/skeletons/eflproject/src/lib/${edi_name}.c b/data/extra/templates/skeletons/eflproject/src/lib/${edi_name}.c deleted file mode 100644 index f2bfeb3..0000000 --- a/data/extra/templates/skeletons/eflproject/src/lib/${edi_name}.c +++ /dev/null @@ -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."); -} diff --git a/data/extra/templates/skeletons/eflproject/src/lib/${edi_name}_private.h b/data/extra/templates/skeletons/eflproject/src/lib/${edi_name}_private.h deleted file mode 100644 index 29b9284..0000000 --- a/data/extra/templates/skeletons/eflproject/src/lib/${edi_name}_private.h +++ /dev/null @@ -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 diff --git a/data/extra/templates/skeletons/eflproject/src/lib/Makefile.am b/data/extra/templates/skeletons/eflproject/src/lib/Makefile.am deleted file mode 100644 index bac49ae..0000000 --- a/data/extra/templates/skeletons/eflproject/src/lib/Makefile.am +++ /dev/null @@ -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@ diff --git a/data/extra/templates/skeletons/eflproject/src/meson.build b/data/extra/templates/skeletons/eflproject/src/meson.build new file mode 100644 index 0000000..2ca5545 --- /dev/null +++ b/data/extra/templates/skeletons/eflproject/src/meson.build @@ -0,0 +1 @@ +subdir('bin') diff --git a/data/extra/templates/skeletons/eflproject/src/tests/Makefile.am b/data/extra/templates/skeletons/eflproject/src/tests/Makefile.am deleted file mode 100644 index 77c4de5..0000000 --- a/data/extra/templates/skeletons/eflproject/src/tests/Makefile.am +++ /dev/null @@ -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 diff --git a/data/extra/templates/skeletons/eflproject/src/tests/test_${edi_name}.c b/data/extra/templates/skeletons/eflproject/src/tests/test_${edi_name}.c deleted file mode 100644 index 2927ea6..0000000 --- a/data/extra/templates/skeletons/eflproject/src/tests/test_${edi_name}.c +++ /dev/null @@ -1,124 +0,0 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include -#include - -#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; -}