samasri / omr

Eclipse OMR™ Cross platform components for building reliable, high performance language runtimes
http://www.eclipse.org/omr
Other
0 stars 2 forks source link

Eclipse OMR

Travis CI Windows x86 Windows x86-64 Linux x86-64 Power 64-bit Linux Power 64-bit AIX Linux on Z 64-bit
Travis Status Appveyor Status Windows x86-64 Status Linux x86-64 Status Build-linux_ppc-64_le_gcc Status Build-aix_ppc-64 Status Build-linux_390-64 Status

What Is Eclipse OMR?

The Eclipse OMR project is a set of open source C and C++ components that can be used to build robust language runtimes that support many different hardware and operating system platforms.

Our current components are:

What's the goal?

The long term goal for the Eclipse OMR project is to foster an open ecosystem of language runtime developers to collaborate and collectively innovate with hardware platform designers, operating system developers, as well as tool and framework developers and to provide a robust runtime technology platform so that language implementers can much more quickly and easily create more fully featured languages to enrich the options available to programmers.

It is our community's fervent goal to be one of active contribution, improvement, and continual consumption.

We will be operating under the Eclipse Code of Conduct to promote fairness, openness, and inclusion.

Who is using Eclipse OMR?

What's the licence?

License License

All Eclipse OMR project materials are made available under the Eclipse Public License 2.0 and the Apache 2.0 license. You can choose which license you wish to follow. Please see our LICENSE file for more details.

What's being worked on?

There are some active contribution projects underway right now:

How Do I Interact With the Community?

How Do I Use it?

How to Build Standalone Eclipse OMR

The best way to get an initial understanding of the Eclipse OMR technology is to look at a 'standalone' build, which hooks Eclipse OMR up to the its testing system only.

Basic configuration and compile

To build standalone Eclipse OMR, run the following commands from the top of the source tree. The top of the Eclipse OMR source tree is the directory that contains run_configure.mk.

# Generate autotools makefiles with SPEC-specific presets
make -f run_configure.mk SPEC=linux_x86-64 OMRGLUE=./example/glue

# Build
make

# Run tests (note that no contribution should cause new test failures in "make test")
make test

Run make -f run_configure.mk help for a list of configure makefile targets. Run make help for a list of build targets.

Building Eclipse OMR on Windows

A shell script interpreter, such as bash, is required to run configure.

How to Configure with Custom Options

Run ./configure --help to see the full list of configure command-line options.

To run configure using both SPEC presets and custom options, pass the EXTRA_CONFIGURE_ARGS option to run_configure.mk.

For example, to disable optimizations, run configure like this:

# Example configure
make -f run_configure.mk SPEC=linux_x86-64 OMRGLUE=./example/glue 'EXTRA_CONFIGURE_ARGS=--disable-optimized' clean all

To disable building fvtests, run configure like this:

# Example configure disabling fvtests
make -f run_configure.mk SPEC=linux_x86-64 OMRGLUE=./example/glue 'EXTRA_CONFIGURE_ARGS=--disable-fvtest' clean all

Note that the clean target of run_configure.mk deletes the header files and makefiles generated by configure. Invoking the clean all targets ensures that the header files and makefiles are regenerated using the custom options.

The minimal invocation of configure is:

# Basic configure example
$ ./configure OMRGLUE=./example/glue

Where can I learn more?

Presentations about Eclipse OMR

Blog Posts about OMR technologies

(c) Copyright IBM Corp. 2016, 2018