load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target")
load("@fbcode_macros//build_defs:export_files.bzl", "export_files")
load(":defs.bzl", "fizz_cpp_library")
load(":fizzy_defs.bzl", "fizzy_library")

oncall("secure_pipes")

fizzy_library(
    name = "fizzy",
)

fizz_cpp_library(
    name = "config",
    headers = select({
        "DEFAULT": select({
            "DEFAULT": {"fizz-config.h": "//:fizz-config.h"}, # @oss-only
            # @fb-only[end= ]: "DEFAULT": {"fizz-config.h": "facebook/fizz-config-xplat.h"},
            # @fb-only[end= ]: "ovr_config//runtime:fbcode": {"fizz-config.h": "facebook/fizz-config-fbcode.h"},
        }),
        # @fb-only[end= ]: "fbsource//xplat/fizz/config:mobile": {"fizz-config.h": "facebook/fizz-config-mobile.h"},
        # @fb-only[end= ]: "fbsource//xplat/fizz/config:xplat": {"fizz-config.h": "facebook/fizz-config-xplat.h"},
        # @fb-only[end= ]: "ovr_config//toolchain/fb:arista": {"fizz-config.h": "facebook/fizz-config-xplat.h"},
    }),
    propagated_pp_flags = select({
        "DEFAULT": ["-DFIZZ_HAVE_OQS"],
        "fbsource//xplat/fizz/config:mobile": [],
        "fbsource//xplat/fizz/config:mobile-oqs-disabled": [],
        "fbsource//xplat/fizz/config:oqs-disabled": [],
    }),
)

fbcode_target(
    _kind = export_files,
    files = [
        "cmake/CheckAtomic.cmake",
        "cmake/FindGMock.cmake",
        "cmake/FindLibevent.cmake",
        "cmake/FindLibrt.cmake",
        "cmake/fizz-config.cmake.in",
        "cmake/FizzOptions.cmake",
        "CMakeListsForBuck2.txt",
        "fizz-config.h.in",
    ],
)
