DiscussionsIssue archiveOCCT:Configuration

Archived issue #0024816

Tool for upgrading OCCT and dependent code

Open CASCADEOCCT:Configurationclosed97 public notes

Search issues

Description

In the frames of OCCT refactoring activity we expect to introduce some changes which will be not fully compatible with existing code of OCCT and dependent applications. Such dependent code will have to be upgraded to be used with OCCT 7.0. In order to facilitate this action we shall provide a script tool that can automate upgrade steps as possible.

Steps to reproduce

N/A

Public activity

97 archived notes

Participants are labeled by their role within this record.

01Commenter 1
Functions replace_xx, check_headers, check_duplicates from file upgrade.tcl were updated.
02Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]
03Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
04Commenter 2
Branch [archived branch] has been updated by Author.

[revision removed]


      from 6e3a542 Some cosmetic changes. Command prepare_project was created.
       new 3b94bed Move removal of forward declarations of Handle classes to occt_upgrade_handle
       new a515988 0024816: Tool for upgrading OCCT and dependent code
       new cd5acd6 Include only Handle_*.hxx for Handle classes in NCollection instantiations, to avoid cyclic dependencies
       new ee2ff21 0024816: Tool for upgrading OCCT and dependent code
       new 477537f 0024816: Tool for upgrading OCCT and dependent code


Detailed log of new commits:

[revision removed]
Author: Author
Date: Tue Aug 19 08:59:38 2014 +0400

    0024816: Tool for upgrading OCCT and dependent code
    
    Command to get rid of CDL and WOK included in common command occt_upgrade as option -nocdl.
    Description of upgrade included in OCCT Doxygen documentation.

[revision removed]
Author: Author
Date: Fri Aug 15 12:38:06 2014 +0400

    0024816: Tool for upgrading OCCT and dependent code
    
    Added option -compat allowing to reduce incompatibilities with older versions of OCCT when upgrading to OCCT 7.0.
    Upgrade process description improved

[revision removed]
Author: Author
Date: Thu May 29 12:07:55 2014 +0400

    Include only Handle_*.hxx for Handle classes in NCollection instantiations, to avoid cyclic dependencies

[revision removed]
Author: Author
Date: Wed May 28 12:56:51 2014 +0400

    0024816: Tool for upgrading OCCT and dependent code
    
    Conversion of TCollection classes: added headers for iterators by lists and maps; TCollection_MapHasher converted as NCollection_DefaultHasher
    Added handling of "private" keyword in class instantantiation declaration.
    Header files of classes converted to HXX (imported in CDL) are added to FILES.

[revision removed]
Author: Author
Date: Thu Aug 14 13:24:42 2014 +0400

    Move removal of forward declarations of Handle classes to occt_upgrade_handle

05Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ski
Date: Wed Nov 12 18:57:21 2014 +0300

    Small corrections of scripts _prepare_includes and _update_includes.

06Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ski
Date: Thu Nov 13 19:29:28 2014 +0300

    occt_upgrade_rtti was modified for using with both CDL and noCDL versions.

07Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ski
Date: Fri Nov 14 11:14:42 2014 +0300

    Removing wrong macros STANDARD_TYPE() for files moved from drv were added.

08Commenter 2
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
09Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ski
Date: Fri Dec 26 15:19:11 2014 +0300

    Small correction of script occt_upgrade_rtti

10Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ski
Date: Fri Jan 16 15:43:06 2015 +0300

    Tutorial for upgrade was supplemented.
    
    Order of used commands was changed in occt_upgrade_nocdl procedure
    to decrease the number of necessary steps

11Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ssv
Date: Fri Jan 23 14:07:54 2015 +0300

    1. Draft version of document "Getting Started with OCCT 7" added
    2. Logger for important user messages: -ui option
    3. Minor formatting issue: whitespace after comma in DEFINE_STANDARD_RTTI macro
    4. occt_upgrade now works with all recursively nested directories of src as well as with source files located directly in src
    5. occt_upgrade_rtti routine now may handle not only *.hxx/cxx but also *.h/c and *.hpp/cpp files
    6. occt_upgrade_rtti now converts the affected source files according to the desired format of line endings (unix or dos): -nlf_dos option
    7. new extract_package_names routine to extract OCCT package names to auxiliary file, e.g. upgrade_info.txt
    8. new public occt_upgrade_includes procedure to convert includes

