You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@harmony.apache.org by Salikh Zakirov <sa...@gmail.com> on 2007/08/16 13:33:35 UTC
Re: [drlvm][PATCH/RFC] GNU Make-based build system for DRLVM -- call
for help
Salikh Zakirov wrote:
> The functionality for the cross-platform configuration is designed in the makefiles,
> however, the configuration itself is missing, and I need help from volunteers to bring
> this build system to a fully configured state.
Sorry, I've forgot to give the instructions to get started with make system.
After you have obtained the patches work tree (or applied HARMONY-4640), do the following
$ cd drlvm/build
$ sh build.sh # this will build extras and create deploy directory
$ make
After this, the only command needed to recompile native bits of DRLVM is 'make'.
The build configuration is distributed as follows:
build/Makefile contains the list of subcomponents (SUBDIRS)
each subdire contains a subcomponent Makefile, currently
vm/em/Makefile
vm/vmi/Makefile
vm/port/src/encoder/Makefile
vm/port/Makefile
vm/gc_cc/Makefile
vm/tests/unit/ulist/Makefile
vm/interpreter/Makefile
vm/gc_gen/Makefile
vm/thread/Makefile
vm/vmcore/Makefile
vm/jitrino/Makefile
Each makefile contains a build configuration of a component, in a sequence of variable assignments of the form
SOURCES := $(wildcard src/*.cpp)
lnx_SOURCES := $(wildcard src/linux/*.cpp)
The available configuration are described in detail in comments in build/makerules.inc, the list is
NAME, TYPE, SOURCES, DEFINES, INCLUDES, SODEPENDS, LIBDEPENDS, LIBS, LIBDIRS, CFLAGS, CXXFLAGS, LDFLAGS
The available prefixes are
OSTAG = win | linux
ARCHTAG = ia32 | em64t | ipf
CFG = debug | release
and some combinations thereof. Grep for '$($(' in makerules.inc for details.
What is ultimately needed is to put the configuration for platforms other than lnx/ia32 to the above Makefiles.