mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-09-08 16:54:49 +00:00
Gettext annoyingly modifies CPPFLAGS in-place, putting -I/usr/local/include into the search patch if libintl headers must be used from that location. But since we must support automake 1.9.6 which lacks AM_CPPFLAGS, and since CPPFLAGS is used prior to INCLUDES, this means that the build picks up the _old_ installed libvirt.h in priority to the in-tree version, leading to all sorts of weird build failures on FreeBSD. Fix this by teaching configure to undo gettext's actions, but to keep any changes required by gettext at the end of INCLUDES after all in-tree locations are used first. Also requires adding a wrapper Makefile.am and making gnulib-tool create just gnulib.mk files during the bootstrap process. Signed-off-by: Eric Blake <eblake@redhat.com>
212 lines
4.2 KiB
Plaintext
212 lines
4.2 KiB
Plaintext
# Bootstrap configuration.
|
|
|
|
# Copyright (C) 2010-2011 Red Hat, Inc.
|
|
|
|
# This library is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU Lesser General Public
|
|
# License as published by the Free Software Foundation; either
|
|
# version 2.1 of the License, or (at your option) any later version.
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
|
|
# You should have received a copy of the GNU Lesser General Public
|
|
# License along with this library; if not, write to the Free Software
|
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
|
|
# gnulib modules used by this package.
|
|
gnulib_modules='
|
|
accept
|
|
areadlink
|
|
base64
|
|
bind
|
|
byteswap
|
|
c-ctype
|
|
c-strcase
|
|
c-strcasestr
|
|
calloc-posix
|
|
canonicalize-lgpl
|
|
chown
|
|
close
|
|
connect
|
|
configmake
|
|
count-one-bits
|
|
crypto/md5
|
|
dirname-lgpl
|
|
environ
|
|
fclose
|
|
fcntl-h
|
|
ffs
|
|
fnmatch
|
|
func
|
|
getaddrinfo
|
|
getcwd-lgpl
|
|
gethostname
|
|
getpass
|
|
getpeername
|
|
getsockname
|
|
gettext-h
|
|
gettimeofday
|
|
gitlog-to-changelog
|
|
gnumakefile
|
|
ignore-value
|
|
inet_pton
|
|
intprops
|
|
ioctl
|
|
listen
|
|
maintainer-makefile
|
|
manywarnings
|
|
mkstemp
|
|
mkstemps
|
|
mktempd
|
|
netdb
|
|
nonblocking
|
|
passfd
|
|
perror
|
|
physmem
|
|
pipe-posix
|
|
pipe2
|
|
poll
|
|
posix-shell
|
|
pthread
|
|
pthread_sigmask
|
|
recv
|
|
random_r
|
|
sched
|
|
send
|
|
setsockopt
|
|
sigaction
|
|
sigpipe
|
|
snprintf
|
|
socket
|
|
stdarg
|
|
stpcpy
|
|
strchrnul
|
|
strdup-posix
|
|
strndup
|
|
strerror
|
|
strerror_r-posix
|
|
strptime
|
|
strsep
|
|
strtok_r
|
|
sys_stat
|
|
sys_wait
|
|
termios
|
|
time_r
|
|
timegm
|
|
uname
|
|
useless-if-before-free
|
|
usleep
|
|
vasprintf
|
|
verify
|
|
vc-list-files
|
|
vsnprintf
|
|
waitpid
|
|
warnings
|
|
'
|
|
|
|
# Additional xgettext options to use. Use "\\\newline" to break lines.
|
|
XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
|
|
--flag=virAsprintf:2:c-format\\\
|
|
--from-code=UTF-8\\\
|
|
'
|
|
|
|
# This is not a GNU package, so the default bug address is invalid,
|
|
# and the translation project is not in use.
|
|
MSGID_BUGS_ADDRESS=libvir-list@redhat.com
|
|
COPYRIGHT_HOLDER='Red Hat, Inc.'
|
|
SKIP_PO=true
|
|
|
|
# Enable copy-mode for MSYS/MinGW. MSYS' ln doesn't work well in the way
|
|
# bootstrap uses it with relative paths.
|
|
if test -n "$MSYSTEM"; then
|
|
copy=true
|
|
fi
|
|
|
|
# If "AM_GNU_GETTEXT(external" or "AM_GNU_GETTEXT([external]"
|
|
# appears in configure.ac, exclude some unnecessary files.
|
|
# Without grep's -E option (not portable enough, pre-configure),
|
|
# the following test is ugly. Also, this depends on the existence
|
|
# of configure.ac, not the obsolescent-named configure.in. But if
|
|
# you're using this infrastructure, you should care about such things.
|
|
|
|
gettext_external=0
|
|
grep '^[ ]*AM_GNU_GETTEXT(external\>' configure.ac > /dev/null &&
|
|
gettext_external=1
|
|
grep '^[ ]*AM_GNU_GETTEXT(\[external\]' configure.ac > /dev/null &&
|
|
gettext_external=1
|
|
|
|
if test $gettext_external = 1; then
|
|
# Gettext supplies these files, but we don't need them since
|
|
# we don't have an intl subdirectory.
|
|
excluded_files='
|
|
m4/glibc2.m4
|
|
m4/intdiv0.m4
|
|
m4/lcmessage.m4
|
|
m4/uintmax_t.m4
|
|
m4/ulonglong.m4
|
|
m4/visibility.m4
|
|
'
|
|
fi
|
|
|
|
# Tell gnulib to:
|
|
# require LGPLv2+
|
|
# put *.m4 files in new gnulib/m4/ dir
|
|
# put *.[ch] files in new gnulib/lib/ dir.
|
|
# import gnulib tests in new gnulib/tests/ dir.
|
|
gnulib_name=libgnu
|
|
m4_base=gnulib/m4
|
|
source_base=gnulib/lib
|
|
tests_base=gnulib/tests
|
|
gnulib_tool_option_extras="\
|
|
--lgpl=2\
|
|
--with-tests\
|
|
"
|
|
|
|
# Convince bootstrap to use multiple m4 directories.
|
|
: ${ACLOCAL=aclocal}
|
|
ACLOCAL="$ACLOCAL -I m4"
|
|
export ACLOCAL
|
|
|
|
# Build prerequisites
|
|
buildreq="\
|
|
autoconf 2.59
|
|
automake 1.9.6
|
|
autopoint -
|
|
gettext 0.17
|
|
git 1.5.5
|
|
gzip -
|
|
libtool -
|
|
perl 5.5
|
|
pkg-config -
|
|
rpcgen -
|
|
tar -
|
|
"
|
|
|
|
# Automake requires that ChangeLog exist.
|
|
touch ChangeLog || exit 1
|
|
|
|
# Override bootstrap's list - we don't use mdate-sh or texinfo.tex.
|
|
gnulib_extra_files="
|
|
$build_aux/install-sh
|
|
$build_aux/missing
|
|
$build_aux/depcomp
|
|
$build_aux/config.guess
|
|
$build_aux/config.sub
|
|
doc/INSTALL
|
|
"
|
|
|
|
|
|
bootstrap_epilogue()
|
|
{
|
|
# Change paths in gnulib/tests/gnulib.mk from "../../.." to "../..",
|
|
# then ensure that gnulib/tests/Makefile.in is up-to-date.
|
|
m=gnulib/tests/gnulib.mk
|
|
sed 's,\.\./\.\./\.\.,../..,g' $m > $m-t
|
|
mv -f $m-t $m
|
|
${AUTOMAKE-automake} gnulib/tests/Makefile
|
|
}
|