12Commenter 2
Branch [archived branch] has been updated by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Mon Jun 1 06:38:52 2015 +0300

    Fix bugs introduced by last change in upgrade7.tcl
    Add some words on typical problem after upgrade with -rtti option.

13Commenter 13
Sergey, please complete upgrade script by currently missing functionality.

The fisrt points I have noticed are:

1. Script assumes that sources are in the folder "src"; this may be not the case for application code (example: OCCT samples). It is necessary to be able to specify arbitrary path to sources (and perhaps separately path to includes).

2. When TCollection classes are converted to NCollection, their forward declarations (like "class TColgp_Array1OfPnt;") become incorrect. To address this, we need to:
(a) be able to generate (or update) list of converted classes, stored in some file
(b) when updating application code, remove forward declarations of converted classes

3. Transient classes defined in TCollection had corresponding Handle() class defined in separate header (e.g. Handle_Tcolgp_HArray1OfPnt.hxx); these headers are included sometimes instead of complete header. Here, like with previous point, we need to have a list of such headers, and be able to apply relevant correction.
14Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ski
Date: Wed Jun 10 16:53:13 2015 +0300

    Use of non-default directories for sources and includes was added.
    
    Commands '_update_forward_declarations' and '_update_transient_includes' were created.
    Files 'adm/TColConverted' and 'adm/TColTransient' were added.

15Commenter 15
It is possible now to specify non-default directories for sources and includes, for that options '-incdir path' and '-srcdir path' should be used:
e.g.:
occt_upgrade D:/dir -nocdl -incdir D:/dir/includes -srcdir D:/dir/sources
occt_upgrade D:/dir -rtti -incdir D:/dir/inc -srcdir D:/dir/sources
occt_upgrade D:/dir -rtti_nocdl -incdir D:/dir/inc -srcdir D:/dir/sources
occt_upgrade D:/dir -tcollection -incdir D:/dir/inc -srcdir D:/dir/sources

If any option (incdir or srcdir or both) is not defined, procedure will use default directories D:/dir/inc and D:/dir/src instead.

In directory OCCT/adm 2 new files were created:
• OCCT/adm/TColConverted - contains all classes converted from TCollection to NCollection
• OCCT/adm/TColTransient - contains all transient classes from TCollection

2 new commands were created:

• _update_forward_declarations $_src ${path}/adm/TColConverted
Updates forward declarations of converted TCollection classes to their includes.
where:
$_src is a source directory (e.g.: D:/occt/src)
${path}/adm/TColConverted is a full path to the list of converted TCollection classes (e.g.: D:/occt/adm/TColConverted)

• _update_transient_includes $_src ${path}/adm/TColTransient
Updates wrong includes for handles of transient classes to their complete header.
where:
$_src is a source directory (e.g.: D:/occt/src)
${path}/adm/TColTransient is a full path to the list of transient TCollection classes (e.g.: D:/occt/adm/TColTransient)

Also, order of procedures calls in procedure 'occt_upgrade_nocdl' was changed because call of 'occt_upgrade $path -rtti_nocdl -incdir $_inc -srcdir $_src' should be done after '_update_includes $_src $OCC_path'
Note that command 'occt_upgrade_nocdl' could be used with non-default source and include directories too, e.g.:
occt_upgrade_nocdl D:/occt "" D:/occt/includes D:/occt/sources
or
occt_upgrade_nocdl D:/prod D:/occt D:/prod/includes D:/prod/sources

Dear ABV,
please review.
16Commenter 16
One more remark: command occt_upgrade -nocdl should also remove all EDL files from src
17Commenter 17
One more remark: command occt_upgrade -nocdl should copy copyright header from original file (usually CDL) to generated HXX file, replacing WOK-generated header
18Commenter 2
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Tue Jun 30 16:21:15 2015 +0300

    Command occt_upgrade -handle improved to remove typedefs using macro Handle() to generate new name, forward declarations of Handle() classes, and inclusion of header files starting with "Handle_"

Author: Author
Date: Tue Jun 30 16:17:27 2015 +0300

    Avoid adding package prefix to file name in #include statements in occt_updrade_nocdl command
19Commenter 2
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
20Commenter 2
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
21Commenter 2
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
22Commenter 2
Branch [archived branch] has been updated by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Wed Jul 1 17:20:55 2015 +0300

    Added option -downcast to replace C-style casts by DownCast(); transfer of license statement from CDL to HXX corrected

