The Crossplex package of make macros simplifies the creation of embedded systems, and is powerful enough for large organizations to use for developing elaborate product lines. It allows you to organize many different products under a logical structure, making systems of any complexity easy to specify. When you have many different target platforms, each with multiple different software configurations, Crossplex keeps those configurations from stepping on each other, without requiring redundancy in your source tree. Crossplex allows you to use a single dependency tree encompassing both in-house software and third-party packages, and it is particularly suited to build automation. Crossplex makes it easy to shield your build from the host environment, setting all shell variables explicitly, and giving you complete control over the path that is used at any point in the build. This is nice when you want to support building on a variety of development platforms. Crossplex scales to your needs. You can dabble in the unpacking and patching features as you need them, or you can base your entire system from the ground up on the Crossplex framework. Crossplex supports creation and use of glibc and uClibc toolchains.
DeforaOS libc is an implementation of the Unix libc essential library. While originally intended to provide a POSIX compatibility layer to DeforaOS, it is also portable for Unix systems. Its small size and kernel abstraction make it suitable for embedded systems, exposing a single API regardless of the kernel used.
EJDB is an embedded JSON database engine. It aims to be a fast MongoDB-like NoSQL library that can be embedded into C/C++/Nodejs/Python3/Lua applications. It features collection-level write locking, collection level transactions, string token matching queries, and a Node.js binding.
Ell is a library to write EBNF grammars as C++ code for quick development of LL(n) parsers or similar applications. It is not a tool to generate parsers (like ANTLR): the grammar you write is directly embedded into your C++ code. The core library is very light (less than 2000 lines of headers) and written in generation templates to achieve the fastest execution. The service provided by Ell is very similar to what Boost Spirit provides, but with a simpler object model, and without the need of the Boost library (it only depends on STL).
Embedded Profiler is low-overhead C++ profiler based on automatic instrumentation of functions done by the compiler (GCC, MinGW, or MSVC). Profiling can be done either automatically or manually. Automatic profiling generates a complete call tree and needs no modification of code. Manual profiling requires using the EProfiler API to specify the parts of code to be profiled. The resulting log can be opened in Performance Analyzer, a GUI application with several views designed for comfortable log analysis.
InfinityDB is an all-Java B+Tree database engine that is embeddable in the smallest to the largest applications that run on hand held devices, workstations, servers, or in distributed systems. InfinityDB provides a data integrity guarantee through all non-media failures, provides a simple API with only a few basic methods, and requires no administrative support. Version 2 offers full ACID transactionality without a log and with fine-grained locks. Programmers can easily superimpose their own data model or employ the Entity-Attribute-Value model by direct low-level access. The basic engine provides multi-valued or set attributes, all primitive Java types, unlimited Large Objects, heterogenous values, composite keys (Entities) and values, and unlimited sparse attributes, all extensible in-place with no schema changes.
JCGO (pronounced as "j-c-go") translates (converts) programs written in Java into platform-independent C code that can be compiled (by third-party tools) into highly-optimized native code for the target platform. JCGO is a powerful solution that enables your desktop, server-side, embedded, mobile, and wireless Java applications to take full advantage of the underlying hardware. In addition, JCGO makes your programs, when compiled to native code, as hard to reverse engineer as if they were written in C/C++. The JCGO translator uses some optimization algorithms that allow, together with optimizations performed by a C compiler, the resulting executable code to reach better performance compared with the traditional Java implementations (based on the Just-In-Time technology). The produced executable does not contain nor require a Java Virtual Machine to execute, so its resource requirements are smaller than that required by a typical Java VM. This also simplifies the process of deployment and distribution of an application.