Code Monkey home page Code Monkey logo

illumos-libavl's Introduction

libavl implementation from illumos

This repo is a standalone copy of the libavl library found on illumos systems. libavl is a library for working with AVL trees.

The original (and canonical) source for this implementation is at:

https://github.com/illumos/illumos-gate/tree/master/usr/src/lib/libavl

libavl is largely baked, and is not expected to undergo much change. However, the copy in this repository should be considered strictly downstream of the one in illumos. There should be no local changes here.

Why does this repository exist?

In recent illumos versions, libavl is a public interface, meaning you can use it when building software. However, software using that interface will not work on illumos versions prior to that change. The copy in this repository exists for software that wants to use libavl without worrying about platform version dependencies. For this use case, it may make sense for consumers to statically link against this library.

How to use this repository

It's not common to need to use this repository. In case you decide that statically linking libavl is appropriate for your program, this repository includes Makefiles intended for easy incorporation into other repositories, as via "git submodule". The easiest way to use this is run:

$ git submodule add https://github.com/joyent/illumos-libavl deps/illumos-libavl

You can build the submodule by changing directories to it and typing "make". The default target builds a static library for libavl. It's fully supported to customize two pieces of the build:

  • CFLAGS: customize this to configure a 32-bit or 64-bit build
  • BUILD_DIR: the directory in which to build object files and the static library file

You can customize these by setting these environment variables and invoking make.

There's a full example of this in the mdb_v8 project.

illumos-libavl's People

Stargazers

 avatar Serapheim Dimitropoulos avatar

Watchers

David Pacheco avatar James Cloos avatar Dan McDonald avatar Brian Bennett avatar Travis Paul avatar Michael Hicks avatar Jhonas Wernery avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.