Como podemos restaurar ppc / ppc64, bem como o suporte SDK 10.4 / 10.5 completo para o Xcode 4?


93

Como a Apple só envia o SDK 10.6 com Xcode4, o desenvolvimento de aplicativos PPC com Xcode4 se tornou impossível. Embora seja possível desenvolver aplicativos com Xcode4 que também podem ser executados em 10.5 e talvez até em sistemas 10.4 (selecionando SDK 10.6, mas o destino de implantação 10.5 ou 10.4), eles só serão executados em Intel Macs porque você precisa de pelo menos SDK 10.5 para construção de aplicativos PPC.

Além disso, existem alguns casos raros, em que você realmente precisa compilar com um SDK anterior a 10.6 para suporte total da plataforma, por exemplo, se certa funcionalidade obsoleta desapareceu completamente do SDK 10.6, mas você terá que usá-la e o link dinâmico não será sempre a melhor opção nesses casos. Além disso, a vinculação a um SDK anterior às vezes facilita o desenvolvimento, pois a funcionalidade que você não deve usar, pois causaria incompatibilidade com versões anteriores do sistema operacional, não estará disponível e qualquer tentativa de usá-la de qualquer forma leva imediatamente a erros de compilador ou vinculador.

Por último, mas não menos importante, a Apple também removeu o suporte GCC 4.0 do Xcode4, que pode ser necessário para que determinado software seja construído corretamente e a Apple nunca permitiu compilar software com GCC 4.2 ao usar o SDK 10.4, embora eu dificilmente acredite que isso realmente causaria quaisquer problemas, depois que todo o software construído com GCC 4.2 e SDK 10.6 também pode ser executado no Mac OS 10.4 sem problemas, desde que o destino de implantação tenha sido definido corretamente e nenhuma funcionalidade que não esteja disponível no MacOS 10.4 tenha sido usada.

É claro que você sempre pode ter uma instalação paralela do Xcode3 ao lado do Xcode4, mas isso significa que você deve abrir mão de todos os (ótimos?) Novos recursos do Xcode4 e continuar trabalhando com o IDE Xcode3 desatualizado. Certamente seria muito melhor se você também pudesse gerenciar todos os seus projetos antigos dentro do mesmo IDE dos novos e se beneficiar de quaisquer novos recursos disponíveis. Nem todos os projetos podem ser feitos 10.6 ou Intel apenas em um futuro previsível. Além disso, sou estritamente contra a abolição do suporte para plataformas mais antigas antes do que seria realmente necessário.

Podemos restaurar essa funcionalidade para o Xcode4?

Respostas:


111

A resposta rápida é: Sim, podemos!

Antes de chegar à parte " como isso é feito ", aqui estão algumas notas sobre meu patch / hack / correção. Desde o início, os principais objetivos foram:

  1. Mantenha todas as modificações em um mínimo absoluto.
    Queremos manter as configurações do Xcode o mais originais possível.

  2. Por suposto, tente evitar corrigir ou modificar quaisquer arquivos.
    Queremos que todos os arquivos permaneçam intactos e mantenham seu conteúdo original.

  3. Tente evitar mover ou copiar arquivos, a menos que seja absolutamente necessário.

Consegui manter todos esses objetivos. Quase tudo é feito criando links simbólicos. Apenas um único link simbólico existente teve que ser substituído e vamos fazer o backup antes da substituição, apenas no caso.

Se você não for especialista em operações de terminal, recomendo fortemente que você copie / cole todos os comandos de terminal de minha resposta para seu terminal, para evitar erros de digitação. Lembre-se de que até mesmo espaçamento, citações e principalmente letras maiúsculas podem ser importantes. Copie / cole linha por linha, nunca mais de uma linha de uma vez e pressione Enter após cada linha colada para executar o comando. Se alguma operação solicitar uma senha, esta será a senha do usuário administrador atualmente conectado (suas teclas não são exibidas durante a digitação, isso é normal, não se preocupe, apenas continue digitando a senha e pressione Enter; -tente se você cometeu um erro de digitação e será avisado novamente).

