better way to do dll (linear_algebra module)
Allan CORNET [Fri, 28 Aug 2009 14:50:04 +0000 (16:50 +0200)]
scilab/modules/linear_algebra/Makefile.am
scilab/modules/linear_algebra/includes/dynlib_linear_algebra.h [new file with mode: 0644]
scilab/modules/linear_algebra/includes/gschur.h [moved from scilab/modules/linear_algebra/src/c/gschur.h with 83% similarity]
scilab/modules/linear_algebra/includes/gw_linear_algebra.h
scilab/modules/linear_algebra/includes/gw_linear_algebra2.h
scilab/modules/linear_algebra/includes/issymmetric.h
scilab/modules/linear_algebra/includes/schur.h [moved from scilab/modules/linear_algebra/src/c/schur.h with 72% similarity]
scilab/modules/linear_algebra/src/c/linear_algebra.vcproj
scilab/modules/linear_algebra/src/c/linear_algebra_header.def [deleted file]

index 90697f3..dda5b48 100644 (file)
@@ -126,6 +126,9 @@ libscilinear_algebra_la_sci_gateway_DATA = sci_gateway/linear_algebra_gateway.xm
 libscilinear_algebra_la_includedir=$(pkgincludedir)/linear_algebra
 libscilinear_algebra_la_include_HEADERS = includes/gw_linear_algebra.h \
 includes/gw_linear_algebra2.h \
-includes/issymmetric.h
+includes/issymmetric.h \
+includes/dynlib_linear_algebra.h \
+includes/gschur.h \
+includes/schur.h
 
 include $(top_srcdir)/Makefile.incl.am
diff --git a/scilab/modules/linear_algebra/includes/dynlib_linear_algebra.h b/scilab/modules/linear_algebra/includes/dynlib_linear_algebra.h
new file mode 100644 (file)
index 0000000..5c3ab09
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) DIGITEO - 2009 - 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
+* you should have received as part of this distribution.  The terms
+* are also available at    
+* http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+*
+*/
+
+/*--------------------------------------------------------------------------*/ 
+#ifndef __DYNLIB_LINEAR_ALGEBRA_H__
+#define __DYNLIB_LINEAR_ALGEBRA_H__
+
+#ifdef _MSC_VER
+#ifdef LINEAR_ALGEBRA_EXPORTS
+#define LINEAR_ALGEBRA_IMPEXP __declspec(dllexport)
+#else
+#define LINEAR_ALGEBRA_IMPEXP __declspec(dllimport)
+#endif
+#else
+#define LINEAR_ALGEBRA_IMPEXP
+#endif
+
+#endif /* __DYNLIB_LINEAR_ALGEBRA_H__ */
+/*--------------------------------------------------------------------------*/ 
@@ -14,6 +14,7 @@
 #ifndef __GSCHUR_H__
 #define __GSCHUR_H__
 
+#include "dynlib_linear_algebra.h"
 #include "AddFunctionInTable.h"
 #include "linear_FTables.h"
 
@@ -26,8 +27,8 @@
 typedef int * (*gzhself)(ARGS_gzhsel);
 
 /**************** gzhsel ***************/
