Index: tol/contrib/cint/tolCint.cpp
===================================================================
--- tol/contrib/cint/tolCint.cpp	(revision 89169376c006dddf9f9a4309904faaa29ed2a947)
+++ tol/contrib/cint/tolCint.cpp	(revision 716b74a404a9c22369e422a0d97d82f9e3557270)
@@ -24,4 +24,5 @@
 #include <contrib/cint/tolCint.h>
 
+#include <tol/tol_bdir.h>
 #include <tol/tol_blanguag.h>
 #include <tol/tol_bdatgra.h>
@@ -117,8 +118,9 @@
 
 //--------------------------------------------------------------------
-void Cint_not_linked_message (void)
-//--------------------------------------------------------------------
-{
-  Error("Cannot use CINT due to libcint.dll is not linked.");
+void Cint_not_linked_message (const char* function)
+//--------------------------------------------------------------------
+{
+  Error(BText("Cannot use CINT function ")+function+
+  " due to libcint.dll is not linked.");
 }
 
@@ -129,5 +131,5 @@
   if(!G__scratch_all_ptr) 
   { 
-    Cint_not_linked_message(); 
+    Cint_not_linked_message("Cint_scratch_all"); 
     return; 
   } 
@@ -141,5 +143,5 @@
   if(!G__lasterror_filename_ptr) 
   { 
-    Cint_not_linked_message(); 
+    Cint_not_linked_message("Cint_lasterror_filename"); 
     return(NULL); 
   } 
@@ -153,4 +155,5 @@
   if(!G__lasterror_linenum_ptr) 
   { 
+    Cint_not_linked_message("Cint_lasterror_linenum"); 
     return(0); 
   } 
@@ -164,5 +167,5 @@
   if(!G__init_cint_ptr) 
   { 
-    Cint_not_linked_message(); 
+    Cint_not_linked_message("Cint_init_cint"); 
     return(-1); 
   } 
@@ -176,5 +179,5 @@
   if(!G__set_errmsgcallback_ptr) 
   { 
-    Cint_not_linked_message(); 
+    Cint_not_linked_message("Cint_set_errmsgcallback"); 
     return; 
   } 
@@ -188,5 +191,5 @@
   if(!G__setautoconsole_ptr)
   { 
-    Cint_not_linked_message(); 
+    Cint_not_linked_message("Cint_setautoconsole"); 
     return; 
   } 
@@ -200,5 +203,5 @@
   if(!G__SetCINTSYSDIR_ptr)
   { 
-    Cint_not_linked_message(); 
+    Cint_not_linked_message("Cint_SetCINTSYSDIR"); 
     return; 
   } 
@@ -212,5 +215,5 @@
   if(!G__loadfile_ptr)
   { 
-    Cint_not_linked_message(); 
+    Cint_not_linked_message("Cint_loadfile"); 
     return(0); 
   } 
@@ -224,5 +227,5 @@
   if(!G__unloadfile_ptr)
   { 
-    Cint_not_linked_message(); 
+    Cint_not_linked_message("Cint_unloadfile"); 
     return(0); 
   } 
@@ -237,5 +240,5 @@
   if(!G__exec_tempfile_ptr)
   { 
-    Cint_not_linked_message(); 
+    Cint_not_linked_message("Cint_exec_tempfile"); 
     return(gv); 
   } 
@@ -250,5 +253,5 @@
   if(!G__exec_text_ptr)
   { 
-    Cint_not_linked_message(); 
+    Cint_not_linked_message("Cint_exec_text"); 
     return(gv); 
   } 
@@ -262,5 +265,5 @@
   if(!G__int_ptr)
   { 
-    Cint_not_linked_message(); 
+    Cint_not_linked_message("Cint_int"); 
     return(0); 
   } 
@@ -274,5 +277,5 @@
   if(!G__double_ptr)
   { 
-    Cint_not_linked_message(); 
+    Cint_not_linked_message("Cint_double"); 
     return(BDat::Unknown().Value()); 
   } 
@@ -287,5 +290,5 @@
   if(!G__calc_ptr)
   { 
-    Cint_not_linked_message(); 
+    Cint_not_linked_message("Cint_calc"); 
     return(gv ); 
   } 
@@ -299,5 +302,5 @@
   if(!G__deletevariable_ptr)
   { 
-    Cint_not_linked_message(); 
+    Cint_not_linked_message("Cint_deletevariable"); 
     return(0); 
   } 
@@ -351,5 +354,6 @@
   {
     Cint_is_initialized() = true; 
-    if(!Cint_dynamic_linkage()) { return(false); }
+    int linked = Cint_dynamic_linkage();
+    if(!linked) { return(false); }
     BText order = "cint";
     if(filePath.HasName()) { order += BText(" ")+filePath; }
@@ -391,4 +395,15 @@
 
 //--------------------------------------------------------------------
+int Cint_initialize_tol_variables()
+//--------------------------------------------------------------------
+{
+  int linked = Cint_dynamic_linkage();
+  BSystemDat* linked_ = new BSystemDat("Cint_IsLinked", linked,
+	  I2("Is true if optional libcint library has been linked succesfully.",
+	     "Es cierto si la librería opcional libcint ha sido enlazada correctamente"));
+  return(linked);
+}
+
+//--------------------------------------------------------------------
   DeclareContensClass(BDat, BDatTemporary, BDatCint_SetCINTSYSDIR);
   DefExtOpr(1, BDatCint_SetCINTSYSDIR, "Cint.SetCINTSYSDIR", 1, 1, "Text",
@@ -402,7 +417,17 @@
 {
   if(CheckNonDeclarativeAction("Cint.SetCINTSYSDIR")) { return; }
-  BText& filePath = Text(Arg(1));
-  Cint_SetCINTSYSDIR(filePath);
-  contens_ = 1;
+  BText& dirPath = Text(Arg(1));
+  bool ok = G__SetCINTSYSDIR_ptr!=NULL;
+
+  if(!BDir::CheckIsDir(dirPath))
+  {
+    Error(BText("[Cint.SetCINTSYSDIR]")+" Not found path "+dirPath);
+    ok = false;
+  }
+  contens_ = ok;
+  if(ok)
+  {
+    Cint_SetCINTSYSDIR(dirPath);
+  }
 }
 
