{ "util_private_headers": { "type": ["@", "rules", "data", "staged"] , "srcs": [ "alloc.h" , "array.h" , "assert_safe.h" , "bitvec.h" , "cc-compat.h" , "date.h" , "filebuf.h" , "fs_path.h" , "futils.h" , "git2_util.h" , "hash.h" , "integer.h" , "khash.h" , "map.h" , "net.h" , "pool.h" , "posix.h" , "pqueue.h" , "rand.h" , "regexp.h" , "runtime.h" , "sortedcache.h" , "staticstr.h" , "str.h" , "strmap.h" , "strnlen.h" , "thread.h" , "utf8.h" , "util.h" , "varint.h" , "vector.h" , "wildmatch.h" , "zstream.h" , "allocators/failalloc.h" , "allocators/stdalloc.h" , "allocators/win32_leakcheck.h" , "hash/builtin.h" , "hash/collisiondetect.h" , "hash/common_crypto.h" , "hash/mbedtls.h" , "hash/openssl.h" , "hash/sha.h" , "hash/win32.h" , "hash/sha1dc/sha1.h" , "hash/sha1dc/ubc_check.h" , "hash/rfc6234/sha.h" , "unix/posix.h" , "unix/pthread.h" , "win32/dir.h" , "win32/error.h" , "win32/mingw-compat.h" , "win32/msvc-compat.h" , "win32/path_w32.h" , "win32/posix.h" , "win32/precompiled.h" , "win32/reparse.h" , "win32/thread.h" , "win32/utf-conv.h" , "win32/version.h" , "win32/w32_buffer.h" , "win32/w32_common.h" , "win32/w32_leakcheck.h" , "win32/w32_util.h" , "win32/win32-compat.h" , ["include", "git2_public_headers"] , "git2_features.h" , ["deps/xdiff", "hdrs"] ] } , "util_os_unix": { "type": ["@", "rules", "CC", "library"] , "arguments_config": ["OS", "USE_THREADS"] , "name": ["util_os_unix"] , "pure C": ["yes"] , "srcs": ["unix/map.c", "unix/realpath.c"] , "private-hdrs": ["util_private_headers"] , "private-ldflags": { "type": "++" , "$1": [ { "type": "if" , "cond": {"type": "var", "name": "USE_THREADS"} , "then": ["-pthread", "-Wl,--whole-archive,-lpthread,--no-whole-archive"] } , { "type": "case" , "expr": {"type": "var", "name": "OS"} , "case": { "solaris": ["-lsocket", "-lnsl"] , "sunos": ["-lsocket", "-lnsl"] , "haiku": ["-lnetwork"] } } ] } } , "util_os_win32": { "type": ["@", "rules", "CC", "library"] , "name": ["util_os_win32"] , "pure C": ["yes"] , "srcs": [ "win32/dir.c" , "win32/error.c" , "win32/map.c" , "win32/path_w32.c" , "win32/posix_w32.c" , "win32/precompiled.c" , "win32/thread.c" , "win32/utf-conv.c" , "win32/w32_buffer.c" , "win32/w32_leakcheck.c" , "win32/w32_util.c" ] , "private-hdrs": ["util_private_headers"] , "private-ldflags": ["-lws2_32"] } , "util_hash_collision_detection": { "type": ["@", "rules", "CC", "library"] , "name": ["util_hash_collision_detection"] , "pure C": ["yes"] , "private-defines": [ "SHA1DC_NO_STANDARD_INCLUDES=1" , "SHA1DC_CUSTOM_INCLUDE_SHA1_C=\"git2_util.h\"" , "SHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C=\"git2_util.h\"" ] , "srcs": ["hash/collisiondetect.c", "hash/sha1dc/sha1.c", "hash/sha1dc/ubc_check.c"] , "private-hdrs": ["util_private_headers"] } , "util_hash_openssl": { "type": ["@", "rules", "CC", "library"] , "arguments_config": ["USE_SYSTEM_LIBS"] , "name": ["util_hash_openssl"] , "pure C": ["yes"] , "srcs": ["hash/openssl.c"] , "private-hdrs": ["util_private_headers"] , "private-ldflags": { "type": "if" , "cond": {"type": "var", "name": "USE_SYSTEM_LIBS"} , "then": ["-lssl"] } , "deps": { "type": "if" , "cond": {"type": "var", "name": "USE_SYSTEM_LIBS"} , "then": [] , "else": [["@", "ssl", "", "crypto"]] } } , "util_hash_common_crypto": { "type": ["@", "rules", "CC", "library"] , "arguments_config": ["USE_SYSTEM_LIBS"] , "name": ["util_hash_common_crypto"] , "pure C": ["yes"] , "srcs": ["hash/common_crypto.c"] , "private-hdrs": ["util_private_headers"] , "private-ldflags": { "type": "if" , "cond": {"type": "var", "name": "USE_SYSTEM_LIBS"} , "then": ["-lcommon_crypto"] } , "deps": { "type": "if" , "cond": {"type": "var", "name": "USE_SYSTEM_LIBS"} , "then": [] , "else": [["@", "common_crypto", "", "crypto"]] } } , "util_hash_mbedtls": { "type": ["@", "rules", "CC", "library"] , "arguments_config": ["USE_SYSTEM_LIBS"] , "name": ["util_hash_mbedtls"] , "pure C": ["yes"] , "srcs": ["hash/mbedtls.c"] , "private-hdrs": ["util_private_headers"] , "private-ldflags": { "type": "if" , "cond": {"type": "var", "name": "USE_SYSTEM_LIBS"} , "then": ["-lmbedtls"] } , "deps": { "type": "if" , "cond": {"type": "var", "name": "USE_SYSTEM_LIBS"} , "then": [] , "else": [["@", "mbedtls", "", "crypto"]] } } , "util_hash_win32": { "type": ["@", "rules", "CC", "library"] , "name": ["util_hash_win32"] , "pure C": ["yes"] , "srcs": ["hash/win32.c"] , "private-hdrs": ["util_private_headers"] } , "util_hash_builtin": { "type": ["@", "rules", "CC", "library"] , "name": ["util_hash_builtin"] , "pure C": ["yes"] , "srcs": ["hash/builtin.c", "hash/rfc6234/sha224-256.c"] , "private-hdrs": ["util_private_headers"] } , "util_os": { "type": ["@", "rules", "CC", "library"] , "arguments_config": ["OS"] , "deps": { "type": "if" , "cond": {"type": "==", "$1": {"type": "var", "name": "OS"}, "$2": "windows"} , "then": ["util_os_win32"] , "else": ["util_os_unix"] } } , "util_sha1": { "type": ["@", "rules", "CC", "library"] , "arguments_config": ["USE_SHA1"] , "deps": { "type": "case*" , "expr": {"type": "var", "name": "USE_SHA1"} , "case": [ ["CollisionDetection", ["util_hash_collision_detection"]] , ["OpenSSL", ["util_hash_openssl"]] , ["CommonCrypto", ["util_hash_common_crypto"]] , ["mbedTLS", ["util_hash_mbedtls"]] , ["Win32", ["util_hash_win32"]] , ["Generic", ["util_hash_generic"]] ] , "default": {"type": "fail", "msg": "Asked for unknown SHA1 backend in `USE_SHA1`"} } } , "util_sha256": { "type": ["@", "rules", "CC", "library"] , "arguments_config": ["USE_SHA256"] , "deps": { "type": "case*" , "expr": {"type": "var", "name": "USE_SHA256"} , "case": [ ["Builtin", ["util_hash_builtin"]] , ["OpenSSL", ["util_hash_openssl"]] , ["CommonCrypto", ["util_hash_common_crypto"]] , ["mbedTLS", ["util_hash_mbedtls"]] , ["Win32", ["util_hash_win32"]] ] , "default": { "type": "fail" , "msg": "Asked for unknown SHA256 backend in `USE_SHA256`" } } } , "util_regex": { "type": ["@", "rules", "CC", "library"] , "arguments_config": ["USE_SYSTEM_LIBS", "REGEX_BACKEND"] , "name": ["util_regex"] , "private-ldflags": { "type": "if" , "cond": {"type": "var", "name": "USE_SYSTEM_LIBS"} , "then": { "type": "case" , "expr": {"type": "var", "name": "REGEX_BACKEND"} , "case": {"pcre2": ["-lpcre2-8"], "pcre": ["-lpcre"]} } } , "deps": { "type": "if" , "cond": {"type": "var", "name": "USE_SYSTEM_LIBS"} , "then": { "type": "case*" , "expr": {"type": "var", "name": "REGEX_BACKEND"} , "case": [ ["builtin", [["deps/pcre", "git2_pcre"]]] , [null, [["deps/pcre", "git2_pcre"]]] ] } , "else": { "type": "case*" , "expr": {"type": "var", "name": "REGEX_BACKEND"} , "case": [ ["pcre2", [["@", "pcre2", "", "pcre2"]]] , ["pcre", [["@", "pcre", "", "pcre"]]] , ["builtin", [["deps/pcre", "git2_pcre"]]] , [null, [["deps/pcre", "git2_pcre"]]] ] } } } , "util_compress": { "type": ["@", "rules", "CC", "library"] , "arguments_config": ["USE_SYSTEM_LIBS", "USE_BUNDLED_ZLIB"] , "name": ["util_compress"] , "private-ldflags": { "type": "if" , "cond": {"type": "var", "name": "USE_BUNDLED_ZLIB"} , "then": [] , "else": { "type": "if" , "cond": {"type": "var", "name": "USE_SYSTEM_LIBS"} , "then": ["-lz"] } } , "deps": { "type": "if" , "cond": {"type": "var", "name": "USE_BUNDLED_ZLIB"} , "then": {"type": "fail", "msg": "bundled zlib from deps/zlib not supported yet."} , "else": { "type": "if" , "cond": {"type": "var", "name": "USE_SYSTEM_LIBS"} , "then": [] , "else": [["@", "zlib", "", "zlib"]] } } } , "util_ssh": { "type": ["@", "rules", "CC", "library"] , "arguments_config": ["USE_SYSTEM_LIBS", "USE_SSH"] , "name": ["util_ssh"] , "private-ldflags": { "type": "if" , "cond": {"type": "var", "name": "USE_SSH"} , "then": { "type": "if" , "cond": {"type": "var", "name": "USE_SYSTEM_LIBS"} , "then": ["-lssh2"] } } , "deps": { "type": "if" , "cond": {"type": "var", "name": "USE_SSH"} , "then": { "type": "if" , "cond": {"type": "var", "name": "USE_SYSTEM_LIBS"} , "then": [] , "else": [["@", "ssh2", "", "ssh"]] } } } , "util_http_parser": { "type": ["@", "rules", "CC", "library"] , "arguments_config": ["USE_SYSTEM_LIBS", "USE_HTTP_PARSER"] , "name": ["util_http_parser"] , "private-ldflags": { "type": "case*" , "expr": {"type": "var", "name": "USE_HTTP_PARSER"} , "case": [ [ "system" , { "type": "if" , "cond": {"type": "var", "name": "USE_SYSTEM_LIBS"} , "then": ["-lhttp_parser"] } ] ] } , "deps": { "type": "case*" , "expr": {"type": "var", "name": "USE_HTTP_PARSER"} , "case": [ [ "system" , { "type": "if" , "cond": {"type": "var", "name": "USE_SYSTEM_LIBS"} , "then": [] , "else": [["@", "http_parser", "", "http_parser"]] } ] ] , "default": [["deps/http-parser", "git2_http_parser"]] } } , "util_gssapi": { "type": ["@", "rules", "CC", "library"] , "arguments_config": ["OS", "USE_SYSTEM_LIBS", "USE_GSSAPI"] , "name": ["util_gssapi"] , "private-ldflags": { "type": "if" , "cond": {"type": "var", "name": "USE_SYSTEM_LIBS"} , "then": { "type": "case*" , "expr": {"type": "var", "name": "USE_GSSAPI"} , "case": [ [ true , { "type": "case*" , "expr": {"type": "var", "name": "OS"} , "case": [["darwin", ["-framework", "GSS"]]] , "default": ["-lgssapi"] } ] , ["gssapi", ["-lgssapi"]] , ["GSS.framework", ["-framework", "GSS"]] ] } } , "deps": { "type": "if" , "cond": {"type": "var", "name": "USE_SYSTEM_LIBS"} , "then": [] , "else": { "type": "if" , "cond": {"type": "var", "name": "USE_GSSAPI"} , "then": [["@", "gssapi", "", "gssapi"]] } } } , "util_https": { "type": ["@", "rules", "CC", "library"] , "arguments_config": ["OS", "USE_SYSTEM_LIBS", "USE_HTTPS"] , "name": ["util_https"] , "private-ldflags": { "type": "case*" , "expr": {"type": "var", "name": "USE_HTTPS"} , "case": [["WinHTTP", ["-lwinhttp"]]] , "default": { "type": "if" , "cond": {"type": "var", "name": "USE_SYSTEM_LIBS"} , "then": { "type": "case*" , "expr": {"type": "var", "name": "USE_HTTPS"} , "case": [ ["OpenSSL", ["-lssl"]] , ["mbedTLS", ["-lmbedtls"]] , [ "SecureTransport" , ["-framework", "CoreFoundation", "-framework", "Security"] ] ] } } } , "deps": { "type": "if" , "cond": {"type": "var", "name": "USE_SYSTEM_LIBS"} , "then": [] , "else": { "type": "case*" , "expr": {"type": "var", "name": "USE_HTTPS"} , "case": [ ["OpenSSL", [["@", "ssl", "", "ssl"]]] , ["mbedTLS", [["@", "mbedtls", "", "ssl"]]] , ["SecureTransport", [["@", "secure_transport", "", "ssl"]]] ] } } } , "util_sources": { "type": ["@", "rules", "data", "staged"] , "srcs": [ "alloc.c" , "date.c" , "filebuf.c" , "fs_path.c" , "futils.c" , "hash.c" , "net.c" , "pool.c" , "posix.c" , "pqueue.c" , "rand.c" , "regexp.c" , "runtime.c" , "sortedcache.c" , "str.c" , "strmap.c" , "thread.c" , "tsort.c" , "utf8.c" , "util.c" , "varint.c" , "vector.c" , "wildmatch.c" , "zstream.c" , "allocators/failalloc.c" , "allocators/stdalloc.c" , "allocators/win32_leakcheck.c" , ["deps/xdiff", "srcs"] ] } , "git2_features.h": { "type": "configure" , "arguments_config": [ "OS" , "ARCH" , "TARGET_ARCH" , "DEBUG_POOL" , "USE_THREADS" , "REGEX_BACKEND" , "USE_ICONV" , "USE_NSEC" , "USE_SSH" , "USE_NTLMCLIENT" , "USE_GSSAPI" , "USE_SHA1" , "USE_SHA256" , "USE_HTTPS" ] , "target": "feature_header" , "config": { "type": "let*" , "bindings": [ [ "TARGET_ARCH" , { "type": "var" , "name": "TARGET_ARCH" , "default": {"type": "var", "name": "ARCH"} } ] , [ "IS_BSD" , { "type": "case" , "expr": {"type": "var", "name": "OS"} , "case": {"darwin": true, "bsd": true} } ] , [ "IS_32BIT" , { "type": "case" , "expr": { "type": "var" , "name": "TARGET_ARCH" , "default": {"type": "var", "name": "ARCH"} } , "case": {"x86": true, "arm": true} } ] , [ "defines1" , { "type": "++" , "$1": [ [ ["GIT_DEBUG_POOL", {"type": "var", "name": "DEBUG_POOL"}] , ["GIT_THREADS", {"type": "var", "name": "USE_THREADS"}] , { "type": "if" , "cond": {"type": "var", "name": "IS_32BIT"} , "then": ["GIT_ARCH_32", 1] , "else": ["GIT_ARCH_64", 1] } , ["GIT_USE_ICONV", {"type": "var", "name": "USE_ICONV"}] , ["GIT_SSH", {"type": "var", "name": "USE_SSH"}] , [ "GIT_SSH_MEMORY_CREDENTIALS" , {"type": "var", "name": "USE_SSH"} ] , ["GIT_NTLM", {"type": "var", "name": "USE_NTLMCLIENT"}] , [ "GIT_IO_WSAPOLL" , { "type": "==" , "$1": {"type": "var", "name": "OS"} , "$2": "windows" } ] ] , { "type": "if" , "cond": {"type": "var", "name": "USE_NSEC"} , "then": [ ["GIT_USE_NSEC", 1] , ["GIT_USE_FUTIMENS", 1] , ["GIT_USE_STAT_MTIME_NSEC", 1] , { "type": "if" , "cond": {"type": "var", "name": "IS_BSD"} , "then": ["GIT_USE_STAT_MTIMESPEC", 1] , "else": ["GIT_USE_STAT_MTIM", 1] } ] } , [ { "type": "case*" , "expr": {"type": "var", "name": "REGEX_BACKEND"} , "case": [ ["regcomp_l", ["GIT_REGEX_REGCOMP_L", 1]] , ["regcomp", ["GIT_REGEX_REGCOMP", 1]] , ["pcre", ["GIT_REGEX_PCRE", 1]] , ["pcre2", ["GIT_REGEX_PCRE2", 1]] , ["builtin", ["GIT_REGEX_BUILTIN", 1]] , [null, ["GIT_REGEX_BUILTIN", 1]] ] , "default": { "type": "fail" , "msg": "The REGEX_BACKEND option provided is not supported" } } ] , { "type": "case*" , "expr": {"type": "var", "name": "USE_GSSAPI"} , "case": [ ["GSS.framework", [["GIT_GSSFRAMEWORK", 1]]] , ["gssapi", [["GIT_GSSAPI", 1]]] , [false, []] ] , "default": { "type": "fail" , "msg": "Backend asked for in USE_GSSAPI is not supported" } } , { "type": "if" , "cond": {"type": "var", "name": "USE_HTTPS"} , "then": [ ["GIT_HTTPS", 1] , { "type": "case*" , "expr": {"type": "var", "name": "USE_HTTPS"} , "case": [ ["SecureTransport", ["GIT_SECURE_TRANSPORT", 1]] , ["OpenSSL", ["GIT_OPENSSL", 1]] , ["mbedTLS", ["GIT_MBEDTLS", 1]] , ["WinHTTP", ["GIT_WINHTTP", 1]] ] , "default": { "type": "fail" , "msg": "Backend asked for in USE_HTTPS is not supported" } } ] } , { "type": "case*" , "expr": {"type": "var", "name": "USE_SHA1"} , "case": [ ["CollisionDetection", [["GIT_SHA1_COLLISIONDETECT", 1]]] , ["Win32", [["GIT_SHA1_WIN32", 1]]] , ["CommonCrypto", [["GIT_SHA1_COMMON_CRYPTO", 1]]] , ["OpenSSL", [["GIT_SHA1_OPENSSL", 1]]] , ["mbedTLS", [["GIT_SHA1_MBEDTLS", 1]]] ] } , { "type": "case*" , "expr": {"type": "var", "name": "USE_SHA256"} , "case": [ ["Builtin", [["GIT_SHA256_BUILTIN", 1]]] , ["Win32", [["GIT_SHA256_WIN32", 1]]] , ["CommonCrypto", [["GIT_SHA256_COMMON_CRYPTO", 1]]] , ["OpenSSL", [["GIT_SHA256_OPENSSL", 1]]] , ["mbedTLS", [["GIT_SHA256_MBEDTLS", 1]]] ] } ] } ] , [ "have_csymbol" , [ ["GIT_IO_POLL", ["poll", ["poll.h"]]] , ["GIT_IO_SELECT", ["select", ["sys/select.h"]]] ] ] ] , "body": {"type": "env", "vars": ["defines1", "have_csymbol"]} } } , "feature_header": { "type": ["@", "rules", "CC/auto", "config"] , "name": ["git2_features.h"] , "guard": ["INCLUDE_features_h__"] } }