2010-03-04 13 views
10

Al estar perfectamente satisfecho con los Makefiles antiguos, estoy buscando una alternativa simple a libtool. No quiero cambiar a automake, y sigo teniendo problemas con libtool cuando trato de usarlo directamente. La última es 'propiedades de hardcode no compatibles', y estoy harto de la falta de documentación completa que solo me dice qué es lo que está mal esta vez ...¿Alternativa libtool simple?

Solo quiero compilar un grupo de archivos .o con las banderas correctas y luego vincularlas a una biblioteca compartida, de modo que funcione en tantas plataformas como sea posible. ¿Hay algo por ahí que haga exactamente eso y no me obligue a cambiar todas mis otras herramientas al mismo tiempo?

+3

¿De qué manera el uso de automake implica que debe cambiar todas sus herramientas? Escribir sus propios archivos MAKE significa que debe incluir soporte de forma manual para * muchas * cosas que automake hace por usted automáticamente. Cuando cambié al uso de automake, solo cambió una cosa: mis Makefiles de 150 líneas se convirtieron en 10 Makefile.ams mucho más atractivos. Todas las demás herramientas se mantuvieron igual. –

Respuesta

3

Hay jlibtool (que no tiene nada que ver con java).

Está escrito en C y se puede unir con su fuente.

en su origen fue un apache project, pero el que estaba trabajando allí parece DE abandonado alrededor de 2004.

Fue tomado por FreeRADIUS proyecto mantenedor Alan DeKok, que modernizó el código y fija algunos problemas insignificantes. Lo usamos para el proyecto FreeRADIUS (> = 3.0.0) para hacer todo el enlace del tiempo de compilación.

6

No estoy seguro de si encajaría en su flujo de trabajo, pero le recomiendo mirar CMake. Funciona en Windows, Linux y Mac y no debe forzarlo a cambiar ninguna de sus otras herramientas. Sin embargo, usted tendrá que juzgar su idoneidad.

+0

Conozco CMake, pero eso es un poco más de lo que estaba buscando. No quiero cambiar mi sistema Makefile a otra cosa, solo quiero una herramienta que le digo: "dame los indicadores del compilador para que pueda compilar estos n archivos para su uso en una biblioteca compartida, y luego dame el comandos para unirlos ". –

3

Teniendo en cuenta su descripción en el comentario a la respuesta Milliams',

Sólo quiero una herramienta que le digo: "dame las opciones del compilador para que pueda compilar estos n archivos para su uso en una biblioteca compartida , y luego dame los comandos para unirlos ",

entonces libtool bien puede ser la herramienta más simple para el trabajo. No conozco otra alternativa.

Tienes razón en que la documentación para usar libtool con makefiles simples es prácticamente inexistente, pero libtool ciertamente no requiere que cambies a automake. Las bibliotecas multiplataforma son difíciles, y el precio que tiene que pagar por ellas es libtool. (O tal vez el precio de descuento es libtool + automake + autoconf o CMake o Jam.)

+0

Tenía miedo de esa respuesta ... ¿Hay quizás alguien que sepa cuál es la forma recomendada de configurar libtool en configure.in, sin hacer eso a través de automake? (es decir, utilizando solo autoconf, no automake). –