Changes in Mxx_ru

1.3.0 version (2006.05.15)

  New command line argument --mxx-rebuild.

  Added support for RuCodeGen 0.2.0.

  New methods Mxx_ru::BinaryTarget#lib_static, Mxx_ru::BinaryTarget#lib_shared.
  For now, they only make sense for Unix and GCC toolsets.

  New method QtGen#uic_result_subdir for specifying custom path to store
  uic results.

  Qt support improvement: Now, during a building of *.cpp file from *.ui,
  short form of *.hpp file name is specified in '-i' argument in order to get
  correct include definition.
  (e.g. 'some_header.hpp' instead of 'src/module/some_header.hpp').

  Task 'test' is added into Rakefile for unit test automation. Some tests
  converted into unit-tests. Special mix-in TestWithCompilation (in
  tests/test_with_compilation.rb) added for this purpose.

  New Methods BinaryTarget#lib_path, BinaryTarget#lib_paths.

  Improvement: under mswin no longer necessary to specify library name with
  '.lib' extension. This extension automatically added by Visual C++ toolset
  if needed.

  Method Mxx_ru::Cpp::Target#target_ext and possibility for changing default
  target extension added.

  Added 'option extraction mode' for C/C++ targets (command-line argument
  '--mxx-cpp-extract-options' and its processing in Mxx_ru::Cpp::Target).

  New class for controlling ObjPlacement for C/C++ targets
  Mxx_ru::Cpp::CustomSubdirObjPlacement added.

  Refactoring: names of all classes converted into standard Ruby convention.

1.2.0 version (2006.04.15)

  Added command-line arguments --mxx-brief-show, --mxx-brief-hide and
  method Mxx_ru.enable_show_brief for controlling brief description of
  executed commands.

  Argument prj_alias for composite_target, exe_target, lib_target and
  dll_target now optional. If it omitted than Mxx_ru try detect prj_alias form
  Kernel#caller result (assume what call to *_target method was made directly
  in project file).

  Added methods Abstract_target#required_prjs, Cpp::Target#c_sources,
  Cpp::Target#cpp_sources those accept Enumerable (plural form for
  corresponding singular analogs). New methods can accept result of Dir.glob().

  Some fixes for MinGW C++, Borland C++ compilers.

1.1.0 version (2006.02..2006.04)

  Documentation and commentaries are translated to english.

  Simplified MXX_RU_CPP_TOOLSET environment value setup.

  composite_target, dll_target, lib_target, exe_target methods are
  added, which allows to simplify description of common C++ projects.

  An ability to change default values for such parameters as 
  runtime_mode, rtti_mode, rtl_mode, threading_mode was added.

  Fixed clean operations for Visual C++:
  - if .exp file is exists for current target, then 
  corresponding .lib and .exp files are removed;
  - the way PDB files created was changed to create individual PDB file
  for each target, which is removed during a clean operation.
  
  VC++ 8.0 support was added, including manifests support.
  
  Mxx_ru is transformed to RubyGem.

1.0.12 version (2005.11.17)

  Support of RuCodeGen for C++ projects was added.
  See Mxx_ru::Cpp::RuCodeGen class for details.

1.0.10 version (2005.08.04)

  mxx_ru/cpp/toolsets/gcc_sparc_solaris.rb file was added to support
  GNU C++ compiler on Solaris platform.

1.0.9 version (2005.07.12)

  Bug, slowing down the work with projects containing large amount of
  DLL's on unix platforms was fixed.

  Added --mxx-cpp-no-depends-analyzer option, which turns off
  scanning of C++ files for dependencies.

1.0.7 version (2005.04.01)

  Added Mxx_ru::Makestyle_generator class.

1.0.6 version (2004.11.26)

  Bug, slowing down the work with projects conaining deep dependencies
  between each other was fixed. Problem was because of increase of 
  intercalls to get values of spreadable options. Now, spreadable option
  values are cached and recalculated only on change.
