51ac721
51ac721
Don't expose private symbols for the Apache modules DSO.
51ac721
51ac721
--- subversion-1.14.2/build/generator/gen_base.py.modsyms
51ac721
+++ subversion-1.14.2/build/generator/gen_base.py
51ac721
@@ -727,13 +727,17 @@
51ac721
   def __init__(self, name, options, gen_obj):
51ac721
     TargetLib.__init__(self, name, options, gen_obj)
51ac721
 
51ac721
+    if name[:4] != "mod_":
51ac721
+      raise Exception("Apache module targets must be named mod_*")
51ac721
+
51ac721
     tfile = name + self.gen_obj._extension_map['lib', 'target']
51ac721
     self.filename = build_path_join(self.path, tfile)
51ac721
 
7553496
+    modsyms = name[4:] + '_[^_].*'
51ac721
     # we have a custom linking rule
51ac721
     ### hmm. this is Makefile-specific
51ac721
     self.compile_cmd = '$(COMPILE_APACHE_MOD)'
51ac721
-    self.link_cmd = '$(LINK_APACHE_MOD)'
7553496
+    self.link_cmd = '$(LINK_APACHE_MOD) -export-symbols-regex ' + modsyms
51ac721
 
51ac721
 class TargetSharedOnlyLib(TargetLib):
51ac721