Revision: 45788
          http://brlcad.svn.sourceforge.net/brlcad/?rev=45788&view=rev
Author:   starseeker
Date:     2011-08-05 02:05:09 +0000 (Fri, 05 Aug 2011)

Log Message:
-----------
More Tcl/Tk build logic changes, again backported from 8.6 experiments.

Modified Paths:
--------------
    brlcad/trunk/src/other/CMakeLists.txt
    brlcad/trunk/src/other/tcl/CMakeLists.txt
    brlcad/trunk/src/other/tk/CMake/CheckSystemFunctionality.cmake
    brlcad/trunk/src/other/tk/CMake/FindX11.cmake
    brlcad/trunk/src/other/tk/CMake/tcl.cmake
    brlcad/trunk/src/other/tk/CMakeLists.txt

Modified: brlcad/trunk/src/other/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/other/CMakeLists.txt       2011-08-04 22:16:44 UTC (rev 
45787)
+++ brlcad/trunk/src/other/CMakeLists.txt       2011-08-05 02:05:09 UTC (rev 
45788)
@@ -233,6 +233,8 @@
 
 
 IF(BRLCAD_BUILD_LOCAL_TK)
+       SET(TCL_SRC_PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/tcl)
+       SET(TCL_BIN_PREFIX ${CMAKE_BINARY_DIR}/${LIB_DIR})
        ADD_SUBDIRECTORY(tk)
    # Set the variables ourselves since FindTCL.cmake doesn't know about our 
build
        SET(TCL_TK_LIBRARY tk CACHE STRING "TCL_TK_LIBRARY" FORCE)

Modified: brlcad/trunk/src/other/tcl/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/other/tcl/CMakeLists.txt   2011-08-04 22:16:44 UTC (rev 
45787)
+++ brlcad/trunk/src/other/tcl/CMakeLists.txt   2011-08-05 02:05:09 UTC (rev 
45788)
@@ -63,6 +63,29 @@
        ENABLE_LANGUAGE(RC)
 ENDIF(WIN32)
 