23Commenter 2
Branch [archived branch] has been updated by Author.

[revision removed]


No new revisions were added by this update.

24Commenter 2
Branch [archived branch] has been deleted by Author.

[revision removed]
25Commenter 2
Branch [archived branch] has been updated by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Thu Jul 2 20:04:26 2015 +0300

    occt_upgrade improved to handle more cases when C-style casts of handles can be converted to DownCast automatically

26Commenter 2
Branch [archived branch] has been created by Author.

[revision removed]


No new revisions were added by this update.
27Commenter 2
Branch [archived branch] has been updated by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Tue Jul 7 13:56:33 2015 +0300

    Add spaces around angle brackets of templates to avoid generation of << and >> in case of nested templates

28Commenter 28
Proposals to improve the upgrade.tcl scripb, by MZN, based on experience of porting SALOME GUI and GEOM:

1. Header file with *.h extension should be taken into account by the script.
2. The forward declaration of classes which have been replaced with typedef (such as TColStd_* collections) can be removed by the script. The corresponding header files with typedef should be included.
3. Forward declaration of Handle classes can be replaced with forward declaration of argument classes automatically by the script.
29Commenter 2
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Sat Jul 4 07:20:02 2015 +0300

    0024816: Tool for upgrading OCCT and dependent code
    
    A new script adm/upgrade.tcl defines a Tcl procedure occt_upgrade, to be used for upgrading code of OCCT and applications for changes introduced by OCCT 7.0.
    Details on upgrade procedure are put in dox/dev_guides/upgrade/upgrade.md.

Author: Author
Date: Fri Jul 17 19:20:06 2015 +0300

    0026457: Failed build with OCCT_DEBUG enabled
    
    Debug code enabled with OCCT_DEBUG macro corrected for compiling with new handles.
    
    QANCollection_Handle.cxx simplified so as to avoid need of using /bigobj option when building by Visual Studio; templates of project files, CMake projects, and test perf fclasses handle corrected accordingly.
    
    Script genproj corrected to recognize VTK and to build DRAWEXE as executable (rather than DLL).
30Commenter 2
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: nds
Date: Tue Jul 21 13:22:25 2015 +0300

    0024816: Tool for upgrading OCCT and dependent code
    
    It provides processing *.h files and directories without internal 'inc', 'src' subfolders.
31Commenter 2
Branch [archived branch] has been deleted by Author.

[revision removed]
32Commenter 2
Branch [archived branch] has been deleted by Author.

[revision removed]
33Commenter 2
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Wed Jul 22 11:22:47 2015 +0300

    [TCL] forward declaration of TCollection classes is replaced with #include;
    
    -recursive flag added to occt_upgrade procedure
    the target path of occt_upgrade can be ether a file or directory
34Commenter 34
dear abv,
do you mean that 3. Forward declaration of Handle classes can be replaced with _NOT forward declaration_ but including of the header of argument classes automatically by the script.
35Commenter 35
No, I mean the script should insert forward declaration of the argument class (provided that the same class is not yet forward-declared or included in the same header). There are several arguments for not trying to add include:

a) In most cases forward declaration is sufficient, while adding include you make compilation longer and have a chance to get cyclic dependency between headers

b) In order to include the appropriate header, you need to know for sure what header defines the class; despite of having a rule that header name must match class name, this is not always the case. At least, you must check that such header exists.
36Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Wed Jul 22 16:45:23 2015 +0300

    [TCL] srcext & incext arguments added to occt_upgrade

Author: ibs
Date: Wed Jul 22 16:32:15 2015 +0300

    [TCL] occt_upgrade -handle does not replace H_C with H(C) anymore; forward decl H_C replaced with #include<C.hxx>

Author: ibs
Date: Wed Jul 22 15:46:44 2015 +0300

    [TCL] redundant extract_package_names procedure removed

37Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Wed Jul 22 17:09:26 2015 +0300

    [Tcl] argument names of occt_upgrade changed

38Commenter 2
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
39Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: nds
Date: Fri Jul 24 08:51:05 2015 +0300

    Operator "<" should be redefined in handle class to use it in stl and qt containers.

40Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Mon Jul 27 12:20:06 2015 +0300

    "target", "gitsync" arguments added to occt_upgrade; main argument is "target"
    
    redundant argument "change_flag" removed from _apply_substitution
    git synchronization is optional (gitsync arg)
    _open_file procedure trims (at right) each line

41Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Thu Jul 30 17:54:55 2015 +0300

    draft help of occt_upgrade added; the occt_upgrade arguments and methods renamed in connection with common sense

42Commenter 2
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
43Commenter 2
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
44Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Fri Jul 31 16:34:03 2015 +0300

    global variables collected into global associative array

Author: ibs
Date: Fri Jul 31 15:21:05 2015 +0300

    -handle option of occt_upgrade: fwd handle_(A)* replaced with #include<a.hxx>

45Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Wed Aug 5 16:15:10 2015 +0300

    fwd of handle is replaced now with including an appropriate handle class

Author: ibs
Date: Wed Aug 5 15:45:45 2015 +0300

    "rtti" functionality does not check STANDARD_TYPE's class for existence in $incdir/class_name.hxx

Author: ibs
Date: Wed Aug 5 15:40:19 2015 +0300

    "include" and "RttiNoCDL" arguments and relating functionality removed

46Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Wed Aug 5 16:30:35 2015 +0300

    revert deleted "git rm" command in RemoveFiles method

47Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Thu Aug 6 09:46:20 2015 +0300

    "target" argument replaced with "src" one

48Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Wed Jul 22 11:22:47 2015 +0300

    0024816: Tool for upgrading OCCT and dependent code
    
    occt_upgrade has new argumens:
      -src - the path to sources to upgrade
      -recursive - process all subfolders of '-src' also
      -rtti - convert OCCT RTTI mechanism
      -rtti_nocdl - convert OCCT RTTI mechanism with using OCCT sources without CDLs already
      -tcollection - replace all TCollection instances with NCollection templates
      -fwd[=tcollection][,handle] - replace forward decl of Handle or/and TCollection with direct including required headers.
                               This option can be used without additional arguments: -fwd (all possible replacement will be done in this case)
      -handlecast - replace c-style cast of Handle with DownCast: (Handle(A)&)B) -> Handle(A)::DownCast(B)
      -mutable - remove mutable keywork from CDL declaration
      -complete - includes rtti, tcollection, handle, handlecast and mutable option
      -compatible - maintain compatability with OCCT 6.9.0. It is used by RTTI conversion process (RTTI) option)
      -occt - the path to OCCT. It is used to specify inc,drv and src folders without using previous three options
      -incext - extensions of processed header files
      -srcext - extensions of processed source files
      -check - perform check only
      -wlog - show gui log of upgrade process
      -newline[=dos|unix] - the format of new line: dos or unix. It is used by RTTI conversion process (RTTI) option)
      -gitsync - sync changes with git (add and remove new files)
    
    options for OCCT upgrade only:
      -cdl - relocate derived CDL headers and sources, remove CDLs
    
    * fwd of handle is replaced now with including an appropriate handle class
    * temporary: "rtti" functionality does not check STANDARD_TYPE's class for existence in $incdir/class_name.hxx
    * (-handle of occt_upgrade):
       1. fwd handle_(A)* replaced with #include<a.hxx>
       2. does not replace H_C with H(C) anymore
    * a help message of occt_upgrade added (it is shown at the top of this message)
    * redundant argument "change_flag" removed from _apply_substitution
    * (!): _open_file procedure trims (at right) each line
    * (-fwd=tcollection): forward declaration of TCollection classes is replaced with #include;
    * redundant extract_package_names procedure removed

49Commenter 2
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
50Commenter 2
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Wed Jul 22 11:22:47 2015 +0300

    0024816: Tool for upgrading OCCT and dependent code
    
    occt_upgrade has new argumens:
      -src - the path to sources to upgrade
      -inc - the path to headers that will be used by "rtti" process
      -recursive - process all subfolders of '-src' also
      -rtti - convert OCCT RTTI mechanism
      -rtti_nocdl - convert OCCT RTTI mechanism with using OCCT sources without CDLs already
      -tcollection - replace all TCollection instances with NCollection templates
      -fwd[=tcollection][,handle] - replace forward decl of Handle or/and TCollection with direct including required headers.
                               This option can be used without additional arguments: -fwd (all possible replacement will be done in this case)
      -handlecast - replace c-style cast of Handle with DownCast: (Handle(A)&)B) -> Handle(A)::DownCast(B)
      -mutable - remove mutable keywork from CDL declaration
      -complete - includes rtti, tcollection, handle, handlecast and mutable option
      -compatible - maintain compatability with OCCT 6.9.0. It is used by RTTI conversion process (RTTI) option)
      -occt - the path to OCCT. It is used to specify inc,drv and src folders without using previous three options
      -incext - extensions of processed header files
      -srcext - extensions of processed source files
      -check - perform check only
      -wlog - show gui log of upgrade process
      -newline[=dos|unix] - the format of new line: dos or unix. It is used by RTTI conversion process (RTTI) option)
      -gitsync - sync changes with git (add and remove new files)
    
    options for OCCT upgrade only:
      -cdl - relocate derived CDL headers and sources, remove CDLs
    
    * fwd of handle is replaced now with including an appropriate handle class
    * (-handle of occt_upgrade):
       1. fwd handle_(A)* replaced with #include<a.hxx>
       2. does not replace H_C with H(C) anymore
    * a help message of occt_upgrade added (it is shown at the top of this message)
    * redundant argument "change_flag" removed from _apply_substitution
    * (!): _open_file procedure trims (at right) each line
    * (-fwd=tcollection): forward declaration of TCollection classes is replaced with #include;
    * redundant extract_package_names procedure removed

