Revision: 41123
http://brlcad.svn.sourceforge.net/brlcad/?rev=41123&view=rev
Author: starseeker
Date: 2010-10-22 18:47:12 +0000 (Fri, 22 Oct 2010)
Log Message:
-----------
OK, it's becoming increasing clear that the requirements for system testing and
config.h generation are going to extend to almost any project being converted
from autotools, and that a general approach using one common set of files to be
dropped in to each project will be preferable to special-case setups for each
project. Start working out the particulars of that system using Tcl -
eventually the intent is to drop this set of files into BRL-CAD, Tk, step, and
anywhere else we need them.
Modified Paths:
--------------
brlcad/branches/cmake/src/other/tcl/CMakeLists.txt
Added Paths:
-----------
brlcad/branches/cmake/src/other/tcl/CMake/CheckCFileRuns.cmake
brlcad/branches/cmake/src/other/tcl/CMake/CheckPrototypeExists.cmake
brlcad/branches/cmake/src/other/tcl/CMake/CheckSystemFunctionality.cmake
brlcad/branches/cmake/src/other/tcl/CMake/ResolveCompilerPaths.cmake
brlcad/branches/cmake/src/other/tcl/CMake/test_sources/
brlcad/branches/cmake/src/other/tcl/CMake/test_sources/alloca_header_test.c
brlcad/branches/cmake/src/other/tcl/CMake/test_sources/alloca_test.c
brlcad/branches/cmake/src/other/tcl/CMake/test_sources/ctypes_test.c
brlcad/branches/cmake/src/other/tcl/CMake/test_sources/sys_wait_test.c
Removed Paths:
-------------
brlcad/branches/cmake/src/other/tcl/CMake/TCL_ConfigFile.cmake
Added: brlcad/branches/cmake/src/other/tcl/CMake/CheckCFileRuns.cmake
===================================================================
--- brlcad/branches/cmake/src/other/tcl/CMake/CheckCFileRuns.cmake
(rev 0)
+++ brlcad/branches/cmake/src/other/tcl/CMake/CheckCFileRuns.cmake
2010-10-22 18:47:12 UTC (rev 41123)
@@ -0,0 +1,84 @@
+# - Check if the given C source code compiles and runs.
+# CHECK_C_SOURCE_RUNS(<code> <var>)
+# <code> - source code to try to compile
+# <var> - variable to store the result
+# (1 for success, empty for failure)
+# The following variables may be set before calling this macro to
+# modify the way the check is run:
+#
+# CMAKE_REQUIRED_FLAGS = string of compile command line flags
+# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
+# CMAKE_REQUIRED_INCLUDES = list of include directories
+# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
+
+#=============================================================================
+# Copyright 2006-2009 Kitware, Inc.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distributed this file outside of CMake, substitute the full
+# License text for the above reference.)
+
+MACRO(CHECK_C_FILE_RUNS SOURCE VAR)
+ IF("${VAR}" MATCHES "^${VAR}$")
+ SET(MACRO_CHECK_FUNCTION_DEFINITIONS
+ "-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
+ IF(CMAKE_REQUIRED_LIBRARIES)
+ SET(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
+ "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
+ ELSE(CMAKE_REQUIRED_LIBRARIES)
+ SET(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES)
+ ENDIF(CMAKE_REQUIRED_LIBRARIES)
+ IF(CMAKE_REQUIRED_INCLUDES)
+ SET(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES
+ "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
+ ELSE(CMAKE_REQUIRED_INCLUDES)
+ SET(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES)
+ ENDIF(CMAKE_REQUIRED_INCLUDES)
+
+ MESSAGE(STATUS "Performing Test ${VAR}")
+ TRY_RUN(${VAR}_EXITCODE ${VAR}_COMPILED
+ ${CMAKE_BINARY_DIR}
+ ${SOURCE}
+ COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
${FILE_RUN_DEFINITIONS}
+ CMAKE_FLAGS
-DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
+ -DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH}
+ "${CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}"
+ "${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
+ COMPILE_OUTPUT_VARIABLE OUTPUT)
+ # if it did not compile make the return value fail code of 1
+ IF(NOT ${VAR}_COMPILED)
+ SET(${VAR}_EXITCODE 1)
+ ENDIF(NOT ${VAR}_COMPILED)
+ # if the return value was 0 then it worked
+ IF("${${VAR}_EXITCODE}" EQUAL 0)
+ SET(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
+ MESSAGE(STATUS "Performing Test ${VAR} - Success")
+ FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ "Performing C SOURCE FILE Test ${VAR} succeded with the following
output:\n"
+ "${OUTPUT}\n"
+ "Return value: ${${VAR}}\n"
+ "Source file was:\n${SOURCE}\n")
+ ELSE("${${VAR}_EXITCODE}" EQUAL 0)
+ IF(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES
"FAILED_TO_RUN")
+ SET(${VAR} "${${VAR}_EXITCODE}")
+ ELSE(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES
"FAILED_TO_RUN")
+ SET(${VAR} "" CACHE INTERNAL "Test ${VAR}")
+ ENDIF(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES
"FAILED_TO_RUN")
+
+ MESSAGE(STATUS "Performing Test ${VAR} - Failed")
+ FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ "Performing C SOURCE FILE Test ${VAR} failed with the following
output:\n"
+ "${OUTPUT}\n"
+ "Return value: ${${VAR}_EXITCODE}\n"
+ "Source file was:\n${SOURCE}\n")
+
+ ENDIF("${${VAR}_EXITCODE}" EQUAL 0)
+ ENDIF("${VAR}" MATCHES "^${VAR}$")
+ENDMACRO(CHECK_C_FILE_RUNS)
+
Property changes on:
brlcad/branches/cmake/src/other/tcl/CMake/CheckCFileRuns.cmake
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: brlcad/branches/cmake/src/other/tcl/CMake/CheckPrototypeExists.cmake
===================================================================
--- brlcad/branches/cmake/src/other/tcl/CMake/CheckPrototypeExists.cmake
(rev 0)
+++ brlcad/branches/cmake/src/other/tcl/CMake/CheckPrototypeExists.cmake
2010-10-22 18:47:12 UTC (rev 41123)
@@ -0,0 +1,41 @@
+# - Check if the prototype for a function exists.
+# CHECK_PROTOTYPE_EXISTS (FUNCTION HEADER VARIABLE)
+#
+# FUNCTION - the name of the function you are looking for
+# HEADER - the header(s) where the prototype should be declared
+# VARIABLE - variable to store the result
+#
+# The following variables may be set before calling this macro to
+# modify the way the check is run:
+#
+# CMAKE_REQUIRED_FLAGS = string of compile command line flags
+# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
+# CMAKE_REQUIRED_INCLUDES = list of include directories
+
+# Copyright (c) 2006, Alexander Neundorf, <[email protected]>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+
+INCLUDE(CheckCXXSourceCompiles)
+
+MACRO (CHECK_PROTOTYPE_EXISTS _SYMBOL _HEADER _RESULT)
+ SET(_INCLUDE_FILES)
+ FOREACH (it ${_HEADER})
+ SET(_INCLUDE_FILES "${_INCLUDE_FILES}#include <${it}>\n")
+ ENDFOREACH (it)
+
+ SET(_CHECK_PROTO_EXISTS_SOURCE_CODE "
+${_INCLUDE_FILES}
+int main()
+{
+#ifndef ${_SYMBOL}
+ int i = sizeof(&${_SYMBOL});
+#endif
+ return 0;
+}
+")
+ CHECK_CXX_SOURCE_COMPILES("${_CHECK_PROTO_EXISTS_SOURCE_CODE}" ${_RESULT})
+ENDMACRO (CHECK_PROTOTYPE_EXISTS _SYMBOL _HEADER _RESULT)
+
Property changes on:
brlcad/branches/cmake/src/other/tcl/CMake/CheckPrototypeExists.cmake
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: brlcad/branches/cmake/src/other/tcl/CMake/CheckSystemFunctionality.cmake
===================================================================
--- brlcad/branches/cmake/src/other/tcl/CMake/CheckSystemFunctionality.cmake
(rev 0)
+++ brlcad/branches/cmake/src/other/tcl/CMake/CheckSystemFunctionality.cmake
2010-10-22 18:47:12 UTC (rev 41123)
@@ -0,0 +1,182 @@
+# CMake does not by default include functionality similar to autoheader in
+# GNU Autotools, but is it not difficult to reproduce. There are two aspects
+# to these tests - the first being the generation of a header file defining
+# variables, and the second being the running of various custom tests to
establish
+# whether features actually work on a given platform. The first step is
handled
+# by creating wrapper macros for the standard CMake functions that also write
+# to a CONFIG_H_FILE if it is defined, with a couple extra conveniences. The
second
+# and more labor intensive step is to create tests using the CMake functions
+# that reproduce the functionality tests expected by source code using
variables
+# defined by Autotools tests. This file does not have all such tests, for
each project
+# has its own requirements and many thousands of these tests can be devised.
The macro
+# collection below covers the requirements of the projects that have thus far
been
+# converted to use this particular compilation mechanism, and will be added to
as
+# needed.
+
+
+# Automate putting variables from tests into a config.h.in file,
+# and otherwise wrap check macros in extra logic as needed
+
+INCLUDE(CheckFunctionExists)
+INCLUDE(CheckIncludeFile)
+INCLUDE(CheckIncludeFiles)
+INCLUDE(CheckIncludeFileCXX)
+INCLUDE(CheckTypeSize)
+INCLUDE(CheckLibraryExists)
+INCLUDE(CheckStructHasMember)
+INCLUDE(CheckCSourceCompiles)
+INCLUDE(ResolveCompilerPaths)
+
+MACRO(CHECK_FUNCTION_EXISTS_H function var)
+ CHECK_FUNCTION_EXISTS(${function} ${var})
+ if(CONFIG_H_FILE AND ${var})
+ FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine ${var} 1\n")
+ endif(CONFIG_H_FILE AND ${var})
+ENDMACRO(CHECK_FUNCTION_EXISTS_H)
+
+MACRO(CHECK_INCLUDE_FILE_H filename var)
+ CHECK_INCLUDE_FILE(${filename} ${var})
+ if(CONFIG_H_FILE AND ${var})
+ FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine ${var} 1\n")
+ endif(CONFIG_H_FILE AND ${var})
+ENDMACRO(CHECK_INCLUDE_FILE_H)
+
+MACRO(CHECK_INCLUDE_FILE_USABILITY_H filename var)
+ CHECK_INCLUDE_FILE_H(${filename} HAVE_${var})
+ IF(HAVE_${var})
+ SET(HEADER_SRC "
+ #include <${filename}>
+ main(){};
+ ")
+ CHECK_C_SOURCE_COMPILES("${HEADER_SRC}" ${var}_USABLE)
+ ENDIF(HAVE_${var})
+ IF(NOT HAVE_${var} OR NOT ${var}_USABLE)
+ IF(CONFIG_H_FILE)
+ FILE(APPEND ${CONFIG_H_FILE} "#define NO_${var} 1\n")
+ ENDIF(CONFIG_H_FILE)
+ ENDIF(NOT HAVE_${var} OR NOT ${var}_USABLE)
+ENDMACRO(CHECK_INCLUDE_FILE_USABILITY_H filename var)
+
+MACRO(CHECK_INCLUDE_FILE_CXX_H filename var)
+ CHECK_INCLUDE_FILE_CXX(${filename} ${var})
+ if(CONFIG_H_FILE AND ${var})
+ FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine ${var} 1\n")
+ endif(CONFIG_H_FILE AND ${var})
+ENDMACRO(CHECK_INCLUDE_FILE_CXX_H)
+
+MACRO(CHECK_TYPE_SIZE_H typename var)
+ FOREACH(arg ${ARGN})
+ SET(headers ${headers} ${arg})
+ ENDFOREACH(arg ${ARGN})
+ SET(CHECK_EXTRA_INCLUDE_FILES ${header})
+ CHECK_TYPE_SIZE(${typename} HAVE_${var}_T)
+ SET(CHECK_EXTRA_INCLUDE_FILES)
+ 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(CHECK_TYPE_SIZE_H)
+
+MACRO(CHECK_STRUCT_MEMBER_H structname member header 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(CHECK_STRUCT_MEMBER_H)
+
+MACRO(CHECK_LIBRARY targetname lname func)
+ IF(NOT ${targetname}_LIBRARY)
+ CHECK_LIBRARY_EXISTS(${lname} ${func} ""
HAVE_${targetname}_${lname})
+ IF(HAVE_${targetname}_${lname})
+ RESOLVE_LIBRARIES (${targetname}_LIBRARY "-l${lname}")
+ SET(${targetname}_LINKOPT "-l${lname}")
+ ENDIF(HAVE_${targetname}_${lname})
+ ENDIF(NOT ${targetname}_LIBRARY)
+ENDMACRO(CHECK_LIBRARY lname func)
+
+# Functionality testing macros - these also assume a CONFIG_H file. In some
+# cases the minimal test code can be included in-line, but in others the
problem
+# of quoting it correctly becomes rather involved. In those cases, rather than
+# complicate the maintainance of the test, the code itself is stored in a file.
+# These files need to be present in a directory called test_sources, in one of
+# the directories in the CMAKE_MODULE_PATH variable. The first step is to
+# locate such a directory.
+
+SET(CMAKE_TEST_SRCS_DIR "NOTFOUND")
+FOREACH($candidate_dir ${CMAKE_MODULE_PATH})
+ IF(NOT CMAKE_TEST_SRCS_DIR)
+ IF(EXISTS "${candidate_dir}/test_sources" AND IS_DIRECTORY
"${candidate_dir}/test_sources")
+ SET(CMAKE_TEST_SRCS_DIR ${candidate_dir}/test_sources)
+ ENDIF(EXISTS "${candidate_dir}/test_sources" AND IS_DIRECTORY
"${candidate_dir}/test_sources")
+ ENDIF(NOT CMAKE_TEST_SRCS_DIR)
+ENDFOREACH($candidate_dir ${CMAKE_MODULE_PATH})
+
+INCLUDE(CheckPrototypeExists)
+INCLUDE(CheckCSourceRuns)
+INCLUDE(CheckCFileRuns)
+
+MACRO(CHECK_BASENAME)
+ SET(BASENAME_SRC "
+ #include <libgen.h>
+ int main(int argc, char *argv[]) {
+ (void)basename(argv[0]);
+ return 0;
+ }")
+ CHECK_C_SOURCE_RUNS("${BASENAME_SRC}" HAVE_BASENAME)
+ IF(HAVE_BASENAME)
+ FILE(APPEND ${CONFIG_H_FILE} "#define HAVE_BASENAME 1\n")
+ ENDIF(HAVE_BASENAME)
+ENDMACRO(CHECK_BASENAME var)
+
+MACRO(CHECK_DIRNAME)
+ SET(DIRNAME_SRC "
+ #include <libgen.h>
+ int main(int argc, char *argv[]) {
+ (void)dirname(argv[0]);
+ return 0;
+ }")
+ CHECK_C_SOURCE_RUNS("${DIRNAME_SRC}" HAVE_DIRNAME)
+ IF(HAVE_DIRNAME)
+ FILE(APPEND ${CONFIG_H_FILE} "#define HAVE_DIRNAME 1\n")
+ ENDIF(HAVE_DIRNAME)
+ENDMACRO(CHECK_DIRNAME var)
+
+# Based on AC_HEADER_STDC - using the source code for ctype
+# checking found in the generated configure file
+MACRO(CMAKE_HEADER_STDC)
+ CHECK_INCLUDE_FILE(stdlib.h HAVE_STDLIB_H)
+ FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine HAVE_STDLIB_H 1\n")
+ CHECK_INCLUDE_FILE(stdarg.h HAVE_STDARG_H)
+ CHECK_INCLUDE_FILE(string.h HAVE_STRING_H)
+ FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine HAVE_STRING_H 1\n")
+ CHECK_INCLUDE_FILE(strings.h HAVE_STRINGS_H)
+ FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine HAVE_STRINGS_H 1\n")
+ CHECK_INCLUDE_FILE(float.h HAVE_FLOAT_H)
+ CHECK_PROTOTYPE_EXISTS(memchr string.h HAVE_STRING_H_MEMCHR)
+ CHECK_PROTOTYPE_EXISTS(free stdlib.h HAVE_STDLIB_H_FREE)
+ CHECK_C_FILE_RUNS(${CMAKE_TEST_SRCS_DIR}/ctypes_test.c WORKING_CTYPE_MACROS)
+ IF(HAVE_STDLIB_H AND HAVE_STDARG_H AND HAVE_STRING_H AND HAVE_FLOAT_H AND
WORKING_CTYPE_MACROS)
+ 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_SYS_WAIT
+MACRO(CMAKE_HEADER_SYS_WAIT)
+ CHECK_C_FILE_RUNS(${CMAKE_TEST_SRCS_DIR}/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)
+
+# Based on AC_FUNC_ALLOCA
+MACRO(CMAKE_ALLOCA)
+ CHECK_C_FILE_RUNS(${CMAKE_TEST_SRCS_DIR}/alloca_header_test.c
WORKING_ALLOCA_H)
+ IF(WORKING_ALLOCA_H)
+ FILE(APPEND ${CONFIG_H_FILE} "#define HAVE_ALLOCA_H 1\n")
+ SET(FILE_RUN_DEFINITIONS "-DHAVE_ALLOCA_H")
+ ENDIF(WORKING_ALLOCA_H)
+ CHECK_C_FILE_RUNS(${CMAKE_TEST_SRCS_DIR}/alloca_test.c WORKING_ALLOCA)
+ IF(WORKING_ALLOCA)
+ FILE(APPEND ${CONFIG_H_FILE} "#define HAVE_ALLOCA 1\n")
+ ENDIF(WORKING_ALLOCA)
+ENDMACRO(CMAKE_ALLOCA)
Property changes on:
brlcad/branches/cmake/src/other/tcl/CMake/CheckSystemFunctionality.cmake
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: brlcad/branches/cmake/src/other/tcl/CMake/ResolveCompilerPaths.cmake
===================================================================
--- brlcad/branches/cmake/src/other/tcl/CMake/ResolveCompilerPaths.cmake
(rev 0)
+++ brlcad/branches/cmake/src/other/tcl/CMake/ResolveCompilerPaths.cmake
2010-10-22 18:47:12 UTC (rev 41123)
@@ -0,0 +1,129 @@
+#=============================================================================
+# Copyright 2008 Jed Brown
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# * Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# * Neither the names of Kitware, Inc., the Insight Software Consortium,
+# Jed Brown, nor the names of their contributors may be used to endorse
+# or promote products derived from this software without specific prior
+# written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# (Added license text after confirming with Jed Brown via email license
+# on his modules was the same as that of CMake - CY)
+#
+#=============================================================================
+# ResolveCompilerPaths - this module defines two macros
+#
+# RESOLVE_LIBRARIES (XXX_LIBRARIES LINK_LINE)
+# This macro is intended to be used by FindXXX.cmake modules.
+# It parses a compiler link line and resolves all libraries
+# (-lfoo) using the library path contexts (-L/path) in scope.
+# The result in XXX_LIBRARIES is the list of fully resolved libs.
+# Example:
+#
+# RESOLVE_LIBRARIES (FOO_LIBRARIES "-L/A -la -L/B -lb -lc -ld")
+#
+# will be resolved to
+#
+# FOO_LIBRARIES:STRING="/A/liba.so;/B/libb.so;/A/libc.so;/usr/lib/libd.so"
+#
+# if the filesystem looks like
+#
+# /A: liba.so libc.so
+# /B: liba.so libb.so
+# /usr/lib: liba.so libb.so libc.so libd.so
+#
+# and /usr/lib is a system directory.
+#
+# Note: If RESOLVE_LIBRARIES() resolves a link line differently from
+# the native linker, there is a bug in this macro (please report it).
+#
+# RESOLVE_INCLUDES (XXX_INCLUDES INCLUDE_LINE)
+# This macro is intended to be used by FindXXX.cmake modules.
+# It parses a compile line and resolves all includes
+# (-I/path/to/include) to a list of directories. Other flags are ignored.
+# Example:
+#
+# RESOLVE_INCLUDES (FOO_INCLUDES "-I/A -DBAR='\"irrelevant -I/string
here\"' -I/B")
+#
+# will be resolved to
+#
+# FOO_INCLUDES:STRING="/A;/B"
+#
+# assuming both directories exist.
+# Note: as currently implemented, the -I/string will be picked up mistakenly
(cry, cry)
+
+macro (RESOLVE_LIBRARIES LIBS LINK_LINE)
+ string (REGEX MATCHALL "((-L|-l|-Wl)([^\" ]+|\"[^\"]+\")|/[^\"
]+(a|so|dll))" _all_tokens "${LINK_LINE}")
+ set (_libs_found)
+ set (_directory_list)
+ foreach (token ${_all_tokens})
+ if (token MATCHES "-L([^\" ]+|\"[^\"]+\")")
+ # If it's a library path, add it to the list
+ string (REGEX REPLACE "^-L" "" token ${token})
+ string (REGEX REPLACE "//" "/" token ${token})
+ list (APPEND _directory_list ${token})
+ elseif (token MATCHES "^(-l([^\" ]+|\"[^\"]+\")|/[^\" ]+(a|so|dll))")
+ # It's a library, resolve the path by looking in the list and then (by
default) in system directories
+ string (REGEX REPLACE "^-l" "" token ${token})
+ set (_root)
+ if (token MATCHES "^/") # We have an absolute path, add root to the
search path
+ set (_root "/")
+ endif (token MATCHES "^/")
+ set (_lib "NOTFOUND" CACHE FILEPATH "Cleared" FORCE)
+ find_library (_lib ${token} HINTS ${_directory_list} ${_root})
+ if (_lib)
+ string (REPLACE "//" "/" _lib ${_lib})
+ list (APPEND _libs_found ${_lib})
+ else (_lib)
+ message (STATUS "Unable to find library ${token}")
+ endif (_lib)
+ endif (token MATCHES "-L([^\" ]+|\"[^\"]+\")")
+ endforeach (token)
+ set (_lib "NOTFOUND" CACHE INTERNAL "Scratch variable" FORCE)
+ # only the LAST occurence of each library is required since there should be
no circular dependencies
+ if (_libs_found)
+ list (REVERSE _libs_found)
+ list (REMOVE_DUPLICATES _libs_found)
+ list (REVERSE _libs_found)
+ endif (_libs_found)
+ set (${LIBS} "${_libs_found}")
+endmacro (RESOLVE_LIBRARIES)
+
+macro (RESOLVE_INCLUDES INCS COMPILE_LINE)
+ string (REGEX MATCHALL "-I([^\" ]+|\"[^\"]+\")" _all_tokens
"${COMPILE_LINE}")
+ set (_incs_found)
+ foreach (token ${_all_tokens})
+ string (REGEX REPLACE "^-I" "" token ${token})
+ string (REGEX REPLACE "//" "/" token ${token})
+ if (EXISTS ${token})
+ list (APPEND _incs_found ${token})
+ else (EXISTS ${token})
+ message (STATUS "Include directory ${token} does not exist")
+ endif (EXISTS ${token})
+ endforeach (token)
+ list (REMOVE_DUPLICATES _incs_found)
+ set (${INCS} "${_incs_found}")
+endmacro (RESOLVE_INCLUDES)
Property changes on:
brlcad/branches/cmake/src/other/tcl/CMake/ResolveCompilerPaths.cmake
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Deleted: brlcad/branches/cmake/src/other/tcl/CMake/TCL_ConfigFile.cmake
===================================================================
--- brlcad/branches/cmake/src/other/tcl/CMake/TCL_ConfigFile.cmake
2010-10-22 13:16:23 UTC (rev 41122)
+++ brlcad/branches/cmake/src/other/tcl/CMake/TCL_ConfigFile.cmake
2010-10-22 18:47:12 UTC (rev 41123)
@@ -1,27 +0,0 @@
-# Automate putting variables from tests into a config.h.in file
-
-INCLUDE(CheckFunctionExists)
-INCLUDE(CheckIncludeFiles)
-INCLUDE(CheckTypeSize)
-
-MACRO(TCL_FUNCTION_EXISTS function var)
- CHECK_FUNCTION_EXISTS(${function} ${var})
- if(CONFIG_H_FILE)
- FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine ${var} 1\n")
- endif(CONFIG_H_FILE)
-ENDMACRO(TCL_FUNCTION_EXISTS)
-
-MACRO(TCL_INCLUDE_FILE filename var)
- CHECK_INCLUDE_FILE(${filename} ${var})
- if(CONFIG_H_FILE)
- FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine ${var} 1\n")
- endif(CONFIG_H_FILE)
-ENDMACRO(TCL_INCLUDE_FILE)
-
-MACRO(TCL_TYPE_SIZE typename var)
- CHECK_TYPE_SIZE(${typename} ${var})
- if(CONFIG_H_FILE)
- FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine HAVE_${var} 1\n")
- endif(CONFIG_H_FILE)
-ENDMACRO(TCL_TYPE_SIZE)
-
Added:
brlcad/branches/cmake/src/other/tcl/CMake/test_sources/alloca_header_test.c
===================================================================
--- brlcad/branches/cmake/src/other/tcl/CMake/test_sources/alloca_header_test.c
(rev 0)
+++ brlcad/branches/cmake/src/other/tcl/CMake/test_sources/alloca_header_test.c
2010-10-22 18:47:12 UTC (rev 41123)
@@ -0,0 +1,10 @@
+#include <alloca.h>
+int
+main ()
+{
+ char *p = (char *) alloca (2 * sizeof (int));
+ if (p) return 0;
+ ;
+ return 0;
+}
+
Property changes on:
brlcad/branches/cmake/src/other/tcl/CMake/test_sources/alloca_header_test.c
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: brlcad/branches/cmake/src/other/tcl/CMake/test_sources/alloca_test.c
===================================================================
--- brlcad/branches/cmake/src/other/tcl/CMake/test_sources/alloca_test.c
(rev 0)
+++ brlcad/branches/cmake/src/other/tcl/CMake/test_sources/alloca_test.c
2010-10-22 18:47:12 UTC (rev 41123)
@@ -0,0 +1,30 @@
+#ifdef __GNUC__
+# define alloca __builtin_alloca
+#else
+# ifdef _MSC_VER
+# include <malloc.h>
+# define alloca _alloca
+# else
+# ifdef HAVE_ALLOCA_H
+# include <alloca.h>
+# else
+# ifdef _AIX
+ #pragma alloca
+# else
+# ifndef alloca /* predefined by HP cc +Olibcalls */
+char *alloca ();
+# endif
+# endif
+# endif
+# endif
+#endif
+
+int
+main ()
+{
+ char *p = (char *) alloca (1);
+ if (p) return 0;
+ ;
+ return 0;
+}
+
Property changes on:
brlcad/branches/cmake/src/other/tcl/CMake/test_sources/alloca_test.c
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: brlcad/branches/cmake/src/other/tcl/CMake/test_sources/ctypes_test.c
===================================================================
--- brlcad/branches/cmake/src/other/tcl/CMake/test_sources/ctypes_test.c
(rev 0)
+++ brlcad/branches/cmake/src/other/tcl/CMake/test_sources/ctypes_test.c
2010-10-22 18:47:12 UTC (rev 41123)
@@ -0,0 +1,24 @@
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
Property changes on:
brlcad/branches/cmake/src/other/tcl/CMake/test_sources/ctypes_test.c
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: brlcad/branches/cmake/src/other/tcl/CMake/test_sources/sys_wait_test.c
===================================================================
--- brlcad/branches/cmake/src/other/tcl/CMake/test_sources/sys_wait_test.c
(rev 0)
+++ brlcad/branches/cmake/src/other/tcl/CMake/test_sources/sys_wait_test.c
2010-10-22 18:47:12 UTC (rev 41123)
@@ -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/src/other/tcl/CMake/test_sources/sys_wait_test.c
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Modified: brlcad/branches/cmake/src/other/tcl/CMakeLists.txt
===================================================================
--- brlcad/branches/cmake/src/other/tcl/CMakeLists.txt 2010-10-22 13:16:23 UTC
(rev 41122)
+++ brlcad/branches/cmake/src/other/tcl/CMakeLists.txt 2010-10-22 18:47:12 UTC
(rev 41123)
@@ -108,7 +108,7 @@
FILE(APPEND ${CONFIG_H_FILE} "#ifndef _TCLCONFIG\n")
FILE(APPEND ${CONFIG_H_FILE} "#define _TCLCONFIG\n")
-INCLUDE(${TCL_SOURCE_DIR}/CMake/TCL_ConfigFile.cmake)
+INCLUDE(${TCL_SOURCE_DIR}/CMake/CheckSystemFunctionality.cmake)
#----------------------------------------------------------------------------
# First, get some standard options out of the way - things that are constant
@@ -139,127 +139,90 @@
IF(APPLE)
FILE(APPEND ${CONFIG_H_FILE} "#define MAC_OSX_TCL 1\n")
+ find_library(COREFOUNDATION_FRAMEWORK CoreFoundation)
+ IF(COREFOUNDATION_FRAMEWORK)
+ FILE(APPEND ${CONFIG_H_FILE} "#define HAVE_COREFOUNDATION 1\n")
+ ENDIF(COREFOUNDATION_FRAMEWORK)
ENDIF(APPLE)
#----------------------------------------------------------------------------
# Define a number of variables to be controlled by options
OPTION(TCL_THREADS "Enable Tcl Thread support" ON)
FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine TCL_THREADS 1\n")
-OPTION(USE_THREAD_ALLOC "Enable Tcl Thread ALLOC" ON)
-MARK_AS_ADVANCED(USE_THREAD_ALLOC)
-FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine USE_THREAD_ALLOC 1\n")
-OPTION(_REENTRANT "Enable reentrant support in Tcl threading options" ON)
-FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine _REENTRANT 1\n")
-OPTION(_THREAD_SAFE "Enable Thread safe API" ON)
-FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine _THREAD_SAFE 1\n")
# Tom's math library
OPTION(TCL_TOMMATH "Enable Tcl Tom's Math Library" ON)
FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine TCL_TOMMATH 1\n")
-FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine HAVE_PTHREAD_ATTR_SETSTACKSIZE 1\n")
-FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine HAVE_PTHREAD_GET_STACKSIZE_NP 1\n")
+#----------------------------------------------------------------------------
+# Run tests for system headers and functionality
+CHECK_INCLUDE_FILE_H(sys/types.h HAVE_SYS_TYPES_H)
+CHECK_INCLUDE_FILE_H(sys/stat.h HAVE_SYS_STAT_H)
+CHECK_INCLUDE_FILE_H(stdlib.h HAVE_STDLIB_H)
+CHECK_INCLUDE_FILE_H(string.h HAVE_STRING_H)
+CHECK_INCLUDE_FILE_H(memory.h HAVE_MEMORY_H)
+CHECK_INCLUDE_FILE_H(strings.h HAVE_STRINGS_H)
+CHECK_INCLUDE_FILE_H(inttypes.h HAVE_INTTYPES_H)
+CHECK_INCLUDE_FILE_H(stdint.h HAVE_STDINT_H)
+CHECK_INCLUDE_FILE_H(unistd.h HAVE_UNISTD_H)
-IF(APPLE)
- find_library(COREFOUNDATION_FRAMEWORK CoreFoundation)
- IF(COREFOUNDATION_FRAMEWORK)
- FILE(APPEND ${CONFIG_H_FILE} "#define HAVE_COREFOUNDATION 1\n")
- ENDIF(COREFOUNDATION_FRAMEWORK)
-ENDIF(APPLE)
-
-
-TCL_INCLUDE_FILE(sys/types.h HAVE_SYS_TYPES_H)
-TCL_INCLUDE_FILE(sys/statfs.h HAVE_SYS_STATFS_H)
-IF(NOT HAVE_SYS_STATFS_H)
- FILE(APPEND ${CONFIG_H_FILE} "#define NO_FSTATFS 1\n")
-ENDIF(NOT HAVE_SYS_STATFS_H)
-TCL_INCLUDE_FILE(stdlib.h HAVE_STDLIB_H)
-TCL_INCLUDE_FILE(string.h HAVE_STRING_H)
-TCL_INCLUDE_FILE(memory.h HAVE_MEMORY_H)
-TCL_INCLUDE_FILE(strings.h HAVE_STRINGS_H)
-TCL_INCLUDE_FILE(inttypes.h HAVE_INTTYPES_H)
-TCL_INCLUDE_FILE(stdint.h HAVE_STDINT_H)
-TCL_INCLUDE_FILE(unistd.h HAVE_UNISTD_H)
-
-TCL_INCLUDE_FILE(dirent.h HAVE_DIRENT_H)
+CHECK_INCLUDE_FILE_H(dirent.h HAVE_DIRENT_H)
IF(NOT HAVE_DIRENT_H)
FILE(APPEND ${CONFIG_H_FILE} "#define NO_DIRENT_H 1\n")
ENDIF(NOT HAVE_DIRENT_H)
-# need to check usability
-TCL_INCLUDE_FILE(float.h HAVE_FLOAT_H)
-IF(NOT HAVE_FLOAT_H)
- FILE(APPEND ${CONFIG_H_FILE} "#define NO_FLOAT_H 1\n")
-ENDIF(NOT HAVE_FLOAT_H)
+CHECK_INCLUDE_FILE_USABILITY_H(float.h FLOAT_H)
+CHECK_INCLUDE_FILE_USABILITY_H(values.h VALUES_H)
+CHECK_INCLUDE_FILE_USABILITY_H(limits.h LIMITS_H)
+CHECK_INCLUDE_FILE_USABILITY_H(sys/wait.h SYS_WAIT_H)
+CHECK_INCLUDE_FILE_USABILITY_H(dlfcn.h DLFCN_H)
+CHECK_INCLUDE_FILE_USABILITY_H(sys/param.h SYS_PARAM_H)
-# need to check usability
-TCL_INCLUDE_FILE(values.h HAVE_VALUES_H)
-IF(NOT HAVE_VALUES_H)
- FILE(APPEND ${CONFIG_H_FILE} "#define NO_VALUES_H 1\n")
-ENDIF(NOT HAVE_VALUES_H)
+CHECK_INCLUDE_FILE_H(sys/time.h HAVE_SYS_TIME_H)
+CHECK_FUNCTION_EXISTS_H(gmtime_r HAVE_GMTIME_R)
+CHECK_FUNCTION_EXISTS_H(localtime_r HAVE_LOCALTIME_R)
+CHECK_FUNCTION_EXISTS_H(mktime HAVE_MKTIME)
+CHECK_INCLUDE_FILE_H(copyfile.h HAVE_COPYFILE_H)
+CHECK_FUNCTION_EXISTS_H(copyfile HAVE_COPYFILE)
-# need to check usability
-TCL_INCLUDE_FILE(limits.h HAVE_LIMITS_H)
-IF(NOT HAVE_LIMITS_H)
- FILE(APPEND ${CONFIG_H_FILE} "#define NO_LIMITS_H 1\n")
-ENDIF(NOT HAVE_LIMITS_H)
+CHECK_INCLUDE_FILE_H(sys/ioctl.h HAVE_SYS_IOCTL_H)
+CHECK_INCLUDE_FILE_H(sys/filio.h HAVE_SYS_FILIO_H)
-# need to check usability
-TCL_INCLUDE_FILE(sys/wait.h HAVE_SYS_WAIT_H)
-IF(NOT HAVE_SYS_WAIT_H)
- FILE(APPEND ${CONFIG_H_FILE} "#define NO_SYS_WAIT_H 1\n")
-ENDIF(NOT HAVE_SYS_WAIT_H)
-
-
-
-TCL_INCLUDE_FILE(sys/param.h HAVE_SYS_PARAM_H)
-
-TCL_INCLUDE_FILE(sys/time.h HAVE_SYS_TIME_H)
-TCL_FUNCTION_EXISTS(gmtime_r HAVE_GMTIME_R)
-TCL_FUNCTION_EXISTS(localtime_r HAVE_LOCALTIME_R)
-TCL_FUNCTION_EXISTS(mktime HAVE_MKTIME)
-
-TCL_INCLUDE_FILE(copyfile.h HAVE_COPYFILE_H)
-TCL_FUNCTION_EXISTS(copyfile HAVE_COPYFILE)
-
-TCL_INCLUDE_FILE(sys/ioctl.h HAVE_SYS_IOCTL_H)
-TCL_INCLUDE_FILE(sys/filio.h HAVE_SYS_FILIO_H)
-
-TCL_FUNCTION_EXISTS(getcwd HAVE_GETCWD)
-TCL_FUNCTION_EXISTS(opendir HAVE_OPENDIR)
-TCL_FUNCTION_EXISTS(strtol HAVE_STRTOL)
-TCL_FUNCTION_EXISTS(waitpid HAVE_WAITPID)
-TCL_FUNCTION_EXISTS(getaddrinfo HAVE_GETADDRINFO)
-#TCL_FUNCTION_EXISTS( HAVE_GETPWUID_R_5)
-TCL_FUNCTION_EXISTS(getpwuid HAVE_GETPWUID_R)
-#TCL_FUNCTION_EXISTS( HAVE_GETPWNAM_R_5)
-TCL_FUNCTION_EXISTS(getpwnam HAVE_GETPWNAM_R)
-#TCL_FUNCTION_EXISTS( HAVE_GETGRGID_R_5)
-TCL_FUNCTION_EXISTS(getgrgid HAVE_GETGRGID_R)
-#TCL_FUNCTION_EXISTS( HAVE_GETGRNAM_R_5)
-TCL_FUNCTION_EXISTS(getgrnam HAVE_GETGRNAM_R)
-#TCL_FUNCTION_EXISTS( HAVE_MTSAFE_GETHOSTBYNAME)
-#TCL_FUNCTION_EXISTS( HAVE_MTSAFE_GETHOSTBYADDR)
-#TCL_FUNCTION_EXISTS( HAVE_STRUCT_STAT_ST_BLOCKS)
-#TCL_FUNCTION_EXISTS( HAVE_STRUCT_STAT_ST_BLKSIZE)
-TCL_TYPE_SIZE(blkcnt_t HAVE_BLKCNT_T)
-TCL_TYPE_SIZE(intptr_t HAVE_INTPTR_T)
-TCL_TYPE_SIZE(uintptr_t HAVE_UINTPTR_T)
-#TCL_TYPE_SIZE( HAVE_SIGNED_CHAR)
-#TCL_TYPE_SIZE( HAVE_LANGINFO)
-#TCL_TYPE_SIZE( HAVE_CHFLAGS)
-TCL_FUNCTION_EXISTS(getattrlist HAVE_GETATTRLIST)
-TCL_INCLUDE_FILE(libkern/OSAtomic.h HAVE_LIBKERN_OSATOMIC_H)
-TCL_FUNCTION_EXISTS(OSSpinLockLock HAVE_OSSPINLOCKLOCK)
-TCL_FUNCTION_EXISTS(pthread_atfork HAVE_PTHREAD_ATFORK)
-#TCL_INCLUDE_FILE( USE_VFORK)
-#TCL_INCLUDE_FILE( TCL_WIDE_INT_TYPE long\ long\n")
-#TCL_INCLUDE_FILE( TCL_CFG_DEBUG)
-#TCL_INCLUDE_FILE( USE_TERMIOS)
-#TCL_INCLUDE_FILE( TIME_WITH_SYS_TIME)
-#TCL_INCLUDE_FILE( HAVE_TM_GMTOFF)
-#TCL_INCLUDE_FILE( HAVE_TIMEZONE_VAR)
-#TCL_INCLUDE_FILE( HAVE_STRUCT_STAT64)
+CHECK_FUNCTION_EXISTS_H(getcwd HAVE_GETCWD)
+CHECK_FUNCTION_EXISTS_H(opendir HAVE_OPENDIR)
+CHECK_FUNCTION_EXISTS_H(strtol HAVE_STRTOL)
+CHECK_FUNCTION_EXISTS_H(waitpid HAVE_WAITPID)
+CHECK_FUNCTION_EXISTS_H(getaddrinfo HAVE_GETADDRINFO)
+#CHECK_FUNCTION_EXISTS_H( HAVE_GETPWUID_R_5)
+CHECK_FUNCTION_EXISTS_H(getpwuid HAVE_GETPWUID_R)
+#CHECK_FUNCTION_EXISTS_H( HAVE_GETPWNAM_R_5)
+CHECK_FUNCTION_EXISTS_H(getpwnam HAVE_GETPWNAM_R)
+#CHECK_FUNCTION_EXISTS_H( HAVE_GETGRGID_R_5)
+CHECK_FUNCTION_EXISTS_H(getgrgid HAVE_GETGRGID_R)
+#CHECK_FUNCTION_EXISTS_H( HAVE_GETGRNAM_R_5)
+CHECK_FUNCTION_EXISTS_H(getgrnam HAVE_GETGRNAM_R)
+#CHECK_FUNCTION_EXISTS_H( HAVE_MTSAFE_GETHOSTBYNAME)
+#CHECK_FUNCTION_EXISTS_H( HAVE_MTSAFE_GETHOSTBYADDR)
+#CHECK_FUNCTION_EXISTS_H( HAVE_STRUCT_STAT_ST_BLOCKS)
+#CHECK_FUNCTION_EXISTS_H( HAVE_STRUCT_STAT_ST_BLKSIZE)
+CHECK_TYPE_SIZE_H(blkcnt_t HAVE_BLKCNT_T)
+CHECK_TYPE_SIZE_H(intptr_t HAVE_INTPTR_T)
+CHECK_TYPE_SIZE_H(uintptr_t HAVE_UINTPTR_T)
+#CHECK_TYPE_SIZE_H( HAVE_SIGNED_CHAR)
+#CHECK_TYPE_SIZE_H( HAVE_LANGINFO)
+#CHECK_TYPE_SIZE_H( HAVE_CHFLAGS)
+CHECK_FUNCTION_EXISTS_H(getattrlist HAVE_GETATTRLIST)
+CHECK_INCLUDE_FILE_H(libkern/OSAtomic.h HAVE_LIBKERN_OSATOMIC_H)
+CHECK_FUNCTION_EXISTS_H(OSSpinLockLock HAVE_OSSPINLOCKLOCK)
+CHECK_FUNCTION_EXISTS_H(pthread_atfork HAVE_PTHREAD_ATFORK)
+#CHECK_INCLUDE_FILE_H( USE_VFORK)
+#CHECK_INCLUDE_FILE_H( TCL_WIDE_INT_TYPE long\ long\n")
+#CHECK_INCLUDE_FILE_H( TCL_CFG_DEBUG)
+#CHECK_INCLUDE_FILE_H( USE_TERMIOS)
+#CHECK_INCLUDE_FILE_H( TIME_WITH_SYS_TIME)
+#CHECK_INCLUDE_FILE_H( HAVE_TM_GMTOFF)
+#CHECK_INCLUDE_FILE_H( HAVE_TIMEZONE_VAR)
+#CHECK_INCLUDE_FILE_H( HAVE_STRUCT_STAT64)
FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine M_PREC 4\n")
FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine TCL_DEFAULT_ENCODING \"utf-8\"\n")
FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine TCL_LOAD_FROM_MEMORY 1\n")
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits