You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Alexey Varlamov (JIRA)" <ji...@apache.org> on 2007/12/29 12:02:42 UTC

[jira] Created: (HARMONY-5359) [drlvm][build] normalized ant build system

[drlvm][build] normalized ant build system
------------------------------------------

                 Key: HARMONY-5359
                 URL: https://issues.apache.org/jira/browse/HARMONY-5359
             Project: Harmony
          Issue Type: New Feature
          Components: DRLVM
            Reporter: Alexey Varlamov


Need to refactor DRLVM build system was stated since early ages of Harmony, due to its awkwardness and bad augmentability (one can find a lot of discussons in dev-list archives).
Here is this long-expected feature, "normalized" ant build system, featuring:
- improved portability, as it drops "build.bat/build.sh" wrappers and provides traditional ant interface for users and external scripts;
- better maintainability and robustness, as it does not use XSL preprocessing and ant-contrib (except tests which really need "for" task);
- much faster rebuild time even with cpptasks: void build takes only 7-8 sec (and can be improved a bit more). Also, it is possible to build standalone component w/o rebuilding dependencies which is also handy.
- enhanced modularity and plugability: any component or test script can be used independently (modulo 2-3 shared ant files), simplifying component reusing or redeployment.

For now, the system lacks facilities for managing external dependencies, it just relies on presence and layout of artifacts as retrieved via old build.
The dependency management is to be refactored cross Harmony components, including classlib, drlvm and jdktools.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-5359) [drlvm][build] normalized ant build system

Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12561689#action_12561689 ] 

Egor Pasko commented on HARMONY-5359:
-------------------------------------

Thanks, Alexey! I like your effort very much!

more feedback:

I changed Jitrino.h, made an error in it and suddenly it was not recompiled, so probably some problems in dependency analysis for headers

then I did:
ant -Dbuild.cfg=debug clean

and it fails to build now:
build:
     [echo] ## Building 'encoder'
       [cc] 4 total files to be compiled.
       [cc] -O0
       [cc] Starting link
       [cc] /usr/bin/ar: creating libencoder.a
       [cc] /usr/bin/ar: ../obj/dec_base.o: No such file or directory

BUILD FAILED
/home/pasko/svn/1/trunk/working_vm/build.xml:108: The following error occurred while executing this line:
/home/pasko/svn/1/trunk/working_vm/make/vm/encoder.xml:32: The following error occurred while executing this line:
/home/pasko/svn/1/trunk/working_vm/make/build-native.xml:190: ar failed with return code 1

Total time: 1 second


...have no idea yet :)

> [drlvm][build] normalized ant build system
> ------------------------------------------
>
>                 Key: HARMONY-5359
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5359
>             Project: Harmony
>          Issue Type: New Feature
>          Components: build - test - ci, DRLVM
>            Reporter: Alexey Varlamov
>            Assignee: Alexey Varlamov
>         Attachments: 0001-fixed-normalized-build-system-on-linux-x86-classlib-should-be-less-than-revision-612947.txt, build.zip, build.zip, build.zip
>
>
> Need to refactor DRLVM build system was stated since early ages of Harmony, due to its awkwardness and bad augmentability (one can find a lot of discussons in dev-list archives).
> Here is this long-expected feature, "normalized" ant build system, featuring:
> - improved portability, as it uses unified set of properties defined by classlib, drops "build.bat/build.sh" wrappers and provides traditional ant interface for users and external scripts;
> - better maintainability and robustness, as it does not rely on XSL build preprocessing, on-fly generated scripts and buggy ant-contrib features (except tests which really need "for" task);
> - much faster rebuild time even with cpptasks: void build takes only 7-8 sec (and can be improved a bit more). Also, it is possible to build standalone component w/o rebuilding dependencies which is also handy.
> - enhanced modularity and plugability: any component or test script can be used independently (modulo 2-3 shared ant files), simplifying component reusing or redeployment.
> For now, the system lacks facilities for managing external dependencies, it just relies on presence and layout of artifacts as retrieved via old build.
> The dependency management is to be refactored cross Harmony components, including classlib, drlvm and jdktools.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-5359) [drlvm][build] normalized ant build system

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5359?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexey Varlamov updated HARMONY-5359:
-------------------------------------

    Attachment: build.zip

> [drlvm][build] normalized ant build system
> ------------------------------------------
>
>                 Key: HARMONY-5359
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5359
>             Project: Harmony
>          Issue Type: New Feature
>          Components: build - test - ci, DRLVM
>            Reporter: Alexey Varlamov
>         Attachments: 0001-fixed-normalized-build-system-on-linux-x86-classlib-should-be-less-than-revision-612947.txt, build.zip, build.zip, build.zip
>
>
> Need to refactor DRLVM build system was stated since early ages of Harmony, due to its awkwardness and bad augmentability (one can find a lot of discussons in dev-list archives).
> Here is this long-expected feature, "normalized" ant build system, featuring:
> - improved portability, as it uses unified set of properties defined by classlib, drops "build.bat/build.sh" wrappers and provides traditional ant interface for users and external scripts;
> - better maintainability and robustness, as it does not rely on XSL build preprocessing, on-fly generated scripts and buggy ant-contrib features (except tests which really need "for" task);
> - much faster rebuild time even with cpptasks: void build takes only 7-8 sec (and can be improved a bit more). Also, it is possible to build standalone component w/o rebuilding dependencies which is also handy.
> - enhanced modularity and plugability: any component or test script can be used independently (modulo 2-3 shared ant files), simplifying component reusing or redeployment.
> For now, the system lacks facilities for managing external dependencies, it just relies on presence and layout of artifacts as retrieved via old build.
> The dependency management is to be refactored cross Harmony components, including classlib, drlvm and jdktools.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-5359) [drlvm][build] normalized ant build system

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12561681#action_12561681 ] 

Alexey Varlamov commented on HARMONY-5359:
------------------------------------------

Egor, thanks for the feedback. 
I've updated the build to latest SVN state + added dependencies management. So now it depends on HARMONY-5419.

Re "0 total files to be compiled": unfortunately no, cpptasks should be fixed first. This is the cost to pay for the build speed up: ant filters out unchanged sources to skip unnecessary dependency recalculation by cpptasks. OTOH this is simple truth: zero files to recompile if nothing changed ;)

I consider the system is mostly ready, will test a bit more and commit in few days.

> [drlvm][build] normalized ant build system
> ------------------------------------------
>
>                 Key: HARMONY-5359
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5359
>             Project: Harmony
>          Issue Type: New Feature
>          Components: build - test - ci, DRLVM
>            Reporter: Alexey Varlamov
>         Attachments: 0001-fixed-normalized-build-system-on-linux-x86-classlib-should-be-less-than-revision-612947.txt, build.zip, build.zip, build.zip
>
>
> Need to refactor DRLVM build system was stated since early ages of Harmony, due to its awkwardness and bad augmentability (one can find a lot of discussons in dev-list archives).
> Here is this long-expected feature, "normalized" ant build system, featuring:
> - improved portability, as it uses unified set of properties defined by classlib, drops "build.bat/build.sh" wrappers and provides traditional ant interface for users and external scripts;
> - better maintainability and robustness, as it does not rely on XSL build preprocessing, on-fly generated scripts and buggy ant-contrib features (except tests which really need "for" task);
> - much faster rebuild time even with cpptasks: void build takes only 7-8 sec (and can be improved a bit more). Also, it is possible to build standalone component w/o rebuilding dependencies which is also handy.
> - enhanced modularity and plugability: any component or test script can be used independently (modulo 2-3 shared ant files), simplifying component reusing or redeployment.
> For now, the system lacks facilities for managing external dependencies, it just relies on presence and layout of artifacts as retrieved via old build.
> The dependency management is to be refactored cross Harmony components, including classlib, drlvm and jdktools.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-5359) [drlvm][build] normalized ant build system

Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5359?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Egor Pasko updated HARMONY-5359:
--------------------------------

    Attachment: 0001-fixed-normalized-build-system-on-linux-x86-classlib-should-be-less-than-revision-612947.txt

attaching my fixes that made 'ant -Dbuild.cfg=debug test' PASS on linux/x86. my classlib is revision <612947

for other classlibs, need some trivial copypaste, but I do not know it yet :)


