Hi Ralf,

thanks for your fast reply.

> > This might be a very common question ; I checked the archives, but
> > didn't find anything relevant, unfortunately.
> 
> Hmm, don't know.  The problem is under-determined (read: we need more
> information to give an answer).

Yes sorry.

> > I'm trying to build both a static and a shared library.  This used to
> > work fine with libtool-1.4, but since I upgraded to libtool-1.5, I can't
> > build a static library any more.  I gave a try to the Changelog, but it
> > is too heavy, IMO.
> 
> Which exact libtool version, on which system, what does configure
> output, what's in config.log, how does the `libtool --mode=link' line
> look like and what does it output?  With all this information, we might
> be able to say where the problem is.  You may pack (bzip2, gzip) long
> files.
> 
> In general, it should be possible to build both static and shared with
> branch-1-5 as well; I do it all the time.  :)

I'm sure it possible and I'm currently missing something.  I don't use
autotools, I just use libtool manually, as explained in the
documentation.

I attached my Makefile, I hope this mailing-list doesn't get rid of
MIME attachement.

Here is the output with libtool-1.4.3 :
%%%
    droopy:Sitalibs-C$ make
    libtool --mode=compile cc -c  -W -Werror -Wall -std=c99 -posix -g -o 
socket.o socket.c
    rm -f .libs/socket.lo
    cc -c -W -Werror -Wall -std=c99 -posix -g socket.c  -fPIC -DPIC -o socket.o
    mv -f socket.o .libs/socket.lo
    cc -c -W -Werror -Wall -std=c99 -posix -g socket.c -o socket.o >/dev/null 
2>&1
    mv -f .libs/socket.lo socket.lo
    libtool --mode=compile cc -c  -W -Werror -Wall -std=c99 -posix -g -o strl.o 
strl.c
    rm -f .libs/strl.lo
    cc -c -W -Werror -Wall -std=c99 -posix -g strl.c  -fPIC -DPIC -o strl.o
    mv -f strl.o .libs/strl.lo
    cc -c -W -Werror -Wall -std=c99 -posix -g strl.c -o strl.o >/dev/null 2>&1
    mv -f .libs/strl.lo strl.lo
    libtool --mode=link cc -o libsitalibs.a socket.o strl.o Makefile -static
    ar cru libsitalibs.a socket.o strl.o  
    ranlib libsitalibs.a
    libtool --mode=link cc -o libsitalibs.la socket.lo strl.lo Makefile 
-version-number 1 -rpath /usr/lib
    rm -fr .libs/libsitalibs.la .libs/libsitalibs.* .libs/libsitalibs.*
    gcc -shared  socket.lo strl.lo   -Wl,-soname -Wl,libsitalibs.so.0 -o 
.libs/libsitalibs.so.0.0.0
    (cd .libs && rm -f libsitalibs.so.0 && ln -s libsitalibs.so.0.0.0 
libsitalibs.so.0)
    (cd .libs && rm -f libsitalibs.so && ln -s libsitalibs.so.0.0.0 
libsitalibs.so)
    ar cru .libs/libsitalibs.a  socket.o strl.o 
    ranlib .libs/libsitalibs.a
    creating libsitalibs.la
    (cd .libs && rm -f libsitalibs.la && ln -s ../libsitalibs.la libsitalibs.la)
%%%


And the output with libtool-1.5.6 :
%%%
    libtool --mode=compile cc -c  -W -Werror -Wall -std=c99 -posix -g -o 
socket.o socket.c
     cc -c -W -Werror -Wall -std=c99 -posix -g socket.c 
    mv -f socket.o .libs/socket.o
     cc -c -W -Werror -Wall -std=c99 -posix -g socket.c >/dev/null 2>&1
    libtool --mode=compile cc -c  -W -Werror -Wall -std=c99 -posix -g -o strl.o 
