Как один из побочных эффектов подключения кучи проектов, в среде теперь слева развешаны сценарные переменные: Build RELEASE, Operating_System POSIX, Architecture x86_64, Ssl_Library_Type relocatable, Platform native, Library_Type static, Os unix.
Мешают. Если что–то менять в проекте, в исходник проекта добавляется локальное объявление каждой переменной и для каждого изменённого параметра проекта здоровенная лестница из case'ов. Пробовал перед тем, как что–то менять в проекте, сначала проставить все галочки, чтоб безальтернативно применялось. GPS не только разбабахала это в case'ы, но на этот раз ещё и перебрала все возможные комбинации сценарных переменных. Теперь исходник проекта, кроме как руками, стараюсь не править.
Library_Type выставлен по умолчанию на static, хотя вот как раз это я бы переключил на relocatable, но эта настройка нигде не сохраняется
А что вы делаете со сценарными переменными?
-- If you want to get to the top, you have to start at the bottom
On Wed, 30 Jan 2013 20:23:10 +0700, you wrote:
Мешают. Если что–то менять в проекте, в исходник проекта добавляется локальное объявление каждой переменной и для каждого изменённого параметра проекта здоровенная лестница из case'ов.
Для редактирования проектов есть чудесная программа Notepad (gedit, vi...).
А что вы делаете со сценарными переменными?
ВСЕ!
Выбор цели (VxWorks, Windows, Linux), параметры, отладка или релиз, и т.п. Единственное, чего нельзя - условный "with" проектов, управляемый сценарием.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
30.01.2013 20:46, Dmitry A. Kazakov пишет:
Для редактирования проектов есть чудесная программа Notepad (gedit, vi...).
Ну я всё же имел в виду GPS
А что вы делаете со сценарными переменными?
ВСЕ!
Выбор цели (VxWorks, Windows, Linux)
И GNAT Programming Studio, не имея исходников GCC и GNAT, отрастит кросскомпилятор, догадается, как запустить конфигуратор, переконфигурирует и пересоберёт каждую зависимость под другую OS?
Или, может быть, отрастит рядом с моим CPU FPGA и, как BORPH, зашьёт в него кастомную архитектуру portable_64_be?
Ничего же нельзя поменять без конфигуратора.
-- If you want to get to the top, you have to start at the bottom
On Thu, 31 Jan 2013 16:52:04 +0700, you wrote:
30.01.2013 20:46, Dmitry A. Kazakov пишет:
Выбор цели (VxWorks, Windows, Linux)
И GNAT Programming Studio, не имея исходников GCC и GNAT, отрастит кросскомпилятор,
Его "отрастит" AdaCore, если Вы купите соответствующий GNAT Pro...
догадается, как запустить конфигуратор,
переконфигурирует и пересоберёт каждую зависимость под другую OS?
Разумеется. Это делается примерно так:
package Ide is
case Platform is
when "x86_Windows" =>
for Gnatlist use "gnatls";
for Gnat use "gnat";
for Compiler_Command ("ada") use "gnatmake";
for Debugger_Command use "gdb";
when "x86_VxWorks" =>
for Gnatlist use "i586-wrs-vxworks-gnatls";
for Gnat use "i586-wrs-vxworks-gnat";
for Compiler_Command ("ada") use "i586-wrs-vxworks-gnatmake"; for Debugger_Command use "i586-wrs-vxworks6-gdb";
...
case Platform is
when "x86_Windows" =>
case Development is
when "Debug" =>
for Source_Dirs use Dirs & "os/Windows/i586";
for Object_Dir use "lib/x86/Windows/Debug";
when "Release" =>
for Source_Dirs use Dirs & "os/Windows/i586";
for Object_Dir use "lib/x86/Windows/Release";
end case;
when "x86_VxWorks" =>
for Source_Dirs use Dirs & "os/vxworks" & "os/vxworks/i586" & "os/vxworks/i586/Native_Real_Time_Clock";
case Development is
when "Debug" =>
for Object_Dir use "lib/x86/vxworks/Debug";
when "Release" =>
for Object_Dir use "lib/x86/vxworks/Release";
end case;
и т.п.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
31.01.2013 17:18, Dmitry A. Kazakov пишет:
догадается, как запустить конфигуратор,
переконфигурирует и пересоберёт каждую зависимость под другую OS?
Разумеется. Это делается примерно так:
package Ide is
case Platform is
when "x86_Windows" =>
for Gnatlist use "gnatls";
for Gnat use "gnat";
for Compiler_Command ("ada") use "gnatmake";
for Debugger_Command use "gdb";
when "x86_VxWorks" =>
for Gnatlist use "i586-wrs-vxworks-gnatls";
for Gnat use "i586-wrs-vxworks-gnat";
for Compiler_Command ("ada") use "i586-wrs-vxworks-gnatmake";
for Debugger_Command use "i586-wrs-vxworks6-gdb";
...
А, понятно.
И нашёл ответы на некоторые вопросы. gprbuild вводит несколько дополнительных типов проектов, и то, что мне нужно, называется aggregate project:
http://docs.adacore.com/gprbuild-docs/html/gprbuild_ug.html#Define-a-build-environment
Не знаю пока, как скормить это GPS, но посмотрим
-- If you want to get to the top, you have to start at the bottom
Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти