Revision: 40938
          http://brlcad.svn.sourceforge.net/brlcad/?rev=40938&view=rev
Author:   starseeker
Date:     2010-10-07 18:29:40 +0000 (Thu, 07 Oct 2010)

Log Message:
-----------
Add some more type checks, try to perform the YYTEXT_POINTER test for lex.

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

Added Paths:
-----------
    brlcad/branches/cmake/misc/CMake/test_srcs/lex_test.l

Modified: brlcad/branches/cmake/CMakeLists.txt
===================================================================
--- brlcad/branches/cmake/CMakeLists.txt        2010-10-07 18:11:45 UTC (rev 
40937)
+++ brlcad/branches/cmake/CMakeLists.txt        2010-10-07 18:29:40 UTC (rev 
40938)
@@ -524,6 +524,7 @@
        math(EXPR platform_bit_type "${CMAKE_SIZEOF_VOID_P} * 8")
        OPTION(BRLCAD-ENABLE_64BIT "${platform_bit_type} bit void pointer" OFF)
 ENDIF(${CMAKE_SIZEOF_VOID_P} MATCHES "^8$")
+FILE(APPEND  ${CONFIG_H_FILE} "#define SIZEOF_VOID_P ${CMAKE_SIZEOF_VOID_P}\n")
 MARK_AS_ADVANCED(BRLCAD-ENABLE_64BIT)
 
 # Take advantage of parallel processors if available - highly recommended
@@ -792,6 +793,7 @@
 
 BRLCAD_STRUCT_MEMBER("struct stat" st_blksize sys/stat.h 
STRUCT_STAT_ST_BLKSIZE)
 BRLCAD_STRUCT_MEMBER("struct stat" st_blocks sys/stat.h STRUCT_STAT_ST_BLOCKS)
+BRLCAD_STRUCT_MEMBER("struct stat" st_rdev sys/stat.h STRUCT_STAT_ST_RDEV)
 
 # socklen_t
 BRLCAD_TYPE_SIZE("socklen_t" SOCKLEN_T "sys/types.h")
@@ -799,10 +801,14 @@
        BRLCAD_TYPE_SIZE("socklen_t" SOCKLEN_T "sys/socket.h")
 ENDIF(NOT SOCKLEN_T)
 
-BRLCAD_TYPE_SIZE("ssize_t" SSIZE_T "")
-BRLCAD_TYPE_SIZE("uint64_t" UINT64_T "")
-BRLCAD_TYPE_SIZE("uintptr_t" UINTPTR_T "")
-BRLCAD_TYPE_SIZE("sig_t" SIG_T "signal.h")
+BRLCAD_TYPE_SIZE("int" INT "")
+BRLCAD_TYPE_SIZE("long" LONG "")
+BRLCAD_TYPE_SIZE("long long" LONG_LONG "")
+BRLCAD_TYPE_SIZE("ssize_t" SSIZE "")
+BRLCAD_TYPE_SIZE("ssize_t" SSIZE "")
+BRLCAD_TYPE_SIZE("uint64_t" UINT64 "")
+BRLCAD_TYPE_SIZE("uintptr_t" UINTPTR "")
+BRLCAD_TYPE_SIZE("sig_t" SIG "signal.h")
 
 
 

Modified: brlcad/branches/cmake/misc/CMake/BRLCAD_CheckFunctions.cmake
===================================================================
--- brlcad/branches/cmake/misc/CMake/BRLCAD_CheckFunctions.cmake        
2010-10-07 18:11:45 UTC (rev 40937)
+++ brlcad/branches/cmake/misc/CMake/BRLCAD_CheckFunctions.cmake        
2010-10-07 18:29:40 UTC (rev 40938)
@@ -32,18 +32,19 @@
 
 MACRO(BRLCAD_TYPE_SIZE typename var header)
        SET(CMAKE_EXTRA_INCLUDE_FILES ${header})
-       CHECK_TYPE_SIZE(${typename} ${var})
+       CHECK_TYPE_SIZE(${typename} HAVE_${var}_T)
        SET(CMAKE_EXTRA_INCLUDE_FILES)