+#---------------------------------------------------------------------
+# The following logic is what allows binaries to run successfully in
+# the build directory AND install directory.  Thanks to plplot for
+# identifying the necessity of setting CMAKE_INSTALL_NAME_DIR on OSX.
+
+# use, i.e. don't skip the full RPATH for the build tree
+SET(CMAKE_SKIP_BUILD_RPATH  FALSE)
+
+# when building, don't use the install RPATH already
+# (but later on when installing)
+SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
+
+# the RPATH/INSTALL_NAME_DIR to be used when installing
+if (NOT APPLE)
+   SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib:\$ORIGIN/../lib")
+endif(NOT APPLE)
+SET(CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib")
+
+# add the automatically determined parts of the RPATH which point to
+# directories outside the build tree to the install RPATH
+SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+
+
 #----------------------------------------------------------------------------
 # The location in which to install Tcl.  Only do this if CMAKE_INSTALL_PREFIX 
 # hasn't been set already, to try and allow parent builds (if any) some 
control.
@@ -181,6 +204,15 @@
    add_definitions(-Dinline=__inline -DBUILD_tcl)
 ENDIF(WIN32)
 
+INCLUDE(CheckLibraryExists)
+INCLUDE(ResolveCompilerPaths)
+IF(NOT WIN32)
+   CHECK_LIBRARY_EXISTS(m cos "" HAVE_M_LIBRARY)
+   IF(HAVE_M_LIBRARY)
+      RESOLVE_LIBRARIES(M_LIBRARY "-lm")
+   ENDIF(HAVE_M_LIBRARY)
+ENDIF(NOT WIN32)
+
 IF(APPLE)
        ADD_TCL_CFLAG(MAC_OSX_TCL)
        find_library(COREFOUNDATION_FRAMEWORK CoreFoundation)
@@ -755,7 +787,7 @@
 ENDIF(WIN32)
 
 IF(NOT LIB_DIR)
-       SET(LIB_DIR ${CMAKE_INSTALL_PREFIX}/lib)
+       SET(LIB_DIR lib)
 ENDIF(NOT LIB_DIR)
 add_library(tcl ${TCL_SRCS})
 install(TARGETS tcl DESTINATION ${LIB_DIR})
@@ -772,6 +804,7 @@
 
 add_library(tclstub STATIC ${TCL_STUB_SRCS})
 target_link_libraries(tclstub ${CMAKE_THREAD_LIBS_INIT} 
${COREFOUNDATION_FRAMEWORK} ${M_LIBRARY} ${DL_LIBRARY})
+set_target_properties(tclstub PROPERTIES COMPILE_FLAGS "-fPIC")
 install(TARGETS tclstub DESTINATION ${LIB_DIR})
 
 add_executable(tclsh ${TCLSH_SRCS})

Modified: brlcad/trunk/src/other/tk/CMake/CheckSystemFunctionality.cmake
===================================================================
--- brlcad/trunk/src/other/tk/CMake/CheckSystemFunctionality.cmake      
2011-08-04 22:16:44 UTC (rev 45787)
+++ brlcad/trunk/src/other/tk/CMake/CheckSystemFunctionality.cmake      
2011-08-05 02:05:09 UTC (rev 45788)
@@ -12,7 +12,7 @@
                IF(NOT ${ARGV1})
                        CHECK_C_COMPILER_FLAG(-${flag} 
${UPPER_FLAG}_COMPILER_FLAG)
                        IF(${UPPER_FLAG}_COMPILER_FLAG)
-                               MESSAGE("Found ${ARGV1} - setting to -${flag}")
+                               MESSAGE("- Found ${ARGV1} - setting to 
-${flag}")
                                SET(${ARGV1} "-${flag}" CACHE STRING "${ARGV1}" 
FORCE)
                        ENDIF(${UPPER_FLAG}_COMPILER_FLAG)
                ENDIF(NOT ${ARGV1})
@@ -34,6 +34,11 @@
 
 # Automate putting variables from tests into CFLAGS,
 # and otherwise wrap check macros in extra logic as needed
+# These functions will do either of two jobs - if a
+# CONFIG_H_FILE is defined, they will append cmakedefine
+# (or occasionally straight define) statements to that file.
+# If a CONFIG_CFLAGS variable is defined, they will append
+# an appropriate definition to that variable.
 
 INCLUDE(CheckFunctionExists)
 INCLUDE(CheckIncludeFile)
@@ -45,22 +50,28 @@
 INCLUDE(CheckCSourceCompiles)
 INCLUDE(ResolveCompilerPaths)
 
-MACRO(CHECK_FUNCTION_EXISTS_D function var)
-  CHECK_FUNCTION_EXISTS(${function} ${var})
-  if(${var})
-                        SET(${CFLAGS_NAME}_CFLAGS "${${CFLAGS_NAME}_CFLAGS} 
-D${var}=1" CACHE STRING "TCL CFLAGS" FORCE)
-  endif(${var})
-ENDMACRO(CHECK_FUNCTION_EXISTS_D)
+MACRO(CONFIG_CHECK_FUNCTION_EXISTS function var)
+       CHECK_FUNCTION_EXISTS(${function} ${var})
+       IF(${var})
+               IF(CONFIG_H_FILE)
+                       FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine ${var} 1\n")
+               ENDIF(CONFIG_H_FILE)
+               add_definitions(-D${var}=1)
+       ENDIF(${var})
+ENDMACRO(CONFIG_CHECK_FUNCTION_EXISTS)
 
-MACRO(CHECK_INCLUDE_FILE_D filename var)
-  CHECK_INCLUDE_FILE(${filename} ${var})
-  if(${var})
-                        SET(${CFLAGS_NAME}_CFLAGS "${${CFLAGS_NAME}_CFLAGS} 
-D${var}=1" CACHE STRING "TCL CFLAGS" FORCE)
-  endif(${var})
-ENDMACRO(CHECK_INCLUDE_FILE_D)
+MACRO(CONFIG_CHECK_INCLUDE_FILE filename var)
+       CHECK_INCLUDE_FILE(${filename} ${var})
+       IF(${var})
+               IF(CONFIG_H_FILE)
+                       FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine ${var} 1\n")
+               ENDIF(CONFIG_H_FILE)
+               add_definitions(-D${var}=1)
+       ENDIF(${var})
+ENDMACRO(CONFIG_CHECK_INCLUDE_FILE)
 
-MACRO(CHECK_INCLUDE_FILE_USABILITY_D filename var)
-       CHECK_INCLUDE_FILE_D(${filename} HAVE_${var})
+MACRO(CONFIG_CHECK_INCLUDE_FILE_USABILITY filename var)
+       CHECK_INCLUDE_FILE(${filename} HAVE_${var})
        IF(HAVE_${var})
                SET(HEADER_SRC "
                #include <${filename}>
@@ -69,44 +80,57 @@
                CHECK_C_SOURCE_COMPILES("${HEADER_SRC}" ${var}_USABLE)
        ENDIF(HAVE_${var})
        IF(NOT HAVE_${var} OR NOT ${var}_USABLE)
-               SET(${CFLAGS_NAME}_CFLAGS "${${CFLAGS_NAME}_CFLAGS} 
-DNO_${var}=1" CACHE STRING "TCL CFLAGS" FORCE)
+               IF(CONFIG_H_FILE)
+                       FILE(APPEND ${CONFIG_H_FILE} "#define NO_${var} 1\n")
+               ENDIF(CONFIG_H_FILE)
+               add_definitions(-DNO_${var}=1)
        ENDIF(NOT HAVE_${var} OR NOT ${var}_USABLE)
-ENDMACRO(CHECK_INCLUDE_FILE_USABILITY_D filename var)
+ENDMACRO(CONFIG_CHECK_INCLUDE_FILE_USABILITY filename var)
 
-MACRO(CHECK_INCLUDE_FILE_CXX_D filename var)
-  CHECK_INCLUDE_FILE_CXX(${filename} ${var})
-  if(${var})
-        SET(${CFLAGS_NAME}_CFLAGS "${${CFLAGS_NAME}_CFLAGS} -D${var}=1" CACHE 
STRING "TCL CFLAGS" FORCE)
-  endif(${var})
-ENDMACRO(CHECK_INCLUDE_FILE_CXX_D)
+MACRO(CONFIG_CHECK_INCLUDE_FILE_CXX filename var)
+       CHECK_INCLUDE_FILE_CXX(${filename} ${var})
+       IF(${var})
+               IF(CONFIG_H_FILE)
+                       FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine ${var} 1\n")
+               ENDIF(CONFIG_H_FILE)
+               add_definitions(-D${var}=1)
+       ENDIF(${var})
+ENDMACRO(CONFIG_CHECK_INCLUDE_FILE_CXX)
 
-MACRO(CHECK_TYPE_SIZE_D typename var)
+MACRO(CONFIG_CHECK_TYPE_SIZE typename var)
        FOREACH(arg ${ARGN})
                SET(headers ${headers} ${arg})
        ENDFOREACH(arg ${ARGN})
        SET(CHECK_EXTRA_INCLUDE_FILES ${headers})
        CHECK_TYPE_SIZE(${typename} HAVE_${var}_T)
        SET(CHECK_EXTRA_INCLUDE_FILES)
-       if(HAVE_${var}_T)
-          SET(${CFLAGS_NAME}_CFLAGS "${${CFLAGS_NAME}_CFLAGS} 
-DHAVE_${var}_T=1" CACHE STRING "TCL CFLAGS" FORCE)
-               SET(${CFLAGS_NAME}_CFLAGS "${${CFLAGS_NAME}_CFLAGS} 
-DSIZEOF_${var}=${HAVE_${var}_T}" CACHE STRING "TCL CFLAGS" FORCE)
-       endif(HAVE_${var}_T)
-ENDMACRO(CHECK_TYPE_SIZE_D)
+       IF(HAVE_${var}_T)
+               IF(CONFIG_H_FILE)
+                       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)
+               add_definitions(-DHAVE_${var}_T=1)
+               add_definitions(-DSIZEOF${var}=${HAVE_${var}_T})                
+       ENDIF(HAVE_${var}_T)
+ENDMACRO(CONFIG_CHECK_TYPE_SIZE)
 
-MACRO(CHECK_STRUCT_HAS_MEMBER_D structname member header var)
+MACRO(CONFIG_CHECK_STRUCT_HAS_MEMBER structname member header var)
        CHECK_STRUCT_HAS_MEMBER(${structname} ${member} ${header} HAVE_${var})
-       if(HAVE_${var})
-               SET(${CFLAGS_NAME}_CFLAGS "${${CFLAGS_NAME}_CFLAGS} 
-DHAVE_${var}=1" CACHE STRING "TCL CFLAGS" FORCE)
-       endif(HAVE_${var})
-ENDMACRO(CHECK_STRUCT_HAS_MEMBER_D)
+       IF(HAVE_${var})
+               IF(CONFIG_H_FILE)
+                       FILE(APPEND ${CONFIG_H_FILE} "#cmakedefine HAVE_${var} 
1\n")
+               ENDIF(CONFIG_H_FILE)
+               add_definitions(-DHAVE_${var}=1)
+       ENDIF(HAVE_${var})
+ENDMACRO(CONFIG_CHECK_STRUCT_HAS_MEMBER)
 
-MACRO(CHECK_LIBRARY targetname lname func)
+MACRO(CONFIG_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}")
+                       RESOLVE_LIBRARIES(${targetname}_LIBRARY "-l${lname}")
                        SET(${targetname}_LINKOPT "-l${lname}")
                ENDIF(HAVE_${targetname}_${lname})
        ENDIF(NOT ${targetname}_LIBRARY)
-ENDMACRO(CHECK_LIBRARY lname func)
+ENDMACRO(CONFIG_CHECK_LIBRARY lname func)
 

Modified: brlcad/trunk/src/other/tk/CMake/FindX11.cmake
===================================================================
--- brlcad/trunk/src/other/tk/CMake/FindX11.cmake       2011-08-04 22:16:44 UTC 
(rev 45787)
+++ brlcad/trunk/src/other/tk/CMake/FindX11.cmake       2011-08-05 02:05:09 UTC 
(rev 45788)
@@ -57,87 +57,93 @@
   SET(CMAKE_FIND_FRAMEWORK NEVER)
   SET(X11_INC_SEARCH_PATH
     /usr/pkg/xorg/include
+    /usr/X11/include
     /usr/X11R6/include 
     /usr/X11R7/include 
     /usr/include/X11
-        /usr/local/include
-        /usr/local/include/X11
+    /usr/local/include
+    /usr/local/include/X11
     /usr/openwin/include 
     /usr/openwin/share/include 
     /opt/graphics/OpenGL/include
+        /usr/include
   )
 
   SET(X11_LIB_SEARCH_PATH
+    /usr/X11/lib
+    /usr/X11R6/lib
+    /usr/X11R7/lib
+    /usr/lib/X11
+    /usr/lib64/X11
+    /usr/lib32/X11
     /usr/lib64
     /usr/lib32
     /usr/lib
     /usr/pkg/xorg/lib
-    /usr/X11R6/lib
-    /usr/X11R7/lib
     /usr/openwin/lib 
   )
 
-  FIND_PATH(X11_X11_INCLUDE_PATH X11/X.h                             
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_Xlib_INCLUDE_PATH X11/Xlib.h                         
${X11_INC_SEARCH_PATH})
+  FIND_PATH(X11_X11_INCLUDE_PATH X11/X.h                            
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_Xlib_INCLUDE_PATH X11/Xlib.h                        
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
 
   # Look for includes; keep the list sorted by name of the cmake *_INCLUDE_PATH
   # variable (which doesn't need to match the include file name).
   
   # Solaris lacks XKBrules.h, so we should skip kxkbd there.
-  FIND_PATH(X11_ICE_INCLUDE_PATH X11/ICE/ICE.h                       
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_Xaccessrules_INCLUDE_PATH X11/extensions/XKBrules.h  
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_Xaccessstr_INCLUDE_PATH X11/extensions/XKBstr.h      
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_Xau_INCLUDE_PATH X11/Xauth.h                         
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_Xcomposite_INCLUDE_PATH X11/extensions/Xcomposite.h  
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_Xcursor_INCLUDE_PATH X11/Xcursor/Xcursor.h           
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_Xdamage_INCLUDE_PATH X11/extensions/Xdamage.h        
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_Xdmcp_INCLUDE_PATH X11/Xdmcp.h                       
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_dpms_INCLUDE_PATH X11/extensions/dpms.h              
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_xf86misc_INCLUDE_PATH X11/extensions/xf86misc.h      
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_xf86vmode_INCLUDE_PATH X11/extensions/xf86vmode.h    
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_Xfixes_INCLUDE_PATH X11/extensions/Xfixes.h          
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_Xft_INCLUDE_PATH X11/Xft/Xft.h                       
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_Xi_INCLUDE_PATH X11/extensions/XInput.h              
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_Xinerama_INCLUDE_PATH X11/extensions/Xinerama.h      
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_Xinput_INCLUDE_PATH X11/extensions/XInput.h          
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_Xkb_INCLUDE_PATH X11/extensions/XKB.h                
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_Xkblib_INCLUDE_PATH X11/XKBlib.h                     
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_Xpm_INCLUDE_PATH X11/xpm.h                           
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_XTest_INCLUDE_PATH X11/extensions/XTest.h            
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_XShm_INCLUDE_PATH X11/extensions/XShm.h              
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_Xrandr_INCLUDE_PATH X11/extensions/Xrandr.h          
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_Xrender_INCLUDE_PATH X11/extensions/Xrender.h        
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_Xscreensaver_INCLUDE_PATH X11/extensions/scrnsaver.h 
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_Xshape_INCLUDE_PATH X11/extensions/shape.h           
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_Xutil_INCLUDE_PATH X11/Xutil.h                       
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_Xt_INCLUDE_PATH X11/Intrinsic.h                      
${X11_INC_SEARCH_PATH})
-  FIND_PATH(X11_Xv_INCLUDE_PATH X11/extensions/Xvlib.h               
${X11_INC_SEARCH_PATH})
+  FIND_PATH(X11_ICE_INCLUDE_PATH X11/ICE/ICE.h                       
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_Xaccessrules_INCLUDE_PATH X11/extensions/XKBrules.h  
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_Xaccessstr_INCLUDE_PATH X11/extensions/XKBstr.h      
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_Xau_INCLUDE_PATH X11/Xauth.h                         
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_Xcomposite_INCLUDE_PATH X11/extensions/Xcomposite.h  
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_Xcursor_INCLUDE_PATH X11/Xcursor/Xcursor.h           
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_Xdamage_INCLUDE_PATH X11/extensions/Xdamage.h        
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_Xdmcp_INCLUDE_PATH X11/Xdmcp.h                       
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_dpms_INCLUDE_PATH X11/extensions/dpms.h              
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_xf86misc_INCLUDE_PATH X11/extensions/xf86misc.h      
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_xf86vmode_INCLUDE_PATH X11/extensions/xf86vmode.h    
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_Xfixes_INCLUDE_PATH X11/extensions/Xfixes.h          
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_Xft_INCLUDE_PATH X11/Xft/Xft.h                       
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_Xi_INCLUDE_PATH X11/extensions/XInput.h              
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_Xinerama_INCLUDE_PATH X11/extensions/Xinerama.h      
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_Xinput_INCLUDE_PATH X11/extensions/XInput.h          
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_Xkb_INCLUDE_PATH X11/extensions/XKB.h                
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_Xkblib_INCLUDE_PATH X11/XKBlib.h                     
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_Xpm_INCLUDE_PATH X11/xpm.h                           
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_XTest_INCLUDE_PATH X11/extensions/XTest.h            
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_XShm_INCLUDE_PATH X11/extensions/XShm.h              
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_Xrandr_INCLUDE_PATH X11/extensions/Xrandr.h          
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_Xrender_INCLUDE_PATH X11/extensions/Xrender.h        
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_Xscreensaver_INCLUDE_PATH X11/extensions/scrnsaver.h 
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_Xshape_INCLUDE_PATH X11/extensions/shape.h           
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_Xutil_INCLUDE_PATH X11/Xutil.h                       
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_Xt_INCLUDE_PATH X11/Intrinsic.h                      
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
+  FIND_PATH(X11_Xv_INCLUDE_PATH X11/extensions/Xvlib.h               
${X11_INC_SEARCH_PATH} NO_DEFAULT_PATH)
 
 
-  FIND_LIBRARY(X11_X11_LIB X11               ${X11_LIB_SEARCH_PATH})
+  FIND_LIBRARY(X11_X11_LIB X11               ${X11_LIB_SEARCH_PATH} 
NO_DEFAULT_PATH)
 
   # Find additional X libraries. Keep list sorted by library name.
-  FIND_LIBRARY(X11_ICE_LIB ICE               ${X11_LIB_SEARCH_PATH})
-  FIND_LIBRARY(X11_SM_LIB SM                 ${X11_LIB_SEARCH_PATH})
-  FIND_LIBRARY(X11_Xau_LIB Xau               ${X11_LIB_SEARCH_PATH})
-  FIND_LIBRARY(X11_Xcomposite_LIB Xcomposite ${X11_LIB_SEARCH_PATH})
-  FIND_LIBRARY(X11_Xcursor_LIB Xcursor       ${X11_LIB_SEARCH_PATH})
-  FIND_LIBRARY(X11_Xdamage_LIB Xdamage       ${X11_LIB_SEARCH_PATH})
-  FIND_LIBRARY(X11_Xdmcp_LIB Xdmcp           ${X11_LIB_SEARCH_PATH})
-  FIND_LIBRARY(X11_Xext_LIB Xext             ${X11_LIB_SEARCH_PATH})
-  FIND_LIBRARY(X11_Xfixes_LIB Xfixes         ${X11_LIB_SEARCH_PATH})
-  FIND_LIBRARY(X11_Xft_LIB Xft               ${X11_LIB_SEARCH_PATH})
-  FIND_LIBRARY(X11_Xi_LIB Xi                 ${X11_LIB_SEARCH_PATH})
-  FIND_LIBRARY(X11_Xinerama_LIB Xinerama     ${X11_LIB_SEARCH_PATH})
-  FIND_LIBRARY(X11_Xinput_LIB Xi             ${X11_LIB_SEARCH_PATH})
-  FIND_LIBRARY(X11_Xpm_LIB Xpm               ${X11_LIB_SEARCH_PATH})
-  FIND_LIBRARY(X11_Xrandr_LIB Xrandr         ${X11_LIB_SEARCH_PATH})
-  FIND_LIBRARY(X11_Xrender_LIB Xrender       ${X11_LIB_SEARCH_PATH})
-  FIND_LIBRARY(X11_Xscreensaver_LIB Xss      ${X11_LIB_SEARCH_PATH})
-  FIND_LIBRARY(X11_Xt_LIB Xt                 ${X11_LIB_SEARCH_PATH})
-  FIND_LIBRARY(X11_XTest_LIB Xtst            ${X11_LIB_SEARCH_PATH})
-  FIND_LIBRARY(X11_Xv_LIB Xv                 ${X11_LIB_SEARCH_PATH})
-  FIND_LIBRARY(X11_Xxf86misc_LIB Xxf86misc   ${X11_LIB_SEARCH_PATH})
+  FIND_LIBRARY(X11_ICE_LIB ICE               ${X11_LIB_SEARCH_PATH} 
NO_DEFAULT_PATH)
+  FIND_LIBRARY(X11_SM_LIB SM                 ${X11_LIB_SEARCH_PATH} 
NO_DEFAULT_PATH)
+  FIND_LIBRARY(X11_Xau_LIB Xau               ${X11_LIB_SEARCH_PATH} 
NO_DEFAULT_PATH)
+  FIND_LIBRARY(X11_Xcomposite_LIB Xcomposite ${X11_LIB_SEARCH_PATH} 
NO_DEFAULT_PATH)
+  FIND_LIBRARY(X11_Xcursor_LIB Xcursor       ${X11_LIB_SEARCH_PATH} 
NO_DEFAULT_PATH)
+  FIND_LIBRARY(X11_Xdamage_LIB Xdamage       ${X11_LIB_SEARCH_PATH} 
NO_DEFAULT_PATH)
+  FIND_LIBRARY(X11_Xdmcp_LIB Xdmcp           ${X11_LIB_SEARCH_PATH} 
NO_DEFAULT_PATH)
+  FIND_LIBRARY(X11_Xext_LIB Xext             ${X11_LIB_SEARCH_PATH} 
NO_DEFAULT_PATH)
+  FIND_LIBRARY(X11_Xfixes_LIB Xfixes         ${X11_LIB_SEARCH_PATH} 
NO_DEFAULT_PATH)
+  FIND_LIBRARY(X11_Xft_LIB Xft               ${X11_LIB_SEARCH_PATH} 
NO_DEFAULT_PATH)
+  FIND_LIBRARY(X11_Xi_LIB Xi                 ${X11_LIB_SEARCH_PATH} 
NO_DEFAULT_PATH)
+  FIND_LIBRARY(X11_Xinerama_LIB Xinerama     ${X11_LIB_SEARCH_PATH} 
NO_DEFAULT_PATH)
+  FIND_LIBRARY(X11_Xinput_LIB Xi             ${X11_LIB_SEARCH_PATH} 
NO_DEFAULT_PATH)
+  FIND_LIBRARY(X11_Xpm_LIB Xpm               ${X11_LIB_SEARCH_PATH} 
NO_DEFAULT_PATH)
+  FIND_LIBRARY(X11_Xrandr_LIB Xrandr         ${X11_LIB_SEARCH_PATH} 
NO_DEFAULT_PATH)
+  FIND_LIBRARY(X11_Xrender_LIB Xrender       ${X11_LIB_SEARCH_PATH} 
NO_DEFAULT_PATH)
+  FIND_LIBRARY(X11_Xscreensaver_LIB Xss      ${X11_LIB_SEARCH_PATH} 
NO_DEFAULT_PATH)
+  FIND_LIBRARY(X11_Xt_LIB Xt                 ${X11_LIB_SEARCH_PATH} 
NO_DEFAULT_PATH)
+  FIND_LIBRARY(X11_XTest_LIB Xtst            ${X11_LIB_SEARCH_PATH} 
NO_DEFAULT_PATH)
+  FIND_LIBRARY(X11_Xv_LIB Xv                 ${X11_LIB_SEARCH_PATH} 
NO_DEFAULT_PATH)
+  FIND_LIBRARY(X11_Xxf86misc_LIB Xxf86misc   ${X11_LIB_SEARCH_PATH} 
NO_DEFAULT_PATH)
 
   SET(X11_LIBRARY_DIR "")
   IF(X11_X11_LIB)

Modified: brlcad/trunk/src/other/tk/CMake/tcl.cmake
===================================================================
--- brlcad/trunk/src/other/tk/CMake/tcl.cmake   2011-08-04 22:16:44 UTC (rev 
45787)
+++ brlcad/trunk/src/other/tk/CMake/tcl.cmake   2011-08-05 02:05:09 UTC (rev 
45788)
@@ -17,9 +17,9 @@
 
 INCLUDE(ac_std_funcs)
 
-MACRO(ADD_TK_CFLAG TK_CFLAG)
-       SET(TK_CFLAGS "${TK_CFLAGS} -D${TK_CFLAG}=1" CACHE STRING "TCL CFLAGS" 
FORCE)
-ENDMACRO(ADD_TK_CFLAG)
+MACRO(ADD_TCL_CFLAG TCL_CFLAG)
+       add_definitions(-D${TCL_CFLAG}=1)
+ENDMACRO(ADD_TCL_CFLAG)
 
 # Note - for these path and load functions, should move the FindTCL.cmake
 # logic that applies to here
@@ -78,31 +78,31 @@
 # SC_ENABLE_THREADS
 #------------------------------------------------------------------------
 MACRO(SC_ENABLE_THREADS)
-       OPTION(TCL_THREADS "Enable Tcl Thread support" ON)
+       OPTION(TCL_THREADS "Enable Tcl Thread support" OFF)
        IF(TCL_THREADS)
-               ADD_TK_CFLAG(TCL_THREADS)
-               ADD_TK_CFLAG(USE_THREAD_ALLOC)
-               ADD_TK_CFLAG(_REENTRANT)
-               ADD_TK_CFLAG(_THREAD_SAFE)
+               ADD_TCL_CFLAG(TCL_THREADS)
+               ADD_TCL_CFLAG(USE_THREAD_ALLOC)
+               ADD_TCL_CFLAG(_REENTRANT)
+               ADD_TCL_CFLAG(_THREAD_SAFE)
                IF(${CMAKE_SYSTEM_NAME} MATCHES "^SunOS$")
-                       ADD_TK_CFLAG(_POSIX_PTHREAD_SEMANTICS)
+                       ADD_TCL_CFLAG(_POSIX_PTHREAD_SEMANTICS)
                ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "^SunOS$")
                FIND_PACKAGE(Threads)
                CHECK_FUNCTION_EXISTS(pthread_attr_setstacksize 
HAVE_PTHREAD_ATTR_SETSTACKSIZE)
                IF(HAVE_PTHREAD_ATTR_SETSTACKSIZE)
-                       ADD_TK_CFLAG(HAVE_PTHREAD_ATTR_SETSTACKSIZE)
+                       ADD_TCL_CFLAG(HAVE_PTHREAD_ATTR_SETSTACKSIZE)
                ENDIF(HAVE_PTHREAD_ATTR_SETSTACKSIZE)
                CHECK_FUNCTION_EXISTS(pthread_attr_get_np 
HAVE_PTHREAD_ATTR_GET_NP)
                CHECK_FUNCTION_EXISTS(pthread_getattr_np 
HAVE_PTHREAD_GETATTR_NP)
                IF(HAVE_PTHREAD_ATTR_GET_NP)
-                       ADD_TK_CFLAG(HAVE_PTHREAD_ATTR_GET_NP)
+                       ADD_TCL_CFLAG(HAVE_PTHREAD_ATTR_GET_NP)
                ELSEIF(HAVE_PTHREAD_GETATTR_NP)
-                       ADD_TK_CFLAG(HAVE_PTHREAD_GETATTR_NP)
+                       ADD_TCL_CFLAG(HAVE_PTHREAD_GETATTR_NP)
                ENDIF(HAVE_PTHREAD_ATTR_GET_NP)
                IF(NOT HAVE_PTHREAD_ATTR_GET_NP AND NOT HAVE_PTHREAD_GETATTR_NP)
                        CHECK_FUNCTION_EXISTS(pthread_get_stacksize_np 
HAVE_PTHREAD_GET_STACKSIZE_NP)
                        IF(HAVE_PTHREAD_GET_STACKSIZE_NP)
-                               ADD_TK_CFLAG(HAVE_PTHREAD_GET_STACKSIZE_NP)
+                               ADD_TCL_CFLAG(HAVE_PTHREAD_GET_STACKSIZE_NP)
                        ENDIF(HAVE_PTHREAD_GET_STACKSIZE_NP)
                ENDIF(NOT HAVE_PTHREAD_ATTR_GET_NP AND NOT 
HAVE_PTHREAD_GETATTR_NP)
        ENDIF(TCL_THREADS)
@@ -130,13 +130,14 @@
                        ")
                        CHECK_C_SOURCE_COMPILES("${LANGINFO_SRC}" 
LANGINFO_COMPILES)
                        IF(LANGINFO_COMPILES)
-                               ADD_TK_CFLAG(HAVE_LANGINFO)
+                               ADD_TCL_CFLAG(HAVE_LANGINFO)
                        ELSE(LANGINFO_COMPILES)
                                SET(ENABLE_LANGINFO OFF CACHE STRING "Langinfo 
off" FORCE)
                        ENDIF(LANGINFO_COMPILES)
                ELSE(HAVE_LANGINFO)
                        SET(ENABLE_LANGINFO OFF CACHE STRING "Langinfo off" 
FORCE)
                ENDIF(HAVE_LANGINFO)
+               MARK_AS_ADVANCED(ENABLE_LANGINFO)
        ENDIF(ENABLE_LANGINFO)
 ENDMACRO(SC_ENABLE_LANGINFO)
 
@@ -261,13 +262,13 @@
        ENDIF(NOT HAVE_TERMIO AND NOT HAVE_TERMIOS AND NOT HAVE_SGTTY)
 
        IF(HAVE_TERMIOS)
-               ADD_TK_CFLAG(USE_TERMIOS)
+               ADD_TCL_CFLAG(USE_TERMIOS)
        ELSE(HAVE_TERMIOS)
                IF(HAVE_TERMIO)
-                  ADD_TK_CFLAG(USE_TERMIO)
+                  ADD_TCL_CFLAG(USE_TERMIO)
                ELSE(HAVE_TERMIO)
                        IF(HAVE_SGTTY)
-                               ADD_TK_CFLAG(USE_SGTTY)
+                               ADD_TCL_CFLAG(USE_SGTTY)
                        ENDIF(HAVE_SGTTY)
                ENDIF(HAVE_TERMIO)
        ENDIF(HAVE_TERMIOS)
@@ -278,21 +279,21 @@
 # SC_MISSING_POSIX_HEADERS
 #--------------------------------------------------------------------
 MACRO(SC_MISSING_POSIX_HEADERS)
-       CHECK_INCLUDE_FILE_D(dirent.h HAVE_DIRENT_H)
+       CONFIG_CHECK_INCLUDE_FILE(dirent.h HAVE_DIRENT_H)
        IF(NOT HAVE_DIRENT_H)
-               SET(TK_CFLAGS "${TK_CFLAGS} -DNO_DIRENT_H=1")
+               add_definitions(-DNO_DIRENT_H=1)
        ENDIF(NOT HAVE_DIRENT_H)
-       CHECK_INCLUDE_FILE_USABILITY_D(float.h FLOAT_H)
-       CHECK_INCLUDE_FILE_USABILITY_D(values.h VALUES_H)
-       CHECK_INCLUDE_FILE_USABILITY_D(limits.h LIMITS_H)
-       CHECK_INCLUDE_FILE_D(stdlib.h HAVE_STDLIB_H)
-       CHECK_INCLUDE_FILE_D(string.h HAVE_STRING_H)
+       CONFIG_CHECK_INCLUDE_FILE_USABILITY(float.h FLOAT_H)
+       CONFIG_CHECK_INCLUDE_FILE_USABILITY(values.h VALUES_H)
+       CONFIG_CHECK_INCLUDE_FILE_USABILITY(limits.h LIMITS_H)
+       CONFIG_CHECK_INCLUDE_FILE(stdlib.h HAVE_STDLIB_H)
+       CONFIG_CHECK_INCLUDE_FILE(string.h HAVE_STRING_H)
        IF(NOT HAVE_STRING_H)
-               SET(TK_CFLAGS "${TK_CFLAGS} -DNO_STRING_H=1")
+               add_definitions(-DNO_STRING_H=1)
        ENDIF(NOT HAVE_STRING_H)
-       CHECK_INCLUDE_FILE_USABILITY_D(sys/wait.h SYS_WAIT_H)
-       CHECK_INCLUDE_FILE_USABILITY_D(dlfcn.h DLFCN_H)
-       CHECK_INCLUDE_FILE_USABILITY_D(sys/param.h SYS_PARAM_H)
+       CONFIG_CHECK_INCLUDE_FILE_USABILITY(sys/wait.h SYS_WAIT_H)
+       CONFIG_CHECK_INCLUDE_FILE_USABILITY(dlfcn.h DLFCN_H)
+       CONFIG_CHECK_INCLUDE_FILE_USABILITY(sys/param.h SYS_PARAM_H)
 ENDMACRO(SC_MISSING_POSIX_HEADERS)
 
 
@@ -305,15 +306,15 @@
 #--------------------------------------------------------------------
 # SC_BLOCKING_STYLE
 #--------------------------------------------------------------------
-CHECK_INCLUDE_FILE_D(sys/ioctl.h HAVE_SYS_IOCTL_H) 
-CHECK_INCLUDE_FILE_D(sys/filio.h HAVE_SYS_FILIO_H)
+CONFIG_CHECK_INCLUDE_FILE(sys/ioctl.h HAVE_SYS_IOCTL_H) 
+CONFIG_CHECK_INCLUDE_FILE(sys/filio.h HAVE_SYS_FILIO_H)
 IF(${CMAKE_SYSTEM_NAME} MATCHES "^OSF.*")
-       ADD_TK_CFLAG(USE_FIONBIO)
+       ADD_TCL_CFLAG(USE_FIONBIO)
 ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "^OSF.*")
 IF(${CMAKE_SYSTEM_NAME} MATCHES "^SunOS$")
        STRING(REGEX REPLACE "\\..*" "" CMAKE_SYSTEM_MAJOR_VERSION 
${CMAKE_SYSTEM_VERSION})
        IF (${CMAKE_SYSTEM_MAJOR_VERSION} LESS 5)
-               ADD_TK_CFLAG(USE_FIONBIO)
+               ADD_TCL_CFLAG(USE_FIONBIO)
        ENDIF (${CMAKE_SYSTEM_MAJOR_VERSION} LESS 5)
 ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "^SunOS$")
 
@@ -327,10 +328,10 @@
 #
 #--------------------------------------------------------------------
 MACRO(SC_TIME_HANDLER)
-       CHECK_INCLUDE_FILE_USABILITY_D(sys/time.h SYS_TIME_H)
-       CHECK_STRUCT_HAS_MEMBER_D("struct tm" tm_zone time.h STRUCT_TM_TM_ZONE)
+       CONFIG_CHECK_INCLUDE_FILE_USABILITY(sys/time.h SYS_TIME_H)
+       CONFIG_CHECK_STRUCT_HAS_MEMBER("struct tm" tm_zone time.h 
STRUCT_TM_TM_ZONE)
        IF(HAVE_STRUCT_TM_TM_ZONE)
-               ADD_TK_CFLAG(HAVE_TM_ZONE)
+               ADD_TCL_CFLAG(HAVE_TM_ZONE)
        ELSE(HAVE_STRUCT_TM_TM_ZONE)
                SET(TZNAME_SRC "
 #include <time.h>
@@ -342,14 +343,14 @@
 }")
       CHECK_C_SOURCE_COMPILES("${TZNAME_SRC}" HAVE_TZNAME)
                IF(HAVE_TZNAME)
-                       ADD_TK_CFLAG(HAVE_DECL_TZNAME)
+                       ADD_TCL_CFLAG(HAVE_DECL_TZNAME)
                ENDIF(HAVE_TZNAME)
        ENDIF(HAVE_STRUCT_TM_TM_ZONE)
-       CHECK_FUNCTION_EXISTS_D(gmtime_r HAVE_GMTIME_R)
-       CHECK_FUNCTION_EXISTS_D(localtime_r HAVE_LOCALTIME_R)
-       CHECK_FUNCTION_EXISTS_D(mktime HAVE_MKTIME)
-       CHECK_STRUCT_HAS_MEMBER_D("struct tm" tm_tzadj time.h TM_TZADJ)
-       CHECK_STRUCT_HAS_MEMBER_D("struct tm" tm_gmtoff time.h TM_GMTOFF)
+       CONFIG_CHECK_FUNCTION_EXISTS(gmtime_r HAVE_GMTIME_R)
+       CONFIG_CHECK_FUNCTION_EXISTS(localtime_r HAVE_LOCALTIME_R)
+       CONFIG_CHECK_FUNCTION_EXISTS(mktime HAVE_MKTIME)
+       CONFIG_CHECK_STRUCT_HAS_MEMBER("struct tm" tm_tzadj time.h TM_TZADJ)
+       CONFIG_CHECK_STRUCT_HAS_MEMBER("struct tm" tm_gmtoff time.h TM_GMTOFF)
        SET(TZONE_SRC_1 "
 #include <time.h>
 int main () {
@@ -361,7 +362,7 @@
    ")
        CHECK_C_SOURCE_COMPILES("${TZONE_SRC_1}" HAVE_TIMEZONE_VAR)
    IF(HAVE_TIMEZONE_VAR)
-               ADD_TK_CFLAG(HAVE_TIMEZONE_VAR)
+               ADD_TCL_CFLAG(HAVE_TIMEZONE_VAR)
        ELSE(HAVE_TIMEZONE_VAR)
                SET(TZONE_SRC_2 "
 #include <time.h>
@@ -374,7 +375,7 @@
       ")
                CHECK_C_SOURCE_COMPILES("${TZONE_SRC_2}" HAVE_TIMEZONE_VAR)
                IF(HAVE_TIMEZONE_VAR)
-                       ADD_TK_CFLAG(HAVE_TIMEZONE_VAR)
+                       ADD_TCL_CFLAG(HAVE_TIMEZONE_VAR)
                ENDIF(HAVE_TIMEZONE_VAR)
        ENDIF(HAVE_TIMEZONE_VAR)
 ENDMACRO(SC_TIME_HANDLER)
@@ -390,9 +391,10 @@
 # SC_TCL_LINK_LIBS
 #--------------------------------------------------------------------
 MACRO(SC_TCL_LINK_LIBS)
+       SET(TCL_LINK_LIBS "")
        CHECK_FUNCTION_EXISTS(sin, HAVE_MATHLIB)
        IF(NOT HAVE_MATHLIB)
-               CHECK_LIBRARY(M m sin)
+               CONFIG_CHECK_LIBRARY(M m sin)
        ENDIF(NOT HAVE_MATHLIB)
        IF(NOT IEEE_LIBRARY AND NOT IEEE_QUIET)
                MESSAGE("-- Looking for IEEE library")
@@ -403,6 +405,7 @@
                        MESSAGE("-- Looking for IEEE library - not found")
                ENDIF(IEEE_LIBRARY)
                SET(IEEE_QUIET 1 CACHE STRING "IEEE quiet")
+               MARK_AS_ADVANCED(IEEE_QUIET)
        ENDIF(NOT IEEE_LIBRARY AND NOT IEEE_QUIET)
        IF(NOT INET_LIBRARY AND NOT INET_QUIET)
                MESSAGE("-- Looking for INET library")
@@ -413,23 +416,36 @@
                        MESSAGE("-- Looking for INET library - not found")
                ENDIF(INET_LIBRARY)
                SET(INET_QUIET 1 CACHE STRING "INET quiet")
+               MARK_AS_ADVANCED(INET_QUIET)
        ENDIF(NOT INET_LIBRARY AND NOT INET_QUIET)
+       IF(TCL_LINK_LIBS)
+               SET(TCL_LINK_LIBS "${TCL_LINK_LIBS} ${IEEE_LIBRARY} 
${M_LIBRARY} ${INET_LIBRARY}")
+       ELSEIF(TCL_LINK_LIBS)
+               SET(TCL_LINK_LIBS "${IEEE_LIBRARY} ${M_LIBRARY} 
${INET_LIBRARY}")
+       ENDIF(TCL_LINK_LIBS)
+       MARK_AS_ADVANCED(TCL_LINK_LIBS)
 
-       SET(TCL_LINK_LIBS ${TCL_LINK_LIBS} ${IEEE_LIBRARY} ${M_LIBRARY} 
${INET_LIBRARY} CACHE STRING "TCL CFLAGS" FORCE)
-
-       CHECK_INCLUDE_FILE_USABILITY_D(net/errno.h NET_ERRNO_H)
+       CONFIG_CHECK_INCLUDE_FILE_USABILITY(net/errno.h NET_ERRNO_H)
        CHECK_FUNCTION_EXISTS(connect HAVE_CONNECT)
        IF(NOT HAVE_CONNECT)
                CHECK_FUNCTION_EXISTS(setsockopt HAVE_SETSOCKOPT)
                IF(NOT HAVE_SETSOCKOPT)
-                       CHECK_LIBRARY(SOCKET socket setsocket)
-                       SET(TCL_LINK_LIBS ${TCL_LINK_LIBS} ${SOCKET_LIBRARY} 
CACHE STRING "TCL CFLAGS" FORCE)
+                       CONFIG_CHECK_LIBRARY(SOCKET socket setsocket)
+                       IF(TCL_LINK_LIBS)
+                               SET(TCL_LINK_LIBS "${TCL_LINK_LIBS} 
${SOCKET_LIBRARY}")
+                       ELSE(TCL_LINK_LIBS)
+                               SET(TCL_LINK_LIBS "${SOCKET_LIBRARY}")
+                       ENDIF(TCL_LINK_LIBS)
                ENDIF(NOT HAVE_SETSOCKOPT)
        ENDIF(NOT HAVE_CONNECT)
        CHECK_FUNCTION_EXISTS(gethostbyname HAVE_GETHOSTBYNAME)
        IF(NOT HAVE_GETHOSTBYNAME)
-               CHECK_LIBRARY(NLS nls gethostbyname)
-               SET(TCL_LINK_LIBS ${TCL_LINK_LIBS} ${NLS_LIBRARY} CACHE STRING 
"TCL CFLAGS" FORCE)
+               CONFIG_CHECK_LIBRARY(NLS nls gethostbyname)
+       IF(TCL_LINK_LIBS)
+               SET(TCL_LINK_LIBS "${TCL_LINK_LIBS} ${NLS_LIBRARY}")
+       ELSE(TCL_LINK_LIBS)
+               SET(TCL_LINK_LIBS "${NLS_LIBRARY}")
+       ENDIF(TCL_LINK_LIBS)
        ENDIF(NOT HAVE_GETHOSTBYNAME)
 
 ENDMACRO(SC_TCL_LINK_LIBS)
@@ -470,9 +486,13 @@
 #--------------------------------------------------------------------
 MACRO(SC_TCL_CFG_ENCODING)
        IF(NOT TCL_CFGVAL_ENCODING)
-               SET(TCL_CFGVAL_ENCODING "iso8859-1")
+               IF(WIN32)
+                       SET(TCL_CFGVAL_ENCODING "cp1252")
+               ELSE(WIN32)
+                       SET(TCL_CFGVAL_ENCODING "iso8859-1")
+               ENDIF(WIN32)
        ENDIF(NOT TCL_CFGVAL_ENCODING)
-       SET(TK_CFLAGS "${TK_CFLAGS} 
-DTCL_CFGVAL_ENCODING=\\\"${TCL_CFGVAL_ENCODING}\\\"" CACHE STRING "TCL CFLAGS" 
FORCE)
+       add_definitions(-DTCL_CFGVAL_ENCODING="${TCL_CFGVAL_ENCODING}")
 ENDMACRO(SC_TCL_CFG_ENCODING)
 
 
@@ -499,7 +519,7 @@
 # SC_TCL_GETHOSTBYADDR_R
 #--------------------------------------------------------------------
 MACRO(SC_TCL_GETHOSTBYADDR_R)
-       CHECK_FUNCTION_EXISTS_D(gethostbyaddr_r HAVE_GETHOSTBYADDR_R)
+       CONFIG_CHECK_FUNCTION_EXISTS(gethostbyaddr_r HAVE_GETHOSTBYADDR_R)
        IF(HAVE_GETHOSTBYADDR_R)
                SET(HAVE_GETHOSTBYADDR_R_7_SRC "
 #include <netdb.h>
@@ -517,7 +537,7 @@
                ")
                CHECK_C_SOURCE_COMPILES("${HAVE_GETHOSTBYADDR_R_7_SRC}"  
HAVE_GETHOSTBYADDR_R_7)
                IF(HAVE_GETHOSTBYADDR_R_7)
-                       ADD_TK_CFLAG(HAVE_GETHOSTBYADDR_R_7)
+                       ADD_TCL_CFLAG(HAVE_GETHOSTBYADDR_R_7)
                ELSE(HAVE_GETHOSTBYADDR_R_7)
                        SET(HAVE_GETHOSTBYADDR_R_8_SRC "
 #include <netdb.h>
@@ -535,7 +555,7 @@
                        ")
                        CHECK_C_SOURCE_COMPILES("${HAVE_GETHOSTBYADDR_R_8_SRC}" 
HAVE_GETHOSTBYADDR_R_8)
                        IF(HAVE_GETHOSTBYADDR_R_8)
-                          ADD_TK_CFLAG(HAVE_GETHOSTBYADDR_R_8)
+                          ADD_TCL_CFLAG(HAVE_GETHOSTBYADDR_R_8)
                        ENDIF(HAVE_GETHOSTBYADDR_R_8)
                ENDIF(HAVE_GETHOSTBYADDR_R_7)
        ENDIF(HAVE_GETHOSTBYADDR_R)
@@ -545,7 +565,7 @@
 # SC_TCL_GETHOSTBYNAME_R
 #--------------------------------------------------------------------
 MACRO(SC_TCL_GETHOSTBYNAME_R)
-       CHECK_FUNCTION_EXISTS_D(gethostbyname_r HAVE_GETHOSTBYNAME_R)
+       CONFIG_CHECK_FUNCTION_EXISTS(gethostbyname_r HAVE_GETHOSTBYNAME_R)
        IF(HAVE_GETHOSTBYNAME_R)
                SET(HAVE_GETHOSTBYNAME_R_6_SRC "
 #include <netdb.h>
@@ -559,9 +579,9 @@
 (void) gethostbyname_r(name, he, buffer, buflen, &res, &h_errnop);
 return 0;}
                ")
-               CHECK_C_SOURCE_COMPILES("${HAVE_GETHOSTBYNAME_R_6_SRC}"  
HAVE_GETHOSTBYNAME_R_5)
+               CHECK_C_SOURCE_COMPILES("${HAVE_GETHOSTBYNAME_R_6_SRC}"  
HAVE_GETHOSTBYNAME_R_6)
                IF(HAVE_GETHOSTBYNAME_R_6)
-                       ADD_TK_CFLAG(HAVE_GETHOSTBYNAME_R_6)
+                       ADD_TCL_CFLAG(HAVE_GETHOSTBYNAME_R_6)
                ELSE(HAVE_GETHOSTBYNAME_R_6)
                        SET(HAVE_GETHOSTBYNAME_R_5_SRC "
 #include <netdb.h>
@@ -578,7 +598,7 @@
                        CHECK_C_SOURCE_COMPILES("${HAVE_GETHOSTBYNAME_R_5_SRC}" 
 HAVE_GETHOSTBYNAME_R_5)
 
                        IF(HAVE_GETHOSTBYNAME_R_5)
-                               ADD_TK_CFLAG(HAVE_GETHOSTBYNAME_R_5)
+                               ADD_TCL_CFLAG(HAVE_GETHOSTBYNAME_R_5)
                        ELSE(HAVE_GETHOSTBYNAME_R_5)
                                SET(HAVE_GETHOSTBYNAME_R_3_SRC "
 #include <netdb.h>
@@ -592,7 +612,7 @@
                                ")
                                
CHECK_C_SOURCE_COMPILES("${HAVE_GETHOSTBYNAME_R_3_SRC}" HAVE_GETHOSTBYNAME_R_3)
                                IF(HAVE_GETHOSTBYNAME_R_3)
-                                       ADD_TK_CFLAG(HAVE_GETHOSTBYNAME_R_3)
+                                       ADD_TCL_CFLAG(HAVE_GETHOSTBYNAME_R_3)
                                ENDIF(HAVE_GETHOSTBYNAME_R_3)
                        ENDIF(HAVE_GETHOSTBYNAME_R_5)
                ENDIF(HAVE_GETHOSTBYNAME_R_6)
@@ -617,7 +637,7 @@
                ")
                CHECK_C_SOURCE_COMPILES("${GETADDRINFO_SRC}" 
WORKING_GETADDRINFO)
                IF(WORKING_GETADDRINFO)
-                       ADD_TK_CFLAG(HAVE_GETADDRINFO)
+                       ADD_TCL_CFLAG(HAVE_GETADDRINFO)
                ENDIF(WORKING_GETADDRINFO)
        ENDIF(HAVE_GETADDRINFO)
 ENDMACRO(SC_TCL_GETADDRINFO)
@@ -626,7 +646,7 @@
 # SC_TCL_GETPWUID_R
 #--------------------------------------------------------------------
 MACRO(SC_TCL_GETPWUID_R)
-       CHECK_FUNCTION_EXISTS_D(getpwuid_r HAVE_GETPWUID_R)
+       CONFIG_CHECK_FUNCTION_EXISTS(getpwuid_r HAVE_GETPWUID_R)
        IF(HAVE_GETPWUID_R)
                SET(HAVE_GETPWUID_R_5_SRC "
 #include <sys/types.h>
@@ -642,7 +662,7 @@
                ")
                CHECK_C_SOURCE_COMPILES("${HAVE_GETPWUID_R_5_SRC}"  
HAVE_GETPWUID_R_5)
                IF(HAVE_GETPWUID_R_5)
-                       ADD_TK_CFLAG(HAVE_GETPWUID_R_5)
+                       ADD_TCL_CFLAG(HAVE_GETPWUID_R_5)
                ELSE(HAVE_GETPWUID_R_5)
                        SET(HAVE_GETPWUID_R_4_SRC "
 #include <sys/types.h>
@@ -658,7 +678,7 @@
                        ")
                        CHECK_C_SOURCE_COMPILES("${HAVE_GETPWUID_R_4_SRC}" 
HAVE_GETPWUID_R_4)
                        IF(HAVE_GETPWUID_R_4)
-                               ADD_TK_CFLAG(HAVE_GETPWUID_R_4)
+                               ADD_TCL_CFLAG(HAVE_GETPWUID_R_4)
                        ENDIF(HAVE_GETPWUID_R_4)
                ENDIF(HAVE_GETPWUID_R_5)
        ENDIF(HAVE_GETPWUID_R)
@@ -668,7 +688,7 @@
 # SC_TCL_GETPWNAM_R
 #--------------------------------------------------------------------
 MACRO(SC_TCL_GETPWNAM_R)
-       CHECK_FUNCTION_EXISTS_D(getpwnam_r HAVE_GETPWNAM_R)
+       CONFIG_CHECK_FUNCTION_EXISTS(getpwnam_r HAVE_GETPWNAM_R)
        IF(HAVE_GETPWNAM_R)
                SET(HAVE_GETPWNAM_R_5_SRC "
 #include <sys/types.h>
@@ -684,7 +704,7 @@
                ")
                CHECK_C_SOURCE_COMPILES("${HAVE_GETPWNAM_R_5_SRC}"  
HAVE_GETPWNAM_R_5)
                IF(HAVE_GETPWNAM_R_5)
-                       ADD_TK_CFLAG(HAVE_GETPWNAM_R_5)
+                       ADD_TCL_CFLAG(HAVE_GETPWNAM_R_5)
                ELSE(HAVE_GETPWNAM_R_5)
                        SET(HAVE_GETPWNAM_R_4_SRC "
 #include <sys/types.h>
@@ -700,7 +720,7 @@
                        ")
                        CHECK_C_SOURCE_COMPILES("${HAVE_GETPWNAM_R_4_SRC}" 
HAVE_GETPWNAM_R_4)
                        IF(HAVE_GETPWNAM_R_4)
-                          ADD_TK_CFLAG(HAVE_GETPWNAM_R_4)
+                          ADD_TCL_CFLAG(HAVE_GETPWNAM_R_4)
                        ENDIF(HAVE_GETPWNAM_R_4)
                ENDIF(HAVE_GETPWNAM_R_5)
        ENDIF(HAVE_GETPWNAM_R)
@@ -710,7 +730,7 @@
 # SC_TCL_GETGRGID_R
 #--------------------------------------------------------------------
 MACRO(SC_TCL_GETGRGID_R)
-       CHECK_FUNCTION_EXISTS_D(getgrgid_r HAVE_GETGRGID_R)
+       CONFIG_CHECK_FUNCTION_EXISTS(getgrgid_r HAVE_GETGRGID_R)
        IF(HAVE_GETGRGID_R)
                SET(HAVE_GETGRGID_R_5_SRC "
 #include <sys/types.h>
@@ -726,7 +746,7 @@
                ")
                CHECK_C_SOURCE_COMPILES("${HAVE_GETGRGID_R_5_SRC}"  
HAVE_GETGRGID_R_5)
                IF(HAVE_GETGRGID_R_5)
-                       ADD_TK_CFLAG(HAVE_GETGRGID_R_5)
+                       ADD_TCL_CFLAG(HAVE_GETGRGID_R_5)
                ELSE(HAVE_GETGRGID_R_5)
                        SET(HAVE_GETGRGID_R_4_SRC "
 #include <sys/types.h>
@@ -742,7 +762,7 @@
                        ")
                        CHECK_C_SOURCE_COMPILES("${HAVE_GETGRGID_R_4_SRC}" 
HAVE_GETGRGID_R_4)
                        IF(HAVE_GETGRGID_R_4)
-                               ADD_TK_CFLAG(HAVE_GETGRGID_R_4)
+                               ADD_TCL_CFLAG(HAVE_GETGRGID_R_4)
                        ENDIF(HAVE_GETGRGID_R_4)
                ENDIF(HAVE_GETGRGID_R_5)
        ENDIF(HAVE_GETGRGID_R)
@@ -752,7 +772,7 @@
 # SC_TCL_GETGRNAM_R
 #--------------------------------------------------------------------
 MACRO(SC_TCL_GETGRNAM_R)
-       CHECK_FUNCTION_EXISTS_D(getgrnam_r HAVE_GETGRNAM_R)
+       CONFIG_CHECK_FUNCTION_EXISTS(getgrnam_r HAVE_GETGRNAM_R)
        IF(HAVE_GETGRNAM_R)
                SET(HAVE_GETGRNAM_R_5_SRC "
 #include <sys/types.h>
@@ -768,7 +788,7 @@
                ")
                CHECK_C_SOURCE_COMPILES("${HAVE_GETGRNAM_R_5_SRC}"  
HAVE_GETGRNAM_R_5)
                IF(HAVE_GETGRNAM_R_5)
-                       ADD_TK_CFLAG(HAVE_GETGRNAM_R_5)
+                       ADD_TCL_CFLAG(HAVE_GETGRNAM_R_5)
                ELSE(HAVE_GETGRNAM_R_5)
                        SET(HAVE_GETGRNAM_R_4_SRC "
 #include <sys/types.h>
@@ -784,7 +804,7 @@
                        ")
                        CHECK_C_SOURCE_COMPILES("${HAVE_GETGRNAM_R_4_SRC}" 
HAVE_GETGRNAM_R_4)
                        IF(HAVE_GETGRNAM_R_4)
-                          ADD_TK_CFLAG(HAVE_GETGRNAM_R_4)
+                          ADD_TCL_CFLAG(HAVE_GETGRNAM_R_4)
                        ENDIF(HAVE_GETGRNAM_R_4)
                ENDIF(HAVE_GETGRNAM_R_5)
        ENDIF(HAVE_GETGRNAM_R)

Modified: brlcad/trunk/src/other/tk/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/other/tk/CMakeLists.txt    2011-08-04 22:16:44 UTC (rev 
45787)
+++ brlcad/trunk/src/other/tk/CMakeLists.txt    2011-08-05 02:05:09 UTC (rev 
45788)
@@ -45,11 +45,31 @@
 # set CMake project name
 PROJECT(TK)
 
-# set local CFLAGS name
-SET(CFLAGS_NAME TK)
-SET(TK_CFLAGS "")
-MARK_AS_ADVANCED(TK_CFLAGS)
+# Without Tcl libraries AND sources, we can't build Tk.  Use TCL_SRC_PREFIX
+# and TCL_BIN_PREFIX to identify the location of the Tcl we are to use.
+IF(TCL_SRC_PREFIX AND TCL_BIN_PREFIX)
+   SET(TCL_INCLUDE_DIRS ${TCL_SRC_PREFIX}/generic ${TCL_SRC_PREFIX}/libtommath)
+   IF(WIN32)
+      SET(TCL_INCLUDE_DIRS ${TCL_INCLUDE_DIRS} ${TCL_SRC_PREFIX}/win)
+   ELSE(WIN32)
+      SET(TCL_INCLUDE_DIRS ${TCL_INCLUDE_DIRS} ${TCL_SRC_PREFIX}/unix)
+   ENDIF(WIN32)
+   # Locate the TCL libraries.  We allow these to be overridden so that a 
parent
+   # build can use a CMake target instead of an actual library path.
+   IF(NOT TCL_LIBRARY)
+      find_library(TCL_LIBRARY tcl PATHS ${TCL_BIN_PREFIX}/lib)
+   ENDIF(NOT TCL_LIBRARY)
+   IF(NOT TCL_STUB_LIBRARY)
+      find_library(TCL_STUB_LIBRARY tclstub PATHS ${TCL_BIN_PREFIX}/lib)
+   ENDIF(NOT TCL_STUB_LIBRARY)
+   IF(NOT TCL_LIBRARY OR NOT TCL_STUB_LIBRARY)
+      MESSAGE(FATAL_ERROR "Could not find Tcl libraries in ${TCL_BIN_PREFIX} - 
please specify the parent directory for the libraries in the TCL_BIN_PREFIX 
variable (e.g. \${TCL_BIN_PREFIX}/lib)")
+   ENDIF(NOT TCL_LIBRARY OR NOT TCL_STUB_LIBRARY)
+ELSE(TCL_SRC_PREFIX and TCL_BIN_PREFIX)
+   MESSAGE(FATAL_ERROR "Please specify the source and library locations of Tcl 
using the TCL_SRC_PREFIX and TCL_BIN_PREFIX variables.")
+ENDIF(TCL_SRC_PREFIX AND TCL_BIN_PREFIX)
 
+
 # build shared libs by default
 OPTION(BUILD_SHARED_LIBS "Build shared libraries" ON)
 
@@ -68,6 +88,29 @@
        ENABLE_LANGUAGE(RC)
 ENDIF(WIN32)
 
+#---------------------------------------------------------------------
+# The following logic is what allows binaries to run successfully in
+# the build directory AND install directory.  Thanks to plplot for
+# identifying the necessity of setting CMAKE_INSTALL_NAME_DIR on OSX.
+
+# use, i.e. don't skip the full RPATH for the build tree
+SET(CMAKE_SKIP_BUILD_RPATH  FALSE)
+
+# when building, don't use the install RPATH already
+# (but later on when installing)
+SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
+
+# the RPATH/INSTALL_NAME_DIR to be used when installing
+if (NOT APPLE)
+   SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib:\$ORIGIN/../lib")
+endif(NOT APPLE)
+SET(CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib")
+
+# add the automatically determined parts of the RPATH which point to
+# directories outside the build tree to the install RPATH
+SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+
+
 #-----------------------------------------------------------------------------
 # Output directories.
 IF(NOT LIBRARY_OUTPUT_PATH)
@@ -112,27 +155,27 @@
 #----------------------------------------------------------------------------
 # First, get some standard options out of the way - things that are constant
 # between various platforms or pertain to specific OS definitions
-SET(TK_CFLAGS "${TK_CFLAGS} -DPACKAGE_NAME=\\\"tk\\\"")
-SET(TK_CFLAGS "${TK_CFLAGS} -DPACKAGE_TARNAME=\\\"tk\\\"")
-SET(TK_CFLAGS "${TK_CFLAGS} 
-DPACKAGE_VERSION=\\\"${TK_VERSION_MAJOR}.${TK_VERSION_MINOR}\\\"")
-SET(TK_CFLAGS "${TK_CFLAGS} -DPACKAGE_BUGREPORT=\\\"\\\"")
-SET(TK_CFLAGS "${TK_CFLAGS} -DSTDC_HEADERS=1")
+add_definitions(-DPACKAGE_NAME="tk")
+add_definitions(-DPACKAGE_TARNAME="tk")
+add_definitions(-DPACKAGE_VERSION="${TK_VERSION_MAJOR}.${TK_VERSION_MINOR}")
+add_definitions(-DPACKAGE_BUGREPORT="")
+add_definitions(-DSTDC_HEADERS=1)
 
 IF(WIN32)
-       SET(TK_CFLAGS "${TK_CFLAGS} -D_CRT_SECURE_NO_DEPRECATE 
-D_CRT_NONSTDC_NO_DEPRECATE -Ot -Oi -fp:strict -Gs -GS -GL -MD -DBUILD_tk 
-BUILD_ttk -DSUPPORT_CONFIG_EMBEDDED -DHAVE_UXTHEME_H=1 -DUSE_TCL_STUBS")
+   add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -Ot 
-Oi -fp:strict -Gs -GS -GL -MD -DBUILD_tk -BUILD_ttk -DSUPPORT_CONFIG_EMBEDDED 
-DHAVE_UXTHEME_H=1 -DUSE_TCL_STUBS)
 ENDIF(WIN32)
 
 IF(APPLE)
-       SET(TK_CFLAGS "${TK_CFLAGS} -DMAC_OSX_TCL=1")
+   add_definitions(-DMAC_OSX_TCL=1)
 ENDIF(APPLE)
 #----------------------------------------------------------------------------
 
 # Probably should be part of SC_TCL_64BIT_FLAGS
 IF(BRLCAD-ENABLE_64BIT)
-       SET(TK_CFLAGS "${TK_CFLAGS} -DTCL_CFG_DO64BIT=1")
+       add_definitions(-DTCL_CFG_DO64BIT=1)
 ENDIF(BRLCAD-ENABLE_64BIT)
 IF(CMAKE_CL_64)
-       SET(TK_CFLAGS "${TK_CFLAGS} -D_stati64=_stat64")
+       add_definitions(-D_stati64=_stat64)
 ENDIF(CMAKE_CL_64)
 
 
@@ -146,7 +189,7 @@
        INCLUDE(TestBigEndian)
        TEST_BIG_ENDIAN(WORDS_BIGENDIAN)
        IF(WORDS_BIGENDIAN)
-               SET(TK_CFLAGS "${TK_CFLAGS} -DWORDS_BIGENDIAN=1")
+      add_definitions(-DWORDS_BIGENDIAN=1)
        ENDIF(WORDS_BIGENDIAN)
 ENDIF(NOT MSVC)
 
@@ -154,58 +197,62 @@
 
 # Check for types - TODO: still need to define substitutes if these
 # are not found
-CHECK_TYPE_SIZE_D(mode_t MODE)
-CHECK_TYPE_SIZE_D(pid_t PID)
-CHECK_TYPE_SIZE_D(size_t SIZE)
-CHECK_TYPE_SIZE_D(uid_t UID)
-CHECK_TYPE_SIZE_D(blkcnt_t BLKCNT)
-CHECK_TYPE_SIZE_D(intptr_t INTPTR)
-CHECK_TYPE_SIZE_D(uintptr_t UINTPTR)
+CONFIG_CHECK_TYPE_SIZE(mode_t MODE)
+CONFIG_CHECK_TYPE_SIZE(pid_t PID)
+CONFIG_CHECK_TYPE_SIZE(size_t SIZE)
+CONFIG_CHECK_TYPE_SIZE(uid_t UID)
+CONFIG_CHECK_TYPE_SIZE(blkcnt_t BLKCNT)
+CONFIG_CHECK_TYPE_SIZE(intptr_t INTPTR)
+CONFIG_CHECK_TYPE_SIZE(uintptr_t UINTPTR)
 
 
-CHECK_INCLUDE_FILE_D(sys/types.h HAVE_SYS_TYPES_H)
-CHECK_INCLUDE_FILE_D(sys/stat.h HAVE_SYS_STAT_H)
-CHECK_INCLUDE_FILE_D(sys/fstatfs.h HAVE_SYS_FSTATFS_H)
+CONFIG_CHECK_INCLUDE_FILE(sys/types.h HAVE_SYS_TYPES_H)
+CONFIG_CHECK_INCLUDE_FILE(sys/stat.h HAVE_SYS_STAT_H)
+CONFIG_CHECK_INCLUDE_FILE(sys/fstatfs.h HAVE_SYS_FSTATFS_H)
 IF(NOT HAVE_SYS_FSTATFS_H)
-   SET(TK_CFLAGS "${TK_CFLAGS} -DNO_FSTATFS=1")
+   add_definitions(-DNO_FSTATFS=1)
 ENDIF(NOT HAVE_SYS_FSTATFS_H)
-CHECK_INCLUDE_FILE_D(memory.h HAVE_MEMORY_H)
-CHECK_INCLUDE_FILE_D(strings.h HAVE_STRINGS_H)
-CHECK_INCLUDE_FILE_D(inttypes.h HAVE_INTTYPES_H)
-CHECK_INCLUDE_FILE_D(stdint.h HAVE_STDINT_H)
-CHECK_INCLUDE_FILE_D(unistd.h HAVE_UNISTD_H)
+CONFIG_CHECK_INCLUDE_FILE(memory.h HAVE_MEMORY_H)
+CONFIG_CHECK_INCLUDE_FILE(strings.h HAVE_STRINGS_H)
+CONFIG_CHECK_INCLUDE_FILE(inttypes.h HAVE_INTTYPES_H)
+CONFIG_CHECK_INCLUDE_FILE(stdint.h HAVE_STDINT_H)
+CONFIG_CHECK_INCLUDE_FILE(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)  
-       find_library(FONTCONFIG_LIBRARY fontconfig)      
+   find_library(COREFOUNDATION_FRAMEWORK CoreFoundation)
+   IF(COREFOUNDATION_FRAMEWORK)   
+      add_definitions(-DHAVE_COREFOUNDATION=1)   
+   ENDIF(COREFOUNDATION_FRAMEWORK)   
+   find_library(FONTCONFIG_LIBRARY fontconfig)
 ENDIF(APPLE)
 
 IF(NOT WIN32)
-       find_package(X11)
-       find_package(Freetype)
-
-       SET(TK_WINDOWINGSYSTEM X11)
+   find_package(X11)
+   find_package(Freetype)
+   IF(FREETYPE_FOUND)
+      OPTION(TK-ENABLE_FREETYPE "Enable freetype support" ON) 
+   ELSE(FREETYPE_FOUND)
+      OPTION(TK-ENABLE_FREETYPE "Enable freetype support" OFF)
+   ENDIF(FREETYPE_FOUND)
+   SET(TK_WINDOWINGSYSTEM X11)
 ENDIF(NOT WIN32)
 
 IF(${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$")
-       CHECK_FUNCTION_EXISTS_D(getattrlist HAVE_GETATTRLIST)
-       CHECK_INCLUDE_FILE_D(copyfile.h HAVE_COPYFILE_H)
-       CHECK_FUNCTION_EXISTS_D(copyfile HAVE_COPYFILE)
-       IF(${COREFOUNDATION_FRAMEWORK})
-               CHECK_INCLUDE_FILE_D(libkern/OSAtomic.h HAVE_LIBKERN_OSATOMIC_H)
-               CHECK_FUNCTION_EXISTS_D(OSSpinLockLock HAVE_OSSPINLOCKLOCK)
-               CHECK_FUNCTION_EXISTS_D(pthread_atfork HAVE_PTHREAD_ATFORK)
-       ENDIF(${COREFOUNDATION_FRAMEWORK})
-       ADD_TK_CFLAG(USE_VFORK)
-       SET(TK_CFLAGS "${TK_CFLAGS} -DTCL_DEFAULT_ENCODING=\\\"utf-8\\\"")
-       ADD_TK_CFLAG(TCL_LOAD_FROM_MEMORY)
-       ADD_TK_CFLAG(TCL_WIDE_CLICKS)
-       CHECK_INCLUDE_FILE_USABILITY_D(AvailabilityMacros.h 
HAVE_AVAILABILITYMACROS_H)
-       IF(HAVE_AVAILABILITYMACROS_H)
-               SET(WEAK_IMPORT_SRCS "
+   CONFIG_CHECK_FUNCTION_EXISTS(getattrlist HAVE_GETATTRLIST)
+   CONFIG_CHECK_INCLUDE_FILE(copyfile.h HAVE_COPYFILE_H)
+   CONFIG_CHECK_FUNCTION_EXISTS(copyfile HAVE_COPYFILE)
+   IF(${COREFOUNDATION_FRAMEWORK})
+      CONFIG_CHECK_INCLUDE_FILE(libkern/OSAtomic.h HAVE_LIBKERN_OSATOMIC_H)
+      CONFIG_CHECK_FUNCTION_EXISTS(OSSpinLockLock HAVE_OSSPINLOCKLOCK)
+      CONFIG_CHECK_FUNCTION_EXISTS(pthread_atfork HAVE_PTHREAD_ATFORK)
+   ENDIF(${COREFOUNDATION_FRAMEWORK})
+   ADD_TCL_CFLAG(USE_VFORK)
+   add_definitions(-DTCL_DEFAULT_ENCODING="utf-8")
+   ADD_TCL_CFLAG(TCL_LOAD_FROM_MEMORY)
+   ADD_TCL_CFLAG(TCL_WIDE_CLICKS)
+   CONFIG_CHECK_INCLUDE_FILE_USABILITY(AvailabilityMacros.h 
HAVE_AVAILABILITYMACROS_H)
+   IF(HAVE_AVAILABILITYMACROS_H)
+      SET(WEAK_IMPORT_SRCS "
 #ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
 #if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1020
 #error __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1020
@@ -218,12 +265,12 @@
 rand();
 return 0;
 }
-               ")
-               CHECK_C_SOURCE_COMPILES("${WEAK_IMPORT_SRCS}" 
WEAK_IMPORT_WORKING)
-               IF(WEAK_IMPORT_WORKING)
-                       ADD_TK_CFLAG(HAVE_WEAK_IMPORT)
-               ENDIF(WEAK_IMPORT_WORKING)
-               SET(SUSV3_SRCS "
+      ")
+      CHECK_C_SOURCE_COMPILES("${WEAK_IMPORT_SRCS}" WEAK_IMPORT_WORKING)
+      IF(WEAK_IMPORT_WORKING)
+         ADD_TCL_CFLAG(HAVE_WEAK_IMPORT)
+      ENDIF(WEAK_IMPORT_WORKING)
+      SET(SUSV3_SRCS "
 #ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
 #if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1050
 #error __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1050
@@ -234,14 +281,14 @@
 #define _DARWIN_C_SOURCE 1
 #include <sys/cdefs.h>
 
-int main ()    {return 0;}
-               ")
-               CHECK_C_SOURCE_COMPILES("${SUSV3_SRCS}" SUSV3_WORKING)
-               IF(SUSV3_WORKING)
-                       ADD_TK_CFLAG(_DARWIN_C_SOURCE)
-               ENDIF(SUSV3_WORKING)
+int main () {return 0;}
+      ")
+      CHECK_C_SOURCE_COMPILES("${SUSV3_SRCS}" SUSV3_WORKING)
+      IF(SUSV3_WORKING)
+         ADD_TCL_CFLAG(_DARWIN_C_SOURCE)
+      ENDIF(SUSV3_WORKING)
 
-       ENDIF(HAVE_AVAILABILITYMACROS_H)
+   ENDIF(HAVE_AVAILABILITYMACROS_H)
 ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$")
 
 ADD_SUBDIRECTORY(doc)
@@ -500,34 +547,6 @@
        ENDIF(ENABLE_AQUA)
 ENDIF(WIN32)
 
-# When it comes to identification of the location of the Tcl
-# sources, the convention is as follows:
-#
-# 1.  If TCL_INCLUDE_DIRS is defined, use it
-# 2.  Else, if TCL_PREFIX is defined build include paths from it
-# 3.  If TCL_INCLUDE_DIRS is not defined and TCL_BIN_PREFIX is,
-#     add include directories based on the presumption of the
-#     binary build dir (and hence tkConfig.h) being in a non-src
-#     location.
-#
-# It's still possible, depending on how Tcl was built, to 
-# have a situation where TCL_INCLUDE_DIRS has to be augmented
-# manually.  However, the logic below should cover the most common cases.
-
-IF(NOT TCL_INCLUDE_DIRS)
-       IF(TCL_PREFIX)
-               SET(TCL_INCLUDE_DIRS ${TCL_PREFIX}/generic 
${TCL_PREFIX}/libtommath)
-               IF(WIN32)
-                       SET(TCL_INCLUDE_DIRS ${TCL_INCLUDE_DIRS} 
${TCL_PREFIX}/win)
-               ELSE(WIN32)
-                       SET(TCL_INCLUDE_DIRS ${TCL_INCLUDE_DIRS} 
${TCL_PREFIX}/unix)
-               ENDIF(WIN32)
-       ENDIF(TCL_PREFIX)
-       IF(TCL_BIN_PREFIX)
-               SET(TCL_INCLUDE_DIRS ${TCL_INCLUDE_DIRS} 
${TCL_BIN_PREFIX}/include)
-       ENDIF(TCL_BIN_PREFIX)
-ENDIF(NOT TCL_INCLUDE_DIRS)
-
 SET(TK_INCLUDE_PATH ${TK_SOURCE_DIR}/generic ${TK_SOURCE_DIR}/bitmaps 
${TK_BINARY_DIR}/include)
 IF(WIN32)
        SET(TK_INCLUDE_PATH ${TK_INCLUDE_PATH} ${TK_SOURCE_DIR}/win 
${TK_SOURCE_DIR}/xlib ${TK_SOURCE_DIR}/xlib/X11)
@@ -544,20 +563,13 @@
         SET(WISH_SRCS win/winMain.c)# win/rc/wish.rc)
 ENDIF(NOT WIN32)
 
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${TK_CFLAGS}") 
-
 include_directories(
    ${TCL_INCLUDE_DIRS} 
    ${TK_INCLUDE_PATH}
-   ${X11_INCLUDE_DIR}  
+   ${X11_INCLUDE_DIR}
+   ${FREETYPE_INCLUDE_DIRS}
 )
 
-IF(TK-ENABLE_FREETYPE)
-  include_directories(
-        ${FREETYPE_INCLUDE_DIRS}
-  )
-ENDIF(TK-ENABLE_FREETYPE)
-
 SET(X11_TK_LIBS ${X11_X11_LIB} ${X11_Xext_LIB})
 
 IF(X11_Xscreensaver_LIB)
@@ -570,16 +582,25 @@
 SET(X11_TK_LIBS ${X11_TK_LIBS} ${X11_Xrender_LIB})
 ENDIF(X11_Xrender_LIB)
 
-IF(TK-ENABLE_FREETYPE)
-  SET(TK_FREETYPE_LIBRARIES ${FREETYPE_LIBRARIES})
-  SET(TK_FONTCONFIG_LIBRARY ${FONTCONFIG_LIBRARY})
-ENDIF(TK-ENABLE_FREETYPE)
+IF(NOT LIB_DIR)
+   SET(LIB_DIR lib)
+ENDIF(NOT LIB_DIR)
 
+add_definitions(-DUSE_TCL_STUBS)
+
+IF(NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY)
+   SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
+ENDIF(NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY)
+
+add_library(tkstub STATIC ${TK_STUB_SRCS} ${TTK_STUB_SRCS})
+SET_TARGET_PROPERTIES(tkstub PROPERTIES COMPILE_FLAGS "-fPIC")
+install(TARGETS tkstub DESTINATION ${LIB_DIR})
+
 add_library(tk ${TK_SRCS})
 IF(WIN32)
-target_link_libraries(tk tclstub ${COREFOUNDATION_FRAMEWORK} ${X11_TK_LIBS} 
${TK_FREETYPE_LIBRARIES} ${TK_FONTCONFIG_LIBRARY})
+target_link_libraries(tk tkstub ${TCL_STUB_LIBRARY} 
${COREFOUNDATION_FRAMEWORK} ${X11_TK_LIBS} ${FREETYPE_LIBRARIES} 
${FONTCONFIG_LIBRARY})
 ELSE(WIN32)
-target_link_libraries(tk tcl ${COREFOUNDATION_FRAMEWORK} ${X11_TK_LIBS} 
${TK_FREETYPE_LIBRARIES} ${TK_FONTCONFIG_LIBRARY})
+target_link_libraries(tk tkstub ${TCL_STUB_LIBRARY} 
${COREFOUNDATION_FRAMEWORK} ${X11_TK_LIBS} ${FREETYPE_LIBRARIES} 
${FONTCONFIG_LIBRARY})
 ENDIF(WIN32)
 install(TARGETS tk DESTINATION ${LIB_DIR})
 SET_TARGET_PROPERTIES(tk PROPERTIES VERSION ${TK_VERSION} SOVERSION 
${TK_VERSION_MAJOR}.${TK_VERSION_MINOR})
@@ -592,9 +613,6 @@
 FILE(WRITE 
${CMAKE_BINARY_DIR}/lib/tk${TK_VERSION_MAJOR}.${TK_VERSION_MINOR}/pkgIndex.tcl 
"package ifneeded Tk ${TK_VERSION} [list load [file join $dir 
${CMAKE_LIBRARY_OUTPUT_DIRECTORY} ${TK_LIBNAME}] Tk]")
 
 
-add_library(tkstub STATIC ${TK_STUB_SRCS})
-install(TARGETS tkstub DESTINATION ${LIB_DIR})
-
 install(FILES ${TK_HDRS} DESTINATION include)
 
 IF(WIN32)
@@ -602,7 +620,7 @@
        target_link_libraries(wish tcl tk imm32.lib comctl32.lib)
 ELSE(WIN32)
        add_executable(wish ${WISH_SRCS})
-       target_link_libraries(wish tcl tk ${COREFOUNDATION_FRAMEWORK} 
${SUN_MATH_LIB} ${X11_TK_LIBS} ${TK_FREETYPE_LIBRARIES} 
${TK_FONTCONFIG_LIBRARY})
+       target_link_libraries(wish ${TCL_LIBRARY} tk 
${COREFOUNDATION_FRAMEWORK} ${SUN_MATH_LIB} ${X11_TK_LIBS} 
${TK_FREETYPE_LIBRARIES} ${TK_FONTCONFIG_LIBRARY})
 ENDIF(WIN32)
 SET_TARGET_PROPERTIES(wish PROPERTIES VERSION 
${TK_VERSION_MAJOR}.${TK_VERSION_MINOR})
 install(TARGETS wish DESTINATION bin)


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

------------------------------------------------------------------------------
BlackBerry&reg; DevCon Americas, Oct. 18-20, San Francisco, CA
The must-attend event for mobile developers. Connect with experts. 
Get tools for creating Super Apps. See the latest technologies.
Sessions, hands-on labs, demos & much more. Register early & save!
http://p.sf.net/sfu/rim-blackberry-1
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to