Skip to content

haroel/v8-build

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

271 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

V8 Monolithic Library Builds

This repository contains automated builds of Google V8 static libraries for multiple platforms using GitHub Actions.

English | 简体中文

Current V8 Version

14.3.92

Supported Platforms

  • Android (arm64, arm, x64)
  • iOS (XCFramework: arm64 device, arm64 simulator)
  • macOS (XCFramework: arm64 Apple Silicon)
  • Windows (x64)

Latest Release

Check the Releases page for the latest precompiled binaries.

Package Contents

Each release includes zip packages with:

  • Static library file (libv8_monolith.a / v8_monolith.lib)
  • args.gn - Build configuration used for compilation
  • args.full.txt - Complete GN arguments list with all default values and descriptions

Build Artifacts

Platform Artifact File Architectures Description
Android libv8_monolith-android-arm64.zip arm64 Static library + args.gn + args.full.txt
Android libv8_monolith-android-arm.zip arm Static library + args.gn + args.full.txt
Android libv8_monolith-android-x64.zip x64 Static library + args.gn + args.full.txt
Android include-android.zip - V8 header files
iOS libv8_monolith-ios.zip arm64 (device + simulator) XCFramework with headers + args.gn + args.full.txt
macOS libv8_monolith-mac.zip arm64 (Apple Silicon) XCFramework with headers + args.gn + args.full.txt
Windows libv8_monolith-win-x64.zip x64 Static library + args.gn + args.full.txt
Windows include-win.zip - V8 header files

Build Configuration Files

The repository contains GN build configuration files for each platform:

Android

iOS

Note: The iOS build produces an XCFramework that supports both arm64 device and arm64 simulator platforms.

iOS XCFramework Structure:

libv8_monolith.xcframework/
├── ios-arm64/                          # Device
│   └── libv8_monolith.framework/
│       ├── Headers/                    # V8 header files
│       ├── libv8_monolith              # Static library
│       └── Info.plist
└── ios-arm64-simulator/                # Simulator
    └── libv8_monolith.framework/
        ├── Headers/                    # V8 header files
        ├── libv8_monolith              # Static library
        └── Info.plist

Usage in Xcode:

  1. Drag libv8_monolith.xcframework into your Xcode project
  2. Add to "Frameworks, Libraries, and Embedded Content"
  3. Import headers: #include <libv8_monolith/v8.h>
  4. Xcode automatically selects the correct variant (device/simulator)

macOS

Note: The macOS build produces an XCFramework for arm64 (Apple Silicon).

macOS XCFramework Structure:

libv8_monolith.xcframework/
└── macos-arm64/                        # Apple Silicon
    └── libv8_monolith.framework/
        ├── Headers/                    # V8 header files
        ├── libv8_monolith              # Static library
        └── Info.plist

Usage in Xcode: Same as iOS, drag and drop into your project

Windows

XCFramework Configuration

Features

  • ✅ Automated builds via GitHub Actions
  • ✅ Consistent configuration across platforms
  • ✅ Pre-build scripts for platform-specific optimizations (builder.js)
  • ✅ Full build argument traceability
  • ✅ iOS WebAssembly support enabled

Usage

  1. Download the appropriate zip file for your platform from the Releases page
  2. Extract the static library file
  3. Link against the library in your project
  4. Include the V8 headers (included in the release)
  5. Refer to args.gn and args.full.txt to understand the build configuration

Build System

All builds are automated using GitHub Actions:

  • Clean build environment for each platform
  • Consistent depot_tools version
  • Reproducible builds
  • Automated release creation

V8 Documentation

Official V8 Resources

Chromium Build Instructions

Additional Resources

Contributing

To update the V8 version or modify build configurations:

  1. Update V8_VERSION in .github/workflows/main.yml
  2. Modify platform-specific args.*.gn files as needed
  3. Update builder.js for platform-specific build logic
  4. Create a new git tag to trigger the build workflow

Acknowledgments

This project is inspired by and references the work from just-js/v8.

License

This repository contains build configurations and automation scripts. V8 itself is licensed under the BSD license. See the V8 repository for details.

About

V8 monolithic library builds

Topics

Resources

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • JavaScript 100.0%