172 похожих чатов

Доброго дня/утра/ночи! Есть ли какой-нибудь проверенный мануал/рецепт по встравиванию версионирования в

генеримые бинари с помощью build.rs или еще каких ухищрений?

Чтобы под linux генерить SOшки c именем, содержащим версию (libfoо.so.0.0.1), и с проставленным SONAME (флаги для SONAME раскопал, но достать имя бинаря, кроме как распарсив Cargo.toml, не нашел. И возможности поменять конеченое имя артефакта в билдскрипте тоже не наблюдаю).

А под windows вкомпиливать содержимое version.rc (https://pisoft.ru/verstak/insider/cw_ver1.htm), чтобы виндовые инспекторы приложений радовались.

А то забава с "а давайте очень маленькую и простую либину сделаем на Rust" вышла из под контроля...

6 ответов

27 просмотров

build.rs не является полной заменой системы сборки. Что вы используете для компиляции под разные платформы? Вот там добавить дополнительные шаги.

Ещё, вроде как, cargo устанавливает переменные окружения с именем, версией и прочим. Так что парсить toml не нужно

Dmitry-Sviridkin Автор вопроса
mental stability🥺✨
Ещё, вроде как, cargo устанавливает переменные окр...

Установлены имя пакета и версия его. А вот имя конкретного собираемого бинаря (lib.name) — не видать на этапе build.rs

Dmitry-Sviridkin Автор вопроса
red75prime
build.rs не является полной заменой системы сборки...

Пока build.rs как точки входа в сборочную систему хватало. Понятное дело, что все эти переименования можно навернуть отдельно и потом. И скорее всего только так и придется. Основная проблема, которую не понятно как решать: как вкомпиливать эти виндовые символы, чтобы они остались, а не были выпилены за ненадобностью. В сишных и плюсовых версиях объектник средствами cmake цеплялся. Как то же самое сделать для библиотек, собранных rustc?

Dmitry Sviridkin
Пока build.rs как точки входа в сборочную систему ...

Вкомпиливанием дополнительных библиотек занимается линкер. Виндовыми сборками давно не занимался, но вроде бы должно быть достаточно вывести cargo:rustc-link-lib=rc.res в build.rs

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта