@@ -177,9 +177,9 @@ void ChecksStorage::add(const Check &c)
177177 all_checks[h] = c.Value .value ();
178178}
179179
180- static String make_function_var (const String &d, const String &prefix = " HAVE_" )
180+ static String make_function_var (const String &d, const String &prefix = " HAVE_" , const String &suffix = {} )
181181{
182- return prefix + boost::algorithm::to_upper_copy (d);
182+ return prefix + boost::algorithm::to_upper_copy (d) + suffix ;
183183}
184184
185185static String make_include_var (const String &i)
@@ -193,9 +193,9 @@ static String make_include_var(const String &i)
193193 return v_def;
194194}
195195
196- static String make_type_var (const String &t, const String &prefix = " HAVE_" )
196+ static String make_type_var (const String &t, const String &prefix = " HAVE_" , const String &suffix = {} )
197197{
198- String v_def = make_function_var (t, prefix);
198+ String v_def = make_function_var (t, prefix, suffix );
199199 for (auto &c : v_def)
200200 {
201201 if (c == ' *' )
@@ -272,7 +272,7 @@ int main() { return IsBigEndian(); }
272272 // this path is used with wait_for_cc_checks
273273 auto i = cs.all_checks .find (h);
274274 if (i != cs.all_checks .end ())
275- c ->Value = i->second ;
275+ ic-> second ->Value = i->second ;
276276
277277 return std::pair{ false , ic->second };
278278 }
@@ -485,6 +485,13 @@ int main() { return IsBigEndian(); }
485485 std::cout << " Run '" << normalize_path (out) << " ' and press and key to continue...\n " ;
486486 getchar ();
487487 cs.load_manual (fn);
488+ for (auto &[h, c] : cs.manual_checks )
489+ {
490+ if (cs.all_checks .find (h) == cs.all_checks .end ())
491+ continue ;
492+ c->requires_manual_setup = false ;
493+ }
494+ cs.manual_checks .clear ();
488495 return performChecks (ts);
489496 }
490497
@@ -862,6 +869,9 @@ TypeSize::TypeSize(const String &t, const String &def)
862869
863870 Definitions.insert (make_type_var (data));
864871 Definitions.insert (make_type_var (data, " SIZEOF_" ));
872+ // some cmake new thing
873+ // https://cmake.org/cmake/help/latest/module/CheckTypeSize.html
874+ Definitions.insert (make_type_var (data, " SIZEOF_" , " _CODE" ));
865875 Definitions.insert (make_type_var (data, " SIZE_OF_" ));
866876 // some libs want these
867877 Definitions.insert (make_type_var (data, " HAVE_SIZEOF_" ));
0 commit comments