Skip to main content
Glama
ocaml.bzl2.62 kB
# Copyright (c) Meta Platforms, Inc. and affiliates. # # This source code is licensed under both the MIT license found in the # LICENSE-MIT file in the root directory of this source tree and the Apache # License, Version 2.0 found in the LICENSE-APACHE file in the root directory # of this source tree. load( "@prelude//ocaml:ocaml_toolchain_types.bzl", "OCamlPlatformInfo", "OCamlToolchainInfo", ) def _system_ocaml_toolchain_impl(_ctx): """ A very simple toolchain that is hardcoded to the current environment. """ return [ DefaultInfo( ), OCamlToolchainInfo( ocaml_compiler = RunInfo(args = ["ocamlopt.opt"]), # "Partial linking" (via `ocamlopt.opt -output-obj`) emits calls to # `ld -r -o`. If not `None`, this is the `ld` that will be invoked; # the default is to use whatever `ld` is in the environment. See # [Note: What is `binutils_ld`?] in `providers.bzl`. binutils_ld = None, # `ocamlopt.opt` makes calls to `as`. If this config parameter is # `None` those calls will resolve to whatever `as` is in the # environment. If not `None` then the provided value will be what's # invoked. binutils_as = None, dep_tool = RunInfo(args = ["ocamldep.opt"]), yacc_compiler = RunInfo(args = ["ocamlyacc"]), interop_includes = None, menhir_compiler = RunInfo(args = ["menhir"]), lex_compiler = RunInfo(args = ["ocamllex.opt"]), libc = None, ocaml_bytecode_compiler = RunInfo(args = ["ocamlc.opt"]), # `ocamldebug` is bytecode intended to be run by `ocamlrun`. There # is no "debugger" executable (but then `debug` is not referenced by # the ocaml build rules) so `None` will do for this. debug = None, warnings_flags = "-4-29-35-41-42-44-45-48-50-58-70", ocaml_compiler_flags = [], # e.g. "-opaque" ocamlc_flags = [], ocamlopt_flags = [], # We don't expect /opt/homebrew/lib to exist on Linux but that's not # a problem. On macOS (aarch64 at least) we expect zstd to live in # /opt/homebrew/lib. runtime_dep_link_flags = ["-ldl", "-lpthread", "-L/opt/homebrew/lib", "-lzstd"], runtime_dep_link_extras = [], ), OCamlPlatformInfo(name = "x86_64"), ] system_ocaml_toolchain = rule( impl = _system_ocaml_toolchain_impl, attrs = {}, is_toolchain_rule = True, )

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/systeminit/si'

If you have feedback or need assistance with the MCP directory API, please join our Discord server