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 "lookup modules"
+.cindex "router modules"
 .cindex "dynamic modules"
 .cindex ".so building"
 On some platforms, Exim supports not compiling all lookup types directly into
 .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.
 
 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
 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
 
 
  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
 ------------
 
 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.
 # 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
 
 ROUTER_ACCEPT=yes
 ROUTER_DNSLOOKUP=yes