definir la palabra clave local globalmente en una configuración de macports

0

Mi objetivo principal es habilitar globalmente todos los puertos para compilar con macports-clang-3.4 y usar libc ++ en lugar de libstdc ++.

Por ejemplo, cuando trabajo con un puerto, necesito configurar configure.compiler=macports-clang-3.4 y configure.cxx_stdlib=c++11 en la línea de comandos. Pero, ¿cómo puedo configurar estas variables a través de la configuración de macports de manera global para que cualquier invocación de port use automáticamente mis valores predeterminados? variants.conf solo acepta variantes y sin palabras clave y macports.conf solo incluye palabras clave globales.

    
pregunta kworr 24.01.2014 - 17:59

1 respuesta

3

Supongo que estás en un sistema < Mavericks porque, de lo contrario, libc++ y un ruido reciente ya serían su valor predeterminado y forzarlo no tendría mucho sentido.

Use el tronco de MacPorts (o espere la versión 2.3) y configure las siguientes opciones en $prefix/etc/macports.conf :

  • cxx_stdlib libc++
  • buildfromsource always
  • delete_la_files yes

Si usa Xcode > = 4.2, no me molestaría en cambiar el compilador predeterminado, ya que el clang del sistema ya es el compilador de MacPorts preferido y algunos puertos cambian específicamente si eso no funciona (lo que podría interrumpirse si lo fuerza). ser un compilador diferente). Si un puerto no funciona con tu versión del sistema, no funcionará con un nuevo lenguaje, los puertos normalmente elegirán un macports-clang en su lugar.

Si utiliza Xcode < 4.2, agrega default_compilers macports-clang-3.4 macports-clang-3.3 macports-llvm-gcc-4.2 apple-gcc-4.2 a tu macports.conf . Tenga en cuenta que hacer esto no tiene soporte alguno, está deliberadamente no documentado y si se rompe, puede quedarse con las piezas.

Necesitas reinstalar todos tus puertos después de hacer eso.

    
respondido por el neverpanic 04.03.2014 - 01:25

Lea otras preguntas en las etiquetas