{"id":38057464,"url":"https://github.com/veracode/gen-ir","last_synced_at":"2026-01-16T20:26:15.443Z","repository":{"id":77837011,"uuid":"575425228","full_name":"veracode/gen-ir","owner":"veracode","description":"Generates LLVM IR for Xcode Projects","archived":false,"fork":false,"pushed_at":"2025-12-22T15:17:44.000Z","size":723,"stargazers_count":10,"open_issues_count":11,"forks_count":6,"subscribers_count":7,"default_branch":"develop","last_synced_at":"2025-12-24T02:26:46.157Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"NinjaLikesCheez/gen-ir","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/veracode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-12-07T13:39:36.000Z","updated_at":"2025-12-22T15:00:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"c0640989-26a3-4f57-9572-1fb9aa3d751d","html_url":"https://github.com/veracode/gen-ir","commit_stats":null,"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"purl":"pkg:github/veracode/gen-ir","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veracode%2Fgen-ir","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veracode%2Fgen-ir/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veracode%2Fgen-ir/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veracode%2Fgen-ir/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/veracode","download_url":"https://codeload.github.com/veracode/gen-ir/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veracode%2Fgen-ir/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28482267,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-16T20:26:15.258Z","updated_at":"2026-01-16T20:26:15.418Z","avatar_url":"https://github.com/veracode.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cbr\u003eGen IR 🧞‍♂️\u003cbr\u003e\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003e\n  Generate LLVM IR from an Xcode Build Log\n\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n \u003ca href=\"https://github.com/veracode/gen-ir/actions/workflows/build.yml\"\u003e\n    \u003cimg src=\"https://github.com/veracode/gen-ir/actions/workflows/build.yml/badge.svg?branch=main\" alt=\"Badge showing status of the build pipelines\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/v/release/veracode/gen-ir\" alt=\"Badge showing the current release version of Gen IR\"/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\nThis tool was heavily inspired by [a DigitalRickshaw blog post](https://blog.digitalrickshaw.com/2016/03/14/dumping-the-swift-ast-for-an-ios-project-part-2.html) ❤️\n\n## Prerequisites\n\nTo **build** the tool, you'll need Xcode 14 and macOS 12.5 or greater.\n\nTo **install and run** the tool, you'll need Homebrew, Xcode, and macOS 12 or greater.\n\n## Install\n\n```bash\nif ! command -v brew \u003e/dev/null 2\u003e\u00261; then\n  echo \"Homebrew is not installed. Visit https://brew.sh/ to install it.\"\n  return 1 2\u003e/dev/null || true\nelse\n  echo \"Installing gen-ir using Homebrew\" \u0026\u0026\n  brew tap veracode/tap \u0026\u0026\n  brew install gen-ir \u0026\u0026\n\n  echo \"gen-ir installed successfully.\"\n  echo \"For usage instructions, see:\"\n  echo \"  https://github.com/veracode/gen-ir#readme\"\nfi\n```\n\n## Update (if previously installed)\n\n```bash\nbrew upgrade gen-ir\n```\n\n## 🎉 Done\n\nAll installed! You can now use `gen-ir` on your system - be sure to run `gen-ir --help` to check the available commands and options.\n\n## Usage\n\n\u003e ### ⚠️ Before you use\n\u003e\n\u003eIt's important to know that `gen-ir` requires that a **full** build log is provided.\n\u003e\n\u003e**This means a clean, fresh build of a project.**\n\u003e\n\u003eThe compiler will **not** make a call for an object that doesn't need to be rebuilt, and we will not be able to parse what doesn't exist. Ensure you do a clean before your build otherwise `gen-ir` may miss some modules.\n\u003e\n\u003e Due to a bug in Xcode you **must** run the clean and archive commands _separately_. This means you need to do a `xcodebuild clean` and _then_ an `xcodebuild archive` and not `xcodebuild clean archive`.\n\n`gen-ir` takes a Xcode build log by two means, a path to a file or stdin:\n\n```bash\n# Path to build log (you can export from inside of Xcode too)\nxcodebuild clean \u0026\u0026 \\\nxcodebuild archive -project TestProject.xcodeproj -scheme TestProject -configuration Debug -destination generic/platform=iOS -archivePath TestProject.xcarchive \u003e build_log.txt\n\ngen-ir build_log.txt TestProject.xcarchive\n\n# Stdin (you may need to redirect stderr to stdout here, Xcode is weird about writing to it sometimes)\nxcodebuild clean \u0026\u0026 \\\nxcodebuild archive -project TestProject.xcodeproj -scheme TestProject -configuration Debug -destination generic/platform=iOS -archivePath TestProject.xcarchive | gen-ir - TestProject.xcarchive\n```\n\n## Building\n\n`gen-ir` is implemented as a Swift Package, so you can either open [`Package.swift`](Package.swift) in an IDE or build via the command line:\n\n```sh\n# Debug output: ./.build/debug/gen-ir\nswift build\n\n# Release output: ./.build/release/gen-ir\nswift build -c release\n```\n\n## Remove older version\n\nIf you previously installed the test version during early access testing, run the following commands to remove the test version from your system before installing:\n\n ```sh\nbrew uninstall gen-ir \u0026\u0026\nbrew untap NinjaLikesCheez/tap\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveracode%2Fgen-ir","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fveracode%2Fgen-ir","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveracode%2Fgen-ir/lists"}