diff --git a/recipes/asmjit/build.sh b/recipes/asmjit/build.sh new file mode 100644 index 0000000000000..3abf059037c92 --- /dev/null +++ b/recipes/asmjit/build.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +set -ex + +mkdir build +cd build + +cmake ${CMAKE_ARGS} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DASMJIT_STATIC=OFF \ + -DASMJIT_TEST=ON \ + -DASMJIT_NO_CUSTOM_FLAGS=OFF \ + .. + +cmake --build . --config Release --parallel ${CPU_COUNT} + +# Run tests to verify the build +# This must be done here, because otherwise we need to re-build the lib in test phase, which +ctest --output-on-failure --verbose + +cmake --install . --config Release diff --git a/recipes/asmjit/meta.yaml b/recipes/asmjit/meta.yaml new file mode 100644 index 0000000000000..d0e0805db36e7 --- /dev/null +++ b/recipes/asmjit/meta.yaml @@ -0,0 +1,58 @@ +{% set name = "asmjit" %} +{% set commit_date = "20251012" %} +{% set commit_hash = "5134d396bd00c1b63259387acdbb12dfdf009f9b" %} +{% set version = "0.0.0.dev" + commit_date + "+" + commit_hash[:8] %} + + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://github.com/asmjit/asmjit/archive/{{ commit_hash }}.tar.gz + sha256: 7a138a9715ac52ac9c259818c05fe42dbf19233dbf82188640aaf32259fa1d34 + +build: + number: 0 + # TODO attempt to enable aarch64 after feedstock creation + # This needs c_stdlib_version>-2.28 + # In staged-recipes .ci_support/linux_aarch64.yaml pins c_stdlib_version=2.17 which fails this build + skip: true # [aarch64] + skip: true # [osx] + skip: true # [win] + +requirements: + build: + - {{ compiler('cxx') }} + - {{ stdlib('c') }} + - cmake >=3.24 + - make + +test: + commands: + # Verify installed files (tests were run at build time) + - test -f ${PREFIX}/include/asmjit/asmjit.h + - test -f ${PREFIX}/lib/libasmjit${SHLIB_EXT} + +about: + home: https://asmjit.com + summary: Low-latency machine code generation library + description: | + AsmJit is a lightweight library for machine code generation written in C++ language. + It can generate machine code for X86, X64, and ARM architectures with a focus on + low-latency code generation and JIT compilation. AsmJit provides: + - Complete x86/x64 instruction set with AVX-512 and AMX support + - Complete AArch64 instruction set including SVE/SVE2 + - Built-in CPU detection + - Advanced instruction validation + - Logging and error handling + - Virtual memory management + - Code generation performance comparable to hand-written assembly + license: Zlib + license_file: LICENSE.md + doc_url: https://asmjit.com/doc/index.html + dev_url: https://github.com/asmjit/asmjit + +extra: + recipe-maintainers: + - das-intensity