ilib_for_link, ilib_build do not accept files with ".o" or ".obj" extensions for... 63/3363/3
Allan CORNET [Tue, 1 Mar 2011 14:24:37 +0000 (15:24 +0100)]
Change-Id: Ib76ffb6409305d6fc89f2f5e38ea863e47a25480

12 files changed:
scilab/CHANGES_5.4.X
scilab/modules/dynamic_link/help/en_US/ilib_for_link.xml
scilab/modules/dynamic_link/macros/ilib_build.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_mex_build.sci
scilab/modules/dynamic_link/macros/windows/dlwGenerateMakefile.sci
scilab/modules/dynamic_link/macros/windows/dlwGetParamsIlibCompil.sci
scilab/modules/dynamic_link/src/scripts/Makedll.incl
scilab/modules/dynamic_link/tests/nonreg_tests/bug_7907.dia.ref
scilab/modules/dynamic_link/tests/nonreg_tests/bug_7907.tst

index a3f106a..8681815 100644 (file)
@@ -11,6 +11,8 @@ Bug Fixes:
 * bug 8608 - dec2hex, hex2dec, dec2oct and oct2dec code have been simplified
              and optimized.
 
+* bug 8608 - dec2hex, hex2dec, dec2oct, oct2dec, code have been simplified and optimized.
+
 
 Removed functions (previously declared as obsolete):
 ====================================================
index 5b708c0..21a648d 100644 (file)
@@ -34,7 +34,7 @@
       <varlistentry>
         <term>files</term>
         <listitem>
-          <para>string matrix giving source files needed for shared library creation. Since Scilab 5.3.1, object files are deprecated.</para>
+          <para>string matrix giving source files needed for shared library creation.</para>
         </listitem>
       </varlistentry>
       <varlistentry>
index 2fbfa77..aefcb5b 100644 (file)
@@ -1,6 +1,6 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) ENPC/INRIA
-// Copyright (C) DIGITEO - 2009-2010 - Allan CORNET
+// Copyright (C) DIGITEO - 2009-2011 - Allan CORNET
 //
 // This file must be used under the terms of the CeCILL.
 // This source file is licensed as described in the file COPYING, which
