re PR bootstrap/41529 (LTO configuration should detect if the target is ELF)

2010-01-02  Richard Guenther  <rguenther@suse.de>

	PR lto/41529
	* configure.ac: Include config/elf.m4.  Disable LTO if not
	builting for an elf target.
	* configure: Regenerate.

	config/
	* elf.m4: New file.

From-SVN: r155565
This commit is contained in:
Richard Guenther 2010-01-02 14:13:37 +00:00 committed by Richard Biener
parent 04176b913c
commit 7413962d04
5 changed files with 79 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2010-01-02 Richard Guenther <rguenther@suse.de>
PR lto/41529
* configure.ac: Include config/elf.m4. Disable LTO if not
builting for an elf target.
* configure: Regenerate.
2009-12-27 Christopher Faylor <me+cygwin@cgf.cx>
* MAINTAINERS: Change my email address.

View File

@ -1,3 +1,8 @@
2010-01-02 Richard Guenther <rguenther@suse.de>
PR lto/41529
* elf.m4: New file.
2009-11-30 Joseph Myers <joseph@codesourcery.com>
* largefile.m4 (ACX_LARGEFILE): Require AC_CANONICAL_HOST and

27
config/elf.m4 Normal file
View File

@ -0,0 +1,27 @@
dnl Copyright (C) 2010 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Paolo Bonzini.
dnl usage: ACX_ELF_TARGET_IFELSE([if-elf], [if-not-elf])
AC_DEFUN([ACX_ELF_TARGET_IFELSE], [
AC_REQUIRE([AC_CANONICAL_TARGET])
target_elf=no
case $target in
*-darwin* | *-aix* | *-cygwin* | *-mingw* | *-aout* | *-*coff* | \
*-msdosdjgpp* | *-netware* | *-vms* | *-wince* | *-*-pe* | \
alpha*-dec-osf* | *-interix*)
target_elf=no
;;
*)
target_elf=yes
;;
esac
AS_IF([test $target_elf = yes], [$1], [$2])
])

29
configure vendored
View File

@ -5889,6 +5889,35 @@ else
fi
target_elf=no
case $target in
*-darwin* | *-aix* | *-cygwin* | *-mingw* | *-aout* | *-*coff* | \
*-msdosdjgpp* | *-netware* | *-vms* | *-wince* | *-*-pe* | \
alpha*-dec-osf* | *-interix*)
target_elf=no
;;
*)
target_elf=yes
;;
esac
if test $target_elf = yes; then :
else
if test x"$default_enable_lto" = x"yes" ; then
enable_lto=no
else
if test x"$enable_lto" = x"yes"; then
as_fn_error "LTO support requires an ELF target." "$LINENO" 5
fi
fi
default_enable_lto=no
fi
if test x"$enable_lto" = x"yes" ; then
# Make sure that libelf.h and gelf.h are available.

View File

@ -22,6 +22,7 @@
m4_include(config/acx.m4)
m4_include(config/override.m4)
m4_include(config/proginstall.m4)
m4_include(config/elf.m4)
AC_INIT(move-if-change)
AC_PREREQ(2.64)
@ -1601,6 +1602,16 @@ AC_ARG_ENABLE(lto,
enable_lto=$enableval,
enable_lto=yes; default_enable_lto=yes)
ACX_ELF_TARGET_IFELSE([],
if test x"$default_enable_lto" = x"yes" ; then
enable_lto=no
else
if test x"$enable_lto" = x"yes"; then
AC_MSG_ERROR([LTO support requires an ELF target.])
fi
fi
default_enable_lto=no)
if test x"$enable_lto" = x"yes" ; then
# Make sure that libelf.h and gelf.h are available.
AC_ARG_WITH(libelf, [ --with-libelf=PATH Specify prefix directory for the installed libelf package