summaryrefslogtreecommitdiff
path: root/Doc
diff options
context:
space:
mode:
authorOlly Betts <olly@survex.com>2022-07-20 15:05:21 +1200
committerOlly Betts <olly@survex.com>2022-10-05 12:40:15 +1300
commit4ac3c87a299368e22151bac3cae11e62cf23c730 (patch)
tree76d861abb572d942429d3d71999db138b4ecca0e /Doc
parentabc1c59c4e67f912c409a2bb6b8f70f0e2809c9e (diff)
downloadswig-4ac3c87a299368e22151bac3cae11e62cf23c730.tar.gz
Sort out predefined SWIG-specific macros
Ensure that SWIG_VERSION is defined both at SWIG-time and in the generated C/C++ wrapper code (it was only defined in the wrapper for some target languages previously). SWIGGO and SWIGJAVASCRIPT are now defined in the generated wrappers to match behaviour for all other target languages. Stop defining SWIGVERSION in the wrapper. This only happened as a side-effect of how SWIG_VERSION was defined but was never documented and is redundant. The new testcase also checks that SWIG is defined at SWIG-time but not in the generated wrapper, and that exactly one of a list of target-language specific macros is defined. Fixes #1050
Diffstat (limited to 'Doc')
-rw-r--r--Doc/Manual/Preprocessor.html8
1 files changed, 8 insertions, 0 deletions
diff --git a/Doc/Manual/Preprocessor.html b/Doc/Manual/Preprocessor.html
index 0d5cc6300..c612c56ce 100644
--- a/Doc/Manual/Preprocessor.html
+++ b/Doc/Manual/Preprocessor.html
@@ -148,6 +148,14 @@ SWIGXML Defined when using XML
</pre></div>
<p>
+SWIG also defines <tt>SWIG_VERSION</tt> and a target language macro in
+the generated wrapper file (since SWIG 4.2.0 - in older versions these
+were defined for some target languages but this wasn't consistent). Best
+practice is to use SWIG-time conditional checks because that results in smaller
+generated wrapper sources.
+</p>
+
+<p>
In addition, SWIG defines the following set of standard C/C++ macros:
</p>