New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

llvm-node

Package Overview
Dependencies
Maintainers
1
Versions
34
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

llvm-node

Node Bindings for LLVM >=4.0

  • 3.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
8
decreased by-27.27%
Maintainers
1
Weekly downloads
 
Created
Source

llvm-node

Build Status npm version

Node Bindings for LLVM. The API is mostly identical to the one of LLVM (when possible and not to cumbersom). All supported methods with their signatures are listed in the TypeScript definition file.

Getting Started

Install the packages using npm or yarn.

npm install --save llvm-node

Require llvm-node and you're good to go

import * as llvm from "llvm-node";
// or
const llvm = require("llvm-node");

const context = new llvm.LLVMContext();
const module = new llvm.Module("test", context);

const intType = llvm.Type.getInt32Ty(context);
const initializer = llvm.ConstantInt.get(context, 0);
const globalVariable = new llvm.GlobalVariable(module, intType, true, llvm.LinkageTypes.InternalLinkage, initializer);

const ll = module.print(); // prints IR
llvm.writeBitcodeToFile(module, biteCodeFileName); // Writes file to disk

Custom LLVM Installation

You can use the npm configuration options to set the path to the LLVM cmake directory. This is needed if you don't want to use the system default LLVM installation --- e.g. when you want to compile againt the latest dev version.

To change the LLVM version use:

npm config set cmake_LLVM_DIR $(path-to-llvm/bin/llvm-config --cmakedir)

If you want to change the value just for a single project use an .npmrc file in your project.

Debug Build

If you want to use Value.dump or Module.dump you need to use the debug build of the library (and, as well, of LLVM). In this case, run node-gyp build --debug or if using npm install run npm_config_DEBUG=true npm install llvm-node.

There variables can also be set using npm set:

npm config set [--global] DEBUG True

Develop with VS-Code

  1. Install the C++ Extension
  2. Install the Cmake Tools Extension
  3. Configure the LLVM directory in the user settings by adding the following entry
"cmake.configureSettings": {
    "LLVM_DIR": "/usr/local/Cellar/llvm/7.0.0/lib/cmake/llvm" // Output of llvm-config --cmakedir
}
  1. Run the CMake:Configure Command in Visual Studio Code
  2. Run yarn configure from the command line
  3. Run CMake:Build command in Visual Studio Code

FAQs

Package last updated on 23 Oct 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc