On Fri, Jul 20, 2001 at 04:17:38PM -0400, Matt Zimmerman wrote:> Maybe the easy way to get around all of this is to build a plain old .a archive > for the assembler stuff, instead of a libtool .la library. This may or may not > cause problems when linking the libFLAC shared library. I'll try it.It does work, but gives a warning: *** Warning: Linking the shared library libFLAC.la against the *** static library ia32/libFLAC-asm.a is not portable! I think this is just because libtool can't determine whether the objects in libFLAC-asm.a are PIC or not. In our case, it shouldn't matter. I'll try one other approach (getting nasm to act like gas), but for now, here is a patch. -- - mdz -------------- next part -------------- Index: Makefile.am ==================================================================RCS file: /cvsroot/flac/flac/src/libFLAC/Makefile.am,v retrieving revision 1.14 diff -u -r1.14 Makefile.am --- Makefile.am 2001/07/16 18:10:19 1.14 +++ Makefile.am 2001/07/20 20:21:58 @@ -32,7 +32,7 @@ if FLaC__CPU_IA32 if FLaC__HAS_NASM SUBDIRS = ia32 . -libFLAC_la_LIBADD = ia32/libFLAC-asm.la +libFLAC_la_LIBADD = ia32/libFLAC-asm.a endif endif endif Index: ia32/Makefile.am ==================================================================RCS file: /cvsroot/flac/flac/src/libFLAC/ia32/Makefile.am,v retrieving revision 1.5 diff -u -r1.5 Makefile.am --- ia32/Makefile.am 2001/07/16 18:04:19 1.5 +++ ia32/Makefile.am 2001/07/20 20:21:58 @@ -20,14 +20,13 @@ STRIP_FPIC = sh $(top_srcdir)/strip_fPIC.sh -.nasm.lo: - $(LIBTOOL) --tag=CC --mode=compile \ - $(STRIP_FPIC) $(NASM) -f $(OBJ_FORMAT) -d OBJ_FORMAT_$(OBJ_FORMAT) $< +.nasm.o: + $(NASM) -f $(OBJ_FORMAT) -d OBJ_FORMAT_$(OBJ_FORMAT) $< #@@@OLD RULE: $(NASM) -f $(OBJ_FORMAT) -d OBJ_FORMAT_$(OBJ_FORMAT) $< -o $@ -noinst_LTLIBRARIES = libFLAC-asm.la -libFLAC_asm_la_SOURCES = \ +noinst_LIBRARIES = libFLAC-asm.a +libFLAC_asm_a_SOURCES = \ cpu_asm.nasm \ fixed_asm.nasm \ lpc_asm.nasm
On Fri, Jul 20, 2001 at 02:42:21PM -0700, Josh Coalson wrote:> --- Matt Zimmerman <mdz@debian.org> wrote: > > It does work, but gives a warning: > > > > *** Warning: Linking the shared library libFLAC.la against the *** static > > library ia32/libFLAC-asm.a is not portable! > > > > I think this is just because libtool can't determine whether the objects in > > libFLAC-asm.a are PIC or not. In our case, it shouldn't matter. I'll try > > one other approach (getting nasm to act like gas), but for now, here is a > > patch. > > Hmm, doesn't work for me (but I'm using libtool-1.3.5). I get: > > libtool: link: cannot build libtool library `libFLAC.la' from non-libtool > objects: ia32/libFLAC-asm.a > > Time to get libtool-1.4 I guess... I hope it's not so new that most people > don't have it.automake will include ltmain.sh in the source distribution, so it should be used even if it isn't installed on the build system. In fact, it seems to always use the distributed version, and not the installed one (which is sometimes annoying). -- - mdz
--- Matt Zimmerman <mdz@debian.org> wrote:> On Fri, Jul 20, 2001 at 04:17:38PM -0400, Matt Zimmerman wrote: > > > Maybe the easy way to get around all of this is to build a plain > old .a archive > > for the assembler stuff, instead of a libtool .la library. This > may or may not > > cause problems when linking the libFLAC shared library. I'll try > it. > > It does work, but gives a warning: > > *** Warning: Linking the shared library libFLAC.la against the > *** static library ia32/libFLAC-asm.a is not portable! > > I think this is just because libtool can't determine whether the > objects in > libFLAC-asm.a are PIC or not. In our case, it shouldn't matter. > I'll try one > other approach (getting nasm to act like gas), but for now, here is a > patch.Hmm, doesn't work for me (but I'm using libtool-1.3.5). I get: libtool: link: cannot build libtool library `libFLAC.la' from non-libtool objects: ia32/libFLAC-asm.a Time to get libtool-1.4 I guess... I hope it's not so new that most people don't have it. Josh __________________________________________________ Do You Yahoo!? Get personalized email addresses from Yahoo! Mail http://personal.mail.yahoo.com/