Index: Modules/FindTCL.cmake
--- Modules/FindTCL.cmake.orig
+++ Modules/FindTCL.cmake
@@ -49,19 +49,36 @@ include(${CMAKE_CURRENT_LIST_DIR}/CMakeFindFrameworks.
 include(${CMAKE_CURRENT_LIST_DIR}/FindTclsh.cmake)
 include(${CMAKE_CURRENT_LIST_DIR}/FindWish.cmake)
 
+set(MODTCL_VERSION $ENV{MODTCL_VERSION})
+set(MODTK_VERSION $ENV{MODTK_VERSION})
+set(MODTCL_INCDIR $ENV{MODTCL_INCDIR})
+set(MODTK_INCDIR $ENV{MODTK_INCDIR})
+set(MODTCL_LIB $ENV{MODTCL_LIB})
+set(MODTK_LIB $ENV{MODTK_LIB})
+set(MODTCL_LIBDIR $ENV{MODTCL_LIBDIR})
+set(MODTK_LIBDIR $ENV{MODTK_LIBDIR})
+
 if(TCLSH_VERSION_STRING)
   set(TCL_TCLSH_VERSION "${TCLSH_VERSION_STRING}")
 else()
   get_filename_component(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
   get_filename_component(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH)
-  string(REGEX REPLACE
-    "^.*tclsh([0-9]\\.*[0-9]).*$" "\\1" TCL_TCLSH_VERSION "${TCL_TCLSH}")
+  if(MODTCL_VERSION)
+    set(TCL_TCLSH_VERSION "${MODTCL_VERSION}")
+  else(MODTCL_VERSION)
+    string(REGEX REPLACE
+      "^.*tclsh([0-9]\\.*[0-9]).*$" "\\1" TCL_TCLSH_VERSION "${TCL_TCLSH}")
+  endif(MODTCL_VERSION)
 endif()
 
 get_filename_component(TK_WISH_PATH "${TK_WISH}" PATH)
 get_filename_component(TK_WISH_PATH_PARENT "${TK_WISH_PATH}" PATH)
-string(REGEX REPLACE
-  "^.*wish([0-9]\\.*[0-9]).*$" "\\1" TK_WISH_VERSION "${TK_WISH}")
+if(MODTK_VERSION)
+  set(TK_WISH_VERSION "${MODTK_VERSION}")
+else(MODTK_VERSION)
+  string(REGEX REPLACE
+    "^.*wish([0-9]\\.*[0-9]).*$" "\\1" TK_WISH_VERSION "${TK_WISH}")
+endif(MODTK_VERSION)
 
 get_filename_component(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
 get_filename_component(TK_INCLUDE_PATH_PARENT "${TK_INCLUDE_PATH}" PATH)
@@ -76,15 +93,35 @@ get_filename_component(TK_LIBRARY_PATH_PARENT "${TK_LI
 string(REGEX REPLACE
   "^.*tk([0-9]\\.*[0-9]).*$" "\\1" TK_LIBRARY_VERSION "${TK_LIBRARY}")
 
-set(TCLTK_POSSIBLE_LIB_PATHS
-  "${TCL_INCLUDE_PATH_PARENT}/lib"
-  "${TK_INCLUDE_PATH_PARENT}/lib"
-  "${TCL_LIBRARY_PATH}"
-  "${TK_LIBRARY_PATH}"
-  "${TCL_TCLSH_PATH_PARENT}/lib"
-  "${TK_WISH_PATH_PARENT}/lib"
-)
+set(TCLTK_OPENBSD_LIB_PATHS)
 
+if(MODTCL_LIBDIR)
+  list(APPEND TCLTK_OPENBSD_LIB_PATHS "${MODTCL_LIBDIR}")
+endif()
+
+if(MODTK_LIBDIR)
+  list(APPEND TCLTK_OPENBSD_LIB_PATHS "${MODTK_LIBDIR}")
+endif()
+
+if(NOT "${TCLTK_OPENBSD_LIB_PATHS}" STREQUAL "")
+  set(TCLTK_POSSIBLE_LIB_PATHS
+    "${TCLTK_OPENBSD_LIB_PATHS}"
+    )
+else()
+  set(TCLTK_POSSIBLE_LIB_PATHS
+    "${TCL_INCLUDE_PATH_PARENT}/lib"
+    "${TK_INCLUDE_PATH_PARENT}/lib"
+    "${TCL_LIBRARY_PATH}"
+    "${TK_LIBRARY_PATH}"
+    "${TCL_TCLSH_PATH_PARENT}/lib"
+    "${TK_WISH_PATH_PARENT}/lib"
+    ${LOCALBASE}/lib/tcl/tcl8.6
+    ${LOCALBASE}/lib/tcl/tk8.6
+    ${LOCALBASE}/lib/tcl/tcl8.5
+    ${LOCALBASE}/lib/tcl/tk8.5
+    )
+endif()
+
 set(TCLTK_POSSIBLE_LIB_PATH_SUFFIXES
   lib/tcl/tcl8.7
   lib/tcl/tk8.7
@@ -167,16 +204,6 @@ if(Tk_FRAMEWORKS)
   endif()
 endif()
 
-set(TCLTK_POSSIBLE_INCLUDE_PATHS
-  "${TCL_LIBRARY_PATH_PARENT}/include"
-  "${TK_LIBRARY_PATH_PARENT}/include"
-  "${TCL_INCLUDE_PATH}"
-  "${TK_INCLUDE_PATH}"
-  ${TCL_FRAMEWORK_INCLUDES}
-  ${TK_FRAMEWORK_INCLUDES}
-  "${TCL_TCLSH_PATH_PARENT}/include"
-  "${TK_WISH_PATH_PARENT}/include"
-  )
 
 set(TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES
   include/tcl${TK_LIBRARY_VERSION}
@@ -193,6 +220,36 @@ set(TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES
   include/tcl8.2
   include/tcl8.0
   )
+set(TCLTK_OPENBSD_INCLUDE_PATHS)
+
+if(MODTCL_INCDIR)
+  list(APPEND TCLTK_OPENBSD_INCLUDE_PATHS "${MODTCL_INCDIR}")
+endif()
+
+if(MODTK_INCDIR)
+  list(APPEND TCLTK_OPENBSD_INCLUDE_PATHS "${MODTK_INCDIR}")
+endif()
+
+if(NOT "${TCLTK_OPENBSD_INCLUDE_PATHS}" STREQUAL "")
+  set(TCLTK_POSSIBLE_INCLUDE_PATHS
+    "${TCLTK_OPENBSD_INCLUDE_PATHS}"
+    )
+else()
+  set(TCLTK_POSSIBLE_INCLUDE_PATHS
+    "${TCL_LIBRARY_PATH_PARENT}/include"
+    "${TK_LIBRARY_PATH_PARENT}/include"
+    "${TCL_INCLUDE_PATH}"
+    "${TK_INCLUDE_PATH}"
+    ${TCL_FRAMEWORK_INCLUDES}
+    ${TK_FRAMEWORK_INCLUDES}
+    "${TCL_TCLSH_PATH_PARENT}/include"
+    "${TK_WISH_PATH_PARENT}/include"
+    ${LOCALBASE}/include/tcl8.6
+    ${LOCALBASE}/include/tk8.6
+    ${LOCALBASE}/include/tcl8.5
+    ${LOCALBASE}/include/tk8.5
+    )
+endif()
 
 if(WIN32)
   set(TCLTK_POSSIBLE_INCLUDE_PATHS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
