build: Add disables for control and presence pkgs

Allow granular control of built packages.

Change-Id: Idaded1f149991b1d767f29e0762015f3ba4a0d9d
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/Makefile.am b/Makefile.am
index c3dee8b..9baa62b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -9,4 +9,11 @@
 libfan_la_SOURCES = \
 	utility.cpp
 
-SUBDIRS = . presence control
+SUBDIRS = .
+
+if WANT_PRESENCE
+SUBDIRS += presence
+endif
+if WANT_CONTROL
+SUBDIRS += control
+endif
diff --git a/configure.ac b/configure.ac
index c3d5d75..e0c5300 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12,6 +12,7 @@
 AM_PROG_AR
 AC_PROG_INSTALL
 AC_PROG_MAKE_SET
+
 # Python
 AM_PATH_PYTHON([2.7], [AC_SUBST([PYTHON], [echo "$PYTHON"])],
 [AC_MSG_ERROR([Could not find python-2.7 installed...python-2.7 is required])])
@@ -26,21 +27,36 @@
 PKG_CHECK_MODULES([PHOSPHOR_LOGGING], [phosphor-logging], ,
 [AC_MSG_ERROR([The openbmc/phosphor-logging package is required])])
 
-# Checks for header files.
-
 # Checks for library functions.
 LT_INIT # Required for systemd linking
 
-# Add optional yaml file argument
-AC_ARG_VAR(FAN_DETECT_YAML_FILE,
-[The fan presence detection definition file to use])
-AS_IF([test "x$FAN_DETECT_YAML_FILE" == "x"],
-[FAN_DETECT_YAML_FILE="${srcdir}/presence/example/fan-detect.yaml"])
-AC_DEFINE_UNQUOTED([FAN_DETECT_YAML_FILE], ["$FAN_DETECT_YAML_FILE"],
-[The fan presence detection definition file to use])
+AC_ARG_ENABLE([presence],
+    AS_HELP_STRING([--disable-presence], [Disable fan presence package.]))
+AC_ARG_ENABLE([control],
+    AS_HELP_STRING([--disable-control], [Disable fan control package.]))
+
+AM_CONDITIONAL([WANT_PRESENCE], [test "x$enable_presence" != "xno"])
+AM_CONDITIONAL([WANT_CONTROL], [test "x$enable_control" != "xno"])
+
+# Package specific checks.
+AS_IF([test "x$enable_presence" != "xno"], [
+       # Add optional yaml file argument
+       AC_ARG_VAR(FAN_DETECT_YAML_FILE,
+                  [The fan presence detection definition file to use])
+       AS_IF([test "x$FAN_DETECT_YAML_FILE" == "x"],
+             [FAN_DETECT_YAML_FILE="${srcdir}/presence/example/fan-detect.yaml"])
+       AC_DEFINE_UNQUOTED([FAN_DETECT_YAML_FILE], ["$FAN_DETECT_YAML_FILE"],
+                          [The fan presence detection definition file to use])
+
+       AC_SUBST([GEN_FAN_DETECT_DEFS],
+                [$PYTHON ${srcdir}/presence/gen-fan-detect-defs.py -y $FAN_DETECT_YAML_FILE])
+       AC_CONFIG_FILES([presence/Makefile])
+       ])
+
+AS_IF([test "x$enable_control" != "xno"], [
+       AC_CONFIG_FILES([control/Makefile])
+])
 
 # Create configured output
-AC_SUBST([GEN_FAN_DETECT_DEFS],
-[$PYTHON ${srcdir}/presence/gen-fan-detect-defs.py -y $FAN_DETECT_YAML_FILE])
-AC_CONFIG_FILES([Makefile presence/Makefile control/Makefile])
+AC_CONFIG_FILES([Makefile])
 AC_OUTPUT