what's up with _COMPILING_NEWLIB

Mike Frysinger <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <YYcb752EA71AhfF3@vapier>
i stumbled across _COMPILING_NEWLIB and it seems to be what i want: a symbol
that indicates the code currently being compiled is newlib itself so that the
header can change behavior for that environment specifically.  is that what
it's meant for ?

if so, why does it seem to be inconsistently defined ?  newlib/configure.host
will add it for a few random targets, as does the mips-specific
newlib/libc/machine/mips/Makefile.am, as do a few specific winsup/cygwin/
files.  it feels like the patch below is what we should have.

if that's not what this is for, is there a define that has this meaning ?
in the glibc & gnulib world, the plain _LIBC define indicates this.
-mike

--- a/newlib/configure.host
+++ b/newlib/configure.host
@@ -54,7 +54,7 @@
 #   have_init_fini	have init/fini ("yes" or "no", set to "yes" by default)
 #   noinclude		list of include files to not install
 
-newlib_cflags=
+newlib_cflags="-D_COMPILING_NEWLIB"
 libm_machine_dir=
 machine_dir=
 shared_machine_dir=
@@ -467,15 +467,11 @@ case "${host}" in
 	sys_dir=a29khif
 	signal_dir=
 	;;
-  aarch64*-*-*)
-	newlib_cflags="${newlib_cflags} -D_COMPILING_NEWLIB"
-	;;
   amdgcn*)
 	sys_dir=amdgcn
 	have_crt0="no"
 	;;
   arm*-*-*)
-	newlib_cflags="${newlib_cflags} -D_COMPILING_NEWLIB"
 	sys_dir=arm
 	if [ "x${newlib_may_supply_syscalls}" = "xno" ] ; then
 	  have_crt0="no"
@@ -652,11 +648,11 @@ case "${host}" in
 	default_newlib_io_long_double="yes"
 	default_newlib_io_pos_args="yes"
 	CC="${CC} -I${cygwin_srcdir}/include"
-	newlib_cflags="${newlib_cflags} -DHAVE_OPENDIR -DHAVE_RENAME -DGETREENT_PROVIDED -DSIGNAL_PROVIDED -D_COMPILING_NEWLIB -DHAVE_BLKSIZE -DHAVE_FCNTL -DMALLOC_PROVIDED"
+	newlib_cflags="${newlib_cflags} -DHAVE_OPENDIR -DHAVE_RENAME -DGETREENT_PROVIDED -DSIGNAL_PROVIDED -DHAVE_BLKSIZE -DHAVE_FCNTL -DMALLOC_PROVIDED"
 	syscall_dir=syscalls
 	;;
   *-*-phoenix*)
-	newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES -D_COMPILING_NEWLIB -DHAVE_BLKSIZE -DHAVE_NANOSLEEP"
+	newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES -DHAVE_BLKSIZE -DHAVE_NANOSLEEP"
 	default_newlib_io_long_long="yes"
 	syscall_dir=
 	;;
@@ -671,7 +667,6 @@ case "${host}" in
 	default_newlib_io_long_long="yes"
 	default_newlib_io_c99_formats="yes"
 	newlib_cflags="${newlib_cflags} -ffunction-sections -fdata-sections "
-	newlib_cflags="${newlib_cflags} -D_COMPILING_NEWLIB"
 newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DGETREENT_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL -DHAVE_ASSERT_FUNC"
         # turn off unsupported items in posix directory 
 	newlib_cflags="${newlib_cflags} -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET -D_NO_WORDEXP -D_NO_POPEN -D_NO_POSIX_SPAWN"
--- a/newlib/libc/machine/mips/Makefile.am
+++ b/newlib/libc/machine/mips/Makefile.am
@@ -9,8 +9,6 @@ AM_CCASFLAGS = $(INCLUDES)
 noinst_LIBRARIES = lib.a
 
 lib_a_SOURCES = setjmp.S strlen.c strcmp.S strncpy.c memset.S memcpy.S
-lib_a_CCASFLAGS=$(AM_CCASFLAGS) -D_COMPILING_NEWLIB
-lib_a_CFLAGS=$(AM_CFLAGS) -D_COMPILING_NEWLIB
 
 ACLOCAL_AMFLAGS = -I ../../.. -I ../../../..
 CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
--- a/newlib/libc/machine/mips/Makefile.in
+++ b/newlib/libc/machine/mips/Makefile.in
@@ -198,8 +198,6 @@ INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
 AM_CCASFLAGS = $(INCLUDES)
 noinst_LIBRARIES = lib.a
 lib_a_SOURCES = setjmp.S strlen.c strcmp.S strncpy.c memset.S memcpy.S
-lib_a_CCASFLAGS = $(AM_CCASFLAGS) -D_COMPILING_NEWLIB
-lib_a_CFLAGS = $(AM_CFLAGS) -D_COMPILING_NEWLIB
 ACLOCAL_AMFLAGS = -I ../../.. -I ../../../..
 CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
 all: all-am
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEuQK1JxMl+JKsJRrUQWM7n+g39YEFAmGHG+8ACgkQQWM7n+g3
9YGZ6w//ZEz+5vwSCnD7TAxiX9eQjHflXcNq0KvZwP+V2zWHwj12lURPzcCuLBKH
LN8qKOI/0r5nRhuXJHkefTiuFkbVud+jjkaZJIQ0SDQRmE90AZBGj4L2Vs8Gl1Sr
lNfqU0+pKbf5Q+efEljPkIuYm7JkJTQ+rtd4amHtun+x6ksL9Y8oGnHNCbwymaSj
ItJjaXEjQK/3bziboIkDzyD9iWxDrLUdMCEjENz0WQYqpo03eqJu0Rmh6wQ19hJu
wNFD7szmV4unjkteRhnmITr02/O0BUNCzlMnG68GqMI0PDYaEYPhVSNqAm5j81rd
u2E4EMggn714zwt7hREfDf/1zlCPowRQdDp7Abkz9253O+iSuks7PBB7IW49Q731
U6XgpBx7Lgl7SDvhDpNJv62Pt7eZbPxl/48/9No9tL9E+K4uWL84TgE9nLSz73ki
XDq/8r0dlx91lL3ilryh5H7WQPy5WMqbw2qEsFDHZ8Jm+YvJjZWuqqpSWaSNdp/M
K4GtqoLGW+cyIz92iayIEqWtCpN/oS5JXrrX6XNFkuydAik+a69W/+VPjDrGt9lH
mzsY3elQfAfrxyE4AzMOyiovHw3YBNjse65UAhCL34DG5CEf/owDf4bUgtWzoO9y
H69jvDnK1SXT3i6DUaJpjYPNumlEKlBSwhGLCQ0FTJnJ9Mja/Y0=
=/IiB
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.