ilib_verbose(2) windows
Allan CORNET [Thu, 30 Apr 2009 13:18:30 +0000 (15:18 +0200)]
scilab/modules/dynamic_link/demos/call_c.sce
scilab/modules/dynamic_link/macros/G_make.sci
scilab/modules/dynamic_link/macros/ilib_compile.sci
scilab/modules/dynamic_link/macros/ilib_for_link.sci
scilab/modules/dynamic_link/macros/ilib_gen_Make.sci
scilab/modules/dynamic_link/macros/ilib_gen_gateway.sci
scilab/modules/dynamic_link/macros/ilib_gen_loader.sci
scilab/modules/dynamic_link/tests/unit_tests/link_path.dia.ref [new file with mode: 0644]
scilab/modules/dynamic_link/tests/unit_tests/link_path.tst
scilab/modules/dynamic_link/tests/unit_tests/link_path.win.dia.ref [deleted file]

index 39e568a..8583137 100644 (file)
@@ -9,7 +9,7 @@
 
 if haveacompiler() then
 
-
 // we use TMPDIR for compilation 
        
   foo=['void foo(double *a,double *b,double *c)';
@@ -21,6 +21,8 @@ if haveacompiler() then
   disp(foo);
        
 if ~c_link('foo') then
+  cur_ilib_verbose = ilib_verbose();
+  ilib_verbose(1);
   path = getcwd(); 
   chdir(TMPDIR); 
   mputl(foo,'foo.c');
@@ -29,7 +31,8 @@ if ~c_link('foo') then
   mprintf(gettext('Call ilib_for_link to build C function.\n'));
   ilib_for_link(['foo'],'foo.c',[],"c");
   exec loader.sce ;
-  chdir(path) 
+  chdir(path);
+  ilib_verbose(cur_ilib_verbose);
 end    
 
 //Z = X+Y by C function
index 3c9ce0b..11a1f94 100644 (file)
 function [res]=G_make(files,objects_or_dll)
 
   if ~haveacompiler() then
-       error(msprintf(gettext('%s: A Fortran or C compiler is required.\n'),'G_make'))
+    error(msprintf(gettext('%s: A Fortran or C compiler is required.\n'),'G_make'))
   end
 
-  if MSDOS then // WINDOWS
+  msg = '';
   
+  if MSDOS then // WINDOWS
+
     if typeof(objects_or_dll)<>'string' then 
       error(sprintf(gettext('%s: Wrong type for input argument #%d: String expected.'),'G_make',2));
       return;
@@ -27,22 +29,41 @@ function [res]=G_make(files,objects_or_dll)
     OBJ = ptmp + ftmp;
     
     if with_lcc() == %T then
-      host('make -f Makefile.lcc '+OBJ);
+      if ilib_verbose() > 1 then
+        msg = unix_g('make -f Makefile.lcc '+OBJ);
+      else
+        host('make -f Makefile.lcc '+OBJ);
+      end
     else
       // scilab uses Visual Studio C++ 
-      host('nmake /Y /nologo /f Makefile.mak '+OBJ);
+      if ilib_verbose() > 1 then
+        msg = unix_g('nmake /Y /nologo /f Makefile.mak '+OBJ);
+      else
+        host('nmake /Y /nologo /f Makefile.mak '+OBJ);
+      end
+      
     end
     
-    res=[OBJ];
+    res = [OBJ];
     
   else // LINUX
   
-    mk=[]
-    for x=files(:)', if strindex(x,'-l')==[], mk=mk+' '+x ; end ;end 
-    host('make '+ mk);
-    res=files ;
+    mk = [];
+    for x = files(:)', if strindex(x,'-l')==[], mk=mk+' '+x ; end ;end 
+    
+    if ilib_verbose() > 1 then
+      msg = unix_g('make '+ mk);
+    else
+      host('make '+ mk);
+    end
+    
+    res = files ;
     
   end 
   
+  if ilib_verbose() > 1 then
+    disp(msg);
+  end
+  
 endfunction
 //==========================================
index dc791a2..62db562 100644 (file)
@@ -48,23 +48,41 @@ function libn = ilib_compile(lib_name,makename,files, ..
 
   if path<> '';  chdir(path);  end 
   
+   
   // first try to build each file step by step 
   if MSDOS then
     //** ----------- Windows section  -----------------
+    msgs_make = '';
     nf = size(files,'*');
     
     for i=1:nf
       if ( ilib_verbose() <> 0 ) then
         mprintf(_("   Compilation of ") + string(files1(i)) +'\n');
       end
-      unix_s(make_command+makename + ' '+ files(i)); 
+      if ilib_verbose() > 1 then
+        msg = unix_g(make_command+makename + ' '+ files(i));
+        msgs_make = [ msgs_make ; msg ];
+      else
+        unix_s(make_command+makename + ' '+ files(i)); 
+      end
     end
     
+    if ( (ilib_verbose() > 1) ) then
+      disp(msgs_make);
+         end
+    
     // then the shared library 
     if ( ilib_verbose() <> 0 ) then
       mprintf(_("   Building shared library (be patient)\n"));
     end
-    unix_s(make_command + makename + ' '+ lib_name); 
+    
+    // TO DO : Check if it is always needed ...
+    if ilib_verbose() > 1 then
+      msg = unix_g(make_command + makename + ' '+ lib_name); 
+      disp(msg);
+    else
+      unix_s(make_command + makename + ' '+ lib_name); 
+    end
    
   else
     //** ---------- Linux section ---------------------  
index cd8a929..501fe21 100644 (file)
@@ -204,6 +204,11 @@ function ilib_link_gen_loader(names,flag,loadername,libs,libname)
   mfprintf(fd,"clear get_file_path;\n");
   mfprintf(fd,"// ------------------------------------------------------\n");
   mclose(fd);
+  
+  if ilib_verbose() > 1 then
+    disp(mgetl(loadername));
+  end
+  
 endfunction
 //==========================================    
 function ilib_link_gen_Make_msvc(names, ..
@@ -322,6 +327,9 @@ function ilib_link_gen_Make_msvc(names, ..
     fd = mopen(Makename, "wt");
     mputl(MAKEFILE_VC, fd);
     mclose(fd);
+    if ilib_verbose() > 1 then
+      disp(MAKEFILE_VC);
+    end
   else
     // TEMPLATE_MAKEFILE.VC not found
     warning(SCI+'/modules/dynamic_link/src/scripts/TEMPLATE_MAKEFILE.VC'+ _('not found.') );
@@ -343,7 +351,7 @@ function ilib_link_gen_Make_lcc(names, ..
   // TO DO rewrite with a template 
   
   if libname == "" then libname = names(1);end 
-  fd = mopen(Makename,"w");
+  fd = mopen(Makename,"wt");
   mfprintf(fd,"# ------------------------------------------------------------\n");
   mfprintf(fd,"# generated by builder.sce (lcc): Please do not edit this file\n");
   mfprintf(fd,"# ------------------------------------------------------------\n\n");
@@ -416,5 +424,9 @@ function ilib_link_gen_Make_lcc(names, ..
   mfprintf(fd,"\t"+"del *.def\n");
  
   mclose(fd);
+  
+  if ilib_verbose() > 1 then
+    disp(mgetl(Makename));
+  end
 endfunction
 //==========================================    
index b2b2dce..088028d 100644 (file)
@@ -201,6 +201,11 @@ function ilib_gen_Make_win32(name,table,files,libs,Makename,with_gateway,ldflags
     fd = mopen(Makename, "wt");
     mputl(MAKEFILE_VC, fd);
     mclose(fd);
+    
+    if ilib_verbose() > 1 then
+      disp(MAKEFILE_VC);
+    end
+    
   else
     // TEMPLATE_MAKEFILE.VC not found
     warning(SCI+'/modules/dynamic_link/src/scripts/TEMPLATE_MAKEFILE.VC'+ _('not found.') );
@@ -228,7 +233,7 @@ function ilib_gen_Make_lcc(name,table,files,libs,Makename,with_gateway,ldflags,c
     scicoslib = '';
   end
 
-  fd=mopen(Makename,"w");
+  fd=mopen(Makename,"wt");
   mfprintf(fd,"# ------------------------------------------------------------\n");
   mfprintf(fd,"# generated by builder.sce (lcc 1): Please do not edit this file\n");
   mfprintf(fd,"# ------------------------------------------------------------\n\n");
@@ -271,7 +276,7 @@ function ilib_gen_Make_lcc(name,table,files,libs,Makename,with_gateway,ldflags,c
     for i=1:mt ; 
       // mex files to be added 
       if table(i,3)=='cmex' | table(i,3)=='fmex' | table(i,3)=='Fmex' 
-       mfprintf(fd," %s$(O)",table(i,2));
+        mfprintf(fd," %s$(O)",table(i,2));
       end
     end
   end
@@ -321,6 +326,10 @@ function ilib_gen_Make_lcc(name,table,files,libs,Makename,with_gateway,ldflags,c
   mfprintf(fd,"\t"+"del *.def\n");
  
  mclose(fd);
+ if ilib_verbose() > 1 then
+   disp(mgetl(Makename));
+ end
 
 endfunction
 //---------------------------------------------------------------------------------------
index afda8ab..145d5f7 100644 (file)
@@ -76,7 +76,7 @@ function ilib_gen_gateway(name,tables)
                
     // first chek if we already have a gateway 
     [fd,ierr] = mopen(path+tname+'.c');
-    if ierr== 0 then
+    if ierr == 0 then
       mclose(fd);
       t1 = mgetl(path+tname+'.c') 
       if t1 <> t then 
@@ -86,6 +86,10 @@ function ilib_gen_gateway(name,tables)
        // file does not exist we create it 
        mputl(t,path+tname+'.c') ;   
     end
+    
+    if ilib_verbose() > 1 then
+      disp(t);
+    end
   end
 endfunction
 //==========================================
index 56ef0bf..1fa5429 100644 (file)
@@ -95,5 +95,9 @@ function ilib_gen_loader(name,tables,libs)
   mfprintf(fd,"// ------------------------------------------------------\n");
   mclose(fd);
   
+  if ilib_verbose() > 1 then
+    disp(mgetl('loader.sce'));
+  end
+  
 endfunction
 //==========================================
diff --git a/scilab/modules/dynamic_link/tests/unit_tests/link_path.dia.ref b/scilab/modules/dynamic_link/tests/unit_tests/link_path.dia.ref
new file mode 100644 (file)
index 0000000..24687a3
--- /dev/null
@@ -0,0 +1,39 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+ilib_verbose(0);
+cd(TMPDIR);
+if MSDOS then
+       unix_w(jre_path()+"\bin\java.exe -cp "+SCI+"\modules\localization\tests\unit_tests CreateDir");
+else
+       unix_w(jre_path()+"/bin/java -classpath "+SCI+"/modules/localization/tests/unit_tests CreateDir");
+end
+tab_ref = [
+"世界您好",
+"азеазея",
+"ハロー・ワールド",
+"เฮลโลเวิลด์",
+"حريات وحقوق",
+"프로그램",
+"תוכנית"];
+for i = 1 : size(tab_ref,'*')
+       sz = "dir_" + tab_ref(i);
+       cd(sz);
+       
+       //Example of the use of ilib_for_link with  a simple C code
+    f1=['#include <math.h>'
+    'void fooc(double c[],double a[], double *b,int *m,int *n)'
+    '{'
+    '   int i;'
+    '   for ( i =0 ; i < (*m)*(*n) ; i++) '
+    '     c[i] = sin(a[i]) + *b; '
+    '}'];
+   mputl(f1,'fooc.c');
+   ilib_for_link('fooc','fooc.o',[],"c"); 
+   exec loader.sce; 
+   ulink();
+   cd(TMPDIR);
+end
index 4d5c41d..e8612ad 100644 (file)
@@ -1,12 +1,12 @@
 // =============================================================================
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) ????-2008 - INRIA
 // Copyright (C) 2009 - DIGITEO
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
 
-// <-- ENGLISH IMPOSED -->
+
+ilib_verbose(0);
 cd(TMPDIR);
 
 if MSDOS then
@@ -38,8 +38,6 @@ for i = 1 : size(tab_ref,'*')
     '}'];
 
    mputl(f1,'fooc.c');
-   warning_mode = warning('query');
-        warning('off');
    ilib_for_link('fooc','fooc.o',[],"c"); 
    exec loader.sce; 
    ulink();
diff --git a/scilab/modules/dynamic_link/tests/unit_tests/link_path.win.dia.ref b/scilab/modules/dynamic_link/tests/unit_tests/link_path.win.dia.ref
deleted file mode 100644 (file)
index 3bf9aa5..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) ????-2008 - INRIA
-// Copyright (C) 2009 - DIGITEO
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-// <-- ENGLISH IMPOSED -->
-cd(TMPDIR);
-if MSDOS then
-       unix_w(jre_path()+"\bin\java.exe -cp "+SCI+"\modules\localization\tests\unit_tests CreateDir");
-else
-       unix_w(jre_path()+"/bin/java -classpath "+SCI+"/modules/localization/tests/unit_tests CreateDir");
-end
-tab_ref = [
-"世界您好",
-"азеазея",
-"ハロー・ワールド",
-"เฮลโลเวิลด์",
-"حريات وحقوق",
-"프로그램",
-"תוכנית"];
-for i = 1 : size(tab_ref,'*')
-       sz = "dir_" + tab_ref(i);
-       cd(sz);
-       
-       //Example of the use of ilib_for_link with  a simple C code
-    f1=['#include <math.h>'
-    'void fooc(double c[],double a[], double *b,int *m,int *n)'
-    '{'
-    '   int i;'
-    '   for ( i =0 ; i < (*m)*(*n) ; i++) '
-    '     c[i] = sin(a[i]) + *b; '
-    '}'];
-   mputl(f1,'fooc.c');
-   warning_mode = warning('query');
-        warning('off');
-   ilib_for_link('fooc','fooc.o',[],"c");
-   exec loader.sce;
-   ulink();
-   cd(TMPDIR);
-end
-   Generate a loader file
-   Generate a Makefile
-   Running the Makefile
-   Compilation of fooc
-   Building shared library (be patient)
-   Generate a loader file
-   Generate a Makefile
-   Running the Makefile
-   Compilation of fooc
-   Building shared library (be patient)
-   Generate a loader file
-   Generate a Makefile
-   Running the Makefile
-   Compilation of fooc
-   Building shared library (be patient)
-   Generate a loader file
-   Generate a Makefile
-   Running the Makefile
-   Compilation of fooc
-   Building shared library (be patient)
-   Generate a loader file
-   Generate a Makefile
-   Running the Makefile
-   Compilation of fooc
-   Building shared library (be patient)
-   Generate a loader file
-   Generate a Makefile
-   Running the Makefile
-   Compilation of fooc
-   Building shared library (be patient)
-   Generate a loader file
-   Generate a Makefile
-   Running the Makefile
-   Compilation of fooc
-   Building shared library (be patient)