<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:21:29 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[CDRIVER-4637] Minimize &quot;AUTO&quot; build settings</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-4637</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;Related to WRITING-13430: &lt;tt&gt;AUTO&lt;/tt&gt; build settings are good for avoiding errors during the configuration process, at the expense of predictable build results.&lt;/p&gt;

&lt;p&gt;In general, if a feature is possible on a platform, it should be &lt;tt&gt;ON&lt;/tt&gt; by default. It should be well-documented how to address missing dependencies when the configure process fails, so that users will now what features they can turn &lt;tt&gt;OFF&lt;/tt&gt;, and what packages they could install to have the feature succeed.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2335095">CDRIVER-4637</key>
            <summary>Minimize &quot;AUTO&quot; build settings</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</type>
                                            <priority id="10300" iconUrl="https://jira.mongodb.org/images/icons/priorities/medium.svg">Unknown</priority>
                        <status id="10038" iconUrl="https://jira.mongodb.org/images/icons/subtask.gif" description="">Backlog</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="colby.pike@mongodb.com">Colby Pike</assignee>
                                    <reporter username="colby.pike@mongodb.com">Colby Pike</reporter>
                        <labels>
                    </labels>
                <created>Mon, 8 May 2023 19:16:02 +0000</created>
                <updated>Fri, 3 Nov 2023 19:51:21 +0000</updated>
                                                                                                <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="5853422" author="xgen-internal-githook" created="Fri, 3 Nov 2023 19:51:21 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;vector-of-bool&apos;, &apos;email&apos;: &apos;vectorofbool@gmail.com&apos;, &apos;username&apos;: &apos;vector-of-bool&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-4637&quot; title=&quot;Minimize &amp;quot;AUTO&amp;quot; build settings&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-4637&quot;&gt;CDRIVER-4637&lt;/a&gt; A config settings command (#1289)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;New config settings code and defaults.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Almost all setting values have remained the same, and most setting&lt;br/&gt;
handling logic has remained unmodified, but this will serve as a basis&lt;br/&gt;
for better configuration settings handling in the future tasks for&lt;br/&gt;
&lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-4637&quot; title=&quot;Minimize &amp;quot;AUTO&amp;quot; build settings&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-4637&quot;&gt;CDRIVER-4637&lt;/a&gt;.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Aside: message() cleanup&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Using `message()` without a mode argument will write the message&lt;br/&gt;
as a NOTICE to stderr. We want to use STATUS as the default, which goes&lt;br/&gt;
to stdout. Systems which colorize stderr output would seemingly-randomly&lt;br/&gt;
color certain lines where the mode argument was missing.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Use new CMake in more build tasks&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Several build tasks still relied on older find-cmake logic. With the&lt;br/&gt;
new CMake changes, a more recent CMake version is required. These&lt;br/&gt;
tasks and scripts have been updated to use the same logic to find&lt;br/&gt;
the same CMake version as is used in the main build tasks.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Don&apos;t use Batch scripts to compile for MinGW&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Batch scripting is fraught with peril and will almost never do what&lt;br/&gt;
one expects. Any other scripting language is preferable. Since we have&lt;br/&gt;
Bash available and the tools to properly convert paths, just use Bash&lt;br/&gt;
to do this work.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Redundant ENABLE_SHM_COUNTERS logic&lt;/li&gt;
	&lt;li&gt;Update the &quot;Ask for Help&quot; section&lt;/li&gt;
	&lt;li&gt;No longer applicable SASL checks&lt;/li&gt;
	&lt;li&gt;Remove ENABLE_BSON, as its purpose is confusing.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;ENABLE_BSON=ON did the same as ENABLE_BSON=AUTO&lt;/li&gt;
	&lt;li&gt;There is no &quot;ENABLE_BSON=OFF&quot; since then there would be nothing to build.&lt;/li&gt;
	&lt;li&gt;USE_SYSTEM_LIBBSON=ON replaces ENABLE_BSON=SYSTEM.&lt;/li&gt;
	&lt;li&gt;To alleviate downstreams from needing to check versions before configuring,&lt;br/&gt;
  allow ENABLE_BSON=SYSTEM to be specified if USE_SYSTEM_LIBBSON=ON is also set,&lt;br/&gt;
  thus allowing one option pair to build both before and after this revision.&lt;/li&gt;
	&lt;li&gt;If ENABLE_BSON=SYSTEM is set but USE_SYSTEM_LIBBSON is not TRUE, then&lt;br/&gt;
  downstream will want to update their scripts to build with the new&lt;br/&gt;
  option rather than miscompile without being noticed.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;New toolchain for the build&lt;/li&gt;
	&lt;li&gt;Don&apos;t inject the toolchain SSL into LD_LIBRARY_PATH&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The toolchain CMake is incompatible with OpenSSL 1.1.0, so having it on the&lt;br/&gt;
library path breaks CMake. We don&apos;t need to modify LD_LIBRARY_PATH to cause&lt;br/&gt;
CMake to use the OpenSSL that we want. It is sufficient to prepend the SSL root&lt;br/&gt;
to the CMAKE_PREFIX_PATH.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Coverage link options are usage requirements&lt;/li&gt;
	&lt;li&gt;More Bash, less Sh&lt;/li&gt;
	&lt;li&gt;Don&apos;t depend on distro_id&lt;br/&gt;
Branch: mongo-c-tools&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/ca0dd70b994bc7d27a59d71bcc3f75a4f44c0b68&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/ca0dd70b994bc7d27a59d71bcc3f75a4f44c0b68&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="5525673" author="xgen-internal-githook" created="Mon, 26 Jun 2023 18:34:46 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;vector-of-bool&apos;, &apos;email&apos;: &apos;vectorofbool@gmail.com&apos;, &apos;username&apos;: &apos;vector-of-bool&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-4637&quot; title=&quot;Minimize &amp;quot;AUTO&amp;quot; build settings&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-4637&quot;&gt;CDRIVER-4637&lt;/a&gt; Remove ENABLE_SRV=AUTO, clean up SRV URI support (#1301)&lt;/p&gt;

