Skip to content

Conversation

@MementoRC
Copy link
Contributor

@MementoRC MementoRC commented Jan 26, 2026

Complete OCaml 5.4.0 feedstock with cross-compilation support:

Multi-output recipe structure (6 outputs):

  • ocaml: Base native compiler with file pattern separation
  • ocaml_linux-aarch64: Linux ARM64 cross-compiler
  • ocaml_linux-ppc64le: Linux PPC64LE cross-compiler
  • ocaml_osx-arm64: macOS ARM64 cross-compiler
  • ocaml-compiler: Toolchain meta-package (ocaml + C compiler)
  • (Proposed) ocaml-devel

Build infrastructure:

  • 3-stage cross-compilation (native, cross-compiler, cross-target)
  • Refactored build scripts for modularity
  • conda-ocaml-* wrapper executables for toolchain flexibility
  • Fixed CRC mismatch by treating NATIVE_STDLIB as read-only
  • Pass CC/CFLAGS/LDFLAGS as env vars for proper cross-compilation

Testing:

  • Comprehensive cross-compiler and toolchain tests
  • Cross-architecture verification tests
  • Optional target triplet argument for test-cross-compilers.sh

Fixes:

  • Cross-compilation rpath issues
  • ARM64 sysroot for MKEXE/MKDLL on osx-64
  • Missing CHECKSTACK_CC variable definition
  • Downstream package config compatibility

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

Complete OCaml 5.4.0 feedstock with cross-compilation support:

Multi-output recipe structure (6 outputs):
- ocaml: Base native compiler with file pattern separation
- ocaml_linux-aarch64: Linux ARM64 cross-compiler
- ocaml_linux-ppc64le: Linux PPC64LE cross-compiler
- ocaml_osx-arm64: macOS ARM64 cross-compiler
- ocaml-compilers: Meta-package for all cross-compilers
- ocaml-compiler: Toolchain meta-package (ocaml + C compiler)

Build infrastructure:
- 3-stage cross-compilation (native, cross-compiler, cross-target)
- Refactored build scripts for modularity
- conda-ocaml-* wrapper executables for toolchain flexibility
- Fixed CRC mismatch by treating NATIVE_STDLIB as read-only
- Pass CC/CFLAGS/LDFLAGS as env vars for proper cross-compilation

Testing:
- Comprehensive cross-compiler and toolchain tests
- Cross-architecture verification tests
- Optional target triplet argument for test-cross-compilers.sh

Fixes:
- Cross-compilation rpath issues
- ARM64 sysroot for MKEXE/MKDLL on osx-64
- Missing CHECKSTACK_CC variable definition
- Downstream package config compatibility
@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/recipe.yaml) and found it was in an excellent condition.

@MementoRC MementoRC force-pushed the dev/v5.4.0_1-alt-compilers branch 4 times, most recently from 61a45c0 to 9dfbc27 Compare January 26, 2026 22:27
@MementoRC
Copy link
Contributor Author

@conda-forge-admin Please rerender

@MementoRC MementoRC force-pushed the dev/v5.4.0_1-alt-compilers branch 2 times, most recently from a936fd3 to a78a5ad Compare January 26, 2026 23:35
@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I was trying to look for recipes to lint for you, but it appears we have a merge conflict. Please try to merge or rebase with the base branch to resolve this conflict.

Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug.

@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/recipe.yaml) and found it was in an excellent condition.

@MementoRC MementoRC force-pushed the dev/v5.4.0_1-alt-compilers branch from c87242e to 9639b34 Compare January 26, 2026 23:51
@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I was trying to look for recipes to lint for you, but it appears we have a merge conflict. Please try to merge or rebase with the base branch to resolve this conflict.

Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug.

@MementoRC MementoRC force-pushed the dev/v5.4.0_1-alt-compilers branch from 9639b34 to 52aa8b1 Compare January 27, 2026 02:21
@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/recipe.yaml) and found it was in an excellent condition.

@MementoRC MementoRC force-pushed the dev/v5.4.0_1-alt-compilers branch 2 times, most recently from 9580934 to d5014b4 Compare January 27, 2026 03:04
@conda-forge conda-forge deleted a comment from conda-forge-admin Jan 27, 2026
@MementoRC MementoRC force-pushed the dev/v5.4.0_1-alt-compilers branch 8 times, most recently from 0c3838e to a767583 Compare January 27, 2026 16:24
@MementoRC MementoRC force-pushed the dev/v5.4.0_1-alt-compilers branch 4 times, most recently from 14d328e to 3b20581 Compare January 28, 2026 03:01
@conda-forge conda-forge deleted a comment from conda-forge-admin Jan 28, 2026
@MementoRC MementoRC force-pushed the dev/v5.4.0_1-alt-compilers branch 3 times, most recently from 9d269f1 to 03756ab Compare January 28, 2026 15:46
@MementoRC MementoRC force-pushed the dev/v5.4.0_1-alt-compilers branch from 03756ab to 078786c Compare January 28, 2026 16:09
@MementoRC MementoRC marked this pull request as ready for review January 31, 2026 17:48
@MementoRC
Copy link
Contributor Author

@isuruf This PR combines the multi-output with the addition of MSVC

@MementoRC MementoRC changed the title DEV: v5.4.0 2 REF: v5.4.0 _1 Multi output + MSVC Jan 31, 2026
Copy link
Contributor

@dslarm dslarm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@MementoRC MementoRC force-pushed the dev/v5.4.0_1-alt-compilers branch from cbcabfa to 0b7117a Compare February 3, 2026 20:32
@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I was trying to look for recipes to lint for you, but it appears we have a merge conflict. Please try to merge or rebase with the base branch to resolve this conflict.

Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug.

@MementoRC MementoRC force-pushed the dev/v5.4.0_1-alt-compilers branch from 0b7117a to 223cac7 Compare February 3, 2026 20:53
@MementoRC
Copy link
Contributor Author

@conda-forge-admin Please rerender

@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/recipe.yaml) and found it was in an excellent condition.

@MementoRC MementoRC force-pushed the dev/v5.4.0_1-alt-compilers branch from adfd536 to 7c13d73 Compare February 3, 2026 22:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants