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.

Reply via email to