Pré-requisito

Antes de começarmos, certifique-se de que as seguintes condições sejam verdadeiras:

  • Você está conectado como um usuário administrador.
  • Você iniciou Terminal.app (Aplicativos / Utilitários) e uma janela de terminal está aberta.
  • Você tem uma cópia do Xcode3 (por exemplo, 3.2.5) e imagem de disco Xcode4 (DMG) ou instalador disponível.
  • Se você já tem uma das versões do Xcode instalada, considere desinstalá-la primeiro , para que possa começar com uma configuração nova / limpa. A desinstalação do Xcode não removerá suas preferências, esquema de cores ou personalizações de ligação de teclas. O ideal é que você comece com um sistema que não tenha nenhuma versão do Xcode (nem 3 nem 4) instalada atualmente.

Etapa 1: Instalando o Xcode3

Importante : Não instale o pacote " Ferramentas do sistema " ou " Desenvolvimento Unix " do Xcode3.
Se deseja instalar o " Mac OS X 10.4 SDK " e / ou a " Documentação " é com você. Se for um Xcode3 com iOS SDKs, se você os instala ou não, depende de você.

Você é livre para escolher qualquer pasta de destino para sua instalação. Para este guia, escolhi " / Xcode3 ", mas fique à vontade para escolher um diferente. Apenas certifique-se de alterar todos os comandos do terminal de acordo.

A ordem das etapas fornecidas aqui geralmente não é muito importante, mas eu recomendo fortemente que você não troque as etapas 1 e 2. O Xcode sempre instala alguns arquivos fora da pasta de destino escolhida e confie em mim, no final você deseja que Versões Xcode4 desses arquivos em seu disco. Ao instalar o Xcode3 antes do Xcode4, você pode ter certeza de que o Xcode4 sobrescreverá esses arquivos, se necessário. Certa vez, troquei as etapas 1 e 2 e no final tive alguns problemas bastante estranhos que podem estar relacionados à ordem incorreta (não posso dizer com certeza, mas após reinstalar na ordem correta os problemas desapareceram).

Etapa 2: Instalando o Xcode4

Escolha os pacotes que desejar. Instalar " Ferramentas do sistema " é aconselhável, mas não estritamente necessário (embora a maioria das pessoas, mais cedo ou mais tarde, perca essa funcionalidade).

Novamente, fique à vontade para escolher qualquer pasta de destino de sua preferência. Para este guia eu escolhi a pasta de destino normal " / Developer ", se você escolher uma diferente, altere todos os comandos do terminal de acordo.

Etapa 3: restaurar o suporte do SDK 10.4 / 10.5

Mude para a janela do seu terminal e execute os seguintes comandos:

cd / desenvolvedor / SDKs
sudo ln -s /Xcode3/SDKs/MacOSX10.4u.sdk.
sudo ln -s /Xcode3/SDKs/MacOSX10.5.sdk.

Claro, só execute o comando para 10.4u se você também instalou o SDK 10.4 na etapa 1.

Isso é o suficiente para trazer os SDKs 10.5 (e possivelmente 10.4) de volta à lista de seleção no Xcode4. Experimente, se quiser. Abra o Xcode4, abra um projeto e tente alterar o SDK selecionado. Isso foi fácil, hein? Certifique-se de fechar o Xcode4 novamente (o aplicativo, não apenas a janela) antes de prosseguir com a próxima etapa.

Etapa 4: Restaurando o Suporte GCC 4.0

Se você não instalou o MacOS 10.4 SDK ou se não planeja usá-lo, pode pular esta etapa com segurança e prosseguir para a etapa 5.

Para usar o SDK 10.4, você terá que usar o GCC 4.0, o GCC 4.2 não funcionará. A Apple afirma que o GCC 4.2 não é compatível com o SDK 10.4, bem, se você me perguntar, isso é uma farsa. Já substituí essas limitações mais de uma vez e nunca houve o menor problema por causa disso. Seria fácil modificar o SDK 10.4 para que o Xcode permita que você use o GCC 4.2 para ele, mas meu objetivo era evitar todas as modificações de arquivo, então apenas adicionamos o suporte do GCC 4.0 de volta ao Xcode, o que também é bom, porque alguns projetos realmente dependem do GCC 4.0 (por exemplo, existem alguns bugs no GCC 4.2 que evitam que o código assembly inline válido seja compilado sem erros, enquanto o mesmo código compila perfeitamente no GCC 4.0 e no GCC 4.4).

