The Apache Lucy project has an internal tool called &quot;Charmonizer&quot; which doesn&#x27;t assume Bourne shell.<p>Charmonizer needs a supported C compiler command line interface (POSIX cc, MSVC, maybe others in the future) which can run &quot;system()&quot; commands in a supported shell (sh, cmd.exe).<p>The testing logic is all implemented in C code.  Instead of shipping a shell script, there&#x27;s one big amalgamated C file, plus a tiny &quot;configure&quot; wrapper to present a familiar interface.<p>Charmonizer hast given Lucy Autoconf-style probing on all our target platforms without adding any prerequisites beyond what Lucy already needs itself.  This has made installing Lucy much easier for a wide range of users.<p>Right now Charmonizer remains a private component supporting only Lucy but if there were to be interest it could be broken out as an independent project at Apache.<p><a href="http:&#x2F;&#x2F;github.com&#x2F;apache&#x2F;lucy-charmonizer" rel="nofollow">http:&#x2F;&#x2F;github.com&#x2F;apache&#x2F;lucy-charmonizer</a>