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