[build][bazel] Add Bazel definition files for rapidjson. - Add a MODULE.bazel file to define the @rapidjson module as expected by other third-party dependencies and soon in-tree Fuchsia Bazel targets. - Add BUILD.bazel file to define the @rapidjson//:rapidjson library target, matching the definitions in BUILD.gn. - Remove obsolete BUILD.zircon.gn file. NOTE: To be usable, this requires a change in //build/bazel/toplevel.MODULE.bazel in fuchsia.git to list the module here with a local_path_override() directive. Bug: 426154145 Change-Id: Ia4729e90f557e8f3da9deb2b994a286130dc6cec Reviewed-on: https://fuchsia-review.googlesource.com/c/third_party/rapidjson/+/1307724 Fuchsia-Auto-Submit: David Turner <digit@google.com> Reviewed-by: Bruno Dal Bo <brunodalbo@google.com> Commit-Queue: David Turner <digit@google.com>
diff --git a/BUILD.bazel b/BUILD.bazel new file mode 100644 index 0000000..a808d77 --- /dev/null +++ b/BUILD.bazel
@@ -0,0 +1,66 @@ +# Copyright 2025 The Fuchsia Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# LINT.IfChange +cc_library( + name = "rapidjson", + # All rapidjson headers must be public, even the internal ones + # since they are directly included from the public ones. + hdrs = [ + "include/rapidjson/allocators.h", + "include/rapidjson/cursorstreamwrapper.h", + "include/rapidjson/document.h", + "include/rapidjson/encodedstream.h", + "include/rapidjson/encodings.h", + "include/rapidjson/error/en.h", + "include/rapidjson/error/error.h", + "include/rapidjson/filereadstream.h", + "include/rapidjson/filewritestream.h", + "include/rapidjson/fwd.h", + "include/rapidjson/internal/biginteger.h", + "include/rapidjson/internal/diyfp.h", + "include/rapidjson/internal/dtoa.h", + "include/rapidjson/internal/clzll.h", + "include/rapidjson/internal/ieee754.h", + "include/rapidjson/internal/itoa.h", + "include/rapidjson/internal/meta.h", + "include/rapidjson/internal/pow10.h", + "include/rapidjson/internal/regex.h", + "include/rapidjson/internal/stack.h", + "include/rapidjson/internal/strfunc.h", + "include/rapidjson/internal/strtod.h", + "include/rapidjson/internal/swap.h", + "include/rapidjson/istreamwrapper.h", + "include/rapidjson/memorybuffer.h", + "include/rapidjson/memorystream.h", + "include/rapidjson/msinttypes/inttypes.h", + "include/rapidjson/msinttypes/stdint.h", + "include/rapidjson/ostreamwrapper.h", + "include/rapidjson/pointer.h", + "include/rapidjson/prettywriter.h", + "include/rapidjson/rapidjson.h", + "include/rapidjson/reader.h", + "include/rapidjson/schema.h", + "include/rapidjson/stream.h", + "include/rapidjson/stringbuffer.h", + "include/rapidjson/uri.h", + "include/rapidjson/writer.h", + ], + includes = [ "include" ], + # rapidjson needs these defines to support C++11 features. These features + # are intentionally not autodetected by rapidjson. + defines = [ + "RAPIDJSON_HAS_STDSTRING", + "RAPIDJSON_HAS_CXX11_RANGE_FOR", + "RAPIDJSON_HAS_CXX11_RVALUE_REFS", + "RAPIDJSON_HAS_CXX11_TYPETRAITS", + "RAPIDJSON_HAS_CXX11_NOEXCEPT", + ], + copts = [ + "-Wno-ambiguous-reversed-operator", + "-Wno-option-ignored", + ], + visibility = ["//visibility:public"], +) +# LINT.ThenChange(BUILD.gn)
diff --git a/BUILD.gn b/BUILD.gn index c12bb46..c2a41e6 100644 --- a/BUILD.gn +++ b/BUILD.gn
@@ -25,6 +25,7 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# LINT.IfChange config("rapidjson_config") { include_dirs = [ ".", @@ -61,9 +62,9 @@ "include/rapidjson/filewritestream.h", "include/rapidjson/fwd.h", "include/rapidjson/internal/biginteger.h", + "include/rapidjson/internal/clzll.h", "include/rapidjson/internal/diyfp.h", "include/rapidjson/internal/dtoa.h", - "include/rapidjson/internal/clzll.h", "include/rapidjson/internal/ieee754.h", "include/rapidjson/internal/itoa.h", "include/rapidjson/internal/meta.h", @@ -92,3 +93,4 @@ public_configs = [ ":rapidjson_config" ] } +# LINT.ThenChange(BUILD.bazel)
diff --git a/BUILD.zircon.gn b/BUILD.zircon.gn deleted file mode 100644 index 92b7a01..0000000 --- a/BUILD.zircon.gn +++ /dev/null
@@ -1,86 +0,0 @@ -# Copyright 2016 The Fuchsia Authors. All rights reserved. -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -config("rapidjson_config") { - include_dirs = [ - ".", - "include", - ] - - # rapidjson needs these defines to support C++11 features. These features - # are intentionally not autodetected by rapidjson. - defines = [ - "RAPIDJSON_HAS_STDSTRING", - "RAPIDJSON_HAS_CXX11_RANGE_FOR", - "RAPIDJSON_HAS_CXX11_RVALUE_REFS", - "RAPIDJSON_HAS_CXX11_TYPETRAITS", - "RAPIDJSON_HAS_CXX11_NOEXCEPT", - ] -} - -source_set("rapidjson") { - sources = [ - "include/rapidjson/allocators.h", - "include/rapidjson/cursorstreamwrapper.h", - "include/rapidjson/document.h", - "include/rapidjson/encodedstream.h", - "include/rapidjson/encodings.h", - "include/rapidjson/error/en.h", - "include/rapidjson/error/error.h", - "include/rapidjson/filereadstream.h", - "include/rapidjson/filewritestream.h", - "include/rapidjson/fwd.h", - "include/rapidjson/internal/biginteger.h", - "include/rapidjson/internal/diyfp.h", - "include/rapidjson/internal/dtoa.h", - "include/rapidjson/internal/ieee754.h", - "include/rapidjson/internal/itoa.h", - "include/rapidjson/internal/meta.h", - "include/rapidjson/internal/pow10.h", - "include/rapidjson/internal/regex.h", - "include/rapidjson/internal/stack.h", - "include/rapidjson/internal/strfunc.h", - "include/rapidjson/internal/strtod.h", - "include/rapidjson/internal/swap.h", - "include/rapidjson/istreamwrapper.h", - "include/rapidjson/memorybuffer.h", - "include/rapidjson/memorystream.h", - "include/rapidjson/msinttypes/inttypes.h", - "include/rapidjson/msinttypes/stdint.h", - "include/rapidjson/ostreamwrapper.h", - "include/rapidjson/pointer.h", - "include/rapidjson/prettywriter.h", - "include/rapidjson/rapidjson.h", - "include/rapidjson/reader.h", - "include/rapidjson/schema.h", - "include/rapidjson/stream.h", - "include/rapidjson/stringbuffer.h", - "include/rapidjson/writer.h", - ] - - public_configs = [ ":rapidjson_config" ] -}
diff --git a/MODULE.bazel b/MODULE.bazel new file mode 100644 index 0000000..e4661df --- /dev/null +++ b/MODULE.bazel
@@ -0,0 +1,6 @@ +module(name = "rapidjson", version = "") + +bazel_dep(name = "rules_cc", version = "0.0.16") + +# Required by the unit-test suite only. +bazel_dep(name = "googletest", version="1.16.0", dev_dependency=True)