dune.readthedocs.io
Open in
urlscan Pro
2606:4700::6811:2052
Public Scan
Submitted URL: http://dune.readthedocs.io/
Effective URL: https://dune.readthedocs.io/en/stable/
Submission: On November 16 via api from US — Scanned from DE
Effective URL: https://dune.readthedocs.io/en/stable/
Submission: On November 16 via api from US — Scanned from DE
Form analysis
2 forms found in the DOMGET search.html
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
GET //readthedocs.org/projects/dune/search/
<form id="flyout-search-form" class="wy-form" target="_blank" action="//readthedocs.org/projects/dune/search/" method="get">
<input type="text" name="q" aria-label="Dokumente durchsuchen" placeholder="Dokumente durchsuchen">
</form>
Text Content
Dune stable Getting Started and Core Concepts * Overview * Quickstart * Stanza Reference * Command-Line Interface How-to Guides * How to Set up Automatic Formatting * How to Generate Opam Files from dune-project * Cross-Compilation * Dealing with Foreign Libraries * Generating Documentation * How to Load Additional Files at Runtime * Instrumentation * JavaScript Compilation With Js_of_ocaml * JavaScript Compilation With Melange * Toplevel Integration * Virtual Libraries & Variants * Writing and Running Tests Reference Guides * Lexical Conventions * Ordered Set Language * Boolean Language * Predicate Language * Library Dependencies * User Actions * Foreign Sources, Archives, and Objects * Command Line Interface * Preprocessing Specification * Packages * Findlib Integration * Aliases * Scopes * Variables * Dependency Specification * OCaml Flags * Sandboxing * Locks * Diffing and Promotion * Package Specification * Coq * Dune Cache * Dune Libraries * Dune RPC Explanations * How Preprocessing Works * The OCaml Ecosystem * How Dune integrates with opam Advanced topics * Dynamic Loading of Packages with Findlib * Profiling Dune * Package Version * OCaml Syntax * Variables for Artifacts * Building an Ad Hoc .cmxs Miscellaneous * FAQ * Goal of Dune * Working on the Dune Codebase Dune * * Welcome to Dune’s Documentation! * Edit on GitHub -------------------------------------------------------------------------------- WELCOME TO DUNE’S DOCUMENTATION!¶ Getting Started and Core Concepts * Overview * Introduction * Terminology * Project Layout * History * Quickstart * Install Dune * Initializing Projects * Initializing an Executable * Initializing a Library * Building a Hello World Program From Scratch * Building a Hello World Program Using Lwt * Building a Hello World Program Using Core and Jane Street PPXs * Defining a Library Using Lwt and ocaml-re * Building a Hello World Program in Bytecode * Setting the OCaml Compilation Flags Globally * Using Cppo * Using the .cppo.ml Style Like the ocamlbuild Plugin * Defining a Library with C Stubs * Defining a Library with C Stubs using pkg-config * Using a Custom Code Generator * Defining Tests * Building a Custom Toplevel * Stanza Reference * dune-project * accept_alternative_dune_file_name * cram * dialect * executables_implicit_empty_intf * expand_aliases_in_sandbox * explicit_js_mode * formatting * generate_opam_files * implicit_transitive_deps * name * opam_file_location * package * subst * use_standard_c_and_cxx_flags * using * version * wrapped_executables * map_workspace_root * warnings * dune * alias * cinaps * copy_files * coq.theory * data_only_dirs * deprecated_library_name * dirs * documentation * env * executable * executables * external_variant * foreign_library * generate_sites_module * ignored_subdirs * include * include_subdirs * install * jbuild_version * library * mdx * menhir * ocamllex * ocamlyacc * plugin * rule * subdir * test * tests * toplevel * vendored_dirs * dune-workspace * env * config stanzas * context * profile * config * action_stderr_on_success * action_stdout_on_success * cache * cache-check-probability * cache-storage-mode * jobs * display * sandboxing_preference * terminal-persistence * Command-Line Interface * Initializing Components * Initializing a Project * Initializing an Executable * Initializing a Library * Finding the Root * Current Directory * Forcing the Root (for Scripts) * Interpretation of Targets * Resolution * Variables for Artifacts * Finding External Libraries * Running Tests * Watch Mode * Launching the Toplevel (REPL) * Requirements & Limitations * Restricting the Set of Packages * Distributing Projects * dune subst * Custom Build Directory * Installing a Package * Via opam * Manually * Destination Directory * Relocation Mode * Querying Merlin Configuration * Printing the Configuration * Printing an Approximated .merlin * Non-Standard Filenames * Running a Coq Toplevel How-to Guides * How to Set up Automatic Formatting * Setting Up the Environment * Running the Formatters * Setting Up Your CI * How to Generate Opam Files from dune-project * Declaring Package Dependencies * For a New Package (No Existing Opam File) * For an Existing Package * General Notes and Tips * Generating Opam Files * Cross-Compilation * How Does it Work? * Dealing with Foreign Libraries * Adding C/C++ Stubs to an OCaml Library * Header Files * Installing Header Files * Stub Generation with Dune Ctypes * A Toy Example * Ctypes Field Reference * Foreign Build Sandboxing * Limitations * Real Example * Generating Documentation * Prerequisites * Writing Documentation * Building Documentation * Documentation Stanza: Examples * Package Entry Page * Passing Options to odoc * How to Load Additional Files at Runtime * Sites * Defining a Site * Adding Files to a Site * Getting the Locations of a Site at Runtime * Tests * Installation * Implementation Details * Plugins and Dynamic Loading of Packages * Example * Directory structure * Main Executable (C) * The Plugin “plugin1” * Running the Example * Instrumentation * Specifying What to Instrument * Enabling/Disabling Instrumentation * Declaring an Instrumentation Backend * JavaScript Compilation With Js_of_ocaml * Compiling to JS * Separate Compilation * JavaScript Compilation With Melange * Introduction * Simple Project * Libraries * melange.emit * Recommended Practices * Keep Bundles Small by Reducing the Number of melange.emit Stanzas * Faster Builds With subdir and dirs Stanzas * Toplevel Integration * Virtual Libraries & Variants * Virtual Library * Implementation * Variants * Default Implementation * Limitations * Writing and Running Tests * Running Tests * Running a Single Test * Running Tests in a Directory * Inline Tests * Inline Expectation Tests * Running a Subset of the Test Suite * Running Tests in Bytecode or JavaScript * Specifying Inline Test Dependencies * Passing Special Arguments to the Test Runner * Passing Special Arguments to the Test Executable * Using Additional Libraries in the Test Runner * Changing the Flags of the Linking Step of the Test Runner * Defining Your Own Inline Test Backend * Example of Backend * Custom Tests * Diffing the Result * Cram Tests * File Tests * Directory Tests * Test Options * Testing an OCaml Program * Sandboxing * Test Output Sanitation Reference Guides * Lexical Conventions * Comments * Atoms * Strings * End of Line Strings * Lists * Ordered Set Language * Boolean Language * Predicate Language * Library Dependencies * Alternative Dependencies * Re-Exported Dependencies * User Actions * Foreign Sources, Archives, and Objects * Foreign Stubs * Mode-Dependent Stubs * Foreign Archives * Extra Objects * Flags * Command Line Interface * Preprocessing Specification * no_preprocessing * Preprocessing With Actions * Using PPX Rewriters * Arguments to PPX Rewriters * Future Syntax * Per-Module Preprocessing Specification * Preprocessor Dependencies * Packages * How Dune Knows About Packages * Generating Opam Files * What Dune Installs * Findlib Integration * How Dune Interprets META files * The Special Case of the OCaml Compiler * How Dune Generates META Files * Aliases * Model and Syntax * User-Defined Aliases * Built-In Aliases * @all * @check * @default * @doc * @doc-json * @doc-private * @fmt * @install * @lint * @runtest * Scopes * Variables * Expansion of Lists * Dependency Specification * Named Dependencies * Glob * OCaml Flags * Sandboxing * Per-Action Sandboxing Configuration * Global Sandboxing Configuration * Locks * Diffing and Promotion * Promotion * Package Specification * Declaring a Package * Attaching Elements to a Package * Sites of a Package * Libraries * Executables * Other Files * Coq * Introduction * coq.theory * Coq Dependencies * Coq Documentation * Recursive Qualification of Modules * How Dune Locates and Builds theories * Public and Private Theories * Limitations * Coq Language Version * Coq Language Version 1.0 * coq.extraction * coq.pp * Examples of Coq Projects * Simple Project * Multi-Theory Project * Composing Projects * Composing With Installed Theories * Building Documentation * Coq Plugin Project * Running a Coq Toplevel * Limitations * Coq-Specific Variables * Dune Cache * Configuration * Cache Storage Mode * The hardlink Mode * The copy Mode * Trimming the Cache * Reproducibility * Reproducibility Check * Non-Reproducible Rules * Dune Libraries * Configurator * Usage * Upgrading From the Old Configurator * dune-build-info Library * (Experimental) Dune Action Plugin * Dune RPC * dune-rpc library * Connecting Explanations * How Preprocessing Works * The OCaml Ecosystem * The OCaml Compiler Distribution: Compiling and Linking * Findlib: Metadata for Libraries * Opam: a Collection of Software Projects * Dune: Giving Structure to Your Source Tree * How Dune Integrates With the Ecosystem * Dune is Opinionated * How Dune integrates with opam * Substitution * Opam Variables * What -p Means * The Targets We’re Building * What Opam Expects From Dune Advanced topics * Dynamic Loading of Packages with Findlib * Profiling Dune * Package Version * OCaml Syntax * Variables for Artifacts * Building an Ad Hoc .cmxs Miscellaneous * FAQ * Why Do Many Dune Projects Contain a Makefile? * How to Add a Configure Step to a Dune Project * Can I Use topkg with Dune? * How Do I Publish My Packages with Dune? * Where Can I Find Some Examples of Projects Using Dune? * What is Jenga? * How to Make Warnings Non-Fatal * How to Turn Specific Errors into Warnings * How to Display the Output of Commands as They Run * How Can I Generate an mli File From an ml File * How Can I Build a Single Library? * Files and Directories Whose Names Begin with “.” (Period) are Ignored by source_tree * How Can I Write Inline Tests in a Package Without my Users Needing to Install ppx_inline_test? * Goal of Dune * Have Excellent Backward-Compatibility Properties * Have a Robust and Scalable Core * Remain a No-Brainer Dependency * Remain Accessible * Have Excellent Support for the OCaml Language * Be Extensible * Working on the Dune Codebase * Dependencies * Bootstrapping * Writing Tests * Guidelines * Setting Up Your Development Environment Using Nix * Releasing Dune * Major & Feature Releases * Point Releases * Adding Stanzas * Versioning * Experimental & Independent Extensions * Dune Rules * Creating Rules * Loading Rules * Documentation * Structure * ReStructured Text * Style * Vendoring * General Guidelines * Subjective Style Points * Benchmarking * Dune Bench * Inline Benchmarks * Build-Time Benchmarks * Melange Bench * Monorepo Benchmark * Formatting Next -------------------------------------------------------------------------------- Modernize your database with MongoDB Atlas, the leading developer data platform. Ad by EthicalAds · ℹ️ © Copyright 2017, Jérémie Dimino. Revision 7cbb0e72. Built with Sphinx using a theme provided by Read the Docs. Read the Docs v: stable Versionen latest stable Downloads PDF Epub Auf Read the Docs Projektstartseite Erstellungsprozesse Downloads Auf GitHub Ansehen Suche -------------------------------------------------------------------------------- Bereitgestellt von Read the Docs · Datenschutz-Bestimmungen