add isRelease and isDebug macros, ilib_compile take care of scilab compilation mode 67/15567/2
Antoine ELIAS [Thu, 20 Nov 2014 10:29:59 +0000 (11:29 +0100)]
Change-Id: I31a5894375fa57c208c499320f01cc03f9762807

scilab/modules/core/macros/isDebug.sci [new file with mode: 0644]
scilab/modules/core/macros/isRelease.sci [new file with mode: 0644]
scilab/modules/dynamic_link/macros/gencompilationflags_unix.sci
scilab/modules/dynamic_link/macros/windows/dlwCompile.sci
scilab/modules/dynamic_link/macros/windows/dlwGenerateMakefile.sci

diff --git a/scilab/modules/core/macros/isDebug.sci b/scilab/modules/core/macros/isDebug.sci
new file mode 100644 (file)
index 0000000..9e361ad
--- /dev/null
@@ -0,0 +1,9 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+function ret = isDebug()
+    ret = ~isRelease();
+endfunction
diff --git a/scilab/modules/core/macros/isRelease.sci b/scilab/modules/core/macros/isRelease.sci
new file mode 100644 (file)
index 0000000..dea0711
--- /dev/null
@@ -0,0 +1,10 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+function ret = isRelease()
+    [a,b] = getversion();
+    ret = b(5) == "release";
+endfunction
index 4aceadb..47cd724 100644 (file)
@@ -50,7 +50,8 @@ function cmd = gencompilationflags_unix(ldflags, cflags, fflags, cc, flagsType)
         envFlag = " -D__USE_DEPRECATED_STACK_FUNCTIONS__ ";
     end
 
-    if getenv("DEBUG_SCILAB_DYNAMIC_LINK","NO") == "YES" then
+    val = getenv("DEBUG_SCILAB_DYNAMIC_LINK", "");
+    if (val == "" & isDebug()) | val == "YES" then
         envFlag = envFlag + " -g ";
     end
 
index 536b821..5da069a 100644 (file)
@@ -28,7 +28,17 @@ function dlwCompile(files, make_command, makename)
         target_build = "all";
     end
 
+    //update DEBUG_SCILAB_DYNAMIC_LINK to match with Scilab compilation mode
+    val = getenv("DEBUG_SCILAB_DYNAMIC_LINK","");
+    if val <> "YES" & val <> "NO" & isDebug()then
+        setenv("DEBUG_SCILAB_DYNAMIC_LINK", "YES");
+    end
+
     [msg, stat] = unix_g(make_command + makename + " " + target_build + " 2>&0");
+
+    //restore DEBUG_SCILAB_DYNAMIC_LINK
+    setenv("DEBUG_SCILAB_DYNAMIC_LINK", val);
+
     if stat <> 0 then
         // more feedback when compilation fails
         [msg, stat, stderr] = unix_g(make_command + makename  + " " + target_build + " 1>&2");
index d27a2f5..5d7e13d 100644 (file)
@@ -181,6 +181,12 @@ function ilib_gen_Make_win32(name, ..
         error(999, msprintf(_("%s: Wrong value for input argument #%d: existing file(s) expected.\n"), "ilib_gen_Make", 3));
     end
 
+    //update DEBUG_SCILAB_DYNAMIC_LINK to map with Scilab compilation mode
+    val = getenv("DEBUG_SCILAB_DYNAMIC_LINK","");
+    if val <> "YES" & val <> "NO" & isDebug()then
+        setenv("DEBUG_SCILAB_DYNAMIC_LINK","YES");
+    end
+
     // remove duplicated files
     FILES_SRC_MATRIX = unique(FILES_SRC_MATRIX);
 
@@ -265,5 +271,9 @@ function ilib_gen_Make_win32(name, ..
         // TEMPLATE_MAKEFILE.VC not found
         warning(SCI+"/modules/dynamic_link/src/scripts/TEMPLATE_MAKEFILE.VC"+ _("not found.") );
     end
+
+    //restore DEBUG_SCILAB_DYNAMIC_LINK
+    setenv("DEBUG_SCILAB_DYNAMIC_LINK", val);
+
 endfunction
 //=============================================================================