From a44500ada50ea065907f4fff6b58fc3ad942837a Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Fri, 21 Jan 2011 12:43:25 -0800 Subject: [PATCH] Fixed bug #945 The configure script was breaking the substitutions into multiple fragments, breaking them across the substitution for the build rules. This of course totally hosed the process. I switched to using a more modern usage of AC_OUTPUT and added a post-process step that appends the build rules to the Makefile. --- Makefile.in | 5 ----- configure.in | 23 +++++++++++++++++++---- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/Makefile.in b/Makefile.in index 87c0854dc..bb0920ab6 100644 --- a/Makefile.in +++ b/Makefile.in @@ -115,11 +115,6 @@ update-revision: .PHONY: all update-revision install install-bin install-hdrs install-lib install-data uninstall uninstall-bin uninstall-hdrs uninstall-lib uninstall-data clean distclean dist $(OBJECTS:.lo=.d) --include $(OBJECTS:.lo=.d) -@DEPENDS@ -@VERSION_DEPENDS@ -@SDLMAIN_DEPENDS@ - $(objects)/$(TARGET): $(OBJECTS) $(VERSION_OBJECTS) $(LIBTOOL) --mode=link $(CC) -o $@ $(OBJECTS) $(VERSION_OBJECTS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) diff --git a/configure.in b/configure.in index 239a05b46..cae2f29a8 100644 --- a/configure.in +++ b/configure.in @@ -2727,6 +2727,7 @@ for EXT in asm cc m c S; do \\$(objects)/\\2.lo: \\1/\\2.$EXT\\\\ \\$(LIBTOOL) --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"` done +DEPENDS=`echo "$DEPENDS" | sed 's,\\$,\\\\$,g'` VERSION_OBJECTS=`echo $VERSION_SOURCES` VERSION_DEPENDS=`echo $VERSION_SOURCES` @@ -2734,6 +2735,7 @@ VERSION_OBJECTS=`echo "$VERSION_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.rc,$(obje VERSION_DEPENDS=`echo "$VERSION_DEPENDS" | sed "s,\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.rc,\\\\ \\$(objects)/\\2.o: \\1/\\2.rc\\\\ \\$(WINDRES) \\$< \\$@,g"` +VERSION_DEPENDS=`echo "$VERSION_DEPENDS" | sed 's,\\$,\\\\$,g'` SDLMAIN_OBJECTS=`echo $SDLMAIN_SOURCES` SDLMAIN_DEPENDS=`echo $SDLMAIN_SOURCES` @@ -2741,6 +2743,7 @@ SDLMAIN_OBJECTS=`echo "$SDLMAIN_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objec SDLMAIN_DEPENDS=`echo "$SDLMAIN_DEPENDS" | sed "s,\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.c,\\\\ \\$(objects)/\\2.o: \\1/\\2.c\\\\ \\$(LIBTOOL) --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"` +SDLMAIN_DEPENDS=`echo "$SDLMAIN_DEPENDS" | sed 's,\\$,\\\\$,g'` # Set runtime shared library paths as needed @@ -2793,17 +2796,29 @@ dnl Expand the sources and objects needed to build the library AC_SUBST(ac_aux_dir) AC_SUBST(INCLUDE) AC_SUBST(OBJECTS) -AC_SUBST(DEPENDS) AC_SUBST(VERSION_OBJECTS) -AC_SUBST(VERSION_DEPENDS) AC_SUBST(SDLMAIN_OBJECTS) -AC_SUBST(SDLMAIN_DEPENDS) AC_SUBST(BUILD_CFLAGS) AC_SUBST(EXTRA_CFLAGS) AC_SUBST(BUILD_LDFLAGS) AC_SUBST(EXTRA_LDFLAGS) AC_SUBST(WINDRES) -AC_OUTPUT([ +AC_CONFIG_FILES([ Makefile sdl-config SDL.spec sdl.pc ]) +AC_CONFIG_COMMANDS([default], + [cat >>Makefile <<__EOF__ + +# Build rules for objects +-include \$(OBJECTS:.lo=.d) +$DEPENDS +$VERSION_DEPENDS +$SDLMAIN_DEPENDS +__EOF__ +], [ +DEPENDS="$DEPENDS" +VERSION_DEPENDS="$VERSION_DEPENDS" +SDLMAIN_DEPENDS="$SDLMAIN_DEPENDS" +]) +AC_OUTPUT