История изменений
Исправление intelfx, (текущая версия) :
Разумеется, я не говорю, что Cargo должен компилировать сишные проекты. OpenWRT — это пример того, как выглядит идеальная кросс-сборочная система. Про сборку пакетов (любых) я тоже не говорю.
Давай так. Во-первых, есть ли в Rust разделяемые библиотеки в том виде, в котором я привык их видеть? Т. е. можно ли единожды скомпилировать некий library crate и потом использовать результат компиляции (возможно, с некими вспомогательными файлами) в качестве build-time и run-time зависимости нескольких других crate'ов, не используя ни в каком виде исходники библиотеки? Если нет, то дальнейшие вопросы лишены смысла.
Дальше, я знаю, что в Cargo можно собрать любой интересующий проект вместе с его зависимостями одной командой. При этом он будет собран статически, а результаты сборки зависимостей будут либо лежать хз где, либо не сохранятся. Это меня не устраивает.
Я хочу, чтобы Cargo мог складировать результаты сборки library crate'ов в два разных каталога. В первый — все результаты сборки в том виде, в котором они могут быть использованы при сборке зависимых crate'ов (в т. ч. в случае продолжения сборки на другой машине или утраты исходников). Во второй — только run-time компоненты, в том виде, в котором они могут быть перемещены на целевую систему (вместе с run-time компонентами всех зависимостей) и в этом виде там запущены. Также я хочу, чтобы я мог указывать каталог с разделяемыми библиотеками внешних зависимостей.
Это можно? Или нужно обкостыливать скриптами?
Исходная версия intelfx, :
Разумеется, я не говорю, что Cargo должен компилировать сишные проекты. OpenWRT — это пример того, как выглядит идеальная кросс-сборочная система. Про сборку пакетов (любых) я тоже не говорю.
Давай так. Во-первых, есть ли в Rust разделяемые библиотеки в том виде, в котором я привык их видеть? Т. е. можно ли единожды скомпилировать некий library crate и потом использовать результат компиляции (возможно, с некими вспомогательными файлами) в качестве build-time и run-time зависимости нескольких других crate'ов, не используя ни в каком виде исходники библиотеки? Если нет, то дальнейшие вопросы лишены смысла.
Дальше, я хочу, чтобы Cargo мог складировать результаты сборки таких библиотек в два разных каталога. В первый — все результаты сборки в том виде, в котором они могут быть использованы при сборке зависимых crate'ов. Во второй — только run-time компоненты, в том виде, в котором они могут быть перемещены на целевую систему (вместе с run-time компонентами всех зависимостей) и в этом виде там запущены. Также я хочу, чтобы я мог указывать каталог с разделяемыми библиотеками внешних зависимостей.
Это можно? Или нужно обкостыливать скриптами?