diff options
author | Zack Weinberg <zack@gcc.gnu.org> | 2005-06-13 08:26:05 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2005-06-13 08:26:05 +0000 |
commit | f610dd5f4ceb8239c61ee33863760d39f3b28162 (patch) | |
tree | 8d909ddb31d50f61cae9acff0f19678ba54b6b88 /libcpp | |
parent | 4c73896d18e03c31a811c941082a6ed94605a905 (diff) | |
download | gcc-f610dd5f4ceb8239c61ee33863760d39f3b28162.zip gcc-f610dd5f4ceb8239c61ee33863760d39f3b28162.tar.gz gcc-f610dd5f4ceb8239c61ee33863760d39f3b28162.tar.bz2 |
top level:
* depcomp: Update from automake CVS. Add 'ia64hp' stanza.
In 'cpp' stanza, support '#line' as well as '# '.
config:
* depstand.m4, lead-dot.m4: New files.
libcpp:
* configure.ac: Invoke ZW_CREATE_DEPDIR and
ZW_PROG_COMPILER_DEPENDENCIES.
* aclocal.m4, configure: Regenerate.
* Makefile.in (DEPMODE, DEPDIR, depcomp, COMPILE.base, COMPILE):
New variables.
(distclean): Clean up $(DEPDIR) and its contents.
(.c.o): Use $(COMPILE).
Include $(DEPDIR)/*.Po for most object->header dependencies.
From-SVN: r100874
Diffstat (limited to 'libcpp')
-rw-r--r-- | libcpp/ChangeLog | 13 | ||||
-rw-r--r-- | libcpp/Makefile.in | 52 | ||||
-rw-r--r-- | libcpp/aclocal.m4 | 2 | ||||
-rwxr-xr-x | libcpp/configure | 249 | ||||
-rw-r--r-- | libcpp/configure.ac | 4 |
5 files changed, 285 insertions, 35 deletions
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index f4e8a5e..cc045a0 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,14 @@ +2005-06-13 Zack Weinberg <zack@codesourcery.com> + + * configure.ac: Invoke ZW_CREATE_DEPDIR and + ZW_PROG_COMPILER_DEPENDENCIES. + * aclocal.m4, configure: Regenerate. + * Makefile.in (DEPMODE, DEPDIR, depcomp, COMPILE.base, COMPILE): + New variables. + (distclean): Clean up $(DEPDIR) and its contents. + (.c.o): Use $(COMPILE). + Include $(DEPDIR)/*.Po for most object->header dependencies. + 2005-05-28 Gabriel Dos Reis <gdr@integrable-solutions.net> * configure.ac: Check declarations for asprintf and vasprintf. @@ -17,7 +28,7 @@ * directives.c (glue_header_name): Use XNEWVEC and XRESIZEVEC. (parse_include): Use XNEWVEC. (insert_pragma_entry): Rename local variable "new" to - "new_entry". + "new_entry". (save_registered_pragmas): Cast return value of xmemdup. (destringize_and_run): Same for alloca. (parse_assertion): Likewise. diff --git a/libcpp/Makefile.in b/libcpp/Makefile.in index 8a7a489..d236c1b 100644 --- a/libcpp/Makefile.in +++ b/libcpp/Makefile.in @@ -51,6 +51,8 @@ RANLIB = @RANLIB@ SHELL = @SHELL@ USED_CATALOGS = @USED_CATALOGS@ XGETTEXT = @XGETTEXT@ +DEPMODE = @CCDEPMODE@ +DEPDIR = @DEPDIR@ datadir = @datadir@ exec_prefix = @prefix@ @@ -60,6 +62,8 @@ prefix = @prefix@ MSGMERGE = msgmerge mkinstalldirs = $(SHELL) $(srcdir)/../mkinstalldirs +depcomp = $(SHELL) $(srcdir)/../depcomp + INCLUDES = -I$(srcdir) -I. -I$(srcdir)/../include @INCINTL@ \ -I$(srcdir)/include @@ -165,7 +169,8 @@ clean: mostlyclean distclean: clean -rm -f config.h stamp-h1 config.status config.cache config.log \ configure.lineno configure.status.lineno Makefile localedir.h \ - localedir.hs + localedir.hs $(DEPDIR)/*.Po + -rmdir $(DEPDIR) maintainer-clean: distclean @echo "This command is intended for maintainers to use" @@ -186,10 +191,19 @@ update-po: $(CATALOGS:.gmo=.pox) maintainer-clean check installcheck dvi html info install-info \ install-man update-po +# Dependency rule. +COMPILE.base = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(ALL_CFLAGS) -c +ifeq ($(DEPMODE),depmode=gcc3) +COMPILE = $(COMPILE.base) -o $@ -MT $@ -MD -MP -MF $(DEPDIR)/$*.Po +else +COMPILE = source='$<' object='$@' libtool=no DEPDIR=$(DEPDIR) $(DEPMODE) \ + $(depcomp) $(COMPILE.base) +endif + # Implicit rules and I18N .c.o: - $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(ALL_CFLAGS) -c $< + $(COMPILE) $< # N.B. We do not attempt to copy these into $(srcdir). .po.gmo: @@ -227,35 +241,7 @@ po/$(PACKAGE).pot: $(libcpp_a_SOURCES) .NOEXPORT: # Dependencies +-include $(patsubst %.o, $(DEPDIR)/%.Po, $(libcpp_a_OBJS) $(makedepend_OBJS)) -top_srcdir = $(srcdir)/.. -top_incdir = $(srcdir)/../include -libcpp_incdir = $(srcdir)/../libcpp/include - -COMMON_DEPS = config.h $(srcdir)/system.h $(srcdir)/internal.h \ - $(top_incdir)/libiberty.h $(top_incdir)/ansidecl.h \ - $(top_incdir)/filenames.h $(top_incdir)/safe-ctype.h \ - $(libcpp_incdir)/symtab.h $(top_incdir)/obstack.h \ - $(libcpp_incdir)/line-map.h $(libcpp_incdir)/cpplib.h \ - $(libcpp_incdir)/cpp-id-data.h $(top_incdir)/getopt.h - -charset.o: $(srcdir)/charset.c $(COMMON_DEPS) $(srcdir)/ucnid.h -directives.o: $(srcdir)/directives.c $(COMMON_DEPS) $(libcpp_incdir)/mkdeps.h -errors.o: $(srcdir)/errors.c $(COMMON_DEPS) -expr.o: $(srcdir)/expr.c $(COMMON_DEPS) - -files.o: $(srcdir)/files.c $(COMMON_DEPS) $(libcpp_incdir)/mkdeps.h \ - $(top_incdir)/hashtab.h $(top_incdir)/md5.h -identifiers.o: $(srcdir)/identifiers.c $(COMMON_DEPS) -init.o: $(srcdir)/init.c $(COMMON_DEPS) $(libcpp_incdir)/mkdeps.h localedir.h -lex.o: $(srcdir)/lex.c $(COMMON_DEPS) -line-map.o: $(srcdir)/line-map.c $(COMMON_DEPS) -macro.o: $(srcdir)/macro.c $(COMMON_DEPS) -makedepend.o: $(srcdir)/makedepend.c $(COMMON_DEPS) $(libcpp_incdir)/mkdeps.h -mkdeps.o: $(srcdir)/mkdeps.c $(COMMON_DEPS) - -pch.o: $(srcdir)/pch.c $(COMMON_DEPS) \ - $(top_incdir)/hashtab.h $(libcpp_incdir)/mkdeps.h - -symtab.o: $(srcdir)/symtab.c $(COMMON_DEPS) -traditional.o: $(srcdir)/traditional.c $(COMMON_DEPS) +# Dependencies on generated headers have to be explicit. +init.o: localedir.h diff --git a/libcpp/aclocal.m4 b/libcpp/aclocal.m4 index 97c314a..ad1d0ce 100644 --- a/libcpp/aclocal.m4 +++ b/libcpp/aclocal.m4 @@ -13,8 +13,10 @@ m4_include([../config/acx.m4]) m4_include([../config/codeset.m4]) +m4_include([../config/depstand.m4]) m4_include([../config/gettext-sister.m4]) m4_include([../config/iconv.m4]) +m4_include([../config/lead-dot.m4]) m4_include([../config/lib-ld.m4]) m4_include([../config/lib-link.m4]) m4_include([../config/lib-prefix.m4]) diff --git a/libcpp/configure b/libcpp/configure index d0c04d9..63e2020 100755 --- a/libcpp/configure +++ b/libcpp/configure @@ -311,7 +311,7 @@ ac_includes_default="\ # include <unistd.h> #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os SET_MAKE INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT RANLIB ac_ct_RANLIB ACLOCAL AUTOCONF AUTOHEADER WARN_CFLAGS WARN_PEDANTIC WERROR CPP EGREP LIBOBJS ALLOCA USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS LIBICONV LTLIBICONV PACKAGE USED_CATALOGS MAINT LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os SET_MAKE INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT RANLIB ac_ct_RANLIB ACLOCAL AUTOCONF AUTOHEADER WARN_CFLAGS WARN_PEDANTIC WERROR am__leading_dot DEPDIR CCDEPMODE CPP EGREP LIBOBJS ALLOCA USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS LIBICONV LTLIBICONV PACKAGE USED_CATALOGS MAINT LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -2839,6 +2839,120 @@ fi +# Dependency checking. +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +DEPDIR="${am__leading_dot}deps" + + ac_config_commands="$ac_config_commands depdir" + + +depcc="$CC" am_compiler_list= + +am_depcomp=$ac_aux_dir/depcomp +echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + if test $depmode = none; then break; fi + + echo "$as_me:$LINENO: trying $depmode" >&5 + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "include sub/conftest.Po" > confmf + + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + depcmd="depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c" + echo "| $depcmd" | sed -e 's/ */ /g' >&5 + if env $depcmd > conftest.err 2>&1 && + grep sub/conftst6.h sub/conftest.Po >>conftest.err 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po >>conftest.err 2>&1 && + ${MAKE-make} -s -f confmf >>conftest.err 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + echo "$as_me:$LINENO: success" >&5 + break + fi + fi + echo "$as_me:$LINENO: failure, diagnostics are:" >&5 + sed -e 's/^/| /' < conftest.err >&5 + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 +if test x${am_cv_CC_dependencies_compiler_type-none} = xnone +then { { echo "$as_me:$LINENO: error: no usable dependency style found" >&5 +echo "$as_me: error: no usable dependency style found" >&2;} + { (exit 1); exit 1; }; } +else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + +fi + + # Checks for header files. echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5 echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 @@ -8558,6 +8672,9 @@ $config_files Configuration headers: $config_headers +Configuration commands: +$config_commands + Report bugs to <bug-autoconf@gnu.org>." _ACEOF @@ -8657,7 +8774,14 @@ fi _ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS section. +# + +DEPDIR=$DEPDIR +_ACEOF @@ -8667,6 +8791,7 @@ do case "$ac_config_target" in # Handling of arguments. "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "depdir" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depdir" ;; "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.in" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} @@ -8681,6 +8806,7 @@ done if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree @@ -8783,6 +8909,9 @@ s,@AUTOHEADER@,$AUTOHEADER,;t t s,@WARN_CFLAGS@,$WARN_CFLAGS,;t t s,@WARN_PEDANTIC@,$WARN_PEDANTIC,;t t s,@WERROR@,$WERROR,;t t +s,@am__leading_dot@,$am__leading_dot,;t t +s,@DEPDIR@,$DEPDIR,;t t +s,@CCDEPMODE@,$CCDEPMODE,;t t s,@CPP@,$CPP,;t t s,@EGREP@,$EGREP,;t t s,@LIBOBJS@,$LIBOBJS,;t t @@ -9266,6 +9395,124 @@ echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} esac done _ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + +# +# CONFIG_COMMANDS section. +# +for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue + ac_dest=`echo "$ac_file" | sed 's,:.*,,'` + ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_dir=`(dirname "$ac_dest") 2>/dev/null || +$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_dest" : 'X\(//\)[^/]' \| \ + X"$ac_dest" : 'X\(//\)$' \| \ + X"$ac_dest" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_dest" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 +echo "$as_me: executing $ac_dest commands" >&6;} + case $ac_dest in + depdir ) mkdir $DEPDIR ;; + esac +done +_ACEOF cat >>$CONFIG_STATUS <<\_ACEOF diff --git a/libcpp/configure.ac b/libcpp/configure.ac index fe52964..5c27835 100644 --- a/libcpp/configure.ac +++ b/libcpp/configure.ac @@ -29,6 +29,10 @@ ACX_PROG_CC_WARNING_ALMOST_PEDANTIC([-Wno-long-long]) # corrected. ACX_PROG_CC_WARNINGS_ARE_ERRORS([manual]) +# Dependency checking. +ZW_CREATE_DEPDIR +ZW_PROG_COMPILER_DEPENDENCIES([CC]) + # Checks for header files. AC_HEADER_TIME ACX_HEADER_STRING |