Альтернатива Newlib?
Я инженер по встроенному программному обеспечению, работаю с процессорами типа IA-32. Мы ищем цепочку инструментов компилятора - предпочтительно бесплатно.
Мы использовали Mentor Graphics CodeBench Lite, но он больше не доступен.
Мы рассмотрели другие дистрибутивы GCC, но ни у одного из них нет голой металлической реализации glibc. Ничего, кроме newlib, но мы не можем использовать его из-за проблем с лицензией GPL и LGPL. Мы являемся OEM, и наши клиенты (и мы) имеем проприетарный код.
Любые предложения приветствуются.
2 ответа
"Облегченные" gpl-инструменты Sourcery по-прежнему доступны, просто Ментору нравится играть в прятки.
Если вам нужна легкая библиотека C с лицензией не-GPL, вы можете взглянуть на Bionic с Android.
Тем не менее, вы обеспокоены тем, что можете ошибаться. IANAL, но в большинстве лицензий на библиотеки C есть какое-то связующее исключение, которое вы, возможно, захотите исследовать с помощью своих юристов - их полезность, поскольку системные библиотеки были бы крайне ограничены без них.
И на самом деле, быстрый поиск на странице лицензирования newlib (которая сложна), кажется, показывает, что большая ее часть находится под лицензиями в стиле BSD, чем под лицензиями в стиле GPL, хотя для того, чтобы разобраться во всем этом, потребуется осторожность.
Mentor, возможно, больше не предоставляет облегченную версию инструментального набора IA-32 для чистого металла, но я уверен, что он все еще поддерживается в коммерческих выпусках, а базовая лицензия не так уж дорога.
Как говорит Крис, страница лицензирования Newlib немного сложна, но суть ее в том, что в основном все, что вам нужно для системы с голым металлом, лицензировано BSD; IIRC, части, имеющие лицензию GPL, являются четко очерченными частями, специфичными для системы, которые ссылаются на вещи в ядре Linux и т. П. (И, следовательно, должны быть лицензированы под GPL), и те, которые не включены в голые сборки, Я думаю, что они даже находятся в одном или двух разных каталогах, которые вы можете просто удалить. Очевидно, вы должны сделать анализ для себя, но это результат, который вы должны ожидать найти.
Ярлык, который может быть полезен: страница загрузки самой последней версии CodeBench Lite для IA-32 ELF, которая была выпущена, находится на этой странице. Если вы загрузите оттуда архив с исходным кодом, вы получите исходные тексты Newlib, которые использовались для его создания, а также .sh
файл в пакете с указанием того, как он был настроен и собран. Вы заметите, что в документации (лицензии указаны в конце руководства по началу работы) двоичные файлы Newlib просто перечислены как BSD-лицензированные, так что это должно показать вам, как Mentor получил скомпилированную библиотеку, которая соответствует описанию лицензирования.
(Отказ от ответственности: раньше я работал на Ментора.)