diff options
author | Thomas Schwinge <tschwinge@gnu.org> | 2008-11-17 10:09:25 +0000 |
---|---|---|
committer | Thomas Schwinge <tschwinge@gnu.org> | 2009-06-18 00:27:20 +0200 |
commit | 893feace349c7cb4ce7821b8e8f5ccc7031f8079 (patch) | |
tree | f89c0a27113dad25078696bfe566586e329d2bb7 | |
parent | a383432958ee5352b37a8219863aabb7c537c9b4 (diff) |
2008-11-17 Thomas Schwinge <tschwinge@gnu.org>
* configure.ac: Require GNU Automake 1.10.1.
* Makefile.am: Adapt.
* Makefile.correct_output_files_for_.S_files.patch: Remove.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | Makefile.am | 4 | ||||
-rw-r--r-- | Makefile.correct_output_files_for_.S_files.patch | 18 | ||||
-rw-r--r-- | configure.ac | 140 |
4 files changed, 9 insertions, 159 deletions
@@ -1,3 +1,9 @@ +2008-11-17 Thomas Schwinge <tschwinge@gnu.org> + + * configure.ac: Require GNU Automake 1.10.1. + * Makefile.am: Adapt. + * Makefile.correct_output_files_for_.S_files.patch: Remove. + 2008-07-19 Barry deFreese <bdefreese@debian.org> * device/device_emul.h (struct device_emulation_ops): Make members diff --git a/Makefile.am b/Makefile.am index 31cf857..c81621a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -66,10 +66,6 @@ if disable_smashing_stack_protector AM_CFLAGS += \ -fno-stack-protector endif - -# For pre Automake 1.10. -AM_CCASFLAGS += \ - $(AM_CPPFLAGS) # # MIG Setup. diff --git a/Makefile.correct_output_files_for_.S_files.patch b/Makefile.correct_output_files_for_.S_files.patch deleted file mode 100644 index eb0c365..0000000 --- a/Makefile.correct_output_files_for_.S_files.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- Makefile.save 2006-10-09 23:43:54.000000000 +0200 -+++ Makefile 2006-10-09 23:57:00.000000000 +0200 -@@ -1864,6 +1864,6 @@ - $(SHELL) ./config.status;; \ - *) \ -- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ -- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ -+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ frob_Makefile_for_correct_output_files_for_.S_files $(am__depfiles_maybe)'; \ -+ cd $(top_builddir) && $(SHELL) ./config.status $@ frob_Makefile_for_correct_output_files_for_.S_files $(am__depfiles_maybe);; \ - esac; - -@@ -3520,5 +3520,5 @@ - - .S.o: -- $(CCASCOMPILE) -c $< -+ $(CCASCOMPILE) -c -o $@ $< - - .S.obj: diff --git a/configure.ac b/configure.ac index c387349..4e37590 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ dnl Configure script for GNU Mach. -dnl Copyright (C) 1997, 1998, 1999, 2004, 2006, 2007 -dnl Free Software Foundation, Inc. +dnl Copyright (C) 1997, 1998, 1999, 2004, 2006, 2007, 2008 Free Software +dnl Foundation, Inc. dnl Permission to use, copy, modify and distribute this software and its dnl documentation is hereby granted, provided that both the copyright @@ -24,13 +24,11 @@ AC_CONFIG_SRCDIR([kern/ipc_kobject.c]) AC_CONFIG_AUX_DIR([build-aux]) AM_INIT_AUTOMAKE( + [1.10.1] dnl Don't define `PACKAGE' and `VERSION'. [no-define] dnl Do not clutter the main build directory. [subdir-objects] -dnl This is only a very rough estimation of the version we actually need. Feel -dnl free to refine that. - [1.9] dnl We require GNU make. [-Wall -Wno-portability] ) @@ -214,138 +212,6 @@ AC_CONFIG_COMMANDS_POST([ [You have a serious problem. Please contact <$PACKAGE_BUGREPORT>.]) [fi ]) - - -# -# Makefile.correct_output_files_for_.S_files.patch -# -# The used version of Automake might emit rules that don't put compiled (pre -# processed) Assembler files where they belong. We're bitten by this bug -# because we use the Automake option `subdir-objects', to not clutter the main -# build directory with all the object files. The problem is that the emitted -# rules will place those in the main build directory, but later, when creating -# the libraries, look for them in the subdirectories. -# -# See <http://sourceware.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=automake&pr=492>. -# -# Another note: even with versions of Automake that don't have this issue -# fixed, a correct rule is emitted for linux/src/arch/i386/lib/semaphore.S, see -# the comment by Thomas Schwinge on 2006-10-10 on the above bug report. -# -# Again, a real patch is being used here and not some `sed' magic, so that -# it'll fail loudly in case some internals we're relying on are changed. -# -# TODO. Remove this block as soon as we don't want to support such legacy -# versions of Automake anymore. -# - -AC_CONFIG_COMMANDS([frob_Makefile_for_correct_output_files_for_.S_files],[ - # Do we have a version of Automake that doesn't have this bug? - if grep -q CPPASCOMPILE.\*-c.\*-o < "$srcdir"/Makefile.in - then] AC_MSG_NOTICE([... not a problem with the used version of Automake.]) - [# We don't. - elif "$PATCH" -f \ - < "$srcdir"/Makefile.correct_output_files_for_.S_files.patch - then] - AC_MSG_NOTICE([Applied a patch to fix a bug in your version of Automake.] - [The applied fix should work in most cases. You could also consider] - [updating to Automake 1.10 or better.]) - [else] - AC_MSG_ERROR([failed to patch using ] - [`Makefile.correct_output_files_for_.S_files.patch'.] - [You have a serious problem. Please contact <$PACKAGE_BUGREPORT>.]) - [fi -],[ - PACKAGE_BUGREPORT=$PACKAGE_BUGREPORT - PATCH=$PATCH -]) - - -# -# Dependency tracking for `.S' files -# -# The used version of Automake might not support automatic dependency tracking -# for (preprocessed) Assembler source files. We might add such support here. -# But since adding such support is nontrivial and the nonexistent dependency -# tracking (missing only for .S files) is not considered a fundamental problem, -# we save the costs of adding such support here. You should instead consider -# updating to Automake 1.10 or better. -# -# TODO. Remove this block as soon as we don't want to support such legacy -# versions of Automake anymore. -# - -AC_CONFIG_COMMANDS([frob_Makefile_for_dependency_tracking_for_.S_files],[ - # Do we have a version of Automake that doesn't have this bug? - if grep -q CPPASCOMPILE.\*depbase < "$srcdir"/Makefile.in - then] AC_MSG_NOTICE([... not a problem with the used version of Automake.]) - [# We don't. - else] - AC_MSG_NOTICE([Your build of GNU Mach won't have dependency tracking for] - [(preprocessed) Assembler source files. Consider updating to Automake] - [1.10 or better if you need such support.]) - [# Make ``make -j'' parallel builds work at least. - cat >> Makefile <<"EOT" - -i386/i386at/boothdr.o: i386/i386/i386asm.h -i386/i386at/interrupt.o: i386/i386/i386asm.h -i386/i386/cswitch.o: i386/i386/i386asm.h -i386/i386/locore.o: i386/i386/i386asm.h -EOT] -dnl In case someone feels like completing this instead of simply using a fixed -dnl version of Automake... -dnl if "$PATCH" -f; then :; else] -dnl AC_MSG_ERROR([failed to patch using] -dnl [`Makefile.dependency_tracking_for_.S_files.patch'.] -dnl [You have a serious problem. Please contact <$PACKAGE_BUGREPORT>.]) -dnl [fi < "$srcdir"/Makefile.dependency_tracking_for_.S_files.patch -dnl -dnl # Change the Makefile to care for dependencies of .S files. -dnl ( cd "$srcdir"/ && -dnl find ./ -name \*.S ) | \ -dnl sed -e 's%^\./%%' -e 's%\.S$%%' -e 's%^\(.*\)/%\1 %' | \ -dnl while read d f; do -dnl echo && -dnl echo "$d"/"$f"'.$(OBJEXT): '"$d"'/$(am__dirstamp) ' \ -dnl "$d"'/$(DEPDIR)/$(am__dirstamp)' && -dnl echo 'include '"$d"'/$(DEPDIR)/'"$f"'.Po' && -dnl -dnl # Create the dependency files if they don't exist so far. -dnl if test -f "$d"/"$DEPDIR"/"$f"'.Po'; then :; else -dnl echo '# dummy' > "$d"/"$DEPDIR"/"$f"'.Po' -dnl fi -dnl done >> Makefile -dnl -dnl TODO. linux/src/arch/i386/lib/.deps/liblinux_a-semaphore.Po vs. -dnl linux/src/arch/i386/lib/.deps/semaphore.Po. Because of the above -dnl mentioned special rule for `semaphore.S' the .S.o rule is not used. -dnl -dnl gcc -nostdinc -imacros config.h -Ii386 -I. -I../i386 -I../include -I../i386/include/mach/sa -DASSEMBLER -g -O2 -c ../i386/i386at/boothdr.S -dnl -dnl Makefile -dnl -dnl COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -dnl .c.o: -dnl depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`; \ -dnl if $(COMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \ -dnl then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi -dnl # source='$<' object='$@' libtool=no \ -dnl # DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -dnl # $(COMPILE) -c -o $@ $< -dnl -dnl CCAS = gcc -dnl CCASCOMPILE = $(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS) -dnl .S.o: -dnl $(CCASCOMPILE) -c $< -dnl -dnl source=../i386/i386at/boothdr.S object=i386/i386at/boothdr.o libtool=no DEPDIR=.deps depmode=gcc3 ../depcomp gcc -nostdinc -imacros config.h -Ii386 -I. -I../i386 -I../include -I../i386/include/mach/sa -DASSEMBLER -g -O2 -c -o i386/i386at/boothdr.o ../i386/i386at/boothdr.S -dnl ... creates a correct i386/i386at/.deps/boothdr.Po. - [fi -dnl ],[ -dnl DEPDIR=$DEPDIR -dnl PACKAGE_BUGREPORT=$PACKAGE_BUGREPORT -dnl PATCH=$PATCH -]) # # Fire. |