Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  0 453
Er det noen som har erfaring med Autotools (http://sources.redhat.com/autobook/? Jeg har nemlig skrevet et c library som skal hjelpe meg (og kanskje andre) med debugging i c programmer jeg skriver.

Autotools skal visstnok være bra når det kommer til distribuering av c programmer og libraries. Spørsmålet er bare hvordan jeg skriver Automake.am og configure.ac slik at mitt c library blir distribuert som et shared library (ikke static). Tipper jeg mangler et flag eller to i Makefile.am, men finner ikke ut av det =( Tror ikke jeg helt har skjønt dette heller, tar bare kode fra eksempler og ser om det funker, unix er ikke min sterke side.

Når jeg senere skal bruke biblioteket i et c program, skriver jeg bare #include "libmydeb.h" da. Og under kompilering linker opp med -l og -L?

Autotools koden jeg har atm:

Makefile.am

Kode

AM_CFFLAGS = -g -Wall -shared -fPIC
lib_LTLIBRARIES = libmydeb.la
libmydeb_la_SOURCES = mydeb.c

dist-hook:
        rm -f $(distdir)/*~
configure.ac

Kode

AC_INIT(libmydeb, 1.0, xx@email.com)
AM_INIT_AUTOMAKE(libmydeb, 1.0)
#check for programs
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_LIBTOOL
#check for libraries

#check for header files
AC_CHECK_HEADERS(stdarg.h varargs.h, break)
#check for types

#check for structures

#check for compiler characteristics

#check for library functions
AC_FUNC_VPRINTF
AC_CHECK_FUNCS(_doprnt)
#check for system service
AC_CONFIG_FILES(Makefile)
AC_OUTPUT
Glemte å nevne at jeg får produsert en distribueringspakke med Autotools, den innholder bla. libmydeb.la, mydeb.lo. Er dette det dynamiske biblioteket? Hvordan bruker jeg det i såfall? Ser ingen .h fil...
Sist endret av Camv; 10. februar 2009 kl. 10:28. Grunn: Automatisk sammenslåing med etterfølgende innlegg.