docs
authorJeremy Harris <jgh146exb@wizmail.org>
Wed, 14 Aug 2024 08:22:10 +0000 (09:22 +0100)
committerJeremy Harris <jgh146exb@wizmail.org>
Wed, 14 Aug 2024 09:52:01 +0000 (10:52 +0100)
doc/doc-docbook/spec.xfpt
doc/doc-txt/NewStuff
src/src/EDITME

index 94b2b0cd20040dbe36bd321d1395a620b06bafd9..84597da830f56e7f0286787f13ce71607fcc0726 100644 (file)
@@ -2069,8 +2069,9 @@ withdrawn.
 
 
 
-.section "Dynamically loaded lookup module support" "SECTdynamicmodules"
+.section "Dynamically loaded module support" "SECTdynamicmodules"
 .cindex "lookup modules"
+.cindex "router modules"
 .cindex "dynamic modules"
 .cindex ".so building"
 On some platforms, Exim supports not compiling all lookup types directly into
@@ -2081,6 +2082,12 @@ library dependencies without requiring all systems to install all of those
 dependencies.
 Most, but not all, lookup types can be built this way.
 
+.new
+Similarly, router drivers can be built as external modules.
+This permits a smaller exim binary, growing only as needed for the
+runtime cofiguration.
+.wen
+
 Set &`LOOKUP_MODULE_DIR`& to the directory into which the modules will be
 installed; Exim will only load modules from that directory, as a security
 measure.  You will need to set &`CFLAGS_DYNAMIC`& if not already defined
index d69c1af85880bed00f5fee783ae37b14072b86bd..bb7f2290e201a4c4683873c354b7d5a43b18b3a4 100644 (file)
@@ -14,7 +14,8 @@ Version 4.98
 
  3. Events smtp:fail:protocol and smtp:fail:syntax
 
- 4. JSON lookup support can now be built as a lodable module
+ 4. JSON lookup support, and all the router driver except manualroute,
+    can now be built as lodable modules
 
 Version 4.98
 ------------
index cf8afbd2658aa25cf33aee13ef331271a715006c..5e755692fd5b878abf14b4b2e067a630ea6f6960 100644 (file)
@@ -313,6 +313,15 @@ SPOOL_DIRECTORY=/var/spool/exim
 # It has also to be configured in the run time configuration file. By
 # commenting out those you know you don't want to use, you can make the binary
 # a bit smaller. If you are unsure, leave all of these included for now.
+#
+# If set to "2" instead of "yes" then the corresponding driver will be
+# built as a module and must be installed into LOOKUP_MODULE_DIR (the name
+# is historic).
+# You need to add -export-dynamic -rdynamic to EXTRALIBS. You may also need to
+# add -ldl to EXTRALIBS so that dlopen() is available to Exim. You need to
+# define CFLAGS_DYNAIC and LOOKUP_MODULE_DIR below so the builds are done right,
+# and so the exim binary actually loads dynamic lookup modules.
+# MANUALROUTE cannot currently be built as a module.
 
 ROUTER_ACCEPT=yes
 ROUTER_DNSLOOKUP=yes