build: fix examples dist based on various configure flags
authorMike Blumenkrantz <zmike@osg.samsung.com>
Mon, 3 Jul 2017 19:01:59 +0000 (15:01 -0400)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Mon, 3 Jul 2017 18:58:52 +0000 (14:58 -0400)
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
configure.ac
src/Makefile.am

index 939687b..a818b4e 100644 (file)
@@ -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
index 4ff1658..72c4d6c 100644 (file)
@@ -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
index cb89e3c..cd79455 100644 (file)
@@ -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