Author: Author
Date: Sat Jul 4 07:20:02 2015 +0300

    0024816: Tool for upgrading OCCT and dependent code
    
    A new script adm/upgrade.tcl defines a Tcl procedure occt_upgrade, to be used for upgrading code of OCCT and applications for changes introduced by OCCT 7.0.
    Details on upgrade procedure are put in dox/dev_guides/upgrade/upgrade.md.

Author: nds
Date: Fri Jul 24 08:51:05 2015 +0300

    Operator "<" should be redefined in handle class to use it in stl and qt containers.
51Commenter 2
Branch [archived branch] has been updated by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Tue Aug 11 17:53:40 2015 +0300

    Added test for local reference to handle initialized by temporary handle to derived class.
    Forward declaration or argument class restored in macro DEFINE_STANDARD_HANDLE

52Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Tue Aug 11 18:44:47 2015 +0300

    args.tcl swallowed by upgrade.tcl; upgrade.ini introduced and contains all storing information of the upgrade process

53Commenter 2
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
54Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Wed Aug 12 16:20:01 2015 +0300

    default header (h,hpp,hxx,gxx,lxx) and source(c,cpp,cxx) extension changed
    
    "inc" dir (containing header files) is "src" one by-default
    a misprint fixed in IsIniExist method
    the list of tcollection classes for fwd extended

55Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Wed Aug 12 17:30:06 2015 +0300

    "rtti" process seeks a required header (by STANDARD_TYPE or DownCast) in two places: include folder (inc argument) and current one
    
    "complete" argument of occt_upgrade includes rtti, tcollection, fwd and handlecast ones

56Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Wed Aug 12 17:59:57 2015 +0300

    "fwd=handle" argument (replace fwd of Handle(class) with #include<class.hxx>) seeks included files in include dir (inc argument) and current directory

57Commenter 2
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
58Commenter 2
Branch [archived branch] has been updated by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Wed Aug 12 19:09:25 2015 +0300

    Added conversion operator of handle to bool, for use in conditional expressions

Author: Author
Date: Wed Aug 12 13:36:52 2015 +0300

    Added tool to remove forward declaration of class before DEFINE_STANDARD_HANDLE (inactive); command options printed on load

59Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Wed Aug 12 19:19:22 2015 +0300

    During "rtti" and "fwd=handle" processes, any included header is sought in all src subdirs and inc directory for existence

60Commenter 2
Branch [archived branch] has been updated by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Wed Aug 12 20:14:46 2015 +0300

    Minor corrections in upgrade doc

61Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Tue Aug 11 10:36:08 2015 +0300

    0026543: genproj script parses CSF_VTK incorrectly
    
    the name of associative array at osutils:csfList method fixed

62Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Thu Aug 13 14:20:36 2015 +0300

    "h" help argument added to occt_upgrade procedure; "migration to OCCT 7.0 libraries" article updated

63Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Thu Aug 13 15:11:15 2015 +0300

    occt_upgrade procedure split into two parts: upgrade and wok_upgrade
    
    wok_upgrade includes "cdl" and "mutable" old argument. It is intended to upgrade .cdl containing sources
    upgrade includes all the others arguments. It is intended to upgrade projects that use OCCT libraries

64Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Thu Aug 13 16:26:51 2015 +0300

    "tcollection" argument moved to wok_upgrade procedure;
    
    upgrade and wok_upgrade procedures can process multiple arguments: -src=d:/occt1 -src=d:/ooct2 e.t.c.

65Commenter 2
Branch [archived branch] has been updated by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Thu Aug 13 18:12:28 2015 +0300

    Added upgrade.bat; copyright statements made in Tcl scripts; start.tcl is used to start procedures defined in genproj.tcl and upgrade.tcl; upgrade documentation moved to dev guide; fixes and minor improvements in upgrade.tcl

66Commenter 2
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Thu Aug 13 18:05:20 2015 +0300

    "newline" argument removed; upgrade.ini renamed in upgrade.dat
    
    each SaveListToFile method uses EOL that is got from ReadFileToList, relative procedures and variables renamed
67Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Fri Aug 14 15:24:05 2015 +0300

    the content of read file with ReadFileToList method has unix eol

68Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Fri Aug 14 17:25:08 2015 +0300

    wok_upgrade and upgrade split

69Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Fri Aug 14 17:34:28 2015 +0300

    wok_upgrade removed

70Commenter 2
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
71Commenter 2
Branch [archived branch] has been updated by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Fri Aug 14 17:54:28 2015 +0300

    Corrections in upgrade procedure, Standard.hxx, and upgrade doc, based on porting SALOME GUI

72Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Thu Aug 13 18:05:20 2015 +0300

    wok_upgrade functionality removed from upgrade.tcl
    
    the content of read file with ReadFileToList method has unix eol
    "newline" argument removed; upgrade.ini renamed in upgrade.dat
    each SaveListToFile method uses EOL that is got from ReadFileToList, relative procedures and variables renamed

73Commenter 2
Branch [archived branch] has been updated by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Fri Aug 14 20:15:37 2015 +0300

    WOK and CDL User Guides removed

Author: Author
Date: Fri Aug 14 19:32:28 2015 +0300

    Added treatment of scoped handle; upgrade doc update; added missing includes in Approx

74Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]
75Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Mon Aug 17 11:03:05 2015 +0300

    the upgrade procedure considers the absent of "agent" (rtti, fwd and handlecast) arguments as "all" one

76Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Mon Aug 17 11:14:13 2015 +0300

    redundant check for cdl existence removed from "rtti" convert process

77Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Mon Aug 17 12:36:22 2015 +0300

    "log" argument added to upgrade procedure to store the process output into a file

78Commenter 2
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Mon Aug 17 09:01:46 2015 +0300

    0024816: Tool for upgrading OCCT and dependent code
    
    A new script adm/upgrade.tcl defines a Tcl procedure occt_upgrade, to be used for upgrading code of OCCT and applications for changes introduced by OCCT 7.0.
    Details on upgrade procedure are put in dox/dev_guides/upgrade/upgrade.md.
    
    Added conversion operator of handle to bool, for use in conditional expressions.
    Added test for local reference to handle initialized by temporary handle to derived class.
    Forward declaration or argument class restored in macro DEFINE_STANDARD_HANDLE.
    
    upgrade.dat contains all storing information of the upgrade process
    
    WOK and CDL User Guides removed

Author: Commenter 3
Date: Thu Aug 13 07:23:54 2015 +0300

    0026546: Configuration, genproj.tcl - add support for VS2015 in project file generator
    
    Use vc10 templates for vc10, vc11, vc12, vc14.

Author: Author
Date: Mon Jul 6 20:30:38 2015 +0300

    0026403: Lack of Standard_EXPORT keyword in SelectMgr headers
    
    Some Standard_EXPORT keywords added to be able to link with TKV3d
79Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Mon Aug 17 17:19:34 2015 +0300

    "replace" argument added to upgrade procedure
    
    it gets all class name bindings (old name - new name) from upgrade.dat and replace old version with new ones

80Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Mon Aug 17 11:03:05 2015 +0300

    0024816: Tool for upgrading OCCT and dependent code
    
    * "log" argument added to upgrade procedure to store the process output into a file
    * the upgrade procedure considers the absent of "agent" (rtti, fwd and handlecast) arguments as "all" one
    * "replace" argument added to upgrade procedure: it gets all class name bindings (old name - new name) from upgrade.dat and replace old version with new ones
    * "fwd=handle" argument replaced with "handle" one; "fwd=tcollection" argument replaced with "tcollection" one
    * redundant check for cdl existence removed from "rtti" convert process