&lt;p&gt;Remove AUTO for ENABLE_SRV, refactor .pc generation&lt;/p&gt;

&lt;p&gt;This AUTO wasn&apos;t doing anything, and behaved very similar to plain ON.&lt;br/&gt;
Now we define an interface library that provides the resolving library.&lt;br/&gt;
Some cleanup to the ResSearch lookup module.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Use ENABLE_SRV to toggle SRV support rather than detection macros&lt;/li&gt;
	&lt;li&gt;Add distinct feature flag for SRV toggle.&lt;/li&gt;
	&lt;li&gt;Refactor pkg-config generation to use target properties&lt;br/&gt;
  This change uses target properties to fill in the slots in the&lt;br/&gt;
  generated pkg-config files. Previously this was unstructured strings&lt;br/&gt;
  and flag juggling.&lt;/li&gt;
	&lt;li&gt;Tweak method of detecting name resolution&lt;br/&gt;
Co-authored-by: Roberto C. S&#225;nchez &amp;lt;roberto@connexer.com&amp;gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/0dc1a4e833a9339096009ec26e7197e87842f6f7&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/0dc1a4e833a9339096009ec26e7197e87842f6f7&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="5493907" author="xgen-internal-githook" created="Tue, 13 Jun 2023 00:46:38 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;vector-of-bool&apos;, &apos;email&apos;: &apos;vectorofbool@gmail.com&apos;, &apos;username&apos;: &apos;vector-of-bool&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-4637&quot; title=&quot;Minimize &amp;quot;AUTO&amp;quot; build settings&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-4637&quot;&gt;CDRIVER-4637&lt;/a&gt; A config settings command (#1289)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;New config settings code and defaults.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Almost all setting values have remained the same, and most setting&lt;br/&gt;
handling logic has remained unmodified, but this will serve as a basis&lt;br/&gt;
for better configuration settings handling in the future tasks for&lt;br/&gt;
&lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-4637&quot; title=&quot;Minimize &amp;quot;AUTO&amp;quot; build settings&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-4637&quot;&gt;CDRIVER-4637&lt;/a&gt;.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Aside: message() cleanup&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Using `message()` without a mode argument will write the message&lt;br/&gt;
as a NOTICE to stderr. We want to use STATUS as the default, which goes&lt;br/&gt;
to stdout. Systems which colorize stderr output would seemingly-randomly&lt;br/&gt;
color certain lines where the mode argument was missing.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Use new CMake in more build tasks&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Several build tasks still relied on older find-cmake logic. With the&lt;br/&gt;
new CMake changes, a more recent CMake version is required. These&lt;br/&gt;
tasks and scripts have been updated to use the same logic to find&lt;br/&gt;
the same CMake version as is used in the main build tasks.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Don&apos;t use Batch scripts to compile for MinGW&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Batch scripting is fraught with peril and will almost never do what&lt;br/&gt;
one expects. Any other scripting language is preferable. Since we have&lt;br/&gt;
Bash available and the tools to properly convert paths, just use Bash&lt;br/&gt;
to do this work.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Redundant ENABLE_SHM_COUNTERS logic&lt;/li&gt;
	&lt;li&gt;Update the &quot;Ask for Help&quot; section&lt;/li&gt;
	&lt;li&gt;No longer applicable SASL checks&lt;/li&gt;
	&lt;li&gt;Remove ENABLE_BSON, as its purpose is confusing.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;ENABLE_BSON=ON did the same as ENABLE_BSON=AUTO&lt;/li&gt;
	&lt;li&gt;There is no &quot;ENABLE_BSON=OFF&quot; since then there would be nothing to build.&lt;/li&gt;
	&lt;li&gt;USE_SYSTEM_LIBBSON=ON replaces ENABLE_BSON=SYSTEM.&lt;/li&gt;
	&lt;li&gt;To alleviate downstreams from needing to check versions before configuring,&lt;br/&gt;
  allow ENABLE_BSON=SYSTEM to be specified if USE_SYSTEM_LIBBSON=ON is also set,&lt;br/&gt;
  thus allowing one option pair to build both before and after this revision.&lt;/li&gt;
	&lt;li&gt;If ENABLE_BSON=SYSTEM is set but USE_SYSTEM_LIBBSON is not TRUE, then&lt;br/&gt;
  downstream will want to update their scripts to build with the new&lt;br/&gt;
  option rather than miscompile without being noticed.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;New toolchain for the build&lt;/li&gt;
	&lt;li&gt;Don&apos;t inject the toolchain SSL into LD_LIBRARY_PATH&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The toolchain CMake is incompatible with OpenSSL 1.1.0, so having it on the&lt;br/&gt;
library path breaks CMake. We don&apos;t need to modify LD_LIBRARY_PATH to cause&lt;br/&gt;
CMake to use the OpenSSL that we want. It is sufficient to prepend the SSL root&lt;br/&gt;
to the CMAKE_PREFIX_PATH.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Coverage link options are usage requirements&lt;/li&gt;
	&lt;li&gt;More Bash, less Sh&lt;/li&gt;
	&lt;li&gt;Don&apos;t depend on distro_id&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/3165a356473a1d50d1142d7071bd46bb5bb81c2a&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/3165a356473a1d50d1142d7071bd46bb5bb81c2a&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_21553" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Quarter</customfieldname>
                        <customfieldvalues>
                                        <label>FY24Q2</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i1qht4:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>