[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnulib-tool: support for source files in subdirectories
From: |
Bruno Haible |
Subject: |
gnulib-tool: support for source files in subdirectories |
Date: |
Mon, 13 Nov 2006 14:34:32 +0100 |
User-agent: |
KMail/1.9.1 |
With this patch, gnulib-tool supports source files in subdirectories of lib/.
2006-11-12 Bruno Haible <address@hidden>
Finish support for source files in subdirectories.
* gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
are in subdirectories, set uses_subdirs and add 'subdir-objects' to
AUTOMAKE_OPTIONS.
(func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
*** gnulib-20061108/gnulib-tool.bak 2006-11-12 20:44:34.000000000 +0100
--- gnulib-20061108/gnulib-tool 2006-11-12 21:16:19.000000000 +0100
***************
*** 1131,1136 ****
--- 1131,1138 ----
# - libtool true if libtool will be used, false or blank otherwise
# - macro_prefix prefix of gl_LIBOBJS macros to use
# - actioncmd (optional) command that will reproduce this invocation
+ # Output:
+ # - uses_subdirs nonempty if object files in subdirs exist
func_emit_lib_Makefile_am ()
{
# When creating an includable Makefile.am snippet, augment variables with
***************
*** 1156,1166 ****
echo "# Reproduce by: $actioncmd"
fi
echo
! if test -z "$makefile_name"; then
! echo "AUTOMAKE_OPTIONS = 1.5 gnits"
! fi
! echo
! (
for module in $modules; do
func_verify_nontests_module
if test -n "$module"; then
--- 1158,1165 ----
echo "# Reproduce by: $actioncmd"
fi
echo
! uses_subdirs=
! {
for module in $modules; do
func_verify_nontests_module
if test -n "$module"; then
***************
*** 1186,1194 ****
echo
fi
rm -f amsnippet.tmp
fi
done
! ) > allsnippets.tmp
if grep "^[a-zA-Z0-9_]*_${perhapsLT}LIBRARIES *= *$libname\\.$libext\$"
allsnippets.tmp > /dev/null; then
# One of the snippets already specifies an installation location for the
# library. Don't confuse automake by saying it should not be installed.
--- 1185,1209 ----
echo
fi
rm -f amsnippet.tmp
+ # Test whether there are some source files in subdirectories.
+ for f in `func_get_filelist "$module"`; do
+ case $f in
+ lib/*/*.c) uses_subdirs=yes ;;
+ esac
+ done
fi
done
! } > allsnippets.tmp
! if test -z "$makefile_name"; then
! # If there are source files in subdirectories, prevent collision of the
! # object files (example: hash.c and libxml/hash.c).
! subdir_options=
! if test -n "$uses_subdirs"; then
! subdir_options=' subdir-objects'
! fi
! echo "AUTOMAKE_OPTIONS = 1.5 gnits${subdir_options}"
! fi
! echo
if grep "^[a-zA-Z0-9_]*_${perhapsLT}LIBRARIES *= *$libname\\.$libext\$"
allsnippets.tmp > /dev/null; then
# One of the snippets already specifies an installation location for the
# library. Don't confuse automake by saying it should not be installed.
***************
*** 1966,1971 ****
--- 1981,1989 ----
echo " m4_pattern_allow([^gl_LIBOBJS\$])dnl a variable"
echo " m4_pattern_allow([^gl_LTLIBOBJS\$])dnl a variable"
echo " AC_REQUIRE([AC_PROG_RANLIB])"
+ if test -n "$uses_subdirs"; then
+ echo " AC_REQUIRE([AM_PROG_CC_C_O])"
+ fi
if grep AC_GNU_SOURCE "$destdir"/$m4base/*.m4 >/dev/null 2>/dev/null; then
echo " AC_REQUIRE([AC_GNU_SOURCE])"
fi
***************
*** 2396,2401 ****
--- 2414,2423 ----
echo
echo "AC_PROG_RANLIB"
echo
+ if test -n "$uses_subdirs"; then
+ echo "AM_PROG_CC_C_O"
+ echo
+ fi
if grep AC_GNU_SOURCE "$testdir/$m4base"/*.m4 >/dev/null 2>/dev/null; then
echo "AC_GNU_SOURCE"
echo
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnulib-tool: support for source files in subdirectories,
Bruno Haible <=