<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to SyntaxCheck</title><link>https://sourceforge.net/p/mkconf/wiki/SyntaxCheck/</link><description>Recent changes to SyntaxCheck</description><atom:link href="https://sourceforge.net/p/mkconf/wiki/SyntaxCheck/feed" rel="self"/><language>en</language><lastBuildDate>Mon, 13 Jul 2026 19:31:08 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/mkconf/wiki/SyntaxCheck/feed" rel="self" type="application/rss+xml"/><item><title>SyntaxCheck modified by Brad Lanam</title><link>https://sourceforge.net/p/mkconf/wiki/SyntaxCheck/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v28
+++ v29
@@ -38,16 +38,18 @@


 * [alternate](SyntaxAttrAlternate)
 * [compiler\_flags](SyntaxAttrCompileFlag)
+* [failure](SyntaxAttrSuccessFail)
 * [header](SyntaxAttrHeader)
 * [link\_flags](SyntaxAttrLinkFlag)
 * [match](SyntaxAttrMatch)
 * [name](SyntaxAttrName)
 * [negate](SyntaxCheckCompilerFlag)
 * [path](SyntaxAttrPath)
+* [success](SyntaxAttrSuccessFail)

 ##### Setting Required Headers for a Check

-The headers for a check may set by appending a statement block, and using the [header](SyntaxHeader) attribute.
+The headers for a _check_ may set by appending a statement block, and using the [header](SyntaxHeader) attribute.

     check_size int64_t {
       header stdint.h;
@@ -55,11 +57,11 @@

 ##### Generated Names

-_mkc_ automatically generates names for each check. Each check has an associated prefix.  The name of the check will replace characters that are not alphabetic or digits with an underscore.
+_mkc_ automatically generates names for each _check_. Each _check_ has an associated prefix.  The name of the _check_ will replace characters that are not alphabetic or digits with an underscore.

 ##### Changing the Name of a Check

-_mkc_ automatically generates names for each check. To change the name of a check, append a statement block and use the [name](SyntaxAttrName) statement.
+_mkc_ automatically generates names for each _check_. To change the name of a _check_, append a statement block and use the [name](SyntaxAttrName) statement.

     check_size int64_t {
       header stdint.h;
@@ -80,7 +82,7 @@

 ##### Alternates

-The [alternate](SyntaxAttrAlternate) is a powerful method to run checks with alternate settings.
+The [alternate](SyntaxAttrAlternate) is a powerful method to run _checks_ with alternate settings.

 Each alternate attribute block may contain the [name](SyntaxAttrName), [header](SyntaxAttrHeader), [compiler\_flags](SyntaxAttrCompileFlag), and [link\_flags](SyntaxAttrLinkFlag) attributes.

@@ -103,5 +105,26 @@

 If the first alternate succeeds, the _\_header\_sys\_vfs_ variable will be set.  If the second alternate succeeds, the _\_header\_sys\_mount_ variable will be set.

+##### success and failure
+
+The __success__ and __failure__ attributes blocks will execute on success or failure of a [check](SyntaxCheck).
+

+    check_function statfs {
+      alternate {
+        name _header_sys_vfs;
+        header sys/vfs.h;
+      }
+      alternate {
+        name _header_sys_mount;
+        header sys/mount.h;
+      }
+      success {
+        print 'found statfs.';
+      }
+      failure {
+        print 'could not locate statfs.';
+      }
+    }
+
 [Wiki Home](Home) &lt;br/&gt;[Syntax](Syntax)

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brad Lanam</dc:creator><pubDate>Mon, 13 Jul 2026 19:31:08 -0000</pubDate><guid>https://sourceforge.net7c90288595c7271a64a2eb2749c7c4c8ffca4605</guid></item><item><title>SyntaxCheck modified by Brad Lanam</title><link>https://sourceforge.net/p/mkconf/wiki/SyntaxCheck/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v27
+++ v28
@@ -59,7 +59,7 @@

 ##### Changing the Name of a Check

-_mkc_ automatically generates names for each check. To change the name of a check, append a statement block and use the [name](SyntaxName) statement.
+_mkc_ automatically generates names for each check. To change the name of a check, append a statement block and use the [name](SyntaxAttrName) statement.

     check_size int64_t {
       header stdint.h;
@@ -82,7 +82,7 @@

 The [alternate](SyntaxAttrAlternate) is a powerful method to run checks with alternate settings.

-Each alternate attribute block may contain the [header](SyntaxAttrHeader), [compiler\_flags](SyntaxAttrCompileFlag), or [link\_flags](SyntaxAttrLinkFlag) attributes.
+Each alternate attribute block may contain the [name](SyntaxAttrName), [header](SyntaxAttrHeader), [compiler\_flags](SyntaxAttrCompileFlag), and [link\_flags](SyntaxAttrLinkFlag) attributes.

 For example, the following code checks for the _statfs_ function.  On Linux, this requires the `sys/vfs.h` header (or `sys/statfs.h`).  On MacOS and \*BSD, the `sys/mount.h` header should be used.

@@ -99,7 +99,7 @@
       }
     }

-On success, the _\_function\_statfs_ generated name will be set.
+On success, the generated _\_function\_statfs_ name will be set.

 If the first alternate succeeds, the _\_header\_sys\_vfs_ variable will be set.  If the second alternate succeeds, the _\_header\_sys\_mount_ variable will be set.

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brad Lanam</dc:creator><pubDate>Sat, 11 Jul 2026 22:38:05 -0000</pubDate><guid>https://sourceforge.net34790ffb7f929feeabf824c617f3daab923a4f52</guid></item><item><title>SyntaxCheck modified by Brad Lanam</title><link>https://sourceforge.net/p/mkconf/wiki/SyntaxCheck/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v26
+++ v27
@@ -4,9 +4,37 @@

 ### Syntax: Checks

+##### Checks
+
+* [check\_arg\_count](SyntaxCheckArgCount)
+* [check\_compiler\_flag](SyntaxCheckCompilerFlag)

+  add\_compiler\_flag
+* [check\_constant](SyntaxCheckConstant)
+* [check\_define](SyntaxCheckDefine)
+* [check\_function](SyntaxCheckFunction)
+* [check\_header](SyntaxCheckHeader)
+* [check\_link\_flag](SyntaxCheckLinkFlag)
+  add\_link\_flag
+* [check\_package](SyntaxCheckPackage)
+* [check\_size](SyntaxCheckSize)
+* [check\_shell\_extract](SyntaxCheckShell)
+* [check\_struct\_member](SyntaxCheckStructMember)
+* [check\_type](SyntaxCheckType)
+
+##### Standard Headers Included for a Check
+
+The following headers are included for the checks.  These headers cover many of the usual types and library calls.
+
+    #include &amp;lt;stdio.h&amp;gt;
+    #include &amp;lt;stdint.h&amp;gt;
+    #include &amp;lt;stdbool.h&amp;gt;
+    #include &amp;lt;stddef.h&amp;gt;
+    #include &amp;lt;stdlib.h&amp;gt;
+    #include &amp;lt;string.h&amp;gt;
+
 ##### Allowed Attributes

-Check statements may allow the following attribute statements.  Check the specific wiki page to see which attributes are allowed for the check.
+Check statements may allow the following attribute statements.  Check the specific wiki page for the check to see which attributes are allowed for the check.


 * [alternate](SyntaxAttrAlternate)
 * [compiler\_flags](SyntaxAttrCompileFlag)
@@ -75,22 +103,5 @@

 If the first alternate succeeds, the _\_header\_sys\_vfs_ variable will be set.  If the second alternate succeeds, the _\_header\_sys\_mount_ variable will be set.

-##### Checks
-
-* [check\_arg\_count](SyntaxCheckArgCount)
-* [check\_compiler\_flag](SyntaxCheckCompilerFlag)

-  add\_compiler\_flag
-* [check\_constant](SyntaxCheckConstant)
-* [check\_define](SyntaxCheckDefine)
-* [check\_function](SyntaxCheckFunction)
-* [check\_header](SyntaxCheckHeader)
-* [check\_link\_flag](SyntaxCheckLinkFlag)
-  add\_link\_flag
-* [check\_package](SyntaxCheckPackage)
-* [check\_size](SyntaxCheckSize)
-* [check\_shell\_extract](SyntaxCheckShell)
-* [check\_struct\_member](SyntaxCheckStructMember)
-* [check\_type](SyntaxCheckType)
-
 [Wiki Home](Home) &lt;br/&gt;[Syntax](Syntax)

&amp;lt;/string.h&amp;gt;&amp;lt;/stdlib.h&amp;gt;&amp;lt;/stddef.h&amp;gt;&amp;lt;/stdbool.h&amp;gt;&amp;lt;/stdint.h&amp;gt;&amp;lt;/stdio.h&amp;gt;&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brad Lanam</dc:creator><pubDate>Sat, 11 Jul 2026 22:36:08 -0000</pubDate><guid>https://sourceforge.net55c45bcaf54d2cf7103c7d1adf4d9d1a0c669726</guid></item><item><title>SyntaxCheck modified by Brad Lanam</title><link>https://sourceforge.net/p/mkconf/wiki/SyntaxCheck/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v25
+++ v26
@@ -6,12 +6,12 @@

 ##### Allowed Attributes

-Check statements may allow the following attribute statements:
+Check statements may allow the following attribute statements.  Check the specific wiki page to see which attributes are allowed for the check.


 * [alternate](SyntaxAttrAlternate)
-* [compiler_flags](SyntaxAttrCompileFlag)
+* [compiler\_flags](SyntaxAttrCompileFlag)
 * [header](SyntaxAttrHeader)
-* [link_flags](SyntaxAttrLinkFlag)
+* [link\_flags](SyntaxAttrLinkFlag)
 * [match](SyntaxAttrMatch)
 * [name](SyntaxAttrName)
 * [negate](SyntaxCheckCompilerFlag)
@@ -54,7 +54,7 @@

 The [alternate](SyntaxAttrAlternate) is a powerful method to run checks with alternate settings.

-Each alternate attribute block may contain the [header](SyntaxAttrHeader), [compiler_flags](SyntaxAttrCompileFlag), or [link_flags](SyntaxAttrLinkFlag) attributes.
+Each alternate attribute block may contain the [header](SyntaxAttrHeader), [compiler\_flags](SyntaxAttrCompileFlag), or [link\_flags](SyntaxAttrLinkFlag) attributes.

 For example, the following code checks for the _statfs_ function.  On Linux, this requires the `sys/vfs.h` header (or `sys/statfs.h`).  On MacOS and \*BSD, the `sys/mount.h` header should be used.

@@ -77,20 +77,20 @@

 ##### Checks

-* [check_arg_count](SyntaxCheckArgCount)
-* [check_compiler_flag](SyntaxCheckCompilerFlag)

-  add_compiler_flag
-* [check_constant](SyntaxCheckConstant)
-* [check_define](SyntaxCheckDefine)
-* [check_function](SyntaxCheckFunction)
-* [check_header](SyntaxCheckHeader)
-* [check_link_flag](SyntaxCheckLinkFlag)
-  add_link_flag
-* [check_package](SyntaxCheckPackage)
-* [check_size](SyntaxCheckSize)
-* [check_shell_extract](SyntaxCheckShell)
-* [check_struct_member](SyntaxCheckStructMember)
-* [check_type](SyntaxCheckType)
+* [check\_arg\_count](SyntaxCheckArgCount)
+* [check\_compiler\_flag](SyntaxCheckCompilerFlag)
+  add\_compiler\_flag
+* [check\_constant](SyntaxCheckConstant)
+* [check\_define](SyntaxCheckDefine)
+* [check\_function](SyntaxCheckFunction)
+* [check\_header](SyntaxCheckHeader)
+* [check\_link\_flag](SyntaxCheckLinkFlag)
+  add\_link\_flag
+* [check\_package](SyntaxCheckPackage)
+* [check\_size](SyntaxCheckSize)
+* [check\_shell\_extract](SyntaxCheckShell)
+* [check\_struct\_member](SyntaxCheckStructMember)
+* [check\_type](SyntaxCheckType)

 [Wiki Home](Home) &lt;br/&gt;[Syntax](Syntax)

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brad Lanam</dc:creator><pubDate>Sat, 11 Jul 2026 13:06:31 -0000</pubDate><guid>https://sourceforge.net6853e691c9b06a148a61509edd1a63ba195eb289</guid></item><item><title>SyntaxCheck modified by Brad Lanam</title><link>https://sourceforge.net/p/mkconf/wiki/SyntaxCheck/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v24
+++ v25
@@ -12,6 +12,7 @@

 * [compiler_flags](SyntaxAttrCompileFlag)
 * [header](SyntaxAttrHeader)
 * [link_flags](SyntaxAttrLinkFlag)
+* [match](SyntaxAttrMatch)
 * [name](SyntaxAttrName)
 * [negate](SyntaxCheckCompilerFlag)
 * [path](SyntaxAttrPath)
@@ -76,18 +77,20 @@

 ##### Checks

-* [Check Argument Count](SyntaxCheckArgCount)
-* [Check/Add Compiler Flag](SyntaxCheckCompilerFlag)
-* [Check Constant](SyntaxCheckConstant)
-* [Check Define](SyntaxCheckDefine)
-* [Check Function](SyntaxCheckFunction)
-* [Check Header](SyntaxCheckHeader)
-* [Check/Add Link Flag](SyntaxCheckLinkFlag)
-* [Check Package](SyntaxCheckPackage)
-* [Check Size](SyntaxCheckSize)
-* [Check Shell Extract](SyntaxCheckShell)
-* [Check Struct Member](SyntaxCheckStructMember)
-* [Check Type](SyntaxCheckType)
+* [check_arg_count](SyntaxCheckArgCount)
+* [check_compiler_flag](SyntaxCheckCompilerFlag)

+  add_compiler_flag
+* [check_constant](SyntaxCheckConstant)
+* [check_define](SyntaxCheckDefine)
+* [check_function](SyntaxCheckFunction)
+* [check_header](SyntaxCheckHeader)
+* [check_link_flag](SyntaxCheckLinkFlag)
+  add_link_flag
+* [check_package](SyntaxCheckPackage)
+* [check_size](SyntaxCheckSize)
+* [check_shell_extract](SyntaxCheckShell)
+* [check_struct_member](SyntaxCheckStructMember)
+* [check_type](SyntaxCheckType)

 [Wiki Home](Home) &lt;br/&gt;[Syntax](Syntax)

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brad Lanam</dc:creator><pubDate>Thu, 09 Jul 2026 20:47:26 -0000</pubDate><guid>https://sourceforge.net25764e0e0d0a696cdb676740ec615d3f388625c6</guid></item><item><title>SyntaxCheck modified by Brad Lanam</title><link>https://sourceforge.net/p/mkconf/wiki/SyntaxCheck/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v23
+++ v24
@@ -49,6 +49,31 @@
       link_flags '-lintl';
     }