> [drlvm][build] normalized ant build system
> ------------------------------------------
>
>                 Key: HARMONY-5359
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5359
>             Project: Harmony
>          Issue Type: New Feature
>          Components: build - test - ci, DRLVM
>            Reporter: Alexey Varlamov
>         Attachments: 0001-fixed-normalized-build-system-on-linux-x86-classlib-should-be-less-than-revision-612947.txt, build.zip, build.zip
>
>
> Need to refactor DRLVM build system was stated since early ages of Harmony, due to its awkwardness and bad augmentability (one can find a lot of discussons in dev-list archives).
> Here is this long-expected feature, "normalized" ant build system, featuring:
> - improved portability, as it uses unified set of properties defined by classlib, drops "build.bat/build.sh" wrappers and provides traditional ant interface for users and external scripts;
> - better maintainability and robustness, as it does not rely on XSL build preprocessing, on-fly generated scripts and buggy ant-contrib features (except tests which really need "for" task);
> - much faster rebuild time even with cpptasks: void build takes only 7-8 sec (and can be improved a bit more). Also, it is possible to build standalone component w/o rebuilding dependencies which is also handy.
> - enhanced modularity and plugability: any component or test script can be used independently (modulo 2-3 shared ant files), simplifying component reusing or redeployment.
> For now, the system lacks facilities for managing external dependencies, it just relies on presence and layout of artifacts as retrieved via old build.
> The dependency management is to be refactored cross Harmony components, including classlib, drlvm and jdktools.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-5359) [drlvm][build] normalized ant build system

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12563537#action_12563537 ] 

Gregory Shimansky commented on HARMONY-5359:
--------------------------------------------