-extern void C2F(zb02ow)(ARGS_gzhsel);
-extern void C2F(zb02ox)(ARGS_gzhsel);
+LINEAR_ALGEBRA_IMPEXP void C2F(zb02ow)(ARGS_gzhsel);
+LINEAR_ALGEBRA_IMPEXP void C2F(zb02ox)(ARGS_gzhsel);
  
 FTAB FTab_gzhsel[] ={
 {"zb02ow", (voidf)  C2F(zb02ow)},
@@ -44,8 +45,8 @@ typedef int * (*gshself)(ARGS_gshsel);
 
 
 /**************** gshsel ***************/
-extern void C2F(sb02ow)(ARGS_gshsel);
-extern void C2F(sb02ox)(ARGS_gshsel);
+LINEAR_ALGEBRA_IMPEXP void C2F(sb02ow)(ARGS_gshsel);
+LINEAR_ALGEBRA_IMPEXP void C2F(sb02ox)(ARGS_gshsel);
  
 FTAB FTab_gshsel[] ={
 {"sb02ow", (voidf)  C2F(sb02ow)},
index 8eb40d0..4b17efd 100644 (file)
@@ -13,6 +13,7 @@
 
 #ifndef __GW_LINEAR_ALGEBRA__
 #define __GW_LINEAR_ALGEBRA__
+#include "dynlib_linear_algebra.h"
 #include "machine.h"
 #include "api_common.h"
 /*--------------------------------------------------------------------------*/
 #define YES 1
 #define NO 0
 /*--------------------------------------------------------------------------*/
-int gw_linear_algebra(void);
+LINEAR_ALGEBRA_IMPEXP int gw_linear_algebra(void);
 /*--------------------------------------------------------------------------*/
-int C2F(inthess)(char *fname,unsigned long fname_len);
-int C2F(intqr)(char *fname,unsigned long fname_len);
-int C2F(intbackslash)(char *fname,unsigned long fname_len);
-int C2F(intbdiagr)(char *fname, long unsigned int fname_len);
-int C2F(intdet)(char *fname,unsigned long fname_len);
-int C2F(intinv)(char *fname,unsigned long fname_len);
-int C2F(intlu)(char *fname,unsigned long fname_len);
-int C2F(intrcond)(char *fname,unsigned long fname_len);
-int C2F(intslash)(char *fname,unsigned long fname_len);
-int C2F(intsvd)(char *fname,unsigned long fname_len);
-int C2F(intlsq)(char *fname,unsigned long fname_len);
-int C2F(intchol)(char *fname,unsigned long fname_len);
-int C2F(inteig) (char *fname,unsigned long fname_len);
+LINEAR_ALGEBRA_IMPEXP int C2F(inthess)(char *fname,unsigned long fname_len);
+LINEAR_ALGEBRA_IMPEXP int C2F(intqr)(char *fname,unsigned long fname_len);
+LINEAR_ALGEBRA_IMPEXP int C2F(intbackslash)(char *fname,unsigned long fname_len);
+LINEAR_ALGEBRA_IMPEXP int C2F(intbdiagr)(char *fname, long unsigned int fname_len);
+LINEAR_ALGEBRA_IMPEXP int C2F(intdet)(char *fname,unsigned long fname_len);
+LINEAR_ALGEBRA_IMPEXP int C2F(intinv)(char *fname,unsigned long fname_len);
+LINEAR_ALGEBRA_IMPEXP int C2F(intlu)(char *fname,unsigned long fname_len);
+LINEAR_ALGEBRA_IMPEXP int C2F(intrcond)(char *fname,unsigned long fname_len);
+LINEAR_ALGEBRA_IMPEXP int C2F(intslash)(char *fname,unsigned long fname_len);
+LINEAR_ALGEBRA_IMPEXP int C2F(intsvd)(char *fname,unsigned long fname_len);
+LINEAR_ALGEBRA_IMPEXP int C2F(intlsq)(char *fname,unsigned long fname_len);
+LINEAR_ALGEBRA_IMPEXP int C2F(intchol)(char *fname,unsigned long fname_len);
+LINEAR_ALGEBRA_IMPEXP int C2F(inteig) (char *fname,unsigned long fname_len);
 /*--------------------------------------------------------------------------*/
 /* used in 'eig' */
-int sci_dsyev(char *fname, unsigned long fname_len);
-int sci_dgeev(char *fname, unsigned long fname_len);
-int sci_zgeev(char *fname, unsigned long fname_len);
-int sci_zheev(char *fname, unsigned long fname_len);
-int sci_dggev(char *fname, unsigned long fname_len);
-int sci_zggev(char *fname, unsigned long fname_len);
+LINEAR_ALGEBRA_IMPEXP int sci_dsyev(char *fname, unsigned long fname_len);
+LINEAR_ALGEBRA_IMPEXP int sci_dgeev(char *fname, unsigned long fname_len);
+LINEAR_ALGEBRA_IMPEXP int sci_zgeev(char *fname, unsigned long fname_len);
+LINEAR_ALGEBRA_IMPEXP int sci_zheev(char *fname, unsigned long fname_len);
+LINEAR_ALGEBRA_IMPEXP int sci_dggev(char *fname, unsigned long fname_len);
+LINEAR_ALGEBRA_IMPEXP int sci_zggev(char *fname, unsigned long fname_len);
 /*--------------------------------------------------------------------------*/
-int C2F(intbalanc)(char *fname,unsigned long fname_len);
-int C2F(intschur)(char *fname, unsigned long fname_len);
+LINEAR_ALGEBRA_IMPEXP int C2F(intbalanc)(char *fname,unsigned long fname_len);
+LINEAR_ALGEBRA_IMPEXP int C2F(intschur)(char *fname, unsigned long fname_len);
 /*--------------------------------------------------------------------------*/
 #endif /*  __GW_LINEAR_ALGEBRA__ */
 /*--------------------------------------------------------------------------*/
index c2e7180..0bd5f97 100644 (file)
 #ifndef __GW_LINEAR_ALGEBRA2__
 #define __GW_LINEAR_ALGEBRA2__
 /*--------------------------------------------------------------------------*/
-#include "machine.h"
+#include "dynlib_linear_algebra.h"
 #include "api_common.h"
 /*--------------------------------------------------------------------------*/
-int gw_linear_algebra2(void);
+LINEAR_ALGEBRA_IMPEXP int gw_linear_algebra2(void);
 /*--------------------------------------------------------------------------*/
 #endif /*  __GW_LINEAR_ALGEBRA2__ */
 /*--------------------------------------------------------------------------*/
index de2cffc..09e6394 100644 (file)
 
 #ifndef __ISSYMMETRIC__
 #define __ISSYMMETRIC__
-
+#include "dynlib_linear_algebra.h"
 #include "stack-c.h"
 
+
 #define SYMMETRIC      1
 #define NOT_SYMMETRIC  0
 
@@ -32,6 +33,6 @@
 ** Check wether or not a Matrix is Symmetric.
 */
 
-int C2F(issymmetric)(int *stackPosition);
+LINEAR_ALGEBRA_IMPEXP int C2F(issymmetric)(int *stackPosition);
 
 #endif /* !__ISSYMMETRIC__ */
similarity index 72%
rename from scilab/modules/linear_algebra/src/c/schur.h
rename to scilab/modules/linear_algebra/includes/schur.h
index 59c4fa6..10a5c01 100644 (file)
@@ -14,6 +14,7 @@
 #ifndef __SCHUR_H__
 #define __SCHUR_H__
 
+#include "dynlib_linear_algebra.h"
 #include "machine.h"
 #include "linear_FTables.h"
 
@@ -30,7 +31,7 @@ typedef int * (*schself)(ARGS_schsel);
  * @param beta
  * @return
  */
-int *C2F(schsel)(double *alpha, double *beta);
+LINEAR_ALGEBRA_IMPEXP int *C2F(schsel)(double *alpha, double *beta);
 
 /** 
  * fixes the function associated to name 
@@ -38,11 +39,11 @@ int *C2F(schsel)(double *alpha, double *beta);
  * @param name
  * @param rep
  */
-void C2F(setschsel)(int *len, char *name, int *rep);
+LINEAR_ALGEBRA_IMPEXP void C2F(setschsel)(int *len, char *name, int *rep);
 
 /**************** schsel ***************/
-extern void C2F(sb02mv)(ARGS_schsel);
-extern void C2F(sb02mw)(ARGS_schsel);
+LINEAR_ALGEBRA_IMPEXP void C2F(sb02mv)(ARGS_schsel);
+LINEAR_ALGEBRA_IMPEXP void C2F(sb02mw)(ARGS_schsel);
  
 FTAB FTab_schsel[] ={
 {"sb02mv", (voidf)  C2F(sb02mv)},
@@ -61,7 +62,7 @@ FTAB FTab_schsel[] ={
  * @param beta
  * @return <ReturnValue>
  */
-int *C2F(gshsel)(double *alphar, double *alphai, double *beta);
+LINEAR_ALGEBRA_IMPEXP int *C2F(gshsel)(double *alphar, double *alphai, double *beta);
 
 /**
  *  fixes the function associated to name 
@@ -70,7 +71,7 @@ int *C2F(gshsel)(double *alphar, double *alphai, double *beta);
  * @param name  
  * @param rep   
  */
-void C2F(setgshsel)(int *len, char *name, int *rep);
+LINEAR_ALGEBRA_IMPEXP void C2F(setgshsel)(int *len, char *name, int *rep);
 
 
 /***********************************
@@ -84,7 +85,7 @@ void C2F(setgshsel)(int *len, char *name, int *rep);
  * @param beta
  * @return <ReturnValue>
  */
-int *C2F(gzhsel)(doublecmplx *alpha, doublecmplx *beta);
+LINEAR_ALGEBRA_IMPEXP int *C2F(gzhsel)(doublecmplx *alpha, doublecmplx *beta);
 
 /**
  *  fixes the function associated to name 
@@ -93,7 +94,7 @@ int *C2F(gzhsel)(doublecmplx *alpha, doublecmplx *beta);
  * @param name  
  * @param rep   
  */
-void C2F(setgzhsel)(int *len, char *name, int *rep);
+LINEAR_ALGEBRA_IMPEXP void C2F(setgzhsel)(int *len, char *name, int *rep);
 
 /***********************************
 * Search Table for gschur uses : gzhsel
@@ -105,7 +106,7 @@ void C2F(setgzhsel)(int *len, char *name, int *rep);
  * @param beta
  * @return <ReturnValue>
  */
-int *C2F(gzhsel)(doublecmplx *alpha, doublecmplx *beta);
+LINEAR_ALGEBRA_IMPEXP int *C2F(gzhsel)(doublecmplx *alpha, doublecmplx *beta);
 
 /**
  *  fixes the function associated to name 
@@ -114,7 +115,7 @@ int *C2F(gzhsel)(doublecmplx *alpha, doublecmplx *beta);
  * @param name  
  * @param rep   
  */
-void C2F(setgzhsel)(int *len, char *name, int *rep);
+LINEAR_ALGEBRA_IMPEXP void C2F(setgzhsel)(int *len, char *name, int *rep);
 
 
 /***********************************
@@ -126,7 +127,7 @@ void C2F(setgzhsel)(int *len, char *name, int *rep);
  * @param alpha 
  * @return <ReturnValue>
  */
-int *C2F(zchsel)(doublecmplx *alpha);
+LINEAR_ALGEBRA_IMPEXP int *C2F(zchsel)(doublecmplx *alpha);
 
 /**
  *  fixes the function associated to name 
@@ -135,7 +136,7 @@ int *C2F(zchsel)(doublecmplx *alpha);
  * @param name  
  * @param rep   
  */
- void C2F(setzchsel)(int *len, char *name, int *rep);
+ LINEAR_ALGEBRA_IMPEXP void C2F(setzchsel)(int *len, char *name, int *rep);
 
 /***********************************
 * Search Table for schur uses : fschur
@@ -151,7 +152,7 @@ int *C2F(zchsel)(doublecmplx *alpha);
  * @param p 
  * @return <ReturnValue>
  */
-int *C2F(fschur)(int *lsize, double *alpha, double *beta, double *s, double *p);
+LINEAR_ALGEBRA_IMPEXP int *C2F(fschur)(int *lsize, double *alpha, double *beta, double *s, double *p);
 
 /**
  *  fixes the function associated to name 
@@ -159,7 +160,7 @@ int *C2F(fschur)(int *lsize, double *alpha, double *beta, double *s, double *p);
  * @param name  
  * @param rep   
  */
-void C2F(setfschur)(char *name, int *rep);
+LINEAR_ALGEBRA_IMPEXP void C2F(setfschur)(char *name, int *rep);
 
 
 
@@ -172,8 +173,8 @@ typedef int * (*zchself)(ARGS_zchsel);
 
 
 /**************** zchsel ***************/
-extern void C2F(zb02mv)(ARGS_zchsel);
-extern void C2F(zb02mw)(ARGS_zchsel);
+LINEAR_ALGEBRA_IMPEXP void C2F(zb02mv)(ARGS_zchsel);
+LINEAR_ALGEBRA_IMPEXP void C2F(zb02mw)(ARGS_zchsel);
  
 FTAB FTab_zchsel[] ={
 {"zb02mv", (voidf)  C2F(zb02mv)},
index 7cf5e0d..19f4bbd 100644 (file)
                        <Tool
                                Name="VCPreLinkEventTool"
                                Description="Make dependencies"
-                               CommandLine="lib /DEF:&quot;$(InputDir)LibScilab_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)LibScilab.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;lib /DEF:&quot;$(InputDir)linear_algebra_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)linear_algebra_f.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;cd $(IntDir) &gt;nul&#x0D;&#x0A;for %%f in (*.obj) do  ..\..\..\..\..\bin\dumpexts -o %%~nf.def -n linear_algebra.dll %%f &gt;nul&#x0D;&#x0A;copy *.def linear_algebratmp.def &gt;nul&#x0D;&#x0A;copy ..\linear_algebra_header.def+linear_algebratmp.def  ..\linear_algebra.def &gt;nul&#x0D;&#x0A;del *.def &gt;nul&#x0D;&#x0A;cd .. &gt;nul&#x0D;&#x0A;"
+                               CommandLine="lib /DEF:&quot;$(InputDir)LibScilab_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)LibScilab.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;lib /DEF:&quot;$(InputDir)linear_algebra_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)linear_algebra_f.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;"
                        />
                        <Tool
                                Name="VCLinkerTool"
                                AdditionalDependencies="LibScilab.lib linear_algebra_f.lib"
                                OutputFile="../../../../bin/$(ProjectName).dll"
                                LinkIncremental="1"
-                               ModuleDefinitionFile="linear_algebra.def"
+                               ModuleDefinitionFile=""
                                GenerateDebugInformation="true"
                                SubSystem="2"
                                RandomizedBaseAddress="1"
                        <Tool
                                Name="VCPreLinkEventTool"
                                Description="Make dependencies"
-                               CommandLine="lib /DEF:&quot;$(InputDir)LibScilab_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)LibScilab.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;lib /DEF:&quot;$(InputDir)linear_algebra_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)linear_algebra_f.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;cd $(IntDir) &gt;nul&#x0D;&#x0A;for %%f in (*.obj) do  ..\..\..\..\..\bin\dumpexts -o %%~nf.def -n linear_algebra.dll %%f &gt;nul&#x0D;&#x0A;copy *.def linear_algebratmp.def &gt;nul&#x0D;&#x0A;copy ..\linear_algebra_header.def+linear_algebratmp.def  ..\linear_algebra.def &gt;nul&#x0D;&#x0A;del *.def &gt;nul&#x0D;&#x0A;cd .. &gt;nul&#x0D;&#x0A;"
+                               CommandLine="lib /DEF:&quot;$(InputDir)LibScilab_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)LibScilab.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;lib /DEF:&quot;$(InputDir)linear_algebra_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)linear_algebra_f.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;"
                        />
                        <Tool
                                Name="VCLinkerTool"
                                AdditionalDependencies="LibScilab.lib linear_algebra_f.lib"
                                OutputFile="../../../../bin/$(ProjectName).dll"
                                LinkIncremental="1"
-                               ModuleDefinitionFile="linear_algebra.def"
+                               ModuleDefinitionFile=""
                                GenerateDebugInformation="true"
                                SubSystem="2"
                                RandomizedBaseAddress="1"
                        <Tool
                                Name="VCPreLinkEventTool"
                                Description="Make dependencies"
-                               CommandLine="lib /DEF:&quot;$(InputDir)LibScilab_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)LibScilab.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;lib /DEF:&quot;$(InputDir)linear_algebra_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)linear_algebra_f.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;cd $(IntDir) &gt;nul&#x0D;&#x0A;for %%f in (*.obj) do  ..\..\..\..\..\bin\dumpexts -o %%~nf.def -n linear_algebra.dll %%f &gt;nul&#x0D;&#x0A;copy *.def linear_algebratmp.def &gt;nul&#x0D;&#x0A;copy ..\linear_algebra_header.def+linear_algebratmp.def  ..\linear_algebra.def &gt;nul&#x0D;&#x0A;del *.def &gt;nul&#x0D;&#x0A;cd .. &gt;nul&#x0D;&#x0A;"
+                               CommandLine="lib /DEF:&quot;$(InputDir)LibScilab_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)LibScilab.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;lib /DEF:&quot;$(InputDir)linear_algebra_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:&quot;$(InputDir)linear_algebra_f.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;"
                        />
                        <Tool
                                Name="VCLinkerTool"
                                AdditionalDependencies="LibScilab.lib linear_algebra_f.lib"
                                OutputFile="../../../../bin/$(ProjectName).dll"
                                LinkIncremental="1"
-                               ModuleDefinitionFile="linear_algebra.def"
+                               ModuleDefinitionFile=""
                                GenerateDebugInformation="false"
                                SubSystem="2"
                                OptimizeReferences="2"
                        <Tool
                                Name="VCPreLinkEventTool"
                                Description="Make dependencies"
-                               CommandLine="lib /DEF:&quot;$(InputDir)LibScilab_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)LibScilab.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;lib /DEF:&quot;$(InputDir)linear_algebra_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)linear_algebra_f.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;cd $(IntDir) &gt;nul&#x0D;&#x0A;for %%f in (*.obj) do  ..\..\..\..\..\bin\dumpexts -o %%~nf.def -n linear_algebra.dll %%f &gt;nul&#x0D;&#x0A;copy *.def linear_algebratmp.def &gt;nul&#x0D;&#x0A;copy ..\linear_algebra_header.def+linear_algebratmp.def  ..\linear_algebra.def &gt;nul&#x0D;&#x0A;del *.def &gt;nul&#x0D;&#x0A;cd .. &gt;nul&#x0D;&#x0A;"
+                               CommandLine="lib /DEF:&quot;$(InputDir)LibScilab_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)LibScilab.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;lib /DEF:&quot;$(InputDir)linear_algebra_f_Import.def&quot; /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:&quot;$(InputDir)linear_algebra_f.lib&quot; 1&gt;NUL 2&gt;NUL&#x0D;&#x0A;"
                        />
                        <Tool
                                Name="VCLinkerTool"
                                AdditionalDependencies="LibScilab.lib linear_algebra_f.lib"
                                OutputFile="../../../../bin/$(ProjectName).dll"
                                LinkIncremental="1"
-                               ModuleDefinitionFile="linear_algebra.def"
+                               ModuleDefinitionFile=""
                                GenerateDebugInformation="false"
                                SubSystem="2"
                                OptimizeReferences="2"
                                >
                        </File>
                        <File
-                               RelativePath=".\gschur.h"
+                               RelativePath="..\..\includes\dynlib_linear_algebra.h"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\..\includes\gschur.h"
                                >
                        </File>
                        <File
                                >
                        </File>
                        <File
+                               RelativePath="..\..\includes\issymmetric.h"
+                               >
+                       </File>
+                       <File
                                RelativePath=".\linear_FTables.h"
                                >
                        </File>
                        <File
-                               RelativePath=".\schur.h"
+                               RelativePath="..\..\includes\schur.h"
                                >
                        </File>
                </Filter>
diff --git a/scilab/modules/linear_algebra/src/c/linear_algebra_header.def b/scilab/modules/linear_algebra/src/c/linear_algebra_header.def
deleted file mode 100644 (file)
index fbefa33..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-LIBRARY    linear_algebra.dll
-
-
-EXPORTS
-; --------------------------------------- 
-; linear_algebra
-; ---------------------------------------