While fixing Wayland build today I noticed that the examples build system
is Not Good. The following are issues which still exist related to the
configure/build stages of examples:

* Use of SUBDIRS
  Ideally everything in src/ should be included into a single makefile to
improve build times, but somehow this (and benchmarks) still uses SUBDIRS.
* Conditional dist of sources
  As a result of SUBDIR use, sources for examples have never been
distributed if example build is configured to be disabled, guaranteeing
dist build failures in this case.
* Conditional creation of makefiles
  I've made changes so that now the corresponding makefiles are only
generated when examples are enabled, since this was the simplest workaround
to the above issue and I didn't want to spend an entire (holi)day rewriting
the examples build.

Note that it will now be necessary to pass --disable-always-build-examples
in order to prevent the examples build, since this is now enabled by
default to reduce the odds of shipping a dist without examples
sources/makefiles.

On Mon, Jul 3, 2017 at 3:02 PM Mike Blumenkrantz <
[email protected]> wrote:

> discomfitor pushed a commit to branch master.
>
>
> http://git.enlightenment.org/core/efl.git/commit/?id=b58629bbbef3d811700b016eb9fa97e2af71e1a1
>
> commit b58629bbbef3d811700b016eb9fa97e2af71e1a1
> Author: Mike Blumenkrantz <[email protected]>
> Date:   Mon Jul 3 15:01:59 2017 -0400
>
>     build: enable examples build by default
>
>     the previous method of forcing this to be enabled for dist builds
> caused
>     breaks when the original configure disabled examples, as the
> little-known
>     DISTCHECK_CONFIGURE_FLAGS variable would need to also be set to disable
>     examples even though the user would think they were disabled based on
> configure
>     output
> ---
>  Makefile.am  | 3 +--
>  configure.ac | 4 ++--
>  2 files changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/Makefile.am b/Makefile.am
> index a818b4e353..591cf998c6 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -2,8 +2,7 @@ ACLOCAL_AMFLAGS = -I m4
>  AM_MAKEFLAGS = --no-print-directory
>  AM_DISTCHECK_CONFIGURE_FLAGS = \
>  --with-tests=regular \
> ---with-systemdunitdir=. \
> ---enable-always-build-examples
> +--with-systemdunitdir=.
>
>  SUBDIRS = src data config doc
>
> diff --git a/configure.ac b/configure.ac
> index 72c4d6c78b..2efd94dec3 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -5226,7 +5226,7 @@ if test "x${want_tests}" = "xyes" -a
> "x${want_wayland}" = "xyes"; then
>  fi
>
>  AC_ARG_ENABLE([always-build-examples],
> -   [AS_HELP_STRING([--enable-always-build-examples],[always build
> examples. @<:@default=disabled@:>@])],
> +   [AS_HELP_STRING([--enable-always-build-examples],[always build
> examples. @<:@default=enabled@:>@])],
>     [
>      if test "x${enableval}" = "xyes" ; then
>         want_always_build_examples="yes"
> @@ -5234,7 +5234,7 @@ AC_ARG_ENABLE([always-build-examples],
>         want_always_build_examples="no"
>      fi
>     ],
> -   [want_always_build_examples="no"])
> +   [want_always_build_examples="yes"])
>  AM_CONDITIONAL([ALWAYS_BUILD_EXAMPLES], [test
> "${want_always_build_examples}" = "yes"])
>
>  BARF_OK="xno"
>
> --
>
>
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to