Voltar ao terminal:

cd / Developer / usr / bin
sudo ln -s /Xcode3/usr/bin/*4.0*.

cd / Developer / usr / libexec / gcc / powerpc-apple-darwin10
sudo ln -s /Xcode3/usr/libexec/gcc/powerpc-apple-darwin10/4.0.1.

No momento, restauramos o suporte total ao GCC 4.0, exceto pelo fato de que o GCC 4.0 ainda não pode ser selecionado no Xcode4. Isso ocorre porque o Xcode4 não tem mais o plug-in do compilador GCC 4.0. Felizmente, o plug-in Xcode3 também funciona no Xcode4, apenas a posição mudou radicalmente. A Apple agora esconde esses plug-ins dentro de um pacote e apenas os plug-ins parecem funcionar, colocando-os em sua posição anterior parece não ter efeito.

cd / Developer / Library / Xcode / PrivatePlugIns
cd Xcode3Core.ideplugin / Contents / SharedSupport / Developer / Library / Xcode / Plug-ins
sudo ln -s "/ Xcode3 / Library / Xcode / Plug-ins / GCC 4.0.xcplugin".

Agora inicie o Xcode4 novamente, abra um projeto e tente selecionar o compilador. Você deve ter o GCC 4.0 de volta à lista. Agora você já pode selecionar SDK 10.4 ou 10.5, GCC 4.0 e não deve ter problemas para construir um binário PPC. Basta selecionar " Outro ... " para a configuração de construção " Arquitetura " e inserir manualmente " ppc " e, em seguida, alterar " Arquiteturas válidas " para incluir também " ppc ". Estamos quase terminando, exceto que tentar construir um binário PPC usando GCC 4.2 e SDK 10.5 ainda irá falhar.

Etapa 5: Restaurando o suporte PPC para GCC 4.2

Como a Apple só oferece suporte a plataformas Intel no Xcode4, nem todas as ferramentas GCC 4.2 foram construídas com suporte PPC. Existe uma ferramenta importante que não tem suporte para PPC, a ferramenta é chamada " como " e é o GNU Assembler. Para compilar binários ppc / ppc64 com GCC 4.2, precisamos usar uma versão " como " com suporte a ppc / ppc64. Este é o único arquivo (na verdade, também um link simbólico) que devemos primeiro mover de lado (fazendo uma cópia de backup) antes de substituí-lo por um link simbólico:

cd /Developer/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1
sudo mv as.bak
sudo ln -s / Xcode3 / usr / bin / as.

Etapa 6: Não há Etapa 6

Isso é tudo, pessoal. Considerando como isso foi fácil, você pode imaginar que a Apple certamente não abandonou o suporte SDK 10.4 / 10.5 ou ppc / ppc64 ou GCC 4.0 porque era uma necessidade, eles abandonaram tudo porque queriam abandoná-lo.

Espero que esta configuração funcione tão bem para você quanto para mim. Consegui compilar todos os meus projetos antigos no Xcode4 sem grandes alterações, exceto por ter que alterar um caminho de pesquisa aqui e ali.

PS:
Pode parecer estranho que eu responda minha própria pergunta aqui, mas como descobri como resolver esse problema sozinho, gostaria de compartilhar meu conhecimento com a comunidade, porque acredito que esta é uma contribuição realmente valiosa para todos os desenvolvedores MacOS por aí. Esta pergunta foi feita tantas vezes em tantos lugares e até agora eu nunca vi ninguém surgindo com uma solução semelhante. Divida a riqueza, divulgue o conhecimento e assim por diante, você sabe o que quero dizer.


Se você ainda tiver problemas / dúvidas:

Se você tiver perguntas adicionais sobre este tópico ou se ainda tiver problemas para construir seus projetos antigos corretamente, faça o que o Stack Overflow foi projetado para: Clique em "Fazer pergunta" no canto superior direito desta página e crie uma nova pergunta . Dessa forma, toda a comunidade pode ajudá-lo a resolver esses problemas, já que os problemas podem não estar diretamente (talvez nem mesmo indiretamente) relacionados a este hack.

Eu recomendaria que você mencionasse o fato de que aplicou esse hack no início de sua pergunta. Talvez você até queira criar um link direto para esta pergunta, para que as pessoas que nunca ouviram falar desse hack possam facilmente pesquisá-lo. Caso contrário, a maioria das pessoas ficará um tanto confusa quando você menciona SDK 10.4 / 10.5, PPC ou GCC 4.0 em combinação com Xcode4, que oficialmente não oferece suporte a nenhum deles. Você pode receber comentários estúpidos em vez de respostas decentes se esquecer de mencionar este hack.

Abstenha-se de postar suas perguntas ou problemas aqui como respostas ou comentários. Postá-los como respostas não faz sentido porque eles não são respostas e não há como as pessoas responderem a você, a não ser usando comentários, e os comentários podem não oferecer espaço suficiente para uma resposta decente à sua pergunta ou uma solução decente para sua problema. E postá-los como comentários significa que você está limitado a muito pouco espaço e rastrear comentários de resposta será difícil, pois os comentários não têm hierarquia em árvore (além disso, eles ainda oferecem pouco espaço para respostas / soluções decentes). Obrigado.

É claro que outros tipos de comentários, bem como respostas melhores para a pergunta original são sempre bem-vindos ;-)


6
Aqui está um voto positivo. Provavelmente copiarei os SDKs antigos e os arquivos do compilador em vez de apenas vinculá-los simbolicamente para poder desinstalar o restante do Xcode3. Não porque adoro o Xcode4; apenas porque preciso de espaço em disco. Obrigado!
Ivan Vučica,

Eu não consigo fazer isso funcionar. Consulte minha pergunta sobre o SO: stackoverflow.com/questions/5409860/…
paleozogt

Além disso, para obter a construção do gcc 4.0 para destinos i686, tive que fazer o seguinte: sudo ln -s /Xcode3/usr/libexec/gcc/i686-apple-darwin10/4.0.1 / Developer / usr / libexec / gcc / i686-apple-darwin10 / sudo ln -s /Developer/SDKs/MacOSX10.6.sdk/usr/lib/gcc/i686-apple-darwin10/4.0.1/ / Developer / usr / lib / gcc / i686- apple-darwin10 / sudo ln -s /Developer/SDKs/MacOSX10.6.sdk/usr/lib/gcc/i686-apple-darwin10/4.0.1/ / usr / lib / gcc / i686-apple-darwin10 /
Mark Carey

2
Esta linha for SRC_FILE in /Xcode3/usr/bin/*4.0*; do sudo ln -s "$SRC_FILE" .; donepode ser simplificada parasudo ln -s /Xcode3/usr/bin/*4.0* .
Adam Rosenfield

1
@cullub Vá para developer.apple.com , faça login com seu dev ID, escolha "SDKs", role para baixo e escolha "Xcode", escolha "Download", role para baixo e escolha "Additional Tools", pesquise "Xcode 3" no campo de pesquisa.
Mecki

15

Outra maneira fácil com apenas o Xcode4, o Xcode3 não é mais necessário.

$ sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gcc/darwin/ppc /Developer/usr/libexec/gcc/darwin
$ sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gcc/darwin/ppc /usr/libexec/gcc/darwin

EDITAR% S:

Para Xcode 4.1,

sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gcc/darwin/ppc /Developer/usr/libexec/gcc/darwin
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gcc/darwin/ppc /usr/libexec/gcc/darwin
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/powerpc-apple-darwin10-cpp-4.2.1 /usr/bin/powerpc-apple-darwin11-cpp-4.2.1
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/powerpc-apple-darwin10-gcc-4.2.1 /usr/bin/powerpc-apple-darwin11-gcc-4.2.1
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/powerpc-apple-darwin10-g++-4.2.1 /usr/bin/powerpc-apple-darwin11-g++-4.2.1
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/powerpc-apple-darwin10-cpp-4.2.1 /Developer/usr/bin/powerpc-apple-darwin11-cpp-4.2.1
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/powerpc-apple-darwin10-gcc-4.2.1 /Developer/usr/bin/powerpc-apple-darwin11-gcc-4.2.1
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/powerpc-apple-darwin10-g++-4.2.1 /Developer/usr/bin/powerpc-apple-darwin11-g++-4.2.1
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/gcc/powerpc-apple-darwin10 /Developer/SDKs/MacOSX10.6.sdk/usr/lib/gcc

Você pode usar o gcc-4.2 apenas para PowerPC. E a opção “-isysroot /Developer/SDKs/MacOSX10.6.sdk” é necessária, porque 10.7 SDK não suporta mais PowerPC.


3
LOL, então a apple oferece suporte a PPC no compilador iOS :-P No entanto, talvez você deva notar que isso apenas restaurará a compatibilidade PPC, mas não restaurará SDKs ou o suporte GCC4.0. Ainda vale a pena um voto positivo.
Mecki,

Muito hackish e mais simples do que o anterior, o mínimo necessário.
Diziet de

Habilite o conjunto de ferramentas PowerPC no Xcode 4.1 . apenas gcc-4.2. Requer a opção "-isysroot /Developer/SDKs/MacOSX10.6.sdk", porque 10.7 SDK não tem mais cabeçalhos para PowerPC.
Kazuki Sakamoto

stackoverflow.com/questions/11989007 é relevante para a obtenção do SDK 10.6. ou seja, está no Xcode 4.1
fommil de

8

Reuni todas as informações desta página, Mac OS X Hints, splhack.org e outras fontes citadas aqui, e reuni um conjunto de scripts BASH que automatizam o processo de restauração do suporte a PPC e GCC 4.0 usando um Instalação do XCode 3 ou apenas os próprios arquivos da plataforma do iPhone do XCode 4.

Como sempre, use com cuidado! e contribua com quaisquer correções ou melhorias. Esses scripts só foram testados em meu próprio sistema até esta postagem.

Você pode baixá-los do GitHub:


Uau, muito legal :-) Eu queria fazer um script desses sozinho, mas nunca tive tempo para isso. Obrigado por compartilhar conosco.
Mecki

4

Se você quiser que o gcc funcione na linha de comando também, (assim como o acima), você também precisará:

cd /usr/libexec/gcc/powerpc-apple-darwin10/4.2.1
sudo mv as as.bak
sudo ln -s /Xcode3/usr/bin/as .

3

Isso ainda funciona com o Xcode 4.3.2 da AppStore - a versão em que tudo é independente em um pacote de aplicativos. Como na dica original, instale o Xcode 3.2.6 primeiro * e, em seguida, baixe o Xcode 4 da AppStore. Em seguida, faça a seguinte mágica de link simbólico:

cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
ln -s /Developer/Xcode3.2.6/SDKs/MacOSX10.5.sdk .
cd /Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2/bin/
ln -s /Developer/Xcode3.2.5/usr/llvm-gcc-4.2/bin/powerpc-apple-darwin10-llvm-g* .
mv powerpc-apple-darwin10-llvm-gcc-4.2 powerpc-apple-darwin11-llvm-gcc-4.2
mv powerpc-apple-darwin10-llvm-g++-4.2 powerpc-apple-darwin11-llvm-g++-4.2

As duas últimas linhas renomear darwin10 para darwin11 no link simbólico - suponho que as versões futuras do OS X exigirão que isso seja atualizado conforme apropriado.

  • Para instalar o Xcode 3.2.x no Lion, monte a imagem do disco do Xcode, abra o Terminal, digite os comandos (usando bash ou os comandos equivalentes se você alterou seu shell padrão):

    export COMMAND_LINE_INSTALL = 1 open "/ Volumes / Xcode e iOS SDK / Xcode e iOS SDK.mpkg"

Você também precisará definir o relógio para uma data anterior a 31 de março de 2012, caso contrário, os certificados de segurança falharão na validação durante a instalação. Você pode alterar a data com segurança novamente após a instalação, obviamente!


2

Caso alguém precise restaurar SDKs antigos e compilador PPC no Xcode 4.3 e 4.5, este é um script que criei. Observe que você precisa definir o caminho para o pacote de aplicativos Xcode e o caminho para a instalação do Xcode 3.2.6 no início do script.

#!/bin/bash

XCODE="/Applications/Xcode45-DP1.app"
XCODE3="/Xcode3"

# restore SDKs
cd "$XCODE/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs"
sudo ln -s "$XCODE3/SDKs/MacOSX10.4u.sdk" .
sudo ln -s "$XCODE3/SDKs/MacOSX10.5.sdk" . 
sudo ln -s "$XCODE3/SDKs/MacOSX10.6.sdk" . 

# restore gcc 4.0
cd "$XCODE/Contents/Developer/usr/bin"
sudo ln -s "$XCODE3/usr/bin/"*4.0* .
sudo ln -s "powerpc-apple-darwin10-g++-4.0.1" "powerpc-apple-darwin11-g++-4.0.1"
sudo ln -s "powerpc-apple-darwin10-gcc-4.0.1" "powerpc-apple-darwin11-gcc-4.0.1"

# restore Xcode option
cd "$XCODE/Contents/PlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer/Library/Xcode/Plug-ins"
sudo ln -s "$XCODE3/Library/Xcode/Plug-ins/GCC 4.0.xcplugin" . 

Você não precisa fazer o link simbólico 10.6 SDK se estiver usando o Xcode 4.3, pois ele vem com um.

Além disso, o script não restaura o gcc 4.2, pois há muitos conflitos de nome de arquivo fazendo isso. Meu objetivo é restaurar o compilador PPC e 4.0 é bom o suficiente para mim.


2

Frédéric Devernay tem um projeto GitHub chamado xcodelegacy que funciona muito bem para mim no Xcode 5.1.1 e precisa de muito pouco trabalho para colocá-lo em funcionamento, apenas alguns downloads.

Usando seu projeto, consegui criar binários universais contendo arquiteturas ppc e i386 compiladas com o SDK 10.4 usando GCC 4.0, tudo de dentro do Xcode 5.1.1 em execução no Yosemite.

Eu mesmo verifiquei que os binários universais criados funcionam bem no 10.5 Leopard e no próprio Yosemite.

Página inicial aqui: http://devernay.free.fr/hacks/xcodelegacy

Projeto de hub Git aqui: https://github.com/devernay/xcodelegacy


1

Seria útil ter um pacote apenas para instalar esses arquivos em uma implementação XCode 4. (ou um tarball).

FYI: 3.2.6 do Xcode3 não inclui uma arquitetura como com ppc. Mas eu tinha um backup do Leopard no meu computador. Então, copiei esse, parece funcionar. (Use / usr / libexec / gcc / darwin / ppc / as).

Considerando que gcc e as são de código aberto, as únicas coisas que podem não ser redistribuíveis são o plug-in xcode e o SDK 10.4, certo?


Não sou especialista em questões de licenciamento; "as -v" diz "Apple Inc versão cctools-795 ~ 45, GNU assembler versão 1.38", no entanto, mesmo que a Apple tenha modificado o código-fonte de "as", ele ainda está licenciado sob a GPL (o código GPL modificado é automaticamente Código GPL novamente), portanto, se a GPL permitir que você faça isso, você deve estar bem.
Mecki

Ok, suponho que meu raciocínio por que devemos substituir "as" estava errado. O "as" do Xcode 3.2.6 parece funcionar bem, embora seja apenas Intel, mas ainda parece ser capaz de criar saída de assembly ppc. Vou consertar minha resposta inicial. Obrigado por apontar isso!
Mecki

Na verdade, pelo menos na linha de comando, não. Ele continuou reclamando até que eu peguei meu backup do Leopard.
Jason Kenney,
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.