remove libtool support
Libtool support was needed to build shared library for libcacard. Now there's no need to use libtool, and since the build system is already complicated enough, we have a way to slightly de-complicate it. Signed-off-by: Michael Tokarev <mjt@tls.msk.ru> Reviewed-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
This commit is contained in:
parent
88c73d16ad
commit
e999ee4434
|
@ -116,38 +116,6 @@ compile_prog() {
|
||||||
do_cc $QEMU_CFLAGS $local_cflags -o $TMPE $TMPC $LDFLAGS $local_ldflags
|
do_cc $QEMU_CFLAGS $local_cflags -o $TMPE $TMPC $LDFLAGS $local_ldflags
|
||||||
}
|
}
|
||||||
|
|
||||||
do_libtool() {
|
|
||||||
local mode=$1
|
|
||||||
shift
|
|
||||||
# Run the compiler, capturing its output to the log.
|
|
||||||
echo $libtool $mode --tag=CC $cc "$@" >> config.log
|
|
||||||
$libtool $mode --tag=CC $cc "$@" >> config.log 2>&1 || return $?
|
|
||||||
# Test passed. If this is an --enable-werror build, rerun
|
|
||||||
# the test with -Werror and bail out if it fails. This
|
|
||||||
# makes warning-generating-errors in configure test code
|
|
||||||
# obvious to developers.
|
|
||||||
if test "$werror" != "yes"; then
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
# Don't bother rerunning the compile if we were already using -Werror
|
|
||||||
case "$*" in
|
|
||||||
*-Werror*)
|
|
||||||
return 0
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
echo $libtool $mode --tag=CC $cc -Werror "$@" >> config.log
|
|
||||||
$libtool $mode --tag=CC $cc -Werror "$@" >> config.log 2>&1 && return $?
|
|
||||||
error_exit "configure test passed without -Werror but failed with -Werror." \
|
|
||||||
"This is probably a bug in the configure script. The failing command" \
|
|
||||||
"will be at the bottom of config.log." \
|
|
||||||
"You can run configure with --disable-werror to bypass this check."
|
|
||||||
}
|
|
||||||
|
|
||||||
libtool_prog() {
|
|
||||||
do_libtool --mode=compile $QEMU_CFLAGS -c -fPIE -DPIE -o $TMPO $TMPC || return $?
|
|
||||||
do_libtool --mode=link $LDFLAGS -o $TMPA $TMPL -rpath /usr/local/lib
|
|
||||||
}
|
|
||||||
|
|
||||||
# symbolically link $1 to $2. Portable version of "ln -sf".
|
# symbolically link $1 to $2. Portable version of "ln -sf".
|
||||||
symlink() {
|
symlink() {
|
||||||
rm -rf "$2"
|
rm -rf "$2"
|
||||||
|
@ -398,7 +366,6 @@ as="${AS-${cross_prefix}as}"
|
||||||
cpp="${CPP-$cc -E}"
|
cpp="${CPP-$cc -E}"
|
||||||
objcopy="${OBJCOPY-${cross_prefix}objcopy}"
|
objcopy="${OBJCOPY-${cross_prefix}objcopy}"
|
||||||
ld="${LD-${cross_prefix}ld}"
|
ld="${LD-${cross_prefix}ld}"
|
||||||
libtool="${LIBTOOL-${cross_prefix}libtool}"
|
|
||||||
nm="${NM-${cross_prefix}nm}"
|
nm="${NM-${cross_prefix}nm}"
|
||||||
strip="${STRIP-${cross_prefix}strip}"
|
strip="${STRIP-${cross_prefix}strip}"
|
||||||
windres="${WINDRES-${cross_prefix}windres}"
|
windres="${WINDRES-${cross_prefix}windres}"
|
||||||
|
@ -1514,7 +1481,6 @@ EOF
|
||||||
if do_cc $QEMU_CFLAGS -Werror $flag -c -o $TMPO $TMPC &&
|
if do_cc $QEMU_CFLAGS -Werror $flag -c -o $TMPO $TMPC &&
|
||||||
compile_prog "-Werror $flag" ""; then
|
compile_prog "-Werror $flag" ""; then
|
||||||
QEMU_CFLAGS="$QEMU_CFLAGS $flag"
|
QEMU_CFLAGS="$QEMU_CFLAGS $flag"
|
||||||
LIBTOOLFLAGS="$LIBTOOLFLAGS -Wc,$flag"
|
|
||||||
sp_on=1
|
sp_on=1
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
|
@ -1609,32 +1575,6 @@ EOF
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# check for broken gcc and libtool in RHEL5
|
|
||||||
if test -n "$libtool" -a "$pie" != "no" ; then
|
|
||||||
cat > $TMPC <<EOF
|
|
||||||
|
|
||||||
void *f(unsigned char *buf, int len);
|
|
||||||
void *g(unsigned char *buf, int len);
|
|
||||||
|
|
||||||
void *
|
|
||||||
f(unsigned char *buf, int len)
|
|
||||||
{
|
|
||||||
return (void*)0L;
|
|
||||||
}
|
|
||||||
|
|
||||||
void *
|
|
||||||
g(unsigned char *buf, int len)
|
|
||||||
{
|
|
||||||
return f(buf, len);
|
|
||||||
}
|
|
||||||
|
|
||||||
EOF
|
|
||||||
if ! libtool_prog; then
|
|
||||||
echo "Disabling libtool due to broken toolchain support"
|
|
||||||
libtool=
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
##########################################
|
##########################################
|
||||||
# __sync_fetch_and_and requires at least -march=i486. Many toolchains
|
# __sync_fetch_and_and requires at least -march=i486. Many toolchains
|
||||||
# use i686 as default anyway, but for those that don't, an explicit
|
# use i686 as default anyway, but for those that don't, an explicit
|
||||||
|
@ -2240,21 +2180,6 @@ if test "$xen_pv_domain_build" = "yes" &&
|
||||||
"which requires Xen support."
|
"which requires Xen support."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
##########################################
|
|
||||||
# libtool probe
|
|
||||||
|
|
||||||
if ! has $libtool; then
|
|
||||||
libtool=
|
|
||||||
fi
|
|
||||||
|
|
||||||
# MacOSX ships with a libtool which isn't the GNU one; weed this
|
|
||||||
# out by checking whether libtool supports the --version switch
|
|
||||||
if test -n "$libtool"; then
|
|
||||||
if ! "$libtool" --version >/dev/null 2>&1; then
|
|
||||||
libtool=
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
##########################################
|
##########################################
|
||||||
# Sparse probe
|
# Sparse probe
|
||||||
if test "$sparse" != "no" ; then
|
if test "$sparse" != "no" ; then
|
||||||
|
@ -5525,13 +5450,8 @@ echo "MAKE=$make" >> $config_host_mak
|
||||||
echo "INSTALL=$install" >> $config_host_mak
|
echo "INSTALL=$install" >> $config_host_mak
|
||||||
echo "INSTALL_DIR=$install -d -m 0755" >> $config_host_mak
|
echo "INSTALL_DIR=$install -d -m 0755" >> $config_host_mak
|
||||||
echo "INSTALL_DATA=$install -c -m 0644" >> $config_host_mak
|
echo "INSTALL_DATA=$install -c -m 0644" >> $config_host_mak
|
||||||
if test -n "$libtool"; then
|
echo "INSTALL_PROG=$install -c -m 0755" >> $config_host_mak
|
||||||
echo "INSTALL_PROG=\$(LIBTOOL) --mode=install $install -c -m 0755" >> $config_host_mak
|
echo "INSTALL_LIB=$install -c -m 0644" >> $config_host_mak
|
||||||
echo "INSTALL_LIB=\$(LIBTOOL) --mode=install $install -c -m 0644" >> $config_host_mak
|
|
||||||
else
|
|
||||||
echo "INSTALL_PROG=$install -c -m 0755" >> $config_host_mak
|
|
||||||
echo "INSTALL_LIB=$install -c -m 0644" >> $config_host_mak
|
|
||||||
fi
|
|
||||||
echo "PYTHON=$python" >> $config_host_mak
|
echo "PYTHON=$python" >> $config_host_mak
|
||||||
echo "CC=$cc" >> $config_host_mak
|
echo "CC=$cc" >> $config_host_mak
|
||||||
if $iasl -h > /dev/null 2>&1; then
|
if $iasl -h > /dev/null 2>&1; then
|
||||||
|
@ -5549,7 +5469,6 @@ echo "OBJCOPY=$objcopy" >> $config_host_mak
|
||||||
echo "LD=$ld" >> $config_host_mak
|
echo "LD=$ld" >> $config_host_mak
|
||||||
echo "NM=$nm" >> $config_host_mak
|
echo "NM=$nm" >> $config_host_mak
|
||||||
echo "WINDRES=$windres" >> $config_host_mak
|
echo "WINDRES=$windres" >> $config_host_mak
|
||||||
echo "LIBTOOL=$libtool" >> $config_host_mak
|
|
||||||
echo "CFLAGS=$CFLAGS" >> $config_host_mak
|
echo "CFLAGS=$CFLAGS" >> $config_host_mak
|
||||||
echo "CFLAGS_NOPIE=$CFLAGS_NOPIE" >> $config_host_mak
|
echo "CFLAGS_NOPIE=$CFLAGS_NOPIE" >> $config_host_mak
|
||||||
echo "QEMU_CFLAGS=$QEMU_CFLAGS" >> $config_host_mak
|
echo "QEMU_CFLAGS=$QEMU_CFLAGS" >> $config_host_mak
|
||||||
|
@ -5568,7 +5487,6 @@ else
|
||||||
fi
|
fi
|
||||||
echo "LDFLAGS=$LDFLAGS" >> $config_host_mak
|
echo "LDFLAGS=$LDFLAGS" >> $config_host_mak
|
||||||
echo "LDFLAGS_NOPIE=$LDFLAGS_NOPIE" >> $config_host_mak
|
echo "LDFLAGS_NOPIE=$LDFLAGS_NOPIE" >> $config_host_mak
|
||||||
echo "LIBTOOLFLAGS=$LIBTOOLFLAGS" >> $config_host_mak
|
|
||||||
echo "LIBS+=$LIBS" >> $config_host_mak
|
echo "LIBS+=$LIBS" >> $config_host_mak
|
||||||
echo "LIBS_TOOLS+=$libs_tools" >> $config_host_mak
|
echo "LIBS_TOOLS+=$libs_tools" >> $config_host_mak
|
||||||
echo "EXESUF=$EXESUF" >> $config_host_mak
|
echo "EXESUF=$EXESUF" >> $config_host_mak
|
||||||
|
|
|
@ -3064,7 +3064,6 @@ Additional Requirements (install in order):
|
||||||
@item pkg-config: @uref{http://www.freedesktop.org/wiki/Software/pkg-config/}
|
@item pkg-config: @uref{http://www.freedesktop.org/wiki/Software/pkg-config/}
|
||||||
@item autoconf: @uref{http://www.gnu.org/software/autoconf/autoconf.html}
|
@item autoconf: @uref{http://www.gnu.org/software/autoconf/autoconf.html}
|
||||||
@item automake: @uref{http://www.gnu.org/software/automake/}
|
@item automake: @uref{http://www.gnu.org/software/automake/}
|
||||||
@item libtool: @uref{http://www.gnu.org/software/libtool/}
|
|
||||||
@item pixman: @uref{http://www.pixman.org/}
|
@item pixman: @uref{http://www.pixman.org/}
|
||||||
@end enumerate
|
@end enumerate
|
||||||
|
|
||||||
|
|
18
rules.mak
18
rules.mak
|
@ -62,27 +62,9 @@ expand-objs = $(strip $(sort $(filter %.o,$1)) \
|
||||||
# must link with the C++ compiler, not the plain C compiler.
|
# must link with the C++ compiler, not the plain C compiler.
|
||||||
LINKPROG = $(or $(CXX),$(CC))
|
LINKPROG = $(or $(CXX),$(CC))
|
||||||
|
|
||||||
ifeq ($(LIBTOOL),)
|
|
||||||
LINK = $(call quiet-command, $(LINKPROG) $(QEMU_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ \
|
LINK = $(call quiet-command, $(LINKPROG) $(QEMU_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ \
|
||||||
$(call process-archive-undefs, $1) \
|
$(call process-archive-undefs, $1) \
|
||||||
$(version-obj-y) $(call extract-libs,$1) $(LIBS)," LINK $(TARGET_DIR)$@")
|
$(version-obj-y) $(call extract-libs,$1) $(LIBS)," LINK $(TARGET_DIR)$@")
|
||||||
else
|
|
||||||
LIBTOOL += $(if $(V),,--quiet)
|
|
||||||
%.lo: %.c
|
|
||||||
$(call quiet-command,$(LIBTOOL) --mode=compile --tag=CC $(CC) $(QEMU_INCLUDES) $(QEMU_CFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) $($*.o-cflags) -c -o $@ $<," lt CC $@")
|
|
||||||
%.lo: %.rc
|
|
||||||
$(call quiet-command,$(LIBTOOL) --mode=compile --tag=RC $(WINDRES) -I. -o $@ $<,"lt RC $(TARGET_DIR)$@")
|
|
||||||
%.lo: %.dtrace
|
|
||||||
$(call quiet-command,$(LIBTOOL) --mode=compile --tag=CC dtrace -o $@ -G -s $<, " lt GEN $(TARGET_DIR)$@")
|
|
||||||
|
|
||||||
LINK = $(call quiet-command,\
|
|
||||||
$(if $(filter %.lo %.la,$1),$(LIBTOOL) --mode=link --tag=CC \
|
|
||||||
)$(LINKPROG) $(QEMU_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ \
|
|
||||||
$(call process-archive-undefs, $1)\
|
|
||||||
$(if $(filter %.lo %.la,$1),$(version-lobj-y),$(version-obj-y)) \
|
|
||||||
$(if $(filter %.lo %.la,$1),$(LIBTOOLFLAGS)) \
|
|
||||||
$(call extract-libs,$(1:.lo=.o)) $(LIBS),$(if $(filter %.lo %.la,$1),"lt LINK ", " LINK ")"$(TARGET_DIR)$@")
|
|
||||||
endif
|
|
||||||
|
|
||||||
%.asm: %.S
|
%.asm: %.S
|
||||||
$(call quiet-command,$(CPP) $(QEMU_INCLUDES) $(QEMU_CFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) -o $@ $<," CPP $(TARGET_DIR)$@")
|
$(call quiet-command,$(CPP) $(QEMU_INCLUDES) $(QEMU_CFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) -o $@ $<," CPP $(TARGET_DIR)$@")
|
||||||
|
|
Loading…
Reference in New Issue