discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ded5b1e764fdc97403bd829b02106ae8b9af10a4

commit ded5b1e764fdc97403bd829b02106ae8b9af10a4
Author: Mike Blumenkrantz <[email protected]>
Date:   Mon Jul 3 15:01:59 2017 -0400

    build: fix examples dist based on various configure flags
    
    this would previously break if:
    * cxx bindings were disabled
    * elua was disabled
    * base configure disabled examples and dist build disabled examples
    * base configure disabled examples and dist build enabled examples
    
    it still breaks if:
    * base configure disables examples and dist build enables examples
---
 Makefile.am     | 12 +++++++++---
 configure.ac    | 44 +++++++++++++++++++++++++++-----------------
 src/Makefile.am |  9 ++++++++-
 3 files changed, 44 insertions(+), 21 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 939687bfda..a818b4e353 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -437,7 +437,13 @@ endif
 EXTRA_DIST += $(systemdunits_DATA)
 
 
-.PHONY: doc benchmark examples install-examples
+PHONIES = doc benchmark
+
+if ALWAYS_BUILD_EXAMPLES
+PHONIES += examples install-examples
+endif
+
+.PHONY: $(PHONIES)
 
 # Documentation
 
@@ -495,13 +501,13 @@ benchmark:
        @cd benchmark && ../src/benchmarks/eo/eo_bench$(EXEEXT) `date +%F_%s`
 
 # examples
-
+if ALWAYS_BUILD_EXAMPLES
 examples:
        @$(MAKE) $(AM_MAKEFLAGS) -C src examples
 
 install-examples:
        @$(MAKE) $(AM_MAKEFLAGS) -C src install-examples
-
+endif
 pkgbuild::
        @echo "making arch packages"
        makepkg -f -p $(top_builddir)/pkgbuild/PKGBUILD
diff --git a/configure.ac b/configure.ac
index 4ff16581eb..72c4d6c78b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5621,6 +5621,32 @@ case "$host_os" in
       ;;
 esac
 
+if test "x$want_always_build_examples" = "xyes" ; then
+  if test "x$have_cxx11" = "xyes" ; then
+    cxx_examples="src/examples/eina_cxx/Makefile
+      src/examples/eolian_cxx/Makefile"
+  fi
+  if test "x$have_elua" = "xyes" ; then
+    elua_examples="src/examples/elua/Makefile"
+  fi
+  examples_build="src/examples/eina/Makefile
+    src/examples/eet/Makefile
+    src/examples/evas/Makefile
+    src/examples/ecore/Makefile
+    src/examples/ecore_avahi/Makefile
+    src/examples/eio/Makefile
+    src/examples/eldbus/Makefile
+    src/examples/ephysics/Makefile
+    src/examples/edje/Makefile
+    src/examples/emotion/Makefile
+    src/examples/emile/Makefile
+    src/examples/ethumb_client/Makefile
+    src/examples/elocation/Makefile
+    src/examples/elementary/Makefile
+    $elua_examples
+    $cxx_examples"
+fi
+
 AC_CONFIG_FILES([
 Makefile
 data/Makefile
@@ -5639,23 +5665,7 @@ src/Makefile
 src/benchmarks/eina/Makefile
 src/benchmarks/eo/Makefile
 src/benchmarks/evas/Makefile
-src/examples/eina/Makefile
-src/examples/eina_cxx/Makefile
-src/examples/eet/Makefile
-src/examples/evas/Makefile
-src/examples/ecore/Makefile
-src/examples/ecore_avahi/Makefile
-src/examples/eio/Makefile
-src/examples/eldbus/Makefile
-src/examples/ephysics/Makefile
-src/examples/edje/Makefile
-src/examples/emotion/Makefile
-src/examples/emile/Makefile
-src/examples/ethumb_client/Makefile
-src/examples/elua/Makefile
-src/examples/eolian_cxx/Makefile
-src/examples/elocation/Makefile
-src/examples/elementary/Makefile
+$examples_build
 src/lib/eina/eina_config.h
 src/lib/efl/Efl_Config.h
 src/lib/elementary/Elementary_Options.h
diff --git a/src/Makefile.am b/src/Makefile.am
index cb89e3cacd..cd794557ee 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -97,7 +97,12 @@ endif
 include Makefile_Eolian_Js.am
 include Makefile_Efl_Js.am
 
-.PHONY: benchmark examples
+PHONIES = benchmark
+if ALWAYS_BUILD_EXAMPLES
+PHONIES += examples
+endif
+
+.PHONY: $(PHONIES)
 
 BENCHMARK_SUBDIRS = \
 benchmarks/eina \
@@ -150,6 +155,7 @@ check-build: all
        @$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
 endif
 
+if ALWAYS_BUILD_EXAMPLES
 examples: all
        @for d in $(EXAMPLES_SUBDIRS); do \
           echo "Making examples in $$d"; \
@@ -161,6 +167,7 @@ install-examples:
           echo "Making install-examples in $$d"; \
           $(MAKE) $(AM_MAKEFLAGS) -C $$d install-examples || exit 1; \
        done
+endif
 
 dist-hook:
        @mkdir -p $(distdir)/tests/elua/data/apps $(distdir)/tests/eolian/data

-- 


Reply via email to