On the 0x334 day of Apache Harmony Salikh Zakirov wrote: > > Xiao-Feng Li wrote: > >> I highly support to have a Makefile based build system. Thanks for the > >> experiments! Only the nice "-j n" can make it a worth try. > > Salikh Zakirov replied: > > Thanks, I will see if I can it make it "more cross-platform", and then > > file a JIRA with a patch. > > So, I went ahead and cleaned makefile a little bit, squashing a couple of bugs > on the way, added Apache license boilerplates and uploaded the patch to > HARMONY-4640 '[drlvm][build] Makefiles for building native components of > DRLVM' > > The build works as a overlay on top of existing build system, as it currently > uses > apr an other 3rd party libraries build by the ant build system. It deploys the > resulting binaries to the same deploy directories, in order to support quick > recompilation cycle if only native files were changed. This dramatically > increases > effectiveness of development work if frequent recompilation are needed, > especially > in the case of moved source files, which requires 'clean' step with the > current > build system (~6-7 minutes on my machine), but makefiles allow for an > incremental > recompilation (typicaly ~10-20 seconds). > > I've tried makefiles only on Linux/x86, since that is what I have. > > 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. > > To make the experimentation and contribution to the build system development > easier, > I've set up a git mirror of DRLVM repository on repo.or.cz. Use following > commands to check out the copy > > $ git clone git://repo.or.cz/drlvm.git > $ cd drlvm > $ git checkout -b mob origin/mob > > The branch 'master' is a pure mirror of SVN, and branch 'mob' contains the > patch with the makefiles. > In order to facilitate easy integration of many patches, anonymous write > access without password > is enabled with mob account [1]. The following command can be used to push > patches to the repository > > $ git push ssh://[EMAIL PROTECTED]/srv/git/drlvm.git mob > > The only writable branch is 'mob'. Using this anonymously writable branch, > anyone (including non-committers) > can contribute patches, and all modifications will be collected in one place > without having to mail or > upload multitude of patches. It would be easier for me to review patches in > this way as well. > > So, if you are interested in having a more efficient and convenient build > system for DRLVM, > please help in porting it to more platforms.
Salikh, GIT mirror of DRLVM is cool (!!!) (I would be glad to use it instead of using my own mirror as of today), but contribution back to GIT does not follow our process and each patch will have to be attached back to JIRA thus requiring duplicate of work, which is not very usable. I am thinking of a more convenient way to use GIT: run a JIRA crawler to collect all patches in JIRA (allowed to include in our sources) and apply them to the mirror (add a patch to the experimental branch automatically if the patch does not break a set of predefined tests). How is that? And BIG THANKS for working on the build system. I am kinda deadly annoyed with current speed. With make we could cook parallel builds upto distcc. -- Egor Pasko