+##### Alternates
+
+The [alternate](SyntaxAttrAlternate) is a powerful method to run checks with alternate settings.
+
+Each alternate attribute block may contain the [header](SyntaxAttrHeader), [compiler_flags](SyntaxAttrCompileFlag), or [link_flags](SyntaxAttrLinkFlag) attributes.
+
+For example, the following code checks for the _statfs_ function.  On Linux, this requires the `sys/vfs.h` header (or `sys/statfs.h`).  On MacOS and \*BSD, the `sys/mount.h` header should be used.
+

+    check_function statfs {
+      alternate {
+        # linux
+        name _header_sys_vfs;
+        header sys/vfs.h;
+      }
+      alternate {
+        # macos, freebsd
+        name _header_sys_mount;
+        header sys/mount.h;
+      }
+    }
+
+On success, the _\_function\_statfs_ generated name will be set.
+
+If the first alternate succeeds, the _\_header\_sys\_vfs_ variable will be set.  If the second alternate succeeds, the _\_header\_sys\_mount_ variable will be set.
+
 ##### Checks


 * [Check Argument Count](SyntaxCheckArgCount)
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brad Lanam</dc:creator><pubDate>Sun, 05 Jul 2026 13:54:40 -0000</pubDate><guid>https://sourceforge.netaf29c7413d92c9e02a789f6af8a4542bc9ab6224</guid></item><item><title>SyntaxCheck modified by Brad Lanam</title><link>https://sourceforge.net/p/mkconf/wiki/SyntaxCheck/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v22
+++ v23
@@ -8,6 +8,7 @@

 Check statements may allow the following attribute statements:

