Há algum tempo, descobri o tempo de execução ObjFW para Objective-C, que é muito legal e faz muitas coisas - e é muito pequeno. Mas ultimamente me fez perguntar quais tempos de execução estão disponíveis em quais alvos - e como descobrir melhor? Gostaria de usar um pequeno script em minha configuração para testar se posso usar o ObjFW na plataforma atual, com a instalação atual do clang ou do gcc.
Então, existe uma maneira de listar os tempos de execução do Objective-C disponíveis no GCC ou no Clang?
Responder1
Cada versão do GCC a partir de 4.0 e basicamente todas as versões do Clang suportam o tempo de execução do ObjFW, pelo menos parcialmente. Isso ocorre porque o tempo de execução do ObjFW usa o GNU ABI, mas adiciona mais além disso. Para usar o que foi adicionado por cima, você precisa de uma versão do Clang que aceite -fobjc-runtime=objfw. Para uma possível verificação, consulte configure.ac incluído no ObjFW.
Tudo isso só é relevante se você planeja usar o tempo de execução sem o resto do ObjFW - se você também quiser usar o resto, basta usar objfw-config: Ele fará a coisa certa para oyu.
Responder2
Esta não é uma resposta completa para sua pergunta, masna documentação do clangtempos de execução disponíveis listados: macosx, macosx-fragile, ios, watchos, gcc, gnustep e objfw.
Na minha opinião, gnustep, gcc e objfw são adequados para todos os alvos, outros apenas para OS X, iOS e Watch OS (porque este tempo de execução é específico do sistema operacional, mas esta é apenas minha sugestão)