-       if(CONFIG_H_FILE AND ${var})
-               FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine HAVE_${var} 1\n")
-       endif(CONFIG_H_FILE AND ${var})
+       if(CONFIG_H_FILE AND HAVE_${var}_T)
+               FILE(APPEND ${CONFIG_H_FILE} "#define HAVE_${var}_T 1\n")
+               FILE(APPEND ${CONFIG_H_FILE} "#define SIZEOF_${var} 
${HAVE_${var}_T}\n")
+       endif(CONFIG_H_FILE AND HAVE_${var}_T)
 ENDMACRO(BRLCAD_TYPE_SIZE)
 
 MACRO(BRLCAD_STRUCT_MEMBER structname member header var)
-       CHECK_STRUCT_HAS_MEMBER(${structname} ${member} ${header} ${var})
-       if(CONFIG_H_FILE AND ${var})
-               FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine HAVE_${var} 1\n")
-       endif(CONFIG_H_FILE AND ${var})
+       CHECK_STRUCT_HAS_MEMBER(${structname} ${member} ${header} HAVE_${var})
+       if(CONFIG_H_FILE AND HAVE_${var})
+               FILE(APPEND ${CONFIG_H_FILE} "#define HAVE_${var} 1\n")
+       endif(CONFIG_H_FILE AND HAVE_${var})
 ENDMACRO(BRLCAD_STRUCT_MEMBER)
 
 MACRO(BRLCAD_CHECK_LIBRARY targetname lname func)

Modified: brlcad/branches/cmake/misc/CMake/FindLEX.cmake
===================================================================
--- brlcad/branches/cmake/misc/CMake/FindLEX.cmake      2010-10-07 18:11:45 UTC 
(rev 40937)
+++ brlcad/branches/cmake/misc/CMake/FindLEX.cmake      2010-10-07 18:29:40 UTC 
(rev 40938)
@@ -144,6 +144,16 @@
   ENDMACRO(ADD_LEX_YACC_DEPENDENCY)
   #============================================================
 
+  #Need to run a test lex file to determine if YYTEXT_POINTER needs
+  #to be defined
+  EXEC_PROGRAM(${LEX_EXECUTABLE} ARGS 
${CMAKE_SOURCE_DIR}/misc/CMake/test_srcs/lex_test.l -o 
${CMAKE_BINARY_DIR}/CMakeTmp/lex_test.c RETURN_VALUE _retval OUTPUT_VARIABLE 
_lexOut)
+  INCLUDE (CheckCFileRuns)
+  SET(FILE_RUN_DEFINITIONS "-DYYTEXT_POINTER=1")
+  CHECK_C_FILE_RUNS(${CMAKE_SOURCE_DIR}/misc/CMake/test_srcs/sys_wait_test.c 
YYTEXT_POINTER)
+  SET(FILE_RUN_DEFINITIONS)
+  FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine YYTEXT_POINTER 1\n")
+  
+
 ENDIF(LEX_EXECUTABLE)
 
 INCLUDE(FindPackageHandleStandardArgs)

Added: brlcad/branches/cmake/misc/CMake/test_srcs/lex_test.l
===================================================================
--- brlcad/branches/cmake/misc/CMake/test_srcs/lex_test.l                       
        (rev 0)
+++ brlcad/branches/cmake/misc/CMake/test_srcs/lex_test.l       2010-10-07 
18:29:40 UTC (rev 40938)
@@ -0,0 +1,18 @@
+%%
+a { ECHO; }
+b { REJECT; }
+c { yymore (); }
+d { yyless (1); }
+e { yyless (input () != 0); }
+f { unput (yytext[0]); }
+. { BEGIN INITIAL; }
+%%
+#ifdef YYTEXT_POINTER
+extern char *yytext;
+#endif
+int
+main (void)
+{
+  return ! yylex () + ! yywrap ();
+}
+


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

Modified: brlcad/branches/cmake/src/other/CMakeLists.txt
===================================================================
--- brlcad/branches/cmake/src/other/CMakeLists.txt      2010-10-07 18:11:45 UTC 
(rev 40937)
+++ brlcad/branches/cmake/src/other/CMakeLists.txt      2010-10-07 18:29:40 UTC 
(rev 40938)
@@ -102,13 +102,19 @@
        SET(TCL_LIBRARY 
"${BRLCAD_PREFIX}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}tcl8.5${CMAKE_SHARED_LIBRARY_SUFFIX}"
 CACHE STRING "TCL_LIBRARY" FORCE)
        SET(TCL_INCLUDE_PATH "${BRLCAD_PREFIX}/include" CACHE STRING 
"TCL_INCLUDE_PATH" FORCE)
        SET(TCL_CONF_PREFIX "${BRLCAD_PREFIX}/lib" CACHE STRING 
"TCL_CONF_PREFIX" FORCE)
+       FILE(APPEND  ${CONFIG_H_FILE} "#define HAVE_TCL_H 1\n")
+ELSE(BRLCAD_BUILD_LOCAL_TCL OR BRLCAD-ENABLE_ALL_LOCAL_LIBS)
+       BRLCAD_INCLUDE_FILE(tcl.h HAVE_TCL_H)
 ENDIF(BRLCAD_BUILD_LOCAL_TCL OR BRLCAD-ENABLE_ALL_LOCAL_LIBS)
 THIRD_PARTY_AUTOCONF_EXTERNAL_PROJECT(TK tk src/other/tk unix 
"--with-tcl=${TCL_CONF_PREFIX}")
 IF(BRLCAD_BUILD_LOCAL_TK OR BRLCAD-ENABLE_ALL_LOCAL_LIBS)
        SET(TK_LIBRARY 
"${BRLCAD_PREFIX}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}tk8.5${CMAKE_SHARED_LIBRARY_SUFFIX}"
 CACHE STRING "TK_LIBRARY" FORCE)
        SET(TK_INCLUDE_PATH "${BRLCAD_PREFIX}/include" CACHE STRING 
"TK_INCLUDE_PATH" FORCE)
        SET(TK_CONF_PREFIX "${BRLCAD_PREFIX}/lib" CACHE STRING "TK_CONF_PREFIX" 
FORCE)
+       FILE(APPEND  ${CONFIG_H_FILE} "#define HAVE_TK_H 1\n")
        ADD_DEPENDENCIES(tk tcl)
+ELSE(BRLCAD_BUILD_LOCAL_TK OR BRLCAD-ENABLE_ALL_LOCAL_LIBS)
+       BRLCAD_INCLUDE_FILE(tk.h HAVE_TK_H)
 ENDIF(BRLCAD_BUILD_LOCAL_TK OR BRLCAD-ENABLE_ALL_LOCAL_LIBS)
 
 # Now that Tcl/Tk is settled, define the HAVE_TK flag for the config.h file


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

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to