[svn-commits] gtjoseph: branch 12 r425964 - /branches/12/

SVN commits to the Digium repositories svn-commits at lists.digium.com
Sun Oct 19 12:04:02 CDT 2014


Author: gtjoseph
Date: Sun Oct 19 12:03:49 2014
New Revision: 425964

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=425964
Log:
build: Force -fsigned-char on platforms where the default for char is unsigned

gcc on the ARM platform defaults 'char' to 'unsigned char' whereas Intel and
SPARC default to 'signed char'.  This is only an issue in the rare cases where
negative values are assigned to a 'char' but this this patch insures
compatibility by detecting platforms that default to 'unsigned' and adding an
'-fsigned-char' flag to _ASTCFLAGS.

If compiling for ARM (native or cross-compile) be sure to run ./bootstrap.sh
and ./configure to regenerate the build files.  You shouldn't have to do this
for Intel or SPARC.

Tested-by: George Joseph

Review: https://reviewboard.asterisk.org/r/4091/


Modified:
    branches/12/Makefile
    branches/12/configure
    branches/12/configure.ac
    branches/12/makeopts.in

Modified: branches/12/Makefile
URL: http://svnview.digium.com/svn/asterisk/branches/12/Makefile?view=diff&rev=425964&r1=425963&r2=425964
==============================================================================
--- branches/12/Makefile (original)
+++ branches/12/Makefile Sun Oct 19 12:03:49 2014
@@ -104,7 +104,7 @@
 
 # start the primary CFLAGS and LDFLAGS with any that were provided
 # to the configure script
-_ASTCFLAGS:=$(CONFIG_CFLAGS)
+_ASTCFLAGS:=$(CONFIG_CFLAGS) $(CONFIG_SIGNED_CHAR)
 _ASTLDFLAGS:=$(CONFIG_LDFLAGS)
 
 # Some build systems, such as the one in openwrt, like to pass custom target

Modified: branches/12/configure.ac
URL: http://svnview.digium.com/svn/asterisk/branches/12/configure.ac?view=diff&rev=425964&r1=425963&r2=425964
==============================================================================
--- branches/12/configure.ac (original)
+++ branches/12/configure.ac Sun Oct 19 12:03:49 2014
@@ -191,6 +191,25 @@
 
 AC_SUBST(OSARCH)
 AC_SUBST(PBX_WINARCH)
+
+AC_MSG_CHECKING(whether char is unsigned)
+AC_COMPILE_IFELSE(
+	[
+		AC_LANG_SOURCE(
+#include <limits.h>
+#if CHAR_MIN == 0
+#error
+#endif
+		)
+	],[
+		AC_MSG_RESULT(no)
+		CONFIG_SIGNED_CHAR=""
+	],[
+		AC_MSG_RESULT(yes)
+		CONFIG_SIGNED_CHAR="-fsigned-char"
+	]
+)
+AC_SUBST(CONFIG_SIGNED_CHAR)
 
 #  check for uname
 AC_PATH_TOOL([UNAME], [uname], No)

Modified: branches/12/makeopts.in
URL: http://svnview.digium.com/svn/asterisk/branches/12/makeopts.in?view=diff&rev=425964&r1=425963&r2=425964
==============================================================================
--- branches/12/makeopts.in (original)
+++ branches/12/makeopts.in Sun Oct 19 12:03:49 2014
@@ -60,6 +60,7 @@
 
 CONFIG_CFLAGS=@CONFIG_CFLAGS@
 CONFIG_LDFLAGS=@CONFIG_LDFLAGS@
+CONFIG_SIGNED_CHAR=@CONFIG_SIGNED_CHAR@
 
 GNU_LD=@GNU_LD@
 WEAKREF=@PBX_WEAKREF@




More information about the svn-commits mailing list