По просьбе thambs собрал vhlt под линуксом. Репозиторий на битбакете. За основу взял версию из XashXT 0.63. Кто хочет потестировать - клонируйте себе с помощью git clone или просто скачивайте zip-файл с исходниками. На страничке в принципе всё описано, но повторю здесь пару проблем:
1. Пока собираются только 32-битные бинарники - уж слишком много там завяно на преобразованиях от указателя к целому числу и обратно, так что мучиться я не стал, да и 64-битной машины под рукой нет. Поэтому понадобятся 32-битные либы. Для 64-битных Debian-подобных дистрибутивов решение есть - поставить g++-multilib. Не знаю, как дела обстоят с другими дистрибутивами и другими компиляторами. Если нашли решение - указывайте.
2. Количество ядер в отличие от версии для Windows не определяется автоматически - это ещё с zhlt тянется. Может, потом допишу автоопределение для Linux. А пока указывайте параметр -threads.
Можете форкать репозиторий, делать пулл-реквесты и прочее, никаких ограничений я не ставил.
Вопрос скорее по лицензии. Можно ли распространять в комплекте с Джекхаммером? По идее GPL подразумевает распространение как угодно и без разрешения автора, если программа не является частью проприетарной, а в данном случае очевидно, что не является и свободно заменяема. Или я неправильно трактую GPL?
XaeroX, GPL будет касаться только Jackhammer'а. Компиляторы - внешние утилиты, они с кодом джека не слинкованы. Распространять с GPL-программой можно всё что угодно, если распространение этого "чего угодно" разрешено. По идее к vhlt всё ещё применима валвовская лицензия (ведь vhlt основан на zhlt, а zhlt - на стандартных компиляторах) - пользуйся, но в некоммерческих целях.
thambs писал: а какая вообще лицензия у зонеров, CC?
По идее - HLSDK License, т.е. открытая проприетарная. И у VHLT - та же, т.к. всё это derivative work компиляторов из HLSDK.
Хотя чисто теоретически - можно подогнать под GPL, т.к. сорцы квачных компиляторов под них. Но это уже вопрос хитрости и общей замороченности авторов.
Цитата:
FreeSlave писал: Компиляторы - внешние утилиты, они с кодом джека не слинкованы.
Ну да, и не являются необходимой частью для его функционирования. Я так и рассуждаю.
Цитата:
FreeSlave писал: По идее к vhlt всё ещё применима валвовская лицензия (ведь vhlt основан на zhlt, а zhlt - на стандартных компиляторах) - пользуйся, но в некоммерческих целях.
Добавлю - и только в целях разработки модов под халфу.
Скажем, под ксаш эти компиляторы использовать лицензия прямо запрещает (but who cares?)
если нечто использует только движок, а все ресурсы свои, то вроде как это уже и не мод, а самостоятельная игра, ну вот как сру от страха. а если из всей игры заменили только движок, разьве это нечто перестаёт быть хл-модом?
>> Если нет - то перестаёт, и появляется нарушение лицензии.
По моему та лицензия уже устарела. Ибо щас валва уже не требует удалять СДК (вроде через год) после установки.
Но вообще qкомпиляторы входили в состав СДК, значит видимо и лицензия на них та же.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FreeSlave писал: Количество ядер в отличие от версии для Windows не определяется автоматически - это ещё с zhlt тянется. Может, потом допишу автоопределение для Linux.
FreeSlave
Они взяли код из ZHLT, а те - вероятно, из q-компиляторов, а тот, в свою очередь, писался тогда, когда никаких 64-битных платформ в широком пользовании не было.
Ну а вообще привычка - страшная вещь. Например, очень сложно заставить себя использовать int_ptr/size_t в качестве счётчика цикла. Вроде и понимаешь, что это правильно, но по детсадовской привычке пишешь int. А перед товарищами отмазуешься - "да компилятор же сам всё преобразует в нужный размер на этапе оптимизации..."
Не знаю насчёт привычек, но в xdm я везде size_t повтыкал куда надо. Да и вообще провёл генеральную типовую оптимизацию.
На разных платформах указатель может не совпадать с интом вообще никак - от битности до порядка битов. Рисковое дело, ох рисковое.
FreeSlave а не мог бы ты ещё и XDM под линь собрать? (^______________________________^)