0027258: Configuration - generate built-in replacement for mandatory resource files
[occt.git] / dox / dev_guides / upgrade / upgrade.md
index 5e7f0f1..9720f2f 100644 (file)
@@ -251,6 +251,7 @@ Porting of user applications from an earlier OCCT version to version 6.9.0 requi
 
 3D Viewer now uses GLSL programs for managing frame buffer and stereoscopic output.
 For proper initialization, application should configure **CSF_ShadersDirectory** environment variable pointing to a folder with GLSL resources - files from folder **CASROOT**/src/Shaders.
+*Note that **CSF_ShadersDirectory** become optional since OCCT 7.1.0 release*.
 
 @subsection upgrade_690_selection Changes in Selection
 
@@ -1077,14 +1078,27 @@ The following obsolete features have been removed:
   Text resolution can be managed by rendering parameter *Graphic3d_RenderingParams::Resolution*, returned by *V3d_View::ChangeRenderingParams()*.
 * Methods PrsMgr_PresentationManager::BoundBox, PrsMgr_PresentationManager::Hilight and SelectMgr_EntityOwner::Hilight were removed as not used.
   Corresponding method in custom implementations of SelectMgr_EntityOwner can be removed safely. PrsMgr_PresentationManager::Color with corresponding style must be used instead of removed presentation manager's methods.
+* Class *NCollection_QuickSort* has been removed.
+  The code that used the tools provided by that class should be corrected manually.
+  The recommended approach is to use sorting algorithms provided by STL.
 
 @subsection upgrade_occt710_correction_of_TObj_Model Correction in TObj_Model class
 
 Methods *TObj_Model::SaveAs* and *TObj_Model::Load* receive *TCollection_ExtendedString* filename arguments instead of char*. This shows that the filename may be not-ASCII explicitly. Also it makes OCAF API related to this functionality more conform.
 
+@subsection upgrade_710_env Removed environment variables
 
-@subsection upgrade_occt710_sorttools Removal of NCollection_QuickSort class
+The following environment variables are now either become optional or have been removed:
 
-Class *NCollection_QuickSort* has been removed.
-The code that used the tools provided by that class should be corrected manually.
-The recommended approach is to use sorting algorithms provided by STL.
+* *CSF_UnitsLexicon* and *CSF_UnitsDefinition* are no more used.
+  Units definition (UnitsAPI/*Lexi_Expr.dat* and UnitsAPI/*Units.dat*) is now embedded into source code.
+* *CSF_XSMessage* and *CSF_XHMessage* are now optional.
+  English messages (XSMessage/*XSTEP.us* and SHMessage/*SHAPE.us*) are now embedded into source code
+  and automatically loaded when environment variables are not set.
+* *CSF_ShadersDirectory*.
+  Mandatory GLSL resources are now embedded into source code.
+
+Internally, embedded resource files are represented by .pxx (private) header files,
+automatically (re)generated by *genproj* tool or by CMake with *BUILD_RESOURCES* option turned ON.
+Since embedded resources are stored in OCCT git repository, they should be regenerated after modification of original text file before pushing patch for integration.
+But since this option modifies source code, *BUILD_RESOURCES* option is disabled by default to avoid conflict with out-of-source build concept.