descargar - xcode 9.0 download
¿Cómo podemos restaurar ppc/ppc64, así como 10.4/10.5 compatibilidad SDK completa para Xcode 4? (8)
Como Apple solo envía SDK 10.6 con Xcode4, el desarrollo de aplicaciones PPC con Xcode4 se volvió imposible. Si bien es posible desarrollar aplicaciones con Xcode4 que también se pueden ejecutar en 10.5 y tal vez incluso en 10.4 (seleccionando SDK 10.6, pero destino de despliegue 10.5 o 10.4), solo se ejecutarán en Intel Macs porque necesita al menos SDK 10.5 para construyendo aplicaciones PPC.
Además, hay algunos casos excepcionales en los que realmente necesita compilar contra un SDK anterior a 10.6 para soporte completo de plataforma, por ejemplo, si cierta funcionalidad obsoleta se ha desvanecido por completo del SDK 10.6, pero tendrá que usarla y no se vinculará dinámicamente. siempre la mejor opción en esos casos. También vincularlo con un SDK anterior a veces facilitará el desarrollo ya que la funcionalidad que no se debe usar, ya que causaría incompatibilidad con versiones anteriores del sistema operativo, no estará disponible y cualquier intento de usarlo de todos modos conduce inmediatamente a errores del compilador o del enlazador.
Por último, Apple también ha eliminado el soporte de GCC 4.0 de Xcode4, que puede ser necesario para que cierto software se genere correctamente y Apple nunca ha permitido compilar software con GCC 4.2 cuando usa SDK 10.4, aunque apenas creo que esto realmente causaría cualquier problema, después de todo el software creado con GCC 4.2 y SDK 10.6 también se puede ejecutar en Mac OS 10.4 sin ningún problema siempre que el destino de despliegue se haya configurado correctamente y no se haya utilizado ninguna funcionalidad que no esté disponible bajo MacOS 10.4.
Por supuesto, siempre puede tener una instalación paralela de Xcode3 junto a Xcode4, pero eso significa que debe renunciar a todas las (¡excelentes) funciones nuevas de Xcode4 y seguir trabajando con el obsoleto IDE de Xcode3. Sin duda sería mucho mejor si también pudiera administrar todos sus proyectos antiguos dentro del mismo IDE que los nuevos y beneficiarse de las nuevas funciones disponibles. No todos los proyectos se pueden hacer 10.6 o Intel solo en el futuro previsible. Además, estoy estrictamente en contra de abolir el apoyo a plataformas anteriores antes de lo que sería realmente necesario.
¿Podemos restaurar esta funcionalidad a Xcode4?
En caso de que alguien necesite restaurar viejos SDK y compiladores de PPC en Xcode 4.3 y 4.5, este es un script que se me ocurrió. Tenga en cuenta que necesita establecer la ruta al paquete de la aplicación de Xcode y la ruta a la instalación de Xcode 3.2.6 al comienzo de la secuencia de comandos.
#!/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" .
No necesita enlazar 10.6 SDK si está usando Xcode 4.3 ya que viene con uno.
Además, el script no restaura gcc 4.2 ya que hay muchos conflictos de nombre de archivo haciendo eso. Mi objetivo es restaurar el compilador de PPC y 4.0 es lo suficientemente bueno para mí.
Esto todavía funciona con Xcode 4.3.2 de la AppStore, la versión en la que todo está contenido en un paquete de aplicaciones. Como en la sugerencia original, primero instale Xcode 3.2.6 * y luego descargue Xcode 4 de AppStore. Luego haz la siguiente magia de enlaces simbólicos:
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
Las últimas dos líneas cambian el nombre de darwin10 a darwin11 en el enlace simbólico. Supongo que las versiones futuras de OS X requerirán que se actualice según corresponda.
Para instalar Xcode 3.2.x en Lion, monte la imagen de disco de Xcode, abra Terminal, ingrese los comandos (usando bash, o los comandos equivalentes si ha cambiado el shell predeterminado):
exportar COMMAND_LINE_INSTALL = 1 abrir "/ Volumes / Xcode y iOS SDK / Xcode y iOS SDK.mpkg"
También deberá volver a establecer el reloj en una fecha anterior al 31 de marzo de 2012; de lo contrario, los certificados de seguridad no serán validados durante la instalación. ¡Puede cambiar la fecha de nuevo de forma segura después de la instalación, obviamente!
Frédéric Devernay tiene un proyecto de GitHub llamado xcodelegacy que funciona de maravilla para mí en Xcode 5.1.1, y necesita muy poco trabajo para ponerlo en marcha, solo algunas descargas.
Utilizando su proyecto, he logrado crear binarios universales que contienen las arquitecturas ppc e i386 compiladas con el SDK 10.4 usando GCC 4.0, todo desde Xcode 5.1.1 ejecutándose en Yosemite.
Me he verificado a mí mismo que los binarios universales creados funcionan bien en 10.5 Leopard y en Yosemite.
Página de inicio aquí: http://devernay.free.fr/hacks/xcodelegacy
Proyecto Git Hub aquí: https://github.com/devernay/xcodelegacy
La respuesta rápida es: ¡ Sí, podemos!
Antes de llegar a la parte de " cómo se hace ", aquí hay algunas notas sobre mi parche / hack / fix. Desde el principio, los principales objetivos han sido:
Mantenga todas las modificaciones a un mínimo absoluto.
Queremos mantener las configuraciones de Xcode lo más originales posible.Por supuesto, intente evitar aplicar parches o modificar cualquier archivo.
Queremos que todos los archivos permanezcan intactos y conservemos su contenido original.Intente evitar mover o copiar archivos, a menos que sea absolutamente necesario.
Pude mantener todos esos objetivos. Casi todo se hace creando enlaces simbólicos. Solo se tuvo que reemplazar un solo enlace simbólico existente y lo respaldaremos antes de reemplazarlo, por las dudas.
Si no es un experto en operaciones de terminal, le recomiendo que copie / pegue todos los comandos de terminal desde mi respuesta a su terminal, para evitar errores tipográficos. Tenga en cuenta que incluso el espaciado, las cotizaciones y especialmente las mayúsculas pueden ser importantes. Cópialos / pégalos línea por línea, nunca más de una línea a la vez y presiona regresar después de cada línea pegada para ejecutar el comando. Si alguna operación alguna vez le pide una contraseña, esta será la contraseña del usuario administrador actualmente conectado (sus pulsaciones de teclas no se muestran al escribir, esto es normal, no se preocupe, solo siga escribiendo la contraseña y presione regresar; -intentar si tuvo un error tipográfico y se le solicitó de nuevo).
Requisito previo
Antes de que podamos comenzar, asegúrese de que las siguientes condiciones sean verdaderas:
- Has iniciado sesión como usuario administrador.
- Ha iniciado Terminal.app (Aplicaciones / Utilidades) y una ventana de terminal está abierta.
- Tiene una copia de Xcode3 (por ejemplo, 3.2.5) y Xcode4 disk image (DMG) o instalador disponible.
- Si ya tiene instalada la versión Xcode, considere desinstalarla primero , para que pueda comenzar con una configuración nueva / limpia. La desinstalación de Xcode no eliminará sus preferencias, combinación de colores o personalizaciones de enlace de claves. Idealmente, comenzaría con un sistema que no tiene ninguna versión Xcode (ni 3 ni 4) instalada actualmente.
Paso 1: Instalar Xcode3
Importante : No instale el paquete " Herramientas del sistema " o " Desarrollo de Unix " de Xcode3.
Si usted desea instalar " Mac OS X 10.4 SDK " y / o " Documentación " depende de usted. Si se trata de un Xcode3 con iOS SDKs, si los instala o no también depende de usted.
Usted es libre de elegir cualquier carpeta de destino para su instalación. Para esta guía, he elegido " / Xcode3 ", pero puede elegir una diferente. Solo asegúrate de alterar todos los comandos de la terminal en consecuencia.
El orden de los pasos dados aquí generalmente no es realmente importante, pero le recomiendo encarecidamente que no cambie el paso 1 y el paso 2. Xcode siempre instala un par de archivos fuera de la carpeta de destino elegida y créame, al final desea el Versiones Xcode4 de esos archivos en su disco. Al instalar Xcode3 antes de Xcode4, puede estar seguro de que Xcode4 sobrescribirá esos archivos si es necesario. Una vez cambié los pasos 1 y 2 y al final tuve algunos problemas bastante extraños que podrían haber estado relacionados con el orden incorrecto (no puedo decirlo con certeza, pero después de volver a instalarlos en el orden correcto, los problemas desaparecieron).
Paso 2: Instalar Xcode4
Elija los paquetes que desee. Es aconsejable instalar " Herramientas del sistema ", pero no es estrictamente necesario (aunque la mayoría de las personas tarde o temprano omitirán esa funcionalidad).
De nuevo, siéntase libre de elegir cualquier carpeta de destino que desee. Para esta guía elegí la carpeta de destino normal " / Desarrollador ", si toma una diferente, modifique todos los comandos de la terminal en consecuencia.
Paso 3: Restaurar el soporte 10.4 / 10.5 SDK
Cambie a la ventana de su terminal y ejecute los siguientes comandos:
cd /Developer/SDKs sudo ln -s /Xcode3/SDKs/MacOSX10.4u.sdk . sudo ln -s /Xcode3/SDKs/MacOSX10.5.sdk .
Por supuesto, solo ejecute el comando para 10.4u si también instaló SDK 10.4 en el paso 1.
Esto es suficiente para devolver los SDK 10.5 (y posiblemente 10.4) a la lista de selección en Xcode4. Pruébalo si quieres. Encienda Xcode4, abra un proyecto, intente cambiar el SDK seleccionado. Eso fue fácil, ¿eh? Asegúrese de cerrar Xcode4 nuevamente (la aplicación, no solo la ventana) antes de continuar con el siguiente paso.
Paso 4: restauración del soporte de GCC 4.0
Si no ha instalado el SDK de Mac OS 10.4 o si no planea usarlo alguna vez, puede omitir este paso de manera segura y continuar con el paso 5.
Para usar SDK 10.4, deberá usar GCC 4.0, GCC 4.2 no funcionará. Apple afirma que GCC 4.2 no es compatible con SDK 10.4, bueno, si me preguntas, esto es un engaño. Ya he sobreescrito estas limitaciones más de una vez y nunca hubo el más mínimo problema por eso. Sería fácil modificar el SDK 10.4 para que Xcode le permita usar GCC 4.2 para él, pero mi objetivo era evitar todas las modificaciones de archivos, así que simplemente agregamos el soporte de GCC 4.0 a Xcode, lo cual también es bueno, porque algunos proyectos realmente dependen de GCC 4.0 (por ejemplo, hay algunos errores en GCC 4.2 que impiden que el código de ensamblado en línea válido se compile sin errores, mientras que el mismo código se compila sin problemas en GCC 4.0 y GCC 4.4).
De vuelta a la 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 .
En este momento, hemos restaurado el soporte total de GCC 4.0, excepto por el hecho de que GCC 4.0 todavía no se puede seleccionar en Xcode4. Esto se debe a que Xcode4 ya no tiene el complemento del compilador GCC 4.0. Afortunadamente, el complemento Xcode3 también funciona en Xcode4, solo la posición ha cambiado radicalmente. Apple ahora esconde esos complementos en un paquete y solo parece que los complementos funcionan, colocándolos en su posición anterior parece no tener ningún efecto.
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" .
Ahora inicie Xcode4 nuevamente, abra un proyecto e intente seleccionar el compilador. Deberías tener GCC 4.0 de nuevo en la lista. Ahora ya puede seleccionar SDK 10.4 o 10.5, GCC 4.0 y no debería tener problemas para construir un archivo binario PPC. Simplemente seleccione " Otro ... " para la configuración de construcción " Arquitectura " e ingrese manualmente " ppc ", luego modifique " Arquitecturas válidas " para incluir también " ppc ". Estamos casi listos, excepto que intentar construir un binario PPC utilizando GCC 4.2 y SDK 10.5 seguirá fallando.
Paso 5: restauración del soporte de PPC para GCC 4.2
Dado que Apple solo admite plataformas Intel en Xcode4, no todas las herramientas GCC 4.2 se han creado con soporte PPC. Hay una herramienta importante que no tiene soporte PPC, la herramienta se llama " como " y es el Ensamblador GNU. Para compilar los binarios de ppc / ppc64 con GCC 4.2, necesitamos usar una versión " como " con soporte ppc / ppc64. Este es el único archivo (en realidad, también es un enlace simbólico), tenemos que hacernos a un lado (hacer una copia de seguridad) antes de que podamos reemplazarlo por un enlace simbólico:
cd /Developer/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1 sudo mv as as.bak sudo ln -s /Xcode3/usr/bin/as .
Paso 6: No hay paso 6
Eso es todo amigos. Teniendo en cuenta lo fácil que era, se puede imaginar que Apple ciertamente no ha dejado de admitir SDK 10.4 / 10.5 o ppc / ppc64 o GCC 4.0 porque era una necesidad, lo descartaron porque querían dejarlo.
Espero que esta configuración funcione tan bien para ti como lo hace para mí. He podido compilar todos mis proyectos antiguos en Xcode4 sin ningún cambio importante, excepto por tener que modificar una ruta de búsqueda aquí y allá.
PD:
Puede parecer extraño que responda mi propia pregunta aquí, pero dado que he descubierto cómo resolver este problema yo solo, me gustaría compartir mi conocimiento con la comunidad, porque creo que esto es realmente valioso para todos los MacOS. desarrolladores por ahí. Esta pregunta se me ha hecho tantas veces en tantos lugares y hasta ahora nunca he visto a nadie encontrar una solución similar. Comparte la riqueza, disemina el conocimiento y demás, ya sabes a qué me refiero.
Si aún tiene problemas / preguntas:
Si tiene preguntas adicionales sobre este tema o si todavía tiene problemas para construir sus proyectos anteriores correctamente, haga lo que ha sido diseñado: Haga clic en "Preguntar" en la esquina superior derecha de esta página y cree una nueva pregunta . De esta forma, toda la comunidad puede ayudarlo a resolver esos problemas, ya que los problemas pueden no estar relacionados directamente (tal vez ni indirectamente) con este truco.
Te recomendaría que menciones el hecho de que aplicaste este truco al principio de tu pregunta. Tal vez incluso quiera vincular directamente esta pregunta, para que la gente que nunca escuchó sobre este truco pueda buscarla fácilmente. De lo contrario, la mayoría de la gente se confundirá cuando mencione SDK 10.4 / 10.5, PPC o GCC 4.0 en combinación con Xcode4, que oficialmente no admite ninguno de estos. Es posible que obtenga comentarios bastante estúpidos en lugar de respuestas decentes si olvida mencionar este truco.
Por favor absténgase de publicar sus preguntas o problemas aquí como respuestas o como comentarios. Publicarlas como respuestas no tiene sentido porque no hay respuestas y no hay forma de que las personas puedan responderte, otras luego usar comentarios, y los comentarios pueden no ofrecer suficiente espacio para una respuesta decente a tu pregunta o una solución decente para tu problema. Y publicarlos como comentarios significa que está limitado a muy poco espacio y los comentarios de respuesta de seguimiento serán difíciles ya que los comentarios no tienen una jerarquía de árbol (además, aún ofrecen poco espacio para respuestas / soluciones decentes). Gracias.
Por supuesto, otro tipo de comentarios, así como mejores respuestas a la pregunta original son siempre bienvenidos ;-)
Otra forma sencilla con solo Xcode4, Xcode3 ya no es necesaria.
$ 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
EDICIONES:
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
Puedes usar gcc-4.2 solo para PowerPC. Y se requiere la opción "-isysroot /Developer/SDKs/MacOSX10.6.sdk", porque 10.7 SDK ya no es compatible con PowerPC.
Recopilé toda la información de esta página, Mac OS X Hints, splhack.org y las otras fuentes citadas aquí, y armé un conjunto de scripts BASH que automatizan el proceso de restauración del soporte PPC y GCC 4.0 utilizando un Instalación de XCode 3 o solo los archivos de la plataforma iPhone de XCode 4.
Como siempre, ¡use con precaución! y por favor contribuya con cualquier corrección o mejora. Estas secuencias de comandos solo se han probado en mi propio sistema a partir de esta publicación.
Puedes descargarlos de GitHub:
Sería útil tener un paquete para instalar estos archivos en una implementación de XCode 4. (o un tarball).
FYI: 3.2.6 de Xcode3 no incluye una arquitectura as como ppc. Pero tenía una copia de seguridad de Leopard en mi computadora. Así que copié ese, parece funcionar. (Utilice / usr / libexec / gcc / darwin / ppc / as).
Teniendo en cuenta que tanto gcc como as son de código abierto, lo único que puede no ser redistribuible es el plugin xcode y el SDK 10.4 ¿no?
Si también quieres que gcc funcione desde la línea de comandos (además de la anterior), también deberás:
cd /usr/libexec/gcc/powerpc-apple-darwin10/4.2.1
sudo mv as as.bak
sudo ln -s /Xcode3/usr/bin/as .