Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions recipes/asmjit/build.sh
Original file line number Diff line number Diff line change
@@ -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
58 changes: 58 additions & 0 deletions recipes/asmjit/meta.yaml
Original file line number Diff line number Diff line change
@@ -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] %}
Comment on lines +2 to +4
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Is there an upstream tag or the possibility to get upstream to tag a release?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Is there an upstream tag

Nope, no releases or even tags https://github.com/asmjit/asmjit/tags

or the possibility to get upstream to tag a release?

Unlikely per this:

In general no. Considering the current support from the ecosystem there will probably never be any releases.



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