Revision: 40611
          http://brlcad.svn.sourceforge.net/brlcad/?rev=40611&view=rev
Author:   starseeker
Date:     2010-09-20 13:45:22 +0000 (Mon, 20 Sep 2010)

Log Message:
-----------
Add more macro logic - autotools docs call a couple of these obsolete, so may 
want to think about finishing full duplication of the logic for dirent...

Modified Paths:
--------------
    brlcad/branches/cmake/CMakeLists.txt
    brlcad/branches/cmake/misc/CMake/BRLCAD_CheckFunctions.cmake

Added Paths:
-----------
    brlcad/branches/cmake/misc/CMake/test_srcs/sys_wait_test.c

Modified: brlcad/branches/cmake/CMakeLists.txt
===================================================================
--- brlcad/branches/cmake/CMakeLists.txt        2010-09-20 13:02:36 UTC (rev 
40610)
+++ brlcad/branches/cmake/CMakeLists.txt        2010-09-20 13:45:22 UTC (rev 
40611)
@@ -724,21 +724,18 @@
 # syslog.h, tar.h, termios.h, trace.h, ucontext.h, ulimit.h, unistd.h,
 # utime.h, utmpx.h, wordexp.h
 
-# Need to define CMake functionality that does the same thing
-# as these AC macros:
+# Tests for standard functionality based on AC_HEADER_* macros  (see
+# http://www.gnu.org/software/hello/manual/autoconf/Particular-Headers.html)
+# AC_HEADER_STDC
 CMAKE_HEADER_STDC()
-#
-# also:
-# AC_HEADER_DIRENT
+# AC_HEADER_DIRENT - not yet fully at parity with its autotools counterpart
+CMAKE_HEADER_DIRENT()
 # AC_HEADER_SYS_WAIT
-#
-# see
-# http://www.gnu.org/software/hello/manual/autoconf/Particular-Headers.html
+CMAKE_HEADER_SYS_WAIT()
 
 # Need to compare this with the configure.ac list 
 BRLCAD_INCLUDE_FILE(alloca.h HAVE_ALLOCA_H)
 BRLCAD_INCLUDE_FILE(dslib.h HAVE_DSLIB_H)
-BRLCAD_INCLUDE_FILE(dirent.h HAVE_DIRENT_H)
 BRLCAD_INCLUDE_FILE(getopt.h HAVE_GETOPT_H)
 BRLCAD_INCLUDE_FILE(gl/device.h HAVE_GL_DEVICE_H)
 BRLCAD_INCLUDE_FILE(grp.h HAVE_GRP_H)

Modified: brlcad/branches/cmake/misc/CMake/BRLCAD_CheckFunctions.cmake
===================================================================
--- brlcad/branches/cmake/misc/CMake/BRLCAD_CheckFunctions.cmake        
2010-09-20 13:02:36 UTC (rev 40610)
+++ brlcad/branches/cmake/misc/CMake/BRLCAD_CheckFunctions.cmake        
2010-09-20 13:45:22 UTC (rev 40611)
@@ -92,3 +92,25 @@
     FILE(APPEND ${CONFIG_H_FILE} "#define STDC_HEADERS 1\n")
   ENDIF(HAVE_STDLIB_H AND HAVE_STDARG_H AND HAVE_STRING_H AND HAVE_FLOAT_H AND 
WORKING_CTYPE_MACROS)
 ENDMACRO(CMAKE_HEADER_STDC)
+
+# Based on AC_HEADER_DIRENT
+MACRO(CMAKE_HEADER_DIRENT)
+  BRLCAD_INCLUDE_FILE(dirent.h HAVE_DIRENT_H)
+  IF(NOT HAVE_DIRENT_H)
+     BRLCAD_INCLUDE_FILE(sys/ndir.h HAVE_SYS_NDIR_H)
+     IF(NOT HAVE_SYS_NDIR_H)
+        BRLCAD_INCLUDE_FILE(sys/dir.h HAVE_SYS_DIR_H)
+        IF(NOT HAVE_SYS_DIR_H)
+           BRLCAD_INCLUDE_FILE(ndir.h HAVE_NDIR_H)
+        ENDIF(NOT HAVE_SYS_DIR_H)
+     ENDIF(NOT HAVE_SYS_NDIR_H)
+  ENDIF(NOT HAVE_DIRENT_H)
+ENDMACRO(CMAKE_HEADER_DIRENT)
+
+# Based on AC_HEADER_SYS_WAIT
+MACRO(CMAKE_HEADER_SYS_WAIT)
+  CHECK_C_FILE_RUNS(${CMAKE_SOURCE_DIR}/misc/CMake/test_srcs/sys_wait_test.c 
WORKING_SYS_WAIT)
+  IF(WORKING_SYS_WAIT)
+    FILE(APPEND ${CONFIG_H_FILE} "#define HAVE_SYS_WAIT_H 1\n")
+  ENDIF(WORKING_SYS_WAIT)
+ENDMACRO(CMAKE_HEADER_SYS_WAIT)

Added: brlcad/branches/cmake/misc/CMake/test_srcs/sys_wait_test.c
===================================================================
--- brlcad/branches/cmake/misc/CMake/test_srcs/sys_wait_test.c                  
        (rev 0)
+++ brlcad/branches/cmake/misc/CMake/test_srcs/sys_wait_test.c  2010-09-20 
13:45:22 UTC (rev 40611)
@@ -0,0 +1,19 @@
+#include <sys/types.h>
+#include <sys/wait.h>
+#ifndef WEXITSTATUS
+# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8)
+#endif
+#ifndef WIFEXITED
+# define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
+#endif
+
+int
+main ()
+{
+  int s;
+  wait (&s);
+  s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
+  ;
+  return 0;
+}
+


Property changes on: brlcad/branches/cmake/misc/CMake/test_srcs/sys_wait_test.c
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to