81Commenter 2
Branch [archived branch] has been updated by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Tue Aug 18 10:09:28 2015 +0300

    Includes and type cast operators added in GC classes to reduce porting issues.

82Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: ibs
Date: Mon Aug 17 11:03:05 2015 +0300

    0024816: Tool for upgrading OCCT and dependent code
    
    * "log" argument added to upgrade procedure to store the process output into a file
    * the upgrade procedure considers the absent of "agent" (rtti, fwd and handlecast) arguments as "all" one
    * "rename" argument added to upgrade procedure: it gets all class name bindings (old name - new name) from upgrade.dat and rename old version with new ones
    * "fwd=handle" argument replaced with "handle" one; "fwd=tcollection" argument replaced with "tcollection" one
    * redundant check for cdl existence removed from "rtti" convert process

83Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
84Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
85Commenter 85
Commands for upgrading WOK and CDL-based code are put to WOK Git repo, branch CR0_700_2, in src\WOKTclLib\occt_upgrade.tcl. This is exactly version used to convert OCCT code.

Branch CR24816_8 contains upgrade script intended for upgrading projects depending on OCCT. See documentation in dox/dev_guides/upgrade/upgrade.md.
86Commenter 86
Ready for testing, please test
87Commenter 87
Dear Commenter 1,
Branch CR24816_8 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.

There are following compilation errors:
Linux:
http://jenkins-test-01.nnov.opencascade.com:8080/view/CR24816-8-master/job/CR24816-8-master_build_occt_linux/1/parsed_console/
../../../../inc/Standard_Handle.hxx:263:15: error: invalid use of incomplete type 'class Standard_Transient'
...
../../../../inc/Standard.hxx:29:7: error: forward declaration of 'class Standard_Transient'
...

MacOS:
http://jenkins-test-01.nnov.opencascade.com:8080/view/CR24816-8-master/job/CR24816-8-master_prepare_build_occt_MacOS/1/parsed_console/
[user path removed]/tools/WOK680/wok_entities/LOC/dev/CR24816-8-master-occt/src/Standard/Standard_Handle.hxx:263:15: error: member access into incomplete type 'Standard_Transient'
88Commenter 2
Branch [archived branch] has been updated by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Wed Aug 19 09:25:31 2015 +0300

    Fix for building with GCC and CLang

89Commenter 89
Proposed fix pushed to CR24816_8, please check whether it builds on Linux and Mac OSX
90Commenter 90
Dear Commenter 1,
Branch CR24816_8 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
[revision removed]

Number of compiler warnings:

occt component :
Linux: 15 (15 on master)
Windows: 0 (0 on master)

products component :
Linux: 39 (39 on master)
Windows: 0 (0 on master)

Regressions/Differences/Improvements:
http://occt-tests/CR24816-8-master-occt-64/Debian70-64/perf/fclasses/handle.html
http://occt-tests/CR24816-8-master-occt-64/Windows-64-VC10/perf/fclasses/handle.html
perf fclasses handle: FAILED

Testing cases:
Not needed

Testing on Linux:
occt component :
Total MEMORY difference: 91631422 / 90752693 [+0.97%]
Total CPU difference: 17852.359999999175 / 17772.269999998964 [+0.45%]
products component :
Total MEMORY difference: 24854248 / 24829404 [+0.10%]
Total CPU difference: 6978.439999999988 / 6872.7100000000155 [+1.54%]

Testing on Windows:
occt component :
Total MEMORY difference: 56875651 / 56854865 [+0.04%]
Total CPU difference: 16634.807832699073 / 16435.7193564993 [+1.21%]
products component :
Total MEMORY difference: 16023470 / 16017814 [+0.04%]
Total CPU difference: 5249.4492500999595 / 5265.439352599951 [-0.30%]

There are no differences in images found by testdiff.
91Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
92Commenter 92
I have corrected test perf fclasses handle to report as BAD; fix pushed (forced and squashed) to the same branch CR24816_8; please consider as tested.
93Commenter 2
Branch [archived branch] has been deleted by Commenter 3.

[revision removed]
94Commenter 2
Branch [archived branch] has been deleted by Commenter 3.

[revision removed]
95Commenter 2
Branch [archived branch] has been deleted by Commenter 3.

[revision removed]
96Commenter 2
Branch [archived branch] has been deleted by Commenter 3.

[revision removed]
97Commenter 2
Branch [archived branch] has been deleted by Commenter 3.

[revision removed]

Related records