Compilando boost para soportar i386 y x86_64 (y PowerPC) en Mac

Queremos compilar el wmelite para MacOS en vísperas del lanzamiento para MacOS de Reversion. Así es que hoy me encuentro desafiando la gravedad o tal vez estoy directamente en una verdadera Odisea luchando contra una raza que parecería ser extraterrestre (desvarié un poco, lo se).

La cosa es sencilla, una vez que uno entiende lo que tiene que hacer (gran desafío diría mi analista), en el momento que estoy escribiendo esto la última estable era la 1.51.

  • Descargar el código fuente (que es super flexible y viene muy preparado)
  • Compilar combinado una arquitectura (x86_64), después la otra (i386)
  • Verificarlas usando lipo
# compilar
./b2 link=static threading=multi toolset=darwin \
architecture=x86 target-os=darwin address-model=32_64 \
stage --with-system --with-filesystem

# verificar que se generó bien
lipo -info stage/lib/libboost_filesystem.a

# resultado esperado:
Architectures in the fat file: stage/lib/libboost_filesystem.a are: i386 x86_64

Yo quería:

  • estáticas (porque sólo necesitaba los .a y no los .dylib)
  • soporte multi-threading
  • sistema operativo basado en darwin (MacOS)
  • arquitecturas combinadas x86 y modelo de direcciones 32/64
  • las librerías system y filesystem

Recuerden que adentro del directorio boost estarán los hpp para incluirlos en cualquiera de nuestros proyectos.
Esta información está basada en esto.


Discussion Area - Leave a Comment