<div dir="ltr">I am OK with this and think it will give a more helpful message.<div><br></div><div>Did you notice any other grossly out of date, unneeded tests</div><div>that generated conditionals for the code?</div><div><br></div><div>We have been very nice about not hard forcing people to update</div><div>and things like the sys/cpuset.h tests should just be removed now</div><div>that your toolset would have to be over a year old. </div><div><br></div><div>--joel</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 12, 2017 at 3:01 AM, Sebastian Huber <span dir="ltr"><<a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Stop the build with a common error message in case the tool chain is<br>
seriously out of date.<br>
---<br>
 cpukit/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a> | 27 +++++++++++++--------------<br>
 1 file changed, 13 insertions(+), 14 deletions(-)<br>
<br>
diff --git a/cpukit/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a> b/cpukit/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a><br>
index 4410bf1..4aad929 100644<br>
--- a/cpukit/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a><br>
+++ b/cpukit/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a><br>
@@ -23,6 +23,8 @@ RTEMS_ENABLE_DRVMGR<br>
 RTEMS_ENV_RTEMSCPU<br>
 RTEMS_CHECK_RTEMS_DEBUG<br>
<br>
+AC_DEFUN([RTEMS_TOOL_CHAIN_<wbr>ERROR],AC_MSG_ERROR([please update your tool chain via the RSB (<a href="https://devel.rtems.org/wiki/Developer/Tools/RSB)]" rel="noreferrer" target="_blank">https://devel.rtems.org/wiki/<wbr>Developer/Tools/RSB)]</a>))<br>
+<br>
 # Is this a supported CPU?<br>
 AC_MSG_CHECKING([if cpu $RTEMS_CPU is supported])<br>
 if test -d "$srcdir/score/cpu/$RTEMS_CPU"<wbr>; then<br>
@@ -57,9 +59,7 @@ AC_CHECK_FUNCS([creat \<br>
   sleep \<br>
   telldir \<br>
   usleep],,<br>
-  [rtems_missing_func="$ac_func"<wbr>;break])<br>
-AS_IF([test -n "$rtems_missing_func"],<br>
-  AC_MSG_ERROR([Missing function $rtems_missing_func in libc])])<br>
+  [RTEMS_TOOL_CHAIN_ERROR])<br>
 AC_CHECK_FUNCS([__assert])<br>
 AC_CHECK_FUNCS([execl execlp execle execv execvp execve])<br>
 AC_CHECK_FUNCS([regcomp regexec regerror regfree])<br>
@@ -75,10 +75,11 @@ AC_CHECK_DECLS([__env_lock],,,<wbr>[#include <envlock.h>])<br>
 AC_CHECK_DECLS([__env_unlock],<wbr>,,[#include <envlock.h>])<br>
 AC_CHECK_TYPES([struct _Thread_queue_Queue],[],[],[#<wbr>include <sys/lock.h>])<br>
 AC_CHECK_SIZEOF([pthread_<wbr>spinlock_t],[],[],[#include <pthread.h>])<br>
+AC_CHECK_MEMBER([struct _Thread_queue_Queue._name],[],<wbr>[RTEMS_TOOL_CHAIN_ERROR],[#<wbr>include <sys/lock.h>])<br>
<br>
 # Mandated by POSIX, older newlibs bogusly provided CLOCK_PROCESS_CPUTIME+CLOCK_<wbr>THREAD_CPUTIME<br>
-AC_CHECK_DECL([CLOCK_PROCESS_<wbr>CPUTIME_ID],[],[AC_MSG_ERROR([<wbr>missing define CLOCK_PROCESS_CPUTIME_ID])],[#<wbr>include <time.h>])<br>
-AC_CHECK_DECL([CLOCK_THREAD_<wbr>CPUTIME_ID],[],[AC_MSG_ERROR([<wbr>missing define CLOCK_THREAD_CPUTIME_ID])],[#<wbr>include <time.h>])<br>
+AC_CHECK_DECL([CLOCK_PROCESS_<wbr>CPUTIME_ID],[],[RTEMS_TOOL_<wbr>CHAIN_ERROR],[#include <time.h>])<br>
+AC_CHECK_DECL([CLOCK_THREAD_<wbr>CPUTIME_ID],[],[RTEMS_TOOL_<wbr>CHAIN_ERROR],[#include <time.h>])<br>
<br>
 # Mandated by POSIX, decls not present in some versions of newlib,<br>
 # some versions stubbed in newlib's rtems crt0<br>
@@ -136,9 +137,7 @@ AC_CHECK_FUNCS([ttyname getcwd])<br>
 # Check if the installed toolchain provides these headers<br>
 # and error out if not.<br>
 AC_CHECK_HEADERS([tar.h errno.h sched.h sys/cdefs.h sys/queue.h],,<br>
-  [rtems_missing_header="$ac_<wbr>header";break])<br>
-AS_IF([test -n "$rtems_missing_header"],<br>
-  AC_MSG_ERROR([Missing required header $rtems_missing_header])])<br>
+  [RTEMS_TOOL_CHAIN_ERROR])<br>
<br>
 AC_CHECK_HEADERS([semaphore.h]<wbr>)<br>
 AM_CONDITIONAL([HAVE_<wbr>SEMAPHORE_H],[test x"$ac_cv_header_semaphore_h" = x"yes"])<br>
@@ -148,15 +147,15 @@ AM_CONDITIONAL([HAVE_THREADS_<wbr>H],[test x"$ac_cv_header_threads_h" = x"yes"])<br>
<br>
 ## error out if libc doesn't provide stdint.h<br>
 AS_IF([test x"${ac_cv_header_stdint_h}" != xyes],<br>
-[AC_MSG_ERROR([Required header stdint.h not found])])<br>
+[RTEMS_TOOL_CHAIN_ERROR])<br>
<br>
 ## error out if libc doesn't provide inttypes.h<br>
 AS_IF([test x"${ac_cv_header_inttypes_h}" != xyes],<br>
-[AC_MSG_ERROR([Required header inttypes.h not found])])<br>
+[RTEMS_TOOL_CHAIN_ERROR])<br>
<br>
 AC_HEADER_STDBOOL<br>
 AS_IF([test x"${ac_cv_header_stdbool_h}" != xyes],<br>
-[AC_MSG_ERROR([No sufficient stdbool.h found])])<br>
+[RTEMS_TOOL_CHAIN_ERROR])<br>
<br>
 AC_CHECK_TYPES([ uint8_t,  int8_t])<br>
 AC_CHECK_TYPES([uint16_t, int16_t])<br>
@@ -175,7 +174,7 @@ AC_CHECK_HEADER([pthread.h],[<br>
   AC_CHECK_TYPES([pthread_<wbr>rwlock_t])<br>
   AC_CHECK_TYPES([pthread_<wbr>barrier_t])<br>
   AC_CHECK_TYPES([pthread_<wbr>spinlock_t])<br>
-  AC_CHECK_TYPES([struct _pthread_cleanup_context],[],[<wbr>AC_MSG_ERROR([struct _pthread_cleanup_context in <pthread.h> is mandatory])],[#include <pthread.h>])<br>
+  AC_CHECK_TYPES([struct _pthread_cleanup_context],[],[<wbr>RTEMS_TOOL_CHAIN_ERROR],[#<wbr>include <pthread.h>])<br>
 ])<br>
<br>
 AC_CHECK_HEADER([signal.h],[<br>
@@ -183,7 +182,7 @@ AC_CHECK_HEADER([signal.h],[<br>
 ])<br>
<br>
 if test x"$RTEMS_USE_NEWLIB" = xyes ; then<br>
-  AC_CHECK_DECLS([__getreent],[]<wbr>,[AC_MSG_ERROR([__getreent() in <sys/reent.h> is mandatory])],[#include <sys/reent.h>])<br>
+  AC_CHECK_DECLS([__getreent],[]<wbr>,[RTEMS_TOOL_CHAIN_ERROR],[#<wbr>include <sys/reent.h>])<br>
 fi<br>
<br>
 RTEMS_CHECK_MULTIPROCESSING<br>
@@ -191,7 +190,7 @@ RTEMS_CHECK_POSIX_API<br>
 RTEMS_CHECK_NETWORKING<br>
 RTEMS_CHECK_SMP<br>
 if test "${RTEMS_HAS_SMP}" = "yes"; then<br>
-  AC_CHECK_HEADERS([stdatomic.h]<wbr>,[],[AC_MSG_ERROR([<stdatomic.<wbr>h> is required for SMP support])])<br>
+  AC_CHECK_HEADERS([stdatomic.h]<wbr>,[],[RTEMS_TOOL_CHAIN_ERROR])<br>
 fi<br>
<br>
 rtems_major=`echo _RTEMS_VERSION | sed "s/\..*//"`<br>
<span class="HOEnZb"><font color="#888888">--<br>
1.8.4.5<br>
<br>
______________________________<wbr>_________________<br>
devel mailing list<br>
<a href="mailto:devel@rtems.org">devel@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/<wbr>mailman/listinfo/devel</a><br>
</font></span></blockquote></div><br></div>