roc/.gitignore
Luke Boswell cb42d26e11
Roc platform host shim (#8214)
* use zig Builder to generate LLVM bc for platform host shim

* WIP

* Working embedded LLVM compilation

* lints

* Update test_shared_memory_system.zig

* Update main.zig

* Refactor out builder into separate file

* remove clang fallback, remove -Dllvm build flag

* WIP change platform header

* WIP no hardcoded platform entrypoints

* WIP no hardcoded entrypoints

* remove hardcoded interpreter shim entrypoint

* WIP multiple entrypoints

* WIP multiple entrypoints

* WIP alignment issue

* it's working!!

* cleanup

* fmt

* fix tests and snapshots

* fix cross-compile

* WIP fix linking linux

* improved debug logging in rocRun

* WIP fix linux segfaults

* cleanup stray dbgs

* fix Windows linking

* WIP remove std.debug.print in prebuilt shim

* remove libc stubs, try C shim for platform host main

* WORKING ON LINUX!!!

* WIP fixing int platform

* prevent double mapping of shared memory

* WIP

* remove clang fallback

* cleanup test platforms

* vendor linux object files for musl and gnu in test platforms

* fix windows __main export

* typo

* avoide hardcoding libc path and dynamic linker on linux

* some fixes

* try CI fix for linux ARM64

* try use system CRT for ARM64

* use absolute pats for vendored CRT

* minimal roc build

* use target os for filename not host os

* implement app stubs for test platforms

* fix glibc

* WIP cross compilation

* fix run, fix build for native

* Merge remote/main

* fix macos

* add bookends

* remove hosts

* fix cross-compile for linux on macos

* fix files paths for Windows

* Update main.zig

* test ubu 24.04 too

Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>

* debug: log all used instructions

* fmt

* get bad instruction with gdb

* install gdb

* Revert last 4 commits

* simpler cross-compile arm64 runtime files

* add minimal cross-compilation for glibc

* simplify stub generation

* Update test_int_platform.sh

* Update ci_cross_compile.yml

* Update ci_cross_compile.yml

* try alpine3.18 x64musl files

* Claude's fix + removed CPU instructions

* fix fuzz crash empty after merge

* update snapshot

* restore full CI

* some cleanup

* remove debugging from CI - print all supported CPU instructions

* try using generic when LLVM compiles app stub

* enhanced error handling for app stub compilation using LLVM

* check machine ABI on linux

* try more debugging

* update test script to inidicate truncated error logs, temporarily display everything for arm64 linux errors

* fix missing arm64 libc search paths

* back to normal CI

* try without .git 

See https://github.com/ziglang/zig/issues/21316#issuecomment-2408071050

Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>

* undo .git change

Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>

* retry zig build command

Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>

* different retry strategy

Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>

---------

Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
Co-authored-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2025-09-09 13:15:23 +02:00

143 lines
2.6 KiB
Text

### Do not modify these first three ignore rules. Needed to ignore files with no extension ###
# Ignore all files including binary files that have no extension
*
# Unignore all files with extensions
!*.*
# Unignore all directories
!*/
# Specifically keep these files with no extension
!Earthfile
!authors
!LICENSE*
!legal*
!Dockerfile
# .reuse/dep5 see https://reuse.software/
!dep5
# NotARocFile is used for formatter test
!NotARocFile
# also includes keeping one exe benchmark file
!dynhost_benchmarks*
### Add specific file extensions and directories below ###
# Ignore the following directories and file extensions
target
generated-docs
zig-out
.zig-cache
.direnv
.envrc
*.rs.bk
*.o
*.a
*.s
*.so
*.so.*
*.obj
*.dll
*.dylib
*.lib
*.def
*.tmp
*.wasm
*.exe
*.pdb
# llvm human-readable output
*.ll
*.bc
# valgrind
vgcore.*
# roc cache files
*.rh*
*.rm*
preprocessedhost
metadata
#editors
.idea/
.vscode/
.helix/
.ignore
.exrc
.vimrc
.nvimrc
# rust cache (sccache folder)
sccache_dir
# self-contained benchmark folder
bench-folder*
# earthly
earthly_log.txt
# created to test release
roc_linux_x86_64.tar.gz
# macOS .DS_Store files
.DS_Store
# files generated when formatting fails
*.roc-format-failed
*.roc-format-failed-ast-after
*.roc-format-failed-ast-before
# nix
result
# Only keep Cargo.lock dependencies for the main compiler.
# Examples and test only crates should be fine to be unlocked.
# This remove unnecessary lock file versioning.
# It also ensures the compiler can always pull in 1 version of things and doesn't get restricted by sub lockfiles.
/**/Cargo.lock
!/Cargo.lock
!/examples/static-site-gen/platform/Cargo.lock
# static-site-gen exception is because of https://github.com/tkaitchuck/aHash/issues/195
# snapshot tests temp file
*.pending-snap
# checkmate
checkmate_*.json
www/build/
www/main
www/dist
# ignore the examples folder in the WIP website, this is copied from roc-lang/examples in when building the site
www/content/examples
www/examples-main.zip
www/examples-main
examples/static-site-gen/**/*.html
# glue auto-generated fixture code
crates/glue/tests/fixtures/*/Cargo.toml
crates/glue/tests/fixtures/*/build.rs
crates/glue/tests/fixtures/*/host.c
crates/glue/tests/fixtures/*/src/main.rs
crates/glue/tests/fixtures/*/test_glue/
# ignore the zig glue files copied into test platforms
**/*platform/glue/*
crates/cli/tests/test-projects/test-platform-effects-zig/glue
crates/cli/tests/test-projects/test-platform-simple-zig/glue
src/fuzz-corpus/
# Profiling data
perf.data
perf.data.old
profile.json
flamegraph.svg
# Ignore html files in the snapshot directory
src/snapshots/**/*.html
# Local claude-code settings
.claude/settings.local.json