strl.c
     cc -c -W -Werror -Wall -std=c99 -posix -g strl.c 
    mv -f strl.o .libs/strl.o
     cc -c -W -Werror -Wall -std=c99 -posix -g strl.c >/dev/null 2>&1
    libtool --mode=link cc -o libsitalibs.a socket.o strl.o Makefile -static
    libtool --mode=link cc -o libsitalibs.la socket.lo strl.lo Makefile 
-version-number 1 -rpath /usr/lib
    rm -fr  .libs/libsitalibs.la .libs/libsitalibs.lai .libs/libsitalibs.so 
.libs/libsitalibs.so.1 .libs/libsitalibs.so.1.0.0
    cc -shared  .libs/socket.o .libs/strl.o    -Wl,-soname -Wl,libsitalibs.so.1 
-o .libs/libsitalibs.so.1.0.0
    (cd .libs && rm -f libsitalibs.so.1 && ln -s libsitalibs.so.1.0.0 
libsitalibs.so.1)
    (cd .libs && rm -f libsitalibs.so && ln -s libsitalibs.so.1.0.0 
libsitalibs.so)
    creating libsitalibs.la
    (cd .libs && rm -f libsitalibs.la && ln -s ../libsitalibs.la libsitalibs.la)
%%%


As you can see, no command is issued when I'm trying to build
libsitalibs.a with libtool-1.5.6.  (Note that I have recently added the
"-static" argument, while trying to make libtool-1.5 behave correctly).

Thank you.
Regards,
-- 
Jeremie LE HEN aka TtZ/TataZ                      [EMAIL PROTECTED]
                                                             [EMAIL PROTECTED]
Q: Because it reverses the logical flow of conversation.
A: Why is putting a reply at the top of the message frowned upon?
.PHONY:         all clean test install
# Add .lo to the list of implicit rules suffixes.
.SUFFIXES:      .lo

LIBNAME=        sitalibs
VERSION=        1
DESTDIR?=       
SRCS=           socket.c strl.c
INCLS=          socket.h strl.h

DEBUG?=         -g
CFLAGS?=        -W -Werror -Wall -std=c99 -posix
INSTALLFLAGS?=  -o root -g root

CFLAGS+=        ${DEBUG}
LIB_A=          lib${LIBNAME}.a
LIB_SO=         lib${LIBNAME}.la
OBJS_A=         ${SRCS:.c=.o}
OBJS_SO=        ${SRCS:.c=.lo}
OBJS=           ${LIB_A} ${LIB_SO} ${OBJS_A} ${OBJS_SO}

all:            ${LIB_A} ${LIB_SO}

clean:
        libtool --mode=clean /bin/rm
        rm -f ${OBJS}

test:           ${LIB_A}
        make -C tests

install:        ${LIB_A} ${LIB_SO}
        mkdir -p ${DESTDIR}/usr/lib
        chmod 755 ${DESTDIR}/usr/lib
        mkdir -p ${DESTDIR}/usr/include/${LIBNAME}
        chmod 755 ${DESTDIR}/usr/include/${LIBNAME}
        for lib in ${LIB_A} ${LIB_SO} ; do \
                libtool --mode=install install ${INSTALLFLAGS} -m 644 $$lib 
${DESTDIR}/usr/lib ;\
        done
        for incl in ${INCLS} ; do \
                libtool --mode=install install ${INSTALLFLAGS} -m 644 $$incl 
${DESTDIR}/usr/include/${LIBNAME} ;\
        done

# Common dependency for all generated files.
${OBJS}:        Makefile

${LIB_A}:       ${OBJS_A}
        libtool --mode=link ${CC} -o $@ $^ -static

# -rpath is mandatory, libtool --mode=install will fail otherwise.
${LIB_SO}:      ${OBJS_SO}
        libtool --mode=link ${CC} -o $@ $^ -version-number ${VERSION} -rpath 
${DESTDIR}/usr/lib

%.o %.lo : %.c %.h
        libtool --mode=compile ${CC} -c ${CPPFLAGS} ${CFLAGS} -o $@ $<
_______________________________________________
http://lists.gnu.org/mailman/listinfo/libtool

Reply via email to