I found a bug in the build system on windows. After a clean build when I launch "ant" again (shouldn't recompile anything) I get the following error:

-really-link:

     [echo] Linking C:\users\gashiman\harmony\trunk\working_vm\build\windows_x86
_msvc_debug\deploy\lib/icuuc.dll

  [symlink] ln -s C:\users\gashiman\harmony\trunk\working_vm\build\windows_x86_m
svc_debug\deploy\lib/icuuc.lib C:\users\gashiman\harmony\trunk\working_vm\build\windows_x86_msvc_debug\deploy\lib/icuuc.dll

  [symlink] ln: creating symbolic link `C:\\users\\gashiman\\harmony\\trunk\\wor
king_vm\\build\\windows_x86_msvc_debug\\deploy\\lib/icuuc.dll': File exists

This symlink is needed only on Linux for ICU libraries, on windows it shouldn't be created.

> [drlvm][build] normalized ant build system
> ------------------------------------------
>
>                 Key: HARMONY-5359
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5359
>             Project: Harmony
>          Issue Type: New Feature
>          Components: build - test - ci, DRLVM
>            Reporter: Alexey Varlamov
>            Assignee: Alexey Varlamov
>         Attachments: 0001-fixed-normalized-build-system-on-linux-x86-classlib-should-be-less-than-revision-612947.txt, build.zip, build.zip, build.zip
>
>
> Need to refactor DRLVM build system was stated since early ages of Harmony, due to its awkwardness and bad augmentability (one can find a lot of discussons in dev-list archives).
> Here is this long-expected feature, "normalized" ant build system, featuring:
> - improved portability, as it uses unified set of properties defined by classlib, drops "build.bat/build.sh" wrappers and provides traditional ant interface for users and external scripts;
> - better maintainability and robustness, as it does not rely on XSL build preprocessing, on-fly generated scripts and buggy ant-contrib features (except tests which really need "for" task);
> - much faster rebuild time even with cpptasks: void build takes only 7-8 sec (and can be improved a bit more). Also, it is possible to build standalone component w/o rebuilding dependencies which is also handy.
> - enhanced modularity and plugability: any component or test script can be used independently (modulo 2-3 shared ant files), simplifying component reusing or redeployment.
> For now, the system lacks facilities for managing external dependencies, it just relies on presence and layout of artifacts as retrieved via old build.
> The dependency management is to be refactored cross Harmony components, including classlib, drlvm and jdktools.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-5359) [drlvm][build] normalized ant build system

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5359?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexey Varlamov updated HARMONY-5359:
-------------------------------------

    Component/s: build - test - ci
    Description: 
Need to refactor DRLVM build system was stated since early ages of Harmony, due to its awkwardness and bad augmentability (one can find a lot of discussons in dev-list archives).
Here is this long-expected feature, "normalized" ant build system, featuring:
- improved portability, as it uses unified set of properties defined by classlib, drops "build.bat/build.sh" wrappers and provides traditional ant interface for users and external scripts;
- better maintainability and robustness, as it does not rely on XSL build preprocessing, on-fly generated scripts and buggy ant-contrib features (except tests which really need "for" task);
- much faster rebuild time even with cpptasks: void build takes only 7-8 sec (and can be improved a bit more). Also, it is possible to build standalone component w/o rebuilding dependencies which is also handy.
- enhanced modularity and plugability: any component or test script can be used independently (modulo 2-3 shared ant files), simplifying component reusing or redeployment.

For now, the system lacks facilities for managing external dependencies, it just relies on presence and layout of artifacts as retrieved via old build.
The dependency management is to be refactored cross Harmony components, including classlib, drlvm and jdktools.

  was:
Need to refactor DRLVM build system was stated since early ages of Harmony, due to its awkwardness and bad augmentability (one can find a lot of discussons in dev-list archives).
Here is this long-expected feature, "normalized" ant build system, featuring:
- improved portability, as it drops "build.bat/build.sh" wrappers and provides traditional ant interface for users and external scripts;
- better maintainability and robustness, as it does not use XSL preprocessing and ant-contrib (except tests which really need "for" task);
- much faster rebuild time even with cpptasks: void build takes only 7-8 sec (and can be improved a bit more). Also, it is possible to build standalone component w/o rebuilding dependencies which is also handy.
- enhanced modularity and plugability: any component or test script can be used independently (modulo 2-3 shared ant files), simplifying component reusing or redeployment.

For now, the system lacks facilities for managing external dependencies, it just relies on presence and layout of artifacts as retrieved via old build.
The dependency management is to be refactored cross Harmony components, including classlib, drlvm and jdktools.


> [drlvm][build] normalized ant build system
> ------------------------------------------
>
>                 Key: HARMONY-5359
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5359
>             Project: Harmony
>          Issue Type: New Feature
>          Components: build - test - ci, DRLVM
>            Reporter: Alexey Varlamov
>         Attachments: build.zip
>
>
> Need to refactor DRLVM build system was stated since early ages of Harmony, due to its awkwardness and bad augmentability (one can find a lot of discussons in dev-list archives).
> Here is this long-expected feature, "normalized" ant build system, featuring:
> - improved portability, as it uses unified set of properties defined by classlib, drops "build.bat/build.sh" wrappers and provides traditional ant interface for users and external scripts;
> - better maintainability and robustness, as it does not rely on XSL build preprocessing, on-fly generated scripts and buggy ant-contrib features (except tests which really need "for" task);
> - much faster rebuild time even with cpptasks: void build takes only 7-8 sec (and can be improved a bit more). Also, it is possible to build standalone component w/o rebuilding dependencies which is also handy.
> - enhanced modularity and plugability: any component or test script can be used independently (modulo 2-3 shared ant files), simplifying component reusing or redeployment.
> For now, the system lacks facilities for managing external dependencies, it just relies on presence and layout of artifacts as retrieved via old build.
> The dependency management is to be refactored cross Harmony components, including classlib, drlvm and jdktools.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-5359) [drlvm][build] normalized ant build system

Posted by "Xiao-Feng Li (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12554911 ] 

Xiao-Feng Li commented on HARMONY-5359:
---------------------------------------

This is a long time desired feature. Thanks for the work. (Did you
miss the attachment?)

Thanks,
xiaofeng



-- 
http://xiao-feng.blogspot.com


> [drlvm][build] normalized ant build system
> ------------------------------------------
>
>                 Key: HARMONY-5359
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5359
>             Project: Harmony
>          Issue Type: New Feature
>          Components: build - test - ci, DRLVM
>            Reporter: Alexey Varlamov
>         Attachments: build.zip
>
>
> Need to refactor DRLVM build system was stated since early ages of Harmony, due to its awkwardness and bad augmentability (one can find a lot of discussons in dev-list archives).
> Here is this long-expected feature, "normalized" ant build system, featuring:
> - improved portability, as it uses unified set of properties defined by classlib, drops "build.bat/build.sh" wrappers and provides traditional ant interface for users and external scripts;
> - better maintainability and robustness, as it does not rely on XSL build preprocessing, on-fly generated scripts and buggy ant-contrib features (except tests which really need "for" task);
> - much faster rebuild time even with cpptasks: void build takes only 7-8 sec (and can be improved a bit more). Also, it is possible to build standalone component w/o rebuilding dependencies which is also handy.
> - enhanced modularity and plugability: any component or test script can be used independently (modulo 2-3 shared ant files), simplifying component reusing or redeployment.
> For now, the system lacks facilities for managing external dependencies, it just relies on presence and layout of artifacts as retrieved via old build.
> The dependency management is to be refactored cross Harmony components, including classlib, drlvm and jdktools.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-5359) [drlvm][build] normalized ant build system

Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12561324#action_12561324 ] 

Egor Pasko commented on HARMONY-5359:
-------------------------------------

Alexey, Thank you a lot! works for me pretty nicely

one question
       [cc] 0 total files to be compiled.
       [cc] Starting link

does it really link if 0 total files are to be compiled? easy to fix? :)

> [drlvm][build] normalized ant build system
> ------------------------------------------
>
>                 Key: HARMONY-5359
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5359
>             Project: Harmony
>          Issue Type: New Feature
>          Components: build - test - ci, DRLVM
>            Reporter: Alexey Varlamov
>         Attachments: build.zip, build.zip
>
>
> Need to refactor DRLVM build system was stated since early ages of Harmony, due to its awkwardness and bad augmentability (one can find a lot of discussons in dev-list archives).
> Here is this long-expected feature, "normalized" ant build system, featuring:
> - improved portability, as it uses unified set of properties defined by classlib, drops "build.bat/build.sh" wrappers and provides traditional ant interface for users and external scripts;
> - better maintainability and robustness, as it does not rely on XSL build preprocessing, on-fly generated scripts and buggy ant-contrib features (except tests which really need "for" task);
> - much faster rebuild time even with cpptasks: void build takes only 7-8 sec (and can be improved a bit more). Also, it is possible to build standalone component w/o rebuilding dependencies which is also handy.
> - enhanced modularity and plugability: any component or test script can be used independently (modulo 2-3 shared ant files), simplifying component reusing or redeployment.
> For now, the system lacks facilities for managing external dependencies, it just relies on presence and layout of artifacts as retrieved via old build.
> The dependency management is to be refactored cross Harmony components, including classlib, drlvm and jdktools.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (HARMONY-5359) [drlvm][build] normalized ant build system

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5359?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexey Varlamov reassigned HARMONY-5359:
----------------------------------------

    Assignee: Alexey Varlamov

> [drlvm][build] normalized ant build system
> ------------------------------------------
>
>                 Key: HARMONY-5359
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5359
>             Project: Harmony
>          Issue Type: New Feature
>          Components: build - test - ci, DRLVM
>            Reporter: Alexey Varlamov
>            Assignee: Alexey Varlamov
>         Attachments: 0001-fixed-normalized-build-system-on-linux-x86-classlib-should-be-less-than-revision-612947.txt, build.zip, build.zip, build.zip
>
>
> Need to refactor DRLVM build system was stated since early ages of Harmony, due to its awkwardness and bad augmentability (one can find a lot of discussons in dev-list archives).
> Here is this long-expected feature, "normalized" ant build system, featuring:
> - improved portability, as it uses unified set of properties defined by classlib, drops "build.bat/build.sh" wrappers and provides traditional ant interface for users and external scripts;
> - better maintainability and robustness, as it does not rely on XSL build preprocessing, on-fly generated scripts and buggy ant-contrib features (except tests which really need "for" task);
> - much faster rebuild time even with cpptasks: void build takes only 7-8 sec (and can be improved a bit more). Also, it is possible to build standalone component w/o rebuilding dependencies which is also handy.
> - enhanced modularity and plugability: any component or test script can be used independently (modulo 2-3 shared ant files), simplifying component reusing or redeployment.
> For now, the system lacks facilities for managing external dependencies, it just relies on presence and layout of artifacts as retrieved via old build.
> The dependency management is to be refactored cross Harmony components, including classlib, drlvm and jdktools.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-5359) [drlvm][build] normalized ant build system

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12563462#action_12563462 ] 

Alexey Varlamov commented on HARMONY-5359:
------------------------------------------

Egor, I could not reproduce the problem. Touching or modifying any header provokes fair recompilation:
 touch vm/jitrino/src/main/Jitrino.h
ant
....
build:
     [echo] ## Building 'jitrino'
Overriding previous definition of reference to jit.depends
[compile-cc] Starting dependency analysis for 154 files.
[compile-cc] 35 files are up to date.
[compile-cc] 119 files to be recompiled from dependency analysis.
[compile-cc] 119 total files to be compiled.

I've checked the new system into SVN trunk at revision: 616241, please check how it works for you.
NB: unified build mode flag is actually "hy.cfg", though legacy "BUILD_CFG" is also supported. Need to update README yet...

> [drlvm][build] normalized ant build system
> ------------------------------------------
>
>                 Key: HARMONY-5359
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5359
>             Project: Harmony
>          Issue Type: New Feature
>          Components: build - test - ci, DRLVM
>            Reporter: Alexey Varlamov
>            Assignee: Alexey Varlamov
>         Attachments: 0001-fixed-normalized-build-system-on-linux-x86-classlib-should-be-less-than-revision-612947.txt, build.zip, build.zip, build.zip
>
>
> Need to refactor DRLVM build system was stated since early ages of Harmony, due to its awkwardness and bad augmentability (one can find a lot of discussons in dev-list archives).
> Here is this long-expected feature, "normalized" ant build system, featuring:
> - improved portability, as it uses unified set of properties defined by classlib, drops "build.bat/build.sh" wrappers and provides traditional ant interface for users and external scripts;
> - better maintainability and robustness, as it does not rely on XSL build preprocessing, on-fly generated scripts and buggy ant-contrib features (except tests which really need "for" task);
> - much faster rebuild time even with cpptasks: void build takes only 7-8 sec (and can be improved a bit more). Also, it is possible to build standalone component w/o rebuilding dependencies which is also handy.
> - enhanced modularity and plugability: any component or test script can be used independently (modulo 2-3 shared ant files), simplifying component reusing or redeployment.
> For now, the system lacks facilities for managing external dependencies, it just relies on presence and layout of artifacts as retrieved via old build.
> The dependency management is to be refactored cross Harmony components, including classlib, drlvm and jdktools.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-5359) [drlvm][build] normalized ant build system

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12563874#action_12563874 ] 

Alexey Varlamov commented on HARMONY-5359:
------------------------------------------

Gregory, thanks for the heads up - fixed at revision: 616666.


> [drlvm][build] normalized ant build system
> ------------------------------------------
>
>                 Key: HARMONY-5359
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5359
>             Project: Harmony
>          Issue Type: New Feature
>          Components: build - test - ci, DRLVM
>            Reporter: Alexey Varlamov
>            Assignee: Alexey Varlamov
>         Attachments: 0001-fixed-normalized-build-system-on-linux-x86-classlib-should-be-less-than-revision-612947.txt, build.zip, build.zip, build.zip
>
>
> Need to refactor DRLVM build system was stated since early ages of Harmony, due to its awkwardness and bad augmentability (one can find a lot of discussons in dev-list archives).
> Here is this long-expected feature, "normalized" ant build system, featuring:
> - improved portability, as it uses unified set of properties defined by classlib, drops "build.bat/build.sh" wrappers and provides traditional ant interface for users and external scripts;
> - better maintainability and robustness, as it does not rely on XSL build preprocessing, on-fly generated scripts and buggy ant-contrib features (except tests which really need "for" task);
> - much faster rebuild time even with cpptasks: void build takes only 7-8 sec (and can be improved a bit more). Also, it is possible to build standalone component w/o rebuilding dependencies which is also handy.
> - enhanced modularity and plugability: any component or test script can be used independently (modulo 2-3 shared ant files), simplifying component reusing or redeployment.
> For now, the system lacks facilities for managing external dependencies, it just relies on presence and layout of artifacts as retrieved via old build.
> The dependency management is to be refactored cross Harmony components, including classlib, drlvm and jdktools.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (HARMONY-5359) [drlvm][build] normalized ant build system

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5359?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexey Varlamov resolved HARMONY-5359.
--------------------------------------

    Resolution: Fixed

> [drlvm][build] normalized ant build system
> ------------------------------------------
>
>                 Key: HARMONY-5359
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5359
>             Project: Harmony
>          Issue Type: New Feature
>          Components: build - test - ci, DRLVM
>            Reporter: Alexey Varlamov
>            Assignee: Alexey Varlamov
>         Attachments: 0001-fixed-normalized-build-system-on-linux-x86-classlib-should-be-less-than-revision-612947.txt, build.zip, build.zip, build.zip
>
>
> Need to refactor DRLVM build system was stated since early ages of Harmony, due to its awkwardness and bad augmentability (one can find a lot of discussons in dev-list archives).
> Here is this long-expected feature, "normalized" ant build system, featuring:
> - improved portability, as it uses unified set of properties defined by classlib, drops "build.bat/build.sh" wrappers and provides traditional ant interface for users and external scripts;
> - better maintainability and robustness, as it does not rely on XSL build preprocessing, on-fly generated scripts and buggy ant-contrib features (except tests which really need "for" task);
> - much faster rebuild time even with cpptasks: void build takes only 7-8 sec (and can be improved a bit more). Also, it is possible to build standalone component w/o rebuilding dependencies which is also handy.
> - enhanced modularity and plugability: any component or test script can be used independently (modulo 2-3 shared ant files), simplifying component reusing or redeployment.
> For now, the system lacks facilities for managing external dependencies, it just relies on presence and layout of artifacts as retrieved via old build.
> The dependency management is to be refactored cross Harmony components, including classlib, drlvm and jdktools.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-5359) [drlvm][build] normalized ant build system

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5359?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexey Varlamov updated HARMONY-5359:
-------------------------------------

    Attachment: build.zip

Unpack the archive to root dir of drlvm workspace (typically working_vm), use as usual ant build:

ant -Dhy.cfg=release build test ehwa.test reg.test

For a clean workspace, you'll need to run "build.bat update" as per paragraph 3.3.2 of the old README.txt.

> [drlvm][build] normalized ant build system
> ------------------------------------------
>
>                 Key: HARMONY-5359
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5359
>             Project: Harmony
>          Issue Type: New Feature
>          Components: DRLVM
>            Reporter: Alexey Varlamov
>         Attachments: build.zip
>
>
> Need to refactor DRLVM build system was stated since early ages of Harmony, due to its awkwardness and bad augmentability (one can find a lot of discussons in dev-list archives).
> Here is this long-expected feature, "normalized" ant build system, featuring:
> - improved portability, as it drops "build.bat/build.sh" wrappers and provides traditional ant interface for users and external scripts;
> - better maintainability and robustness, as it does not use XSL preprocessing and ant-contrib (except tests which really need "for" task);
> - much faster rebuild time even with cpptasks: void build takes only 7-8 sec (and can be improved a bit more). Also, it is possible to build standalone component w/o rebuilding dependencies which is also handy.
> - enhanced modularity and plugability: any component or test script can be used independently (modulo 2-3 shared ant files), simplifying component reusing or redeployment.
> For now, the system lacks facilities for managing external dependencies, it just relies on presence and layout of artifacts as retrieved via old build.
> The dependency management is to be refactored cross Harmony components, including classlib, drlvm and jdktools.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-5359) [drlvm][build] normalized ant build system

Posted by "Egor Pasko (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12561337#action_12561337 ] 

Egor Pasko commented on HARMONY-5359:
-------------------------------------

unforunately in the last comment I was wrong. It compiled successfully, but not all necessary files in libharmonyvm were compiled resulting in runtime linking error

A part of the fix is:
--- a/make/vm/vmcore.xml
+++ b/make/vm/vmcore.xml
@@ -172,6 +172,7 @@

                 <include name="thread/linux/*.cpp" if="is.unix"/>
                 <include name="util/linux/*.cpp" if="is.unix"/>
+                <include name="util/linux/ia32_em64t/*.cpp" if="is.linux" unless="is.ia64"/>
                 <include name="ncai/utils/*linux.cpp" if="is.unix"/>
                 <exclude name="util/linux/signals_ia32.cpp" unless="is.unix.x86"/>
                 <exclude name="util/linux/signals_em64t.cpp" unless="is.unix.x86_64"/>

now I updated classlib and see that commit 612947 needs to be merged with the build.zip

> [drlvm][build] normalized ant build system
> ------------------------------------------
>
>                 Key: HARMONY-5359
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5359
>             Project: Harmony
>          Issue Type: New Feature
>          Components: build - test - ci, DRLVM
>            Reporter: Alexey Varlamov
>         Attachments: build.zip, build.zip
>
>
> Need to refactor DRLVM build system was stated since early ages of Harmony, due to its awkwardness and bad augmentability (one can find a lot of discussons in dev-list archives).
> Here is this long-expected feature, "normalized" ant build system, featuring:
> - improved portability, as it uses unified set of properties defined by classlib, drops "build.bat/build.sh" wrappers and provides traditional ant interface for users and external scripts;
> - better maintainability and robustness, as it does not rely on XSL build preprocessing, on-fly generated scripts and buggy ant-contrib features (except tests which really need "for" task);
> - much faster rebuild time even with cpptasks: void build takes only 7-8 sec (and can be improved a bit more). Also, it is possible to build standalone component w/o rebuilding dependencies which is also handy.
> - enhanced modularity and plugability: any component or test script can be used independently (modulo 2-3 shared ant files), simplifying component reusing or redeployment.
> For now, the system lacks facilities for managing external dependencies, it just relies on presence and layout of artifacts as retrieved via old build.
> The dependency management is to be refactored cross Harmony components, including classlib, drlvm and jdktools.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-5359) [drlvm][build] normalized ant build system

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12554976 ] 

Alexey Varlamov commented on HARMONY-5359:
------------------------------------------

Xiao-Feng, the attachment is there: "build.zip" 54k, I've just checked the link and it worked for me.

> [drlvm][build] normalized ant build system
> ------------------------------------------
>
>                 Key: HARMONY-5359
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5359
>             Project: Harmony
>          Issue Type: New Feature
>          Components: build - test - ci, DRLVM
>            Reporter: Alexey Varlamov
>         Attachments: build.zip
>
>
> Need to refactor DRLVM build system was stated since early ages of Harmony, due to its awkwardness and bad augmentability (one can find a lot of discussons in dev-list archives).
> Here is this long-expected feature, "normalized" ant build system, featuring:
> - improved portability, as it uses unified set of properties defined by classlib, drops "build.bat/build.sh" wrappers and provides traditional ant interface for users and external scripts;
> - better maintainability and robustness, as it does not rely on XSL build preprocessing, on-fly generated scripts and buggy ant-contrib features (except tests which really need "for" task);
> - much faster rebuild time even with cpptasks: void build takes only 7-8 sec (and can be improved a bit more). Also, it is possible to build standalone component w/o rebuilding dependencies which is also handy.
> - enhanced modularity and plugability: any component or test script can be used independently (modulo 2-3 shared ant files), simplifying component reusing or redeployment.
> For now, the system lacks facilities for managing external dependencies, it just relies on presence and layout of artifacts as retrieved via old build.
> The dependency management is to be refactored cross Harmony components, including classlib, drlvm and jdktools.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-5359) [drlvm][build] normalized ant build system

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5359?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexey Varlamov updated HARMONY-5359:
-------------------------------------

    Attachment: build.zip

Updated the build with latest changes (r609932, r607816).

Please note, the build requires up-to-date working_classlib (not older than r607409).

> [drlvm][build] normalized ant build system
> ------------------------------------------
>
>                 Key: HARMONY-5359
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5359
>             Project: Harmony
>          Issue Type: New Feature
>          Components: build - test - ci, DRLVM
>            Reporter: Alexey Varlamov
>         Attachments: build.zip, build.zip
>
>
> Need to refactor DRLVM build system was stated since early ages of Harmony, due to its awkwardness and bad augmentability (one can find a lot of discussons in dev-list archives).
> Here is this long-expected feature, "normalized" ant build system, featuring:
> - improved portability, as it uses unified set of properties defined by classlib, drops "build.bat/build.sh" wrappers and provides traditional ant interface for users and external scripts;
> - better maintainability and robustness, as it does not rely on XSL build preprocessing, on-fly generated scripts and buggy ant-contrib features (except tests which really need "for" task);
> - much faster rebuild time even with cpptasks: void build takes only 7-8 sec (and can be improved a bit more). Also, it is possible to build standalone component w/o rebuilding dependencies which is also handy.
> - enhanced modularity and plugability: any component or test script can be used independently (modulo 2-3 shared ant files), simplifying component reusing or redeployment.
> For now, the system lacks facilities for managing external dependencies, it just relies on presence and layout of artifacts as retrieved via old build.
> The dependency management is to be refactored cross Harmony components, including classlib, drlvm and jdktools.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.