From e6cfa7c31f88729a1050e4970c11b8c0c8c1f76c Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Mon, 12 Jul 2010 16:16:38 +0200 Subject: [PATCH] Properly handle C_WARNINGS_SWITCH, PROFILING_CFLAGS, PROFILING_LDFLAGS * configure.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS) (PROFILING_LDFLAGS): Substitute, don't add them to CFLAGS/LDFLAGS. (C_OPTIMIZE_SWITCH): Remove. (TEMACS_LDFLAGS2): Add ${PROFILING_LDFLAGS}. * lib-src/Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS) (PROFILING_LDFLAGS): Set from substitution. (BASE_CFLAGS): Add ${C_WARNINGS_SWITCH}. (ALL_CFLAGS, CPP_CFLAGS): Add ${PROFILING_CFLAGS}. (LINK_CFLAGS): Add ${PROFILING_LDFLAGS}. * lwlib/Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS): Set from substitution. (ALL_CFLAGS): Add ${C_WARNINGS_SWITCH} and ${PROFILING_CFLAGS}. * oldXMenu/Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS): Set from substitution. (ALL_CFLAGS): Add ${C_WARNINGS_SWITCH} and ${PROFILING_CFLAGS}. * src/Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS) (PROFILING_LDFLAGS): Set from substitution. (ALL_CFLAGS): Add C_WARNINGS_SWITCH and PROFILING_CFLAGS, put CFLAGS last. --- ChangeLog | 7 +++++++ configure | 40 ++++++++-------------------------------- configure.in | 38 +++++--------------------------------- lib-src/ChangeLog | 8 ++++++++ lib-src/Makefile.in | 13 ++++++++----- lwlib/ChangeLog | 6 ++++++ lwlib/Makefile.in | 5 ++++- oldXMenu/ChangeLog | 6 ++++++ oldXMenu/Makefile.in | 3 +++ src/ChangeLog | 7 +++++++ src/Makefile.in | 14 +++++++++++--- 11 files changed, 73 insertions(+), 74 deletions(-) diff --git a/ChangeLog b/ChangeLog index ef939acaf2..939c9da1f2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2010-07-12 Andreas Schwab + + * configure.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS) + (PROFILING_LDFLAGS): Substitute, don't add them to CFLAGS/LDFLAGS. + (C_OPTIMIZE_SWITCH): Remove. + (TEMACS_LDFLAGS2): Add ${PROFILING_LDFLAGS}. + 2010-07-11 Andreas Schwab * configure.in: Don't check for index and rindex, check for strchr diff --git a/configure b/configure index 0d3de7bd15..693e404bba 100755 --- a/configure +++ b/configure @@ -724,6 +724,7 @@ RANLIB INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM +C_WARNINGS_SWITCH EGREP GREP CPP @@ -742,6 +743,8 @@ build_os build_vendor build_cpu build +PROFILING_LDFLAGS +PROFILING_CFLAGS MAINT GZIP_INFO target_alias @@ -3013,6 +3016,8 @@ else PROFILING_LDFLAGS= fi + + # Check whether --enable-autodepend was given. if test "${enable_autodepend+set}" = set; then : enableval=$enable_autodepend; ac_enable_autodepend="${enableval}" @@ -4313,14 +4318,6 @@ then CC="$NON_GNU_CC" fi -if test x$GCC = xyes; then - C_OPTIMIZE_SWITCH=-O2 - test "x$GCC_TEST_OPTIONS" != x && CC="$CC $GCC_TEST_OPTIONS" -else - C_OPTIMIZE_SWITCH=-O - test "x$NON_GCC_TEST_OPTIONS" != x && CC="$CC $NON_GCC_TEST_OPTIONS" -fi - ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -4875,6 +4872,7 @@ unset has_option unset SAVE_CFLAGS + #### Some other nice autoconf tests. ac_ext=c @@ -5485,34 +5483,12 @@ fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext -LDFLAGS="${LDFLAGS} ${PROFILING_LDFLAGS}" - # The value of CPP is a quoted variable reference, so we need to do this # to get its actual value... CPP=`eval "echo $CPP"` -### First figure out CFLAGS (which we use for running the compiler here) -### and REAL_CFLAGS (which we use for real compilation). -### The two are the same except when using GCC where we might use -### extra warning and profiling flags. - -### If the CFLAGS env var is specified, we use that value -### instead of the default. - -if test "x$SPECIFIED_CFLAGS" = x; then - CFLAGS="-g $C_OPTIMIZE_SWITCH" - if test x$GCC = xyes; then - REAL_CFLAGS="$CFLAGS $C_WARNINGS_SWITCH $PROFILING_CFLAGS" - else - REAL_CFLAGS="$CFLAGS" - fi -else - REAL_CFLAGS="$CFLAGS" -fi - - CANNOT_DUMP=no case "$opsys" in your-opsys-here) @@ -7417,7 +7393,7 @@ tmp_CPPFLAGS="$CPPFLAGS" tmp_CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS -x objective-c" CFLAGS="$CFLAGS -x objective-c" -TEMACS_LDFLAGS2="\${LDFLAGS}" +TEMACS_LDFLAGS2="\${LDFLAGS} \${PROFILING_LDFLAGS}" if test "${with_ns}" != no; then if test "${opsys}" = darwin; then NS_IMPL_COCOA=yes @@ -7441,7 +7417,6 @@ if test "${with_ns}" != no; then GNUSTEP_LOCAL_LIBRARIES="-L${GNUSTEP_LOCAL_LIBRARIES}" CPPFLAGS="$CPPFLAGS -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" CFLAGS="$CFLAGS -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" - REAL_CFLAGS="$REAL_CFLAGS -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" LDFLAGS="$LDFLAGS -L${GNUSTEP_SYSTEM_LIBRARIES} ${GNUSTEP_LOCAL_LIBRARIES}" LIB_STANDARD= START_FILES= @@ -8075,6 +8050,7 @@ esac # used for the tests that follow. We set them back to REAL_CFLAGS and # REAL_CPPFLAGS later on. +REAL_CFLAGS="$CFLAGS" REAL_CPPFLAGS="$CPPFLAGS" if test "${HAVE_X11}" = "yes"; then diff --git a/configure.in b/configure.in index 0f0cb8f6a3..ed229916eb 100644 --- a/configure.in +++ b/configure.in @@ -327,6 +327,8 @@ else PROFILING_CFLAGS= PROFILING_LDFLAGS= fi +AC_SUBST(PROFILING_CFLAGS) +AC_SUBST(PROFILING_LDFLAGS) AC_ARG_ENABLE(autodepend, [AS_HELP_STRING([--enable-autodepend], @@ -720,14 +722,6 @@ then CC="$NON_GNU_CC" fi -if test x$GCC = xyes; then - C_OPTIMIZE_SWITCH=-O2 - test "x$GCC_TEST_OPTIONS" != x && CC="$CC $GCC_TEST_OPTIONS" -else - C_OPTIMIZE_SWITCH=-O - test "x$NON_GCC_TEST_OPTIONS" != x && CC="$CC $NON_GCC_TEST_OPTIONS" -fi - dnl checks for Unix variants AC_USE_SYSTEM_EXTENSIONS @@ -770,6 +764,7 @@ AC_MSG_RESULT($has_option) CFLAGS="$SAVE_CFLAGS" unset has_option unset SAVE_CFLAGS +AC_SUBST(C_WARNINGS_SWITCH) #### Some other nice autoconf tests. @@ -861,35 +856,12 @@ AC_LINK_IFELSE([main(){return 0;}], LDFLAGS=$late_LDFLAGS [AC_MSG_RESULT(no)]) -LDFLAGS="${LDFLAGS} ${PROFILING_LDFLAGS}" - # The value of CPP is a quoted variable reference, so we need to do this # to get its actual value... CPP=`eval "echo $CPP"` -### First figure out CFLAGS (which we use for running the compiler here) -### and REAL_CFLAGS (which we use for real compilation). -### The two are the same except when using GCC where we might use -### extra warning and profiling flags. - -### If the CFLAGS env var is specified, we use that value -### instead of the default. - -dnl Note AC_PROG_CC sets CFLAGS to -g -O2 for gcc anyway. -if test "x$SPECIFIED_CFLAGS" = x; then - CFLAGS="-g $C_OPTIMIZE_SWITCH" - if test x$GCC = xyes; then - REAL_CFLAGS="$CFLAGS $C_WARNINGS_SWITCH $PROFILING_CFLAGS" - else - REAL_CFLAGS="$CFLAGS" - fi -else - REAL_CFLAGS="$CFLAGS" -fi - - dnl Not used by any currently supported platform. dnl The function dump-emacs will not be defined and temacs will do dnl (load "loadup") automatically unless told otherwise. @@ -1497,7 +1469,7 @@ tmp_CPPFLAGS="$CPPFLAGS" tmp_CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS -x objective-c" CFLAGS="$CFLAGS -x objective-c" -TEMACS_LDFLAGS2="\${LDFLAGS}" +TEMACS_LDFLAGS2="\${LDFLAGS} \${PROFILING_LDFLAGS}" dnl I don't think it's especially important, but src/Makefile.in dnl (now the only user of ns_appdir) used to go to the trouble of adding a dnl trailing "/" to it, so now we do it here. @@ -1526,7 +1498,6 @@ if test "${with_ns}" != no; then GNUSTEP_LOCAL_LIBRARIES="-L${GNUSTEP_LOCAL_LIBRARIES}" CPPFLAGS="$CPPFLAGS -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" CFLAGS="$CFLAGS -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" - REAL_CFLAGS="$REAL_CFLAGS -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" LDFLAGS="$LDFLAGS -L${GNUSTEP_SYSTEM_LIBRARIES} ${GNUSTEP_LOCAL_LIBRARIES}" LIB_STANDARD= START_FILES= @@ -1732,6 +1703,7 @@ esac # used for the tests that follow. We set them back to REAL_CFLAGS and # REAL_CPPFLAGS later on. +REAL_CFLAGS="$CFLAGS" REAL_CPPFLAGS="$CPPFLAGS" if test "${HAVE_X11}" = "yes"; then diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index ea23d3915b..e58d8ef1cd 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,11 @@ +2010-07-12 Andreas Schwab + + * Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS) + (PROFILING_LDFLAGS): Set from substitution. + (BASE_CFLAGS): Add ${C_WARNINGS_SWITCH}. + (ALL_CFLAGS, CPP_CFLAGS): Add ${PROFILING_CFLAGS}. + (LINK_CFLAGS): Add ${PROFILING_LDFLAGS}. + 2010-07-12 Eli Zaretskii * makefile.w32-in (lisp2): Change hebrew.el to hebrew.elc (see diff --git a/lib-src/Makefile.in b/lib-src/Makefile.in index b5c557d8c7..9ad3c65afa 100644 --- a/lib-src/Makefile.in +++ b/lib-src/Makefile.in @@ -36,6 +36,9 @@ configuration=@configuration@ EXEEXT=@EXEEXT@ C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@ C_SWITCH_MACHINE=@C_SWITCH_MACHINE@ +C_WARNINGS_SWITCH = @C_WARNINGS_SWITCH@ +PROFILING_CFLAGS = @PROFILING_CFLAGS@ +PROFILING_LDFLAGS = @PROFILING_LDFLAGS@ # Program name transformation. TRANSFORM = @program_transform_name@ @@ -165,12 +168,12 @@ LIBS_SYSTEM = @LIBS_SYSTEM@ # Those files shared with other GNU utilities need HAVE_CONFIG_H # defined before they know they can take advantage of the information # in ../src/config.h. -BASE_CFLAGS = $(C_SWITCH_SYSTEM) $(C_SWITCH_MACHINE) -DHAVE_CONFIG_H \ - -I. -I../src -I${srcdir} -I${srcdir}/../src +BASE_CFLAGS = $(C_SWITCH_SYSTEM) $(C_SWITCH_MACHINE) ${C_WARNINGS_SWITCH} \ + -DHAVE_CONFIG_H -I. -I../src -I${srcdir} -I${srcdir}/../src -ALL_CFLAGS = ${BASE_CFLAGS} ${LDFLAGS} ${CPPFLAGS} ${CFLAGS} -LINK_CFLAGS = ${BASE_CFLAGS} ${LDFLAGS} ${CFLAGS} -CPP_CFLAGS = ${BASE_CFLAGS} ${CPPFLAGS} ${CFLAGS} +ALL_CFLAGS = ${BASE_CFLAGS} ${PROFILING_CFLAGS} ${LDFLAGS} ${CPPFLAGS} ${CFLAGS} +LINK_CFLAGS = ${BASE_CFLAGS} ${PROFILING_LDFLAGS} ${LDFLAGS} ${CFLAGS} +CPP_CFLAGS = ${BASE_CFLAGS} ${PROFILING_CFLAGS} ${CPPFLAGS} ${CFLAGS} LOADLIBES=$(LIBS_SYSTEM) diff --git a/lwlib/ChangeLog b/lwlib/ChangeLog index 97ed18691c..d591b93e50 100644 --- a/lwlib/ChangeLog +++ b/lwlib/ChangeLog @@ -1,3 +1,9 @@ +2010-07-12 Andreas Schwab + + * Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS): Set from + substitution. + (ALL_CFLAGS): Add ${C_WARNINGS_SWITCH} and ${PROFILING_CFLAGS}. + 2010-07-08 Jan Djärv * xlwmenu.c (size_menu_item): Change from K&R to prototype. diff --git a/lwlib/Makefile.in b/lwlib/Makefile.in index eac0917445..13c3f5691f 100644 --- a/lwlib/Makefile.in +++ b/lwlib/Makefile.in @@ -29,6 +29,8 @@ C_SWITCH_X_SITE=@C_SWITCH_X_SITE@ C_SWITCH_X_SYSTEM=@C_SWITCH_X_SYSTEM@ C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@ C_SWITCH_MACHINE=@C_SWITCH_MACHINE@ +C_WARNINGS_SWITCH = @C_WARNINGS_SWITCH@ +PROFILING_CFLAGS = @PROFILING_CFLAGS@ CC=@CC@ CFLAGS=@CFLAGS@ @@ -50,7 +52,8 @@ OBJS = lwlib.o $(TOOLKIT_OBJS) lwlib-utils.o # ../src is needed to find config.h. ALL_CFLAGS= $(C_SWITCH_SYSTEM) $(C_SWITCH_X_SITE) \ - $(C_SWITCH_X_SYSTEM) $(C_SWITCH_MACHINE) $(CFLAGS) \ + $(C_SWITCH_X_SYSTEM) $(C_SWITCH_MACHINE) \ + ${C_WARNINGS_SWITCH} ${PROFILING_CFLAGS} $(CFLAGS) \ -DHAVE_CONFIG_H -Demacs -I. -I../src -I${srcdir} -I${srcdir}/../src .c.o: diff --git a/oldXMenu/ChangeLog b/oldXMenu/ChangeLog index e2edb0afe0..38e9e5d6ed 100644 --- a/oldXMenu/ChangeLog +++ b/oldXMenu/ChangeLog @@ -1,3 +1,9 @@ +2010-07-12 Andreas Schwab + + * Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS): Set from + substitution. + (ALL_CFLAGS): Add ${C_WARNINGS_SWITCH} and ${PROFILING_CFLAGS}. + 2010-07-04 Dan Nicolaescu * Activate.c: Convert function definitions to standard C. diff --git a/oldXMenu/Makefile.in b/oldXMenu/Makefile.in index 5e2e2f6fb9..8acfee07fd 100644 --- a/oldXMenu/Makefile.in +++ b/oldXMenu/Makefile.in @@ -49,6 +49,8 @@ C_SWITCH_X_SITE=@C_SWITCH_X_SITE@ C_SWITCH_X_SYSTEM=@C_SWITCH_X_SYSTEM@ C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@ C_SWITCH_MACHINE=@C_SWITCH_MACHINE@ +C_WARNINGS_SWITCH = @C_WARNINGS_SWITCH@ +PROFILING_CFLAGS = @PROFILING_CFLAGS@ EXTRA=insque.o CC=@CC@ @@ -88,6 +90,7 @@ all:: libXMenu11.a ALL_CFLAGS=$(C_SWITCH_SYSTEM) $(C_SWITCH_MACHINE) \ $(C_SWITCH_X_SITE) $(C_SWITCH_X_SYSTEM) \ + ${C_WARNINGS_SWITCH} ${PROFILING_CFLAGS} \ $(CPPFLAGS) $(CFLAGS) -DEMACS_BITMAP_FILES \ -I../src -I${srcdir} -I${srcdir}/../src diff --git a/src/ChangeLog b/src/ChangeLog index c7e5c5c3ef..0a14868764 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2010-07-12 Andreas Schwab + + * Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS) + (PROFILING_LDFLAGS): Set from substitution. + (ALL_CFLAGS): Add C_WARNINGS_SWITCH and PROFILING_CFLAGS, put + CFLAGS last. + 2010-07-12 Kenichi Handa * Makefile.in (lisp): Change hebrew.el to hebrew.elc. diff --git a/src/Makefile.in b/src/Makefile.in index 6a60b1d1ff..a8d400c7c3 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -63,6 +63,13 @@ OTHER_FILES = @OTHER_FILES@ CRT_DIR=@CRT_DIR@ +## Flags to pass for profiling builds +PROFILING_CFLAGS = @PROFILING_CFLAGS@ +PROFILING_LDFLAGS = @PROFILING_LDFLAGS@ + +## Flags to pass to the compiler to enable build warnings +C_WARNINGS_SWITCH = @C_WARNINGS_SWITCH@ + ## Machine-specific CFLAGS. C_SWITCH_MACHINE=@C_SWITCH_MACHINE@ ## System-specific CFLAGS. @@ -107,7 +114,7 @@ LD_SWITCH_SYSTEM_TEMACS=@LD_SWITCH_SYSTEM_TEMACS@ ## Flags to pass to ld only for temacs. TEMACS_LDFLAGS = $(LD_SWITCH_SYSTEM) $(LD_SWITCH_SYSTEM_TEMACS) -## $LDFLAGS, or empty if NS_IMPL_GNUSTEP (for some reason). +## $LDFLAGS $PROFILING_LDFLAGS, or empty if NS_IMPL_GNUSTEP (for some reason). TEMACS_LDFLAGS2 = @TEMACS_LDFLAGS2@ ## Some systems define this to request special libraries. @@ -309,8 +316,9 @@ MKDEPDIR=@MKDEPDIR@ ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(MYCPPFLAGS) -I. -I${srcdir} \ ${C_SWITCH_MACHINE} ${C_SWITCH_SYSTEM} ${C_SWITCH_X_SITE} \ ${C_SWITCH_X_SYSTEM} ${CFLAGS_SOUND} ${RSVG_CFLAGS} ${DBUS_CFLAGS} \ - ${GCONF_CFLAGS} ${CFLAGS} ${FREETYPE_CFLAGS} ${FONTCONFIG_CFLAGS} \ - ${LIBOTF_CFLAGS} ${M17N_FLT_CFLAGS} ${DEPFLAGS} + ${GCONF_CFLAGS} ${FREETYPE_CFLAGS} ${FONTCONFIG_CFLAGS} \ + ${LIBOTF_CFLAGS} ${M17N_FLT_CFLAGS} ${DEPFLAGS} ${PROFILING_CFLAGS} \ + ${C_WARNINGS_SWITCH} ${CFLAGS} ALL_OBJC_CFLAGS=$(ALL_CFLAGS) $(GNU_OBJC_CFLAGS) .SUFFIXES: .m -- 2.20.1