Use llvm_canonicalize_cmake_booleans for LLVM_LIBXML2_ENABLED [llvm]

r291284 added a nice mechanism to consistently pass CMake on/off toggles to
lit. This change uses it for LLVM_LIBXML2_ENABLED too (which was added around
the same time and doesn't use the new system yet).

Also alphabetically sort the list passed to llvm_canonicalize_cmake_booleans()
in llvm/test/CMakeLists.txt.

No intended behavior change.

Differential Revision: https://reviews.llvm.org/D56912


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351615 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index d2b2b8d..e69ceeb 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -1,16 +1,17 @@
 llvm_canonicalize_cmake_booleans(
-  LLVM_TOOL_LTO_BUILD
+  BUILD_SHARED_LIBS
+  HAVE_LIBXAR
+  HAVE_LIBZ
   HAVE_OCAMLOPT
   HAVE_OCAML_OUNIT
-  LLVM_INCLUDE_GO_TESTS
-  LLVM_USE_INTEL_JITEVENTS
-  HAVE_LIBZ
-  HAVE_LIBXAR
   LLVM_ENABLE_DIA_SDK
   LLVM_ENABLE_FFI
   LLVM_ENABLE_THREADS
-  BUILD_SHARED_LIBS
+  LLVM_INCLUDE_GO_TESTS
+  LLVM_LIBXML2_ENABLED
   LLVM_LINK_LLVM_DYLIB
+  LLVM_TOOL_LTO_BUILD
+  LLVM_USE_INTEL_JITEVENTS
   )
 
 configure_lit_site_cfg(
diff --git a/test/lit.cfg.py b/test/lit.cfg.py
index 4200dd5..0cd6765 100644
--- a/test/lit.cfg.py
+++ b/test/lit.cfg.py
@@ -324,7 +324,7 @@
 if config.enable_threads:
     config.available_features.add('thread_support')
 
-if config.llvm_libxml2_enabled == '1':
+if config.llvm_libxml2_enabled:
     config.available_features.add('libxml2')
 
 if config.have_opt_viewer_modules:
diff --git a/test/lit.site.cfg.py.in b/test/lit.site.cfg.py.in
index b8bfc1b..62c90b7 100644
--- a/test/lit.site.cfg.py.in
+++ b/test/lit.site.cfg.py.in
@@ -39,7 +39,7 @@
 config.enable_threads = @LLVM_ENABLE_THREADS@
 config.build_shared_libs = @BUILD_SHARED_LIBS@
 config.link_llvm_dylib = @LLVM_LINK_LLVM_DYLIB@
-config.llvm_libxml2_enabled = "@LLVM_LIBXML2_ENABLED@"
+config.llvm_libxml2_enabled = @LLVM_LIBXML2_ENABLED@
 config.llvm_host_triple = '@LLVM_HOST_TRIPLE@'
 config.host_arch = "@HOST_ARCH@"
 config.have_opt_viewer_modules = @LLVM_HAVE_OPT_VIEWER_MODULES@
diff --git a/utils/gn/TODO.txt b/utils/gn/TODO.txt
index 1588470..032fe95 100644
--- a/utils/gn/TODO.txt
+++ b/utils/gn/TODO.txt
@@ -20,8 +20,6 @@
 - add dead code stripping
 - move run_tablegen.py from build to tablegen folder
 - figure out why -Iclang/Support gets added so often
-- make LLVM_LIBXML2_ENABLED use llvm_canonicalize_cmake_boolean (cf D28294),
-  clean up both GN and CMake builds
 - plugin() template with working rpath, exports thingers
   - then port clang_build_examples and enable by default so that clang
     plugin tests run by default
diff --git a/utils/gn/secondary/lld/test/BUILD.gn b/utils/gn/secondary/lld/test/BUILD.gn
index 6eb80c9..b62fbc1 100644
--- a/utils/gn/secondary/lld/test/BUILD.gn
+++ b/utils/gn/secondary/lld/test/BUILD.gn
@@ -45,7 +45,7 @@
   if (llvm_enable_libxml2) {
     extra_values += [ "LLVM_LIBXML2_ENABLED=1" ]
   } else {
-    extra_values += [ "LLVM_LIBXML2_ENABLED=" ]  # Must be empty.
+    extra_values += [ "LLVM_LIBXML2_ENABLED=0" ]  # Must be 0.
   }
 
   if (llvm_enable_zlib) {
diff --git a/utils/gn/secondary/llvm/test/BUILD.gn b/utils/gn/secondary/llvm/test/BUILD.gn
index 2671982..3c018ac 100644
--- a/utils/gn/secondary/llvm/test/BUILD.gn
+++ b/utils/gn/secondary/llvm/test/BUILD.gn
@@ -140,7 +140,7 @@
   if (llvm_enable_libxml2) {
     extra_values += [ "LLVM_LIBXML2_ENABLED=1" ]
   } else {
-    extra_values += [ "LLVM_LIBXML2_ENABLED=" ]  # Must be empty.
+    extra_values += [ "LLVM_LIBXML2_ENABLED=0" ]  # Must be 0.
   }
 
   if (llvm_enable_threads) {