+* [alternate](SyntaxAttrAlternate)

 * [compiler_flags](SyntaxAttrCompileFlag)
 * [header](SyntaxAttrHeader)
 * [link_flags](SyntaxAttrLinkFlag)
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brad Lanam</dc:creator><pubDate>Sun, 05 Jul 2026 13:32:14 -0000</pubDate><guid>https://sourceforge.nete72e6ab29101a6f4c914f26071efae59e658437c</guid></item><item><title>SyntaxCheck modified by Brad Lanam</title><link>https://sourceforge.net/p/mkconf/wiki/SyntaxCheck/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v21
+++ v22
@@ -8,12 +8,12 @@

 Check statements may allow the following attribute statements:

-* [compiler_flags](SyntaxCompileFlag)
-* [header](SyntaxHeader)
-* [link_flags](SyntaxLinkFlag)
-* [name](SyntaxName)
+* [compiler_flags](SyntaxAttrCompileFlag)
+* [header](SyntaxAttrHeader)
+* [link_flags](SyntaxAttrLinkFlag)
+* [name](SyntaxAttrName)

 * [negate](SyntaxCheckCompilerFlag)
-* [path](SyntaxPath)
+* [path](SyntaxAttrPath)

 ##### Setting Required Headers for a Check

@@ -55,6 +55,7 @@

 * [Check Constant](SyntaxCheckConstant)
 * [Check Define](SyntaxCheckDefine)
 * [Check Function](SyntaxCheckFunction)
+* [Check Header](SyntaxCheckHeader)
 * [Check/Add Link Flag](SyntaxCheckLinkFlag)
 * [Check Package](SyntaxCheckPackage)
 * [Check Size](SyntaxCheckSize)
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brad Lanam</dc:creator><pubDate>Sat, 04 Jul 2026 13:44:40 -0000</pubDate><guid>https://sourceforge.net3b2b31672161c59b4d4c81dfc73d14ff99332b14</guid></item><item><title>SyntaxCheck modified by Brad Lanam</title><link>https://sourceforge.net/p/mkconf/wiki/SyntaxCheck/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brad Lanam</dc:creator><pubDate>Fri, 03 Jul 2026 14:08:47 -0000</pubDate><guid>https://sourceforge.net6ce2fb2290caf9c262bddc50f4f6c22b923f1bb2</guid></item><item><title>SyntaxCheck modified by Brad Lanam</title><link>https://sourceforge.net/p/mkconf/wiki/SyntaxCheck/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brad Lanam</dc:creator><pubDate>Sun, 28 Jun 2026 15:21:40 -0000</pubDate><guid>https://sourceforge.neta692df028fcecd5dcfb57731eac01114c37c2d09</guid></item></channel></rss>