Skip to content

Commit 95a434a

Browse files
zakkakadinn
andcommitted
Adds README\-Mandrel.md
Co-authored-by: Andrew Dinn <[email protected]>
1 parent 58a30e5 commit 95a434a

File tree

2 files changed

+57
-0
lines changed

2 files changed

+57
-0
lines changed

README-Mandrel.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Mandrel
2+
3+
Mandrel is a downstream distribution of the GraalVM community edition.
4+
Mandrel's main goal is to provide a `native-image` release specifically to support [Quarkus](https://quarkus.io).
5+
The aim is to align the `native-image` capabilities from GraalVM with OpenJDK and Red Hat Enterprise Linux libraries to improve maintainability for native Quarkus applications.
6+
7+
## How Does Mandrel Differ From Graal
8+
9+
Mandrel releases are built from a code base derived from the upstream GraalVM code base, with only minor changes but some significant exclusions.
10+
They support the same native image capability as GraalVM with no significant changes to functionality.
11+
They do not include support for Polyglot programming via the Truffle interpreter and compiler framework.
12+
In consequence, it is not possible to extend Mandrel by downloading languages from the Truffle language catalogue.
13+
14+
Mandrel is also built slightly differently to GraalVM, using the standard OpenJDK project release of jdk11u.
15+
This means it does not profit from a few small enhancements that Oracle have added to the version of OpenJDK used to build their own GraalVM downloads.
16+
Most of these enhancements are to the JVMCI module that allows the Graal compiler to be run inside OpenJDK.
17+
The others are small cosmetic changes to behaviour.
18+
These enhancements may in some cases cause minor differences in the progress of native image generation.
19+
They should not cause the resulting images themselves to execute in a noticeably different manner.
20+
21+
## Communication Channels
22+
23+
* [Slack](https://graalvm.slack.com) - Join #mandrel channel
24+
* [[email protected]](mailto:[email protected]?subject=[MANDREL]) mailing list - Subscribe [here](https://oss.oracle.com/mailman/listinfo/graalvm-dev)
25+
* [GitHub issues](https://github.com/graalvm/mandrel/issues) for bug reports, questions, or requests for enhancements.
26+
27+
Please report security vulnerabilities according to the [Reporting Vulnerabilities guide](https://www.oracle.com/corporate/security-practices/assurance/vulnerability/reporting.html).
28+
29+
## Getting Started
30+
31+
Mandrel distributions can be downloaded from [the repository's releases](https://github.com/graalvm/mandrel/releases)
32+
33+
### Prerequisites
34+
35+
Mandrel's `native-image` depends on the following packages:
36+
* glibc-devel
37+
* zlib-devel
38+
* gcc
39+
* libffi-devel
40+
41+
On Fedora/CentOS/RHEL they can be installed with:
42+
```bash
43+
dnf install glibc-devel zlib-devel gcc libffi-devel
44+
```
45+
46+
### Building Mandrel From Source
47+
48+
For building Mandrel from source please see [mandrel-packaging](https://github.com/graalvm/mandrel-packaging)
49+
50+
## Repository Structure
51+
52+
Mandrel shares the same repository structure with Graal, please see (README.md#repository-structure).
53+

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# Mandrel
2+
3+
## Welcome to the Mandrel project, please see [README-Mandrel.md](README-Mandrel.md) to learn more.
4+
15
# GraalVM
26

37
[![https://graalvm.slack.com](https://img.shields.io/badge/slack-join%20channel-active)](https://www.graalvm.org/slack-invitation/)

0 commit comments

Comments
 (0)