@@ -52,7 +52,7 @@ function ilib_build(ilib_name, ..
   end
 
   if ~isempty(files) & (or(fileext(files)==".o") | or(fileext(files)==".obj")) then
-    warnobsolete(msprintf(_("A managed file extension for input argument #%d"), 3), "5.4.0");
+    error(999, msprintf(_("%s: A managed file extension for input argument #%d expected."), "ilib_build", 3));
   end
 
   if rhs > 4 then
@@ -61,6 +61,11 @@ function ilib_build(ilib_name, ..
     end
   end
 
+  if ~isempty(files) & ~and(isfile(files)) then
+    error(999, msprintf(_("%s: Wrong value for input argument #%d: existing file(s) expected.\n"), "ilib_build", 3));
+  end  
+
+
   if rhs <= 5 then ldflags = ""; end
   if rhs <= 6 then cflags  = ""; end
   if rhs <= 7 then fflags  = ""; end
index d47faaa..a43737d 100644 (file)
@@ -2,7 +2,7 @@
 // Copyright (C) INRIA
 // Copyright (C) ENPC
 // Copyright (C) DIGITEO - 2009
-// Copyright (C) DIGITEO - 2010 - Allan CORNET
+// Copyright (C) DIGITEO - 2010-2011 - Allan CORNET
 //
 // This file must be used under the terms of the CeCILL.
 // This source file is licensed as described in the file COPYING, which
@@ -38,11 +38,10 @@ function libn = ilib_compile(lib_name, ..
     files = [];
   else
     if ~isempty(files) & (or(fileext(files)==".o") | or(fileext(files)==".obj")) then
-      warnobsolete(msprintf(_("A managed file extension for input argument #%d"), 3), "5.4.0");
+      error(999, msprintf(_("%s: A managed file extension for input argument #%d expected."), "ilib_compile", 3));
     end
   end
 
-
   if typeof(lib_name)<>"string" then
     error(msprintf(gettext("%s: Wrong type for input argument #%d: A string expected.\n"),"ilib_compile",1));
     return ;
@@ -51,16 +50,6 @@ function libn = ilib_compile(lib_name, ..
   oldpath = pwd();
   files = files(:)';
 
-  managed_ext = [".obj",".o"];
-  for i=1:size(files,"*") // compatibility scilab 4.x
-    [path_f, file_f, ext_f] = fileparts(files(i));
-    if or(managed_ext == ext_f) then
-      files1(i) = path_f + file_f;
-    else
-      files1(i) = path_f + file_f + ext_f;
-    end
-  end
-
   [make_command, lib_name_make, lib_name, path, makename, files]= ...
       ilib_compile_get_names(lib_name, makename, files);
 
@@ -75,7 +64,7 @@ function libn = ilib_compile(lib_name, ..
 
     for i=1:nf
       if ( ilib_verbose() <> 0 ) then
-        mprintf(_("   Compilation of ") + string(files1(i)) +"\n");
+        mprintf(_("   Compilation of ") + string(files(i)) +"\n");
       end
     end
 
@@ -189,15 +178,6 @@ function [make_command,lib_name_make,lib_name,path,makename,files] = ..
              ilib_compile_get_names(lib_name, makename, files)
 
   if getos() <> "Windows" then
-    managed_ext = ".o";
-    for i=1:size(files,"*") // compatibility scilab 4.x
-      [path_f, file_f, ext_f] = fileparts(files(i));
-      if or(managed_ext == ext_f) then
-        files(i) = path_f + file_f;
-      else
-        files(i) = path_f + file_f + ext_f;
-      end
-    end
 
     k = strindex(makename,["/","\"]);
 
index 0cdbe94..69bd310 100644 (file)
@@ -1,6 +1,6 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) INRIA/ENPC
-// Copyright (C) DIGITEO - 2009-2010 - Allan CORNET
+// Copyright (C) DIGITEO - 2009-2011 - Allan CORNET
 //
 // This file must be used under the terms of the CeCILL.
 // This source file is licensed as described in the file COPYING, which
@@ -38,9 +38,13 @@ function libn = ilib_for_link(names, ..
   if rhs <= 8 then cflags  = ""; end
   if rhs <= 9 then fflags  = ""; end
   if rhs <= 10 then cc  = ""; end
+  
+  if isempty(files) | ~and(isfile(files)) then
+     error(999, msprintf(_("%s: Wrong value for input argument #%d: existing file(s) expected.\n"), "ilib_for_link", 2));
+  end  
 
   if ~isempty(files) & (or(fileext(files)==".o") | or(fileext(files)==".obj")) then
-    warnobsolete(msprintf(_("A managed file extension for input argument #%d"), 2), "5.4.0");
+    error(999, msprintf(_("%s: A managed file extension for input argument #%d expected.\n"), "ilib_for_link", 2));
   end
 
   if getos() == "Windows" then
index daacab0..90ee9d0 100644 (file)
@@ -1,6 +1,6 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) ENPC
-// Copyright (C) DIGITEO - 2009-2010 - Allan CORNET
+// Copyright (C) DIGITEO - 2009-2011 - Allan CORNET
 //
 // This file must be used under the terms of the CeCILL.
 // This source file is licensed as described in the file COPYING, which
@@ -33,16 +33,12 @@ function Makename = ilib_gen_Make(name, ..
     fflags = '';
     cc = '';
   end
-
+  
+  if ~isempty(files) & ~and(isfile(files)) then
+     error(999, msprintf(_("%s: Wrong value for input argument #%d: existing file(s) expected.\n"), "ilib_gen_Make", 3));
+  end  
+  
   if getos() <> 'Windows' then
-    for i=1:size(files,'*') // compatibility scilab 4.x
-      [path_f, file_f, ext_f] = fileparts(files(i));
-      if or(ext_f == ['.o','.obj']) then
-        files(i) = path_f + file_f;
-      else
-        files(i) = path_f + file_f + ext_f;
-      end
-    end
 
     // change table if necessary
     if typeof(tables)<>'list' then
index 055ed05..da8ad25 100644 (file)
@@ -1,7 +1,7 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) INRIA
 // Copyright (C) 2008 - INRIA - Sylvestre LEDRU (add cc options)
-// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2010-2011 - DIGITEO - Allan CORNET
 //
 // This file must be used under the terms of the CeCILL.
 // This source file is licensed as described in the file COPYING, which
@@ -27,9 +27,13 @@ function ilib_mex_build(ilib_name, table, files, libs, makename, ldflags, cflags
   end
 
   if ~isempty(files) & (or(fileext(files)==".o") | or(fileext(files)==".obj")) then
-    warnobsolete(msprintf(_("A managed file extension for input argument #%d"), 3), "5.4.0");
+    error(999, msprintf(_("%s: A managed file extension for input argument #%d expected."), "ilib_mex_build", 3));
   end
   
+  if ~isempty(files) & ~and(isfile(files)) then
+    error(999, msprintf(_("%s: Wrong value for input argument #%d: existing file(s) expected.\n"), "ilib_mex_build", 3));
+  end  
+  
   if rhs <= 5 then ldflags = ""; end
   if rhs <= 6 then cflags  = ""; end
   if rhs <= 7 then fflags  = ""; end
@@ -51,5 +55,3 @@ function ilib_mex_build(ilib_name, table, files, libs, makename, ldflags, cflags
 
 endfunction
 //=============================================================================
-
-
index e02846c..40c82b7 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) DIGITEO - 2010 - Allan CORNET
+// Copyright (C) DIGITEO - 2010-2011 - Allan CORNET
 //
 // This file must be used under the terms of the CeCILL.
 // This source file is licensed as described in the file COPYING, which
@@ -35,15 +35,6 @@ function Makename = dlwGenerateMakefile(name, ..
     makename = '';
   end
 
-  for i=1:size(files,'*') // compatibility scilab 4.x
-    [path_f, file_f, ext_f] = fileparts(files(i));
-    if or(ext_f == ['.o','.obj']) then
-      files(i) = path_f + file_f;
-    else
-      files(i) = path_f + file_f + ext_f;
-    end
-  end
-
   // change table if necessary
   if tables <> [] then
     if typeof(tables)<>'list' then
@@ -94,7 +85,6 @@ function ilib_gen_Make_win32(name, ..
                              fflags)
 
   managed_ext = ['.cxx', '.cpp', '.c', '.f90', '.f'];
-  obj_ext = ['.o', '.obj', ''];
 
   SCIDIR = SCI;
   SCIDIR1 = pathconvert(SCI,%f,%f,'w');
@@ -123,20 +113,15 @@ function ilib_gen_Make_win32(name, ..
 
   for i=1:size(files,'*')
     [path_f, file_f, ext_f] = fileparts(files(i));
-
-    if or(obj_ext == ext_f) then
-      FILENAME = [];
-      FILE_FOUNDED = %f;
-      for y = managed_ext(:)'
-        if (FILE_FOUNDED == %f) then
-          if (fileinfo(path_f + file_f + y) <> []) | (fileinfo(path_Make + file_f + y) <> []) then
-            FILENAME = path_f + file_f + y;
-            FILE_FOUNDED = %t;
-          end
+    FILENAME = [];
+    FILE_FOUNDED = %f;
+    for y = managed_ext(:)'
+      if (FILE_FOUNDED == %f) then
+        if (fileinfo(path_f + file_f + y) <> []) | (fileinfo(path_Make + file_f + y) <> []) then
+          FILENAME = path_f + file_f + y;
+          FILE_FOUNDED = %t;
         end
       end
-    else
-      FILENAME = files(i);
     end
     FILES_SRC_MATRIX = [FILES_SRC_MATRIX , FILENAME];
   end
@@ -176,13 +161,12 @@ function ilib_gen_Make_win32(name, ..
     end
   end
 
-  if ~and(isfile(FILES_SRC_MATRIX)) then
-     error(999, msprintf(_("%s: Wrong value for input argument #%d: existing file(s) expected.\n"), "ilib_gen_Make", 3));
-  end  
+  if isempty(FILES_SRC_MATRIX) | ~and(isfile(FILES_SRC_MATRIX)) then
+    error(999, msprintf(_("%s: Wrong value for input argument #%d: existing file(s) expected.\n"), "ilib_gen_Make", 3));
+  end
 
   FILES_SRC = strcat(FILES_SRC_MATRIX,' ');
 
-
   OBJ_DEST_PATH = '';
   if (getenv("DEBUG_SCILAB_DYNAMIC_LINK","NO") == "NO") then
     OBJ_DEST_PATH = "Release/";
index c79175c..9a85467 100644 (file)
@@ -1,6 +1,6 @@
 
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) DIGITEO - 2010 - Allan CORNET
+// Copyright (C) DIGITEO - 2010-2011 - Allan CORNET
 //
 // This file must be used under the terms of the CeCILL.
 // This source file is licensed as described in the file COPYING, which
 function [make_command, lib_name_make, lib_name, path, makename, files] = ..
              dlwGetParamsIlibCompil(lib_name, makename, files)
 
-  managed_ext = ['.obj', '.o'];
-  for i=1:size(files,'*') // compatibility scilab 4.x
-    [path_f, file_f, ext_f] = fileparts(files(i));
-    if or(managed_ext == ext_f) then
-      files(i) = path_f + file_f;
-    else
-      files(i) = path_f + file_f + ext_f;
-    end
-  end
-
   k = strindex(makename,['/','\']);
 
   if k~=[] then
@@ -34,12 +24,6 @@ function [make_command, lib_name_make, lib_name, path, makename, files] = ..
   lib_name = lib_name+getdynlibext();
   lib_name_make = lib_name;
 
-  FILES = [];
-  for x = files(:)'
-    [ptmp,ftmp,fext] = fileparts(x);
-    FILES = [FILES,ptmp+ftmp];
-  end
-
   if (makename <> [] & makename <> '') then
     makename = makename + dlwGetMakefileExt() ;
   else
@@ -48,9 +32,5 @@ function [make_command, lib_name_make, lib_name, path, makename, files] = ..
 
   make_command = 'nmake /Y /nologo /f ';
 
-  if FILES <> [] then
-    files = FILES + '.obj' ;
-  end
-
 endfunction
 //=============================================================================
index 90b8022..f5ae382 100644 (file)
@@ -1,4 +1,3 @@
-#--- see examples/addinter-tutorial-so ----------
 
 DUMPEXTS="$(SCIDIR1)\bin\dumpexts"
 SCIIMPLIB="$(SCIDIR)/bin/LibScilab.lib"
@@ -22,9 +21,3 @@ clean ::
        -del $(LIBRARY).lib
 
 distclean::    clean
-
-tests  : $(LIBRARY).dll $(LIBRARY).tst
-       @"$(SCIDIR1)\bin\scilex.exe" -nwni  -e scitest('$(LIBRARY).tst',%t);quit;
-
-#      @"$(SCIDIR1)\bin\scilex.exe" -f $(LIBRARY).tst 
-
index b7fee27..f508525 100644 (file)
 // ilib_build, ilib_for_link, ... did not check 'files' input argument.
 // 
 //
-ilib_verbose(0);
-cd(TMPDIR);
-mputl("void sci_fun1(){}", TMPDIR + "/fun1.c");
-files = "fun1.o";
-ilib_build("build_c", ["fun1", "sci_fun1"],files,[]);
-WARNING: Function ilib_build is obsolete.
-WARNING: Please use a managed file extension for input argument #3 instead.
-WARNING: This function will be permanently removed in Scilab 5.3.1
-
-WARNING: Function ilib_compile is obsolete.
-WARNING: Please use a managed file extension for input argument #3 instead.
-WARNING: This function will be permanently removed in Scilab 5.3.1
-
-mdelete(TMPDIR + "/fun1.c");
 if getos() <> "Windows" then
   fnameref = "ilib_gen_Make_unix";
   idargref = 2;
@@ -37,13 +23,20 @@ else
   fnameref = "ilib_gen_Make";
   idargref = 3;
 end
-files = ['fun1.c','fun2.c','sci_fun1.c'];
+ilib_verbose(0);
+cd(TMPDIR);
+// check with old extension (file fun1.c exists) (no more managed)
+mputl("void sci_fun1(){}", TMPDIR + "/fun1.c");
+files = "fun1.o";
 if execstr("ilib_build(""build_c"", [""fun1"", ""sci_fun1""],files,[]);", "errcatch") <> 999 then bugmes();quit;end
-if lasterror() <> msprintf(_("%s: Wrong value for input argument #%d: existing file(s) expected.\n"), fnameref, idargref) then bugmes();quit;end
-if execstr("ilib_for_link(""ext1c"", ""fun1.c"", [], ""c"");", "errcatch") <> 999 then bugmes();quit;end
-if lasterror() <> msprintf(_("%s: Wrong value for input argument #%d: existing file(s) expected.\n"), fnameref, idargref) then bugmes();quit;end
+if lasterror() <> msprintf(gettext("%s: A managed file extension for input argument #%d expected."), "ilib_build", 3) then bugmes();quit;end
+mdelete(TMPDIR + "/fun1.c");
+// check with old extension (file fun2.c does not exist)
+files = "fun2.o";
+if execstr("ilib_build(""build_c"", [""fun2"", ""sci_fun2""],files,[]);", "errcatch") <> 999 then bugmes();quit;end
+if lasterror() <> msprintf(gettext("%s: A managed file extension for input argument #%d expected."), "ilib_build", 3) then bugmes();quit;end
 if execstr("ilib_for_link(""ext1c"", ""fun1.c"", [], ""c"");", "errcatch") <> 999 then bugmes();quit;end
-if lasterror() <> msprintf(_("%s: Wrong value for input argument #%d: existing file(s) expected.\n"), fnameref, idargref) then bugmes();quit;end
+if lasterror() <> msprintf(_("%s: Wrong value for input argument #%d: existing file(s) expected.\n"), "ilib_for_link", 2) then bugmes();quit;end
 if execstr("ilib_mex_build(""libmex"", [""mexf16"", ""mexfunction16"", ""cmex""],[""fun1.c""],[],[],"""","""","""");", "errcatch") <> 999 then bugmes();quit;end
-if lasterror() <> msprintf(_("%s: Wrong value for input argument #%d: existing file(s) expected.\n"), fnameref, idargref) then bugmes();quit;end
+if lasterror() <> msprintf(_("%s: Wrong value for input argument #%d: existing file(s) expected.\n"), "ilib_mex_build", 3) then bugmes();quit;end
 // =============================================================================
index 4fa8faf..3b2bd59 100644 (file)
@@ -28,28 +28,21 @@ end
 ilib_verbose(0);
 cd(TMPDIR);
 
-// check with old extension (file fun1.c exists)
+// check with old extension (file fun1.c exists) (no more managed)
 mputl("void sci_fun1(){}", TMPDIR + "/fun1.c");
 files = "fun1.o";
-if execstr("ilib_build(""build_c"", [""fun1"", ""sci_fun1""],files,[]);", "errcatch") <> 0 then pause,end
+if execstr("ilib_build(""build_c"", [""fun1"", ""sci_fun1""],files,[]);", "errcatch") <> 999 then pause,end
+if lasterror() <> msprintf(gettext("%s: A managed file extension for input argument #%d expected."), "ilib_build", 3) then pause, end
 mdelete(TMPDIR + "/fun1.c");
 
 // check with old extension (file fun2.c does not exist)
 files = "fun2.o";
 if execstr("ilib_build(""build_c"", [""fun2"", ""sci_fun2""],files,[]);", "errcatch") <> 999 then pause,end
-if lasterror() <> msprintf(_("%s: Wrong value for input argument #%d: existing file(s) expected.\n"), fnameref, idargref) then pause, end
-
-files = ['fun1.c','fun2.c','sci_fun1.c'];
-if execstr("ilib_build(""build_c"", [""fun1"", ""sci_fun1""],files,[]);", "errcatch") <> 999 then pause,end
-if lasterror() <> msprintf(_("%s: Wrong value for input argument #%d: existing file(s) expected.\n"), fnameref, idargref) then pause, end
+if lasterror() <> msprintf(gettext("%s: A managed file extension for input argument #%d expected."), "ilib_build", 3) then pause, end
 
 if execstr("ilib_for_link(""ext1c"", ""fun1.c"", [], ""c"");", "errcatch") <> 999 then pause, end
-if lasterror() <> msprintf(_("%s: Wrong value for input argument #%d: existing file(s) expected.\n"), fnameref, idargref) then pause, end
-
-if execstr("ilib_for_link(""ext1c"", ""fun1.c"", [], ""c"");", "errcatch") <> 999 then pause, end
-if lasterror() <> msprintf(_("%s: Wrong value for input argument #%d: existing file(s) expected.\n"), fnameref, idargref) then pause, end
+if lasterror() <> msprintf(_("%s: Wrong value for input argument #%d: existing file(s) expected.\n"), "ilib_for_link", 2) then pause, end
 
 if execstr("ilib_mex_build(""libmex"", [""mexf16"", ""mexfunction16"", ""cmex""],[""fun1.c""],[],[],"""","""","""");", "errcatch") <> 999 then pause, end
-if lasterror() <> msprintf(_("%s: Wrong value for input argument #%d: existing file(s) expected.\n"), fnameref, idargref) then pause, end
-
+if lasterror() <> msprintf(_("%s: Wrong value for input argument #%d: existing file(s) expected.\n"), "ilib_mex_build", 3) then pause, end
 // =============================================================================