Os sinalizadores de compilador usados são uma função de
- o arquivo
debian/rules, - os arquivos de compilação do pacote (já que o autor do upstream também pode especificar flags lá),
- o sistema de compilação usado (
dh,cdbsetc.), - as configurações padrão do compilador.
Para ver os sinalizadores usados, é necessário pelo menos compilar o pacote:
debian/rules build
Experimentando coisas como
debian/rules -n
geralmente não vai te levar muito longe; por exemplo, em um pacote dh -based, ele apenas dirá
dh build
ou algo similar; pedindo dh para mostrar o que isso faria (com --no-act ) irá produzir
dh_testdir
dh_auto_configure
dh_auto_build
e assim por diante.
Não existe uma maneira infalível e fácil de explicar para determinar os sinalizadores de compilação lendo debian/rules ; Você pode obter alguma idéia procurando por sinalizadores definidos lá e também (quando apropriado) procurando opções para dpkg-buildflags (como DEB_BUILD_MAINT_OPTIONS ) e executando isso. Para muitos pacotes, a maneira mais fácil de ver quais flags foram usados é examinar os logs de compilação dos pacotes enviados nos arquivos, começando pelo link . Por exemplo, os registros para coreutils on i386 mostra que os sinalizadores usados foram -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security para compilação e -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wl,--as-needed -Wl,-z,relro para vinculação (graças a Faheem Mitha por apontar este último!).