Вы можете создать скрипт-обертку для gcc, который будет выполнять фактический gcc с нужными вам флагами. Это работает с Make-файлами и сложными сборками, которые связываются с переменными окружения. Вам нужно только убедиться, что ваш скрипт gcc находится в PATH раньше, чем фактический двоичный файл gcc. Сам скрипт всего в две строки,
#!/bin/sh
exec /usr/bin/gcc --sysroot=/your/sysroot "$@"
и если $HOME/bin
находится на ранней стадии PATH, вы можете поместить скрипт в $HOME/bin
, и это не повлияет на других пользователей.
Если у вас есть сценарий configure
, который явно ищет gcc
в /usr/bin/
, вам может потребоваться переименовать /usr/bin/gcc
в /usr/bin/gcc.bin
и назвать свой сценарий /usr/bin/gcc
. Это повлияет на всех пользователей. Если вам это нужно, но вы хотите, чтобы это влияло только на определенного пользователя или пользователей, используйте
#!/bin/sh
[ "$(id -un)" -eq "theuser" ] && exec /usr/bin/gcc.bin --sysroot=/your/sysroot "$@"
exec /usr/bin/gcc.bin "$@"
Вы можете делать варианты, например, определенные учетные записи пользователей или членство в группах для установки определенного sysroot по той же схеме.