/* disables HTTP */
#cmakedefine CURL_DISABLE_HTTP 1
+/* disabled all HTTP authentication methods */
+#cmakedefine CURL_DISABLE_HTTP_AUTH 1
+
/* disables IMAP */
#cmakedefine CURL_DISABLE_IMAP 1
/* disables RTSP */
#cmakedefine CURL_DISABLE_RTSP 1
+/* disabled shuffle DNS feature */
+#cmakedefine CURL_DISABLE_SHUFFLE_DNS 1
+
/* disables SMB */
#cmakedefine CURL_DISABLE_SMB 1
my %disable;
# the DISABLE options that can be set by CMakeLists.txt
my %disable_cmake;
+# the DISABLE options propagated via curl_config.h.cmake
+my %disable_cmake_config_h;
# the DISABLE options that are used in C files
my %file;
# the DISABLE options that are documented
}
sub scanconf_cmake {
- my ($f)=@_;
+ my ($hashr, $f)=@_;
open S, "<$f";
while(<S>) {
if(/(CURL_DISABLE_[A-Z0-9_]+)/g) {
my ($sym)=($1);
if(not $sym =~ /^(CURL_DISABLE_INSTALL|CURL_DISABLE_TESTS|CURL_DISABLE_SRP)$/) {
- $disable_cmake{$sym} = 1;
+ $hashr->{$sym} = 1;
}
}
}
}
sub scan_cmake {
- scanconf_cmake("$root/CMakeLists.txt");
+ scanconf_cmake(\%disable_cmake, "$root/CMakeLists.txt");
+}
+
+sub scan_cmake_config_h {
+ scanconf_cmake(\%disable_cmake_config_h, "$root/lib/curl_config.h.cmake");
}
sub scan_file {
scan_configure();
scan_cmake();
+scan_cmake_config_h();
scan_sources();
scan_docs();
}
}
+# Check the CMakeLists.txt symbols for use in curl_config.h.cmake
+for my $s (sort keys %disable_cmake) {
+ if(!$disable_cmake_config_h{$s}) {
+ printf "Present in CMakeLists.txt, not propagated via curl_config.h.cmake: %s\n", $s;
+ $error++;
+ }
+}
+
# Check the code symbols for use in configure
for my $s (sort keys %file) {
if(!$disable{$s}) {