[ann] Mxx_ru 1.5.0
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 22.05.09 19:35
Оценка:
Доброго дня!

Вышла версия 1.5.0 build-инструмента Mxx_ru 1.5.0. Это адаптация Mxx_ru под Ruby 1.9.1 (я тестировал на 1.9.1p129), новых возможностей в ней нет. Просто из-за отсутствия совместимости между Ruby 1.9 и 1.8 предыдущие версии Mxx_ru на Ruby 1.9 работать не будут. Зато из-за того, что Ruby 1.9 побыстрее 1.8, новая версия Mxx_ru может работать чуть быстрее предшествующих.

В дальнейшем развитие Mxx_ru будет идти по двум веткам: 1.4.* -- под Ruby 1.8.*, 1.5.* -- под Ruby 1.9.*. Вероятно, в ветке 1.4.* будут собираться только исправления, а все новые возможности [при наличии пожеланий пользователей и времени у меня ] уже будут добавляться в 1.5.*.

Скачать Mxx_ru можно с RubyForge: http://rubyforge.org/frs/download.php/57248/Mxx_ru-1.5.0.gem
Или воспользоваться командой:
gem install -r Mxx_ru


Документация: http://rubyforge.org/docman/view.php/1361/9996/mxx_ru-1.4.10.pdf (актуальна и для версии 1.5.0).

Небольшие ремарочки

Ruby 1.9 я пока активно не пользовался. Из-за ряда багов, которые были исправленны только к 1.9.1p129, я оставался на Ruby 1.8.7. Поэтому возможны различные сюрпризы.

Например, из-за того, что Ruby 1.9 сейчас полностью Unicode-ный, под Linux-ом я столкнулся с неприятным открытием: при поиске зависимостей в C++ файлах возникает ошибка, если C++ файл записан кодировке, отличной от текущей локали. Так, у меня под Linux-ом локаль была ru_RU.UTF-8, а C++ный файл -- в CP1251. Так что в кроссплатформенных проектах сейчас возможны проблемы. Скажем, если файлы в UTF-8, то могут быть проблемы под русскоязычной Windows. Нужно придумать, как с этим быть. Возможно, нужно будет сделать поддержку указания кодировки файлов (общую для проекта и отдельную для исходных текстов). Что-то вроде:
MxxRu::Cpp::dll_target {
  default_encoding 'UTF-8'
  ...
  cpp_source( 'my_file.cpp' ).encoding( 'CP1251' )
}

Любые предложения и соображения на этот счет приветствуются.

Я тестировал Mxx_ru 1.5.0 под Windows (VC++ 7.1, MinGW, Cygwin) и под Linux-ом. Возможности проверить под MacOS с Ruby 1.9.1 у меня не было.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
mxx_ru build tool
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.