[Flac-dev] 1.0 candidate checked in
Matt Zimmerman
mdz at debian.org
Sat Jul 21 14:16:30 PDT 2001
On Sat, Jul 21, 2001 at 04:06:14PM -0400, Matt Zimmerman wrote:
> Argh. Maybe libtool will have to get involved after all. I'll work on it
> this afternoon.
I think I give up. automake and libtool assume that the compiler will be able
to assemble stuff, and compilers don't generally understand NASM input. I
don't like the strip_fPIC bit, since just about anything that could go in
CFLAGS might be passed by libtool, and nasm doesn't understand compiler flags.
However, I can't come up with anything better at the moment, and this seems to
work for SDL, so I guess we go back to src/libFLAC/ia32/Makefile.am version 1.5
(plus my automake patch). The libtool command line needs to be modified to
use "-o $@", otherwise libtool gives the error:
/bin/sh ../../../libtool --mode=compile \
sh ../../../strip_fPIC.sh nasm -f elf -d OBJ_FORMAT_elf cpu_asm.nasm
libtool: compile: cannot determine name of library object from `cpu_asm.nasm'
make: *** [cpu_asm.lo] Error 1
Changing the rule to:
$(LIBTOOL) --mode=compile \
$(STRIP_FPIC) $(NASM) -f $(OBJ_FORMAT) -d OBJ_FORMAT_$(OBJ_FORMAT) -o $@ $<
fixes that, but we still have the issue of --tag with libtool > 1.4. The
way I see it, we have two options:
1. Ship with libtool 1.4b. This is pre-release software, and I don't know what
issues might be associated with it.
2. Ship with libtool 1.4. Users who want to use a later version on i386 will
have to make a small patch to the ia32 makefile.
The good news is, libtool 1.4b seems to support enable/disable of shared
library building at runtime, so we won't need that awful libtool-disable-static
bit anymore. We can just use --tag=disable-shared once we ship that version.
Also, I think it should be possible to create a tagged configuration for NASM
so we don't have to worry about the -fPIC issue.
I like what I see in libtool 1.4b, but I don't know if its widespread use is
recommended yet. Ideas?
--
- mdz
More information about the Flac-dev
mailing list