summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac10
-rw-r--r--doc/HACKING/Module.md12
2 files changed, 18 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac
index 894ca2b0f8..85ffc1c752 100644
--- a/configure.ac
+++ b/configure.ac
@@ -278,7 +278,7 @@ dnl Tor modules options. These options are namespaced with --disable-module-XXX
dnl ---
dnl All our modules.
-m4_define(MODULES, relay dirauth)
+m4_define(MODULES, relay dirauth dircache)
dnl Relay module.
AC_ARG_ENABLE([module-relay],
@@ -289,6 +289,14 @@ AM_COND_IF(BUILD_MODULE_RELAY,
AC_DEFINE([HAVE_MODULE_RELAY], [1],
[Compile with Relay feature support]))
+dnl Dircache module. (This cannot be enabled or disabled independently of
+dnl the relay module.)
+AM_CONDITIONAL(BUILD_MODULE_DIRCACHE,
+ [test "x$enable_module_relay" != "xno"])
+AM_COND_IF(BUILD_MODULE_DIRCACHE,
+ AC_DEFINE([HAVE_MODULE_DIRCACHE], [1],
+ [Compile with directory cache support]))
+
dnl Directory Authority module.
AC_ARG_ENABLE([module-dirauth],
AS_HELP_STRING([--disable-module-dirauth],
diff --git a/doc/HACKING/Module.md b/doc/HACKING/Module.md
index 3a07d0c639..781bb978f2 100644
--- a/doc/HACKING/Module.md
+++ b/doc/HACKING/Module.md
@@ -11,12 +11,18 @@ selectively enable or disable, at `configure` time.
Currently, tor has these modules:
- Relay subsystem (relay)
+ - Directory cache system (dircache).
- Directory Authority subsystem (dirauth)
-dirauth is located in its own directory in `src/feature/dirauth/`.
+The dirauth code is located in its own directory in `src/feature/dirauth/`.
-Relay is located in directories named `src/*/*relay` and `src/*/*dircache`,
-which are being progressively refactored and disabled.
+The relay code is located in a directory named `src/*/*relay`, which is
+being progressively refactored and disabled.
+
+The dircache code is located in `src/*/*dircache`. Right now, it is
+disabled if and only if the relay module is disabled. (We are treating
+them as separate modules because they are logically independent, not
+because you would actually want to run one without the other.)
To disable a module, pass `--disable-module-{dirauth,relay}` at configure
time. All modules are currently enabled by default.