Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Relocatable] 10: Use RuntimeID to suffix ocamlrun, shared runtimes and bytecode stub libraries #165

Open
wants to merge 5 commits into
base: runtime-id
Choose a base branch
from

Commits on Oct 23, 2024

  1. Configuration menu
    Copy the full SHA
    dec62bd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    48b75e8 View commit details
    Browse the repository at this point in the history
  3. Build suffixed shared runtimes

    New names for libcamlrun_shared.so and libasmrun_shared.so without the
    _shared suffix and using the target triplet and runtime ID. Both ocamlc
    and ocamlopt explicitly recognise `-runtime-variant _shared` and select
    the correct name.
    
    Symbolic links for libcamlrun_shared.so and libasmrun_shared.so to allow
    any C programs which linked against the the output of `-output-obj` to
    continue to work.
    dra27 committed Oct 23, 2024
    Configuration menu
    Copy the full SHA
    4a829c0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c82454d View commit details
    Browse the repository at this point in the history
  5. Add runtime suffixes to bytecode stub libraries

    ocamlc -dllib-suffixed appends the runtime's host triplet and bytecode
    runtime ID to the supplied name when searching for the DLL, and records
    the base name only in .cma / executable files.
    
    ocamlmklib -suffixed instructs ocamlmklib to use -dllib-suffixed when
    generating .cma files instead of -dllib.
    
    The effect is that stub libraries built this way have names which will
    be unique for a given configuration of OCaml and so will be ignored by
    other runtimes.
    dra27 committed Oct 23, 2024
    Configuration menu
    Copy the full SHA
    990a27f View commit details
    Browse the repository at this point in the history