<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Hi all:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I&#39;ve been tinkering with optimizing zeek for performance, and came across a problem with CFLAGS/CXXFLAGS specified to the configure script.  Lets say I want to try the -O3 flag for more aggressive optimization than the default -O2:</div><div class="gmail_default"><span style="font-family:courier new,monospace"><br></span></div><div class="gmail_default"><span style="font-family:courier new,monospace">$ CFLAGS=&#39;-O3&#39; CXXFLAGS=&#39;-O3&#39; ./configure</span></div><div class="gmail_default"><span style="font-family:courier new,monospace">...</span></div><div class="gmail_default"><span style="font-family:courier new,monospace">====================|  Bro Build Summary  |=====================<br>...</span></div><div class="gmail_default"><span style="font-family:courier new,monospace">CFLAGS:            -O3 -Wall -Wno-unused -O2 -g -DNDEBUG<br>...<br>CXXFLAGS:          -O3 -Wall -Wno-unused -std=c++11 -O2 -g -DNDEBUG<br>...<br>================================================================</span></div><div class="gmail_default"><span style="font-family:courier new,monospace"><br></span></div><div class="gmail_default"><span style="font-family:courier new,monospace"><font face="arial,sans-serif">Note that the supplied CFLAGS/CXXFLAGS is before the default options for the build.  From the GCC man page:</font></span></div><div class="gmail_default"><i><font size="2"><span style="font-family:arial,sans-serif"><span style="color:rgb(68,68,68);font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none">If you use multiple<span> </span></span><b style="font-weight:bold;color:rgb(68,68,68);font-variant-ligatures:normal;font-variant-caps:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial">-O</b><span style="color:rgb(68,68,68);font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none"><span> </span>options, with or without level numbers, the last such option is the one that is effective.</span></span></font></i></div><div class="gmail_default"><font size="2"><span style="font-family:arial,sans-serif"><span style="color:rgb(68,68,68);font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none">This, of course, means that the -O3 specified will not take effect.  Running <span style="font-family:courier new,monospace">make -in</span> confirms that those flags are being passed to the compiler.</span></span></font></div><div class="gmail_default"><font size="2"><span style="font-family:arial,sans-serif"><span style="color:rgb(68,68,68);font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none"><br></span></span></font></div><div class="gmail_default"><font size="2"><span style="font-family:arial,sans-serif"><span style="color:rgb(68,68,68);font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none">There appear to be several alternatives to allow supplied flags to override the defaults, the most reasonable appearing to be modifying the build commands to apply CFLAGS/CXXFLAGS after the defaults.</span></span></font></div><div class="gmail_default"><font size="2"><span style="font-family:arial,sans-serif"><span style="color:rgb(68,68,68);font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none"><br></span></span></font></div><div class="gmail_default"><font size="2"><span style="font-family:arial,sans-serif"><span style="color:rgb(68,68,68);font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none">I&#39;m not a cmake maven, but it seems likely that lines like:</span></span></font></div><div class="gmail_default"><span style="font-family:courier new,monospace"><font size="2"><span style="color:rgb(68,68,68);font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none">set(CMAKE_C_FLAGS   &quot;${CMAKE_C_FLAGS}   ${bro_cache_CMAKE_C_FLAGS}&quot;)</span></font></span></div><div class="gmail_default"><font size="2"><span style="font-family:arial,sans-serif"><span style="color:rgb(68,68,68);font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none"><br></span></span></font></div><div class="gmail_default"><font size="2"><span style="font-family:arial,sans-serif"><span style="color:rgb(68,68,68);font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none">could be reversed ala:</span></span></font></div><div class="gmail_default"><span style="font-family:courier new,monospace"><font size="2"><span style="color:rgb(68,68,68);font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none"><br></span></font></span></div><div class="gmail_default"><span style="font-family:courier new,monospace"><font size="2"><span style="color:rgb(68,68,68);font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none">set(CMAKE_C_FLAGS   &quot;${bro_cache_CMAKE_C_FLAGS}   ${CMAKE_C_FLAGS}&quot;)</span></font></span></div><div class="gmail_default"><font size="2"><span style="font-family:arial,sans-serif"><span style="color:rgb(68,68,68);font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none"><br></span></span></font></div><div class="gmail_default"><font size="2"><span style="font-family:arial,sans-serif"><span style="color:rgb(68,68,68);font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none">to achieve that effect.<br></span></span></font></div><div class="gmail_default"><font size="2"><span style="font-family:arial,sans-serif"><span style="color:rgb(68,68,68);font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none"><br></span></span></font></div><div class="gmail_default"><font size="2"><span style="font-family:arial,sans-serif"><span style="color:rgb(68,68,68);font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none">(Yes, I know <span style="font-family:courier new,monospace">--build-type=Release<font face="arial,sans-serif"> compiles with -O3, but the point remains that overriding flags via environment variables is generally expected to </font></span>be operative)<br></span></span></font></div><div class="gmail_default"><font size="2"><span style="font-family:arial,sans-serif"><span style="color:rgb(68,68,68);font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none"><br></span></span></font></div><div class="gmail_default"><font size="2"><span style="font-family:arial,sans-serif"><span style="color:rgb(68,68,68);font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none">Comments?</span></span></font></div><div class="gmail_default"><font size="2"><span style="font-family:arial,sans-serif"><span style="color:rgb(68,68,68);font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none"><br></span></span></font></div><div class="gmail_default"><font size="2"><span style="font-family:arial,sans-serif"><span style="color:rgb(68,68,68);font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none">Jim</span></span></font></div><div class="gmail_default"><font size="2"><span style="font-family:arial,sans-serif"><span style="color:rgb(68,68,68);font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none"><br></span></span></font></div><div class="gmail_default"><font size="2"><span style="font-family:arial,sans-serif"><span style="color:rgb(68,68,68);font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none"><br></span></span></font></div><div class="gmail_default"><i><font size="2"><span style="font-family:arial,sans-serif"><span style="color:rgb(68,68,68);font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;display:inline;float:none"></span></span></font></i></div></div>