/*--------------------------------------------------------------------------*/
BOOL ExistModelicac(void)
{
- // @ TO DO remove this
- // used in getversion (compatibility)
- #define FORMAT_SCIBIN_PATH "%s/bin/%s"
- BOOL bOK=FALSE;
- char *SCIPATH = (char*)getSCIpath();
- char *fullpathModelicac=NULL;
- int length_path = strlen(SCIPATH) +
- strlen(ModelicacName) +
- strlen(FORMAT_SCIBIN_PATH) + 1 ;
-
- fullpathModelicac=(char*)MALLOC((length_path)*sizeof(char));
- sprintf(fullpathModelicac,FORMAT_SCIBIN_PATH,SCIPATH,ModelicacName);
-
- bOK = FileExist(fullpathModelicac);
- if (fullpathModelicac) FREE(fullpathModelicac);
- if (SCIPATH) FREE(SCIPATH);
- return bOK;
+ char *fullpathModelicac = searchEnv( ModelicacName,"PATH");
+ if (fullpathModelicac)
+ {
+ FREE(fullpathModelicac);
+ fullpathModelicac = NULL;
+ return TRUE;
+ }
+ return FALSE;
}
/*--------------------------------------------------------------------------*/
int C2F(withgui)(int *rep)
/*
* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
* Copyright (C) 2007 - INRIA - Sylvestre LEDRU
+ * Copyright (C) 2008 - INRIA - 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
*/
void C2F(getenvc)(int *ierr,char *var,char *buf,int *buflen,int *iflag);
+/**
+* Searches for a file using environment paths
+* @param[in] filename
+* @param[in] environment variable where we search
+* @return path found
+*/
+char *searchEnv(const char *name,const char *env_var);
+
+
#endif /* __GETENVC_H__ */
--- /dev/null
+ LIBRARY scilab_windows.dll\r
+\r
+\r
+EXPORTS\r
+;\r
+; scilab_windows\r
+;\r
+ strdup_windows\r
+;\r
+\r
/*
* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
* Copyright (C) 2006 - INRIA
+ * Copyright (C) 2008 - INRIA - 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
*
*/
+#include <stdlib.h>
+#include <string.h> /* strlen */
#ifdef _MSC_VER
#include <Windows.h> /* GetEnvironmentVariable */
-#else
- #include <stdlib.h> /* getenv */
+ #include "strdup_windows.h"
#endif
-#include <string.h> /* strlen */
+#include "MALLOC.h"
#include "getenvc.h"
#include "localization.h"
#include "sciprint.h"
+#include "FileExist.h"
+/*--------------------------------------------------------------------------*/
+#ifndef _MSC_VER
+static void searchenv_others(const char *filename, const char *varname,
+ char *pathname);
+#endif
/*--------------------------------------------------------------------------*/
void C2F(getenvc)(int *ierr,char *var,char *buf,int *buflen,int *iflag)
{
#endif
}
/*--------------------------------------------------------------------------*/
+#ifndef _MSC_VER
+static void searchenv_others(const char *filename,
+ const char *varname,
+ char *pathname)
+{
+ char *cp = NULL;
+
+ *pathname = '\0';
+
+ if( filename[0] == DIR_SEPARATOR[0])
+ {
+ strcpy(pathname, filename);
+ return;
+ }
+
+ cp = getenv(varname);
+ if(cp == NULL)
+ {
+ /* environment Variable not defined. */
+ return;
+ }
+
+ while(*cp)
+ {
+ char *concat = NULL;
+ *pathname = '\0';
+ concat = pathname;
+ /* skip PATH_SEPARATOR[0] and empty entries */
+ while( (*cp) && (*cp == PATH_SEPARATOR[0]) )
+ {
+ cp++;
+ }
+
+ /* copy path */
+ while( (*cp) && (*cp != PATH_SEPARATOR[0]) )
+ {
+ *concat = *cp;
+ cp++;
+ concat++;
+ }
+
+ if ( concat == pathname )
+ {
+ /* filename not found */
+ *pathname = '\0';
+ return;
+ }
+
+ if( *(concat-1) != DIR_SEPARATOR[0] )
+ {
+ /* add directory separator */
+ *concat = DIR_SEPARATOR[0];
+ concat++;
+ }
+
+ /* concatate path & filename */
+ strcpy(concat, filename);
+
+ /* file exists ? */
+ if(FileExist(pathname))
+ {
+ // file found
+ return;
+ }
+ }
+
+ /* file not found */
+ *pathname = '\0';
+}
+#endif
+/*--------------------------------------------------------------------------*/
+char *searchEnv(const char *name,const char *env_var)
+{
+ char *buffer = NULL;
+ char fullpath[PATH_MAX];
+
+ strcpy(fullpath,"");
+
+ #if _MSC_VER
+ _searchenv(name,env_var,fullpath);
+ #else
+ searchenv_others(name,env_var,fullpath);
+ #endif
+
+ if (strlen(fullpath) > 0) buffer = strdup(fullpath);
+ return buffer;
+}
+/*--------------------------------------------------------------------------*/
ProjectGUID="{80C0F142-184B-4E08-A8EE-5E71437CF904}"
RootNamespace="io"
Keyword="Win32Proj"
-
+ TargetFrameworkVersion="0"
>
<Platforms>
<Platform
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories=".;../../includes;../../../../libs/MALLOC/includes;../../../localization/includes;../../../core/includes;../../../output_stream/includes;../../../../libs/hashtable;../../../fileio/includes;../../../../libs/intl"
+ AdditionalIncludeDirectories=".;../../includes;../../../../libs/MALLOC/includes;../../../localization/includes;../../../core/includes;../../../output_stream/includes;../../../../libs/hashtable;../../../fileio/includes;../../../windows_tools/includes;../../../../libs/intl"
PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WITH_TK;FORDLL;_DEBUG;_WINDOWS;_USRDLL;IO_EXPORTS"
MinimalRebuild="true"
BasicRuntimeChecks="0"
<Tool
Name="VCPreLinkEventTool"
Description="Make dependencies"
- CommandLine="lib /DEF:"$(InputDir)LibScilab_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:"$(InputDir)LibScilab.lib" 1>NUL 2>NUL
lib /DEF:"$(InputDir)io_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:"$(InputDir)io_f.lib" 1>NUL 2>NUL
cd $(IntDir) >nul
for %%f in (*.obj) do ..\..\..\..\..\bin\dumpexts -o %%~nf.def -n io.dll %%f >nul
copy *.def iotmp.def >nul
copy ..\io_header.def+iotmp.def ..\io.def >nul
del *.def >nul
cd .. >nul
"
+ CommandLine="lib /DEF:"$(InputDir)LibScilab_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:"$(InputDir)LibScilab.lib" 1>NUL 2>NUL
lib /DEF:"$(InputDir)io_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:"$(InputDir)io_f.lib" 1>NUL 2>NUL
lib /DEF:"$(InputDir)scilab_windows_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:"$(InputDir)scilab_windows.lib" 1>NUL 2>NUL
cd $(IntDir) >nul
for %%f in (*.obj) do ..\..\..\..\..\bin\dumpexts -o %%~nf.def -n io.dll %%f >nul
copy *.def iotmp.def >nul
copy ..\io_header.def+iotmp.def ..\io.def >nul
del *.def >nul
cd .. >nul
"
/>
<Tool
Name="VCLinkerTool"
AdditionalOptions="/fixed:no"
- AdditionalDependencies="LibScilab.lib io_f.lib"
+ AdditionalDependencies="LibScilab.lib io_f.lib scilab_windows.lib"
OutputFile="../../../../bin/$(ProjectName).dll"
LinkIncremental="1"
ModuleDefinitionFile="io.def"
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories=".;../../includes;../../../../libs/MALLOC/includes;../../../localization/includes;../../../core/includes;../../../output_stream/includes;../../../../libs/hashtable;../../../fileio/includes;../../../../libs/intl"
+ AdditionalIncludeDirectories=".;../../includes;../../../../libs/MALLOC/includes;../../../localization/includes;../../../core/includes;../../../output_stream/includes;../../../../libs/hashtable;../../../fileio/includes;../../../windows_tools/includes;../../../../libs/intl"
PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WITH_TK;FORDLL;_DEBUG;_WINDOWS;_USRDLL;IO_EXPORTS"
MinimalRebuild="true"
BasicRuntimeChecks="0"
<Tool
Name="VCPreLinkEventTool"
Description="Make dependencies"
- CommandLine="lib /DEF:"$(InputDir)LibScilab_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:"$(InputDir)LibScilab.lib" 1>NUL 2>NUL
lib /DEF:"$(InputDir)io_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:"$(InputDir)io_f.lib" 1>NUL 2>NUL
cd $(IntDir) >nul
for %%f in (*.obj) do ..\..\..\..\..\bin\dumpexts -o %%~nf.def -n io.dll %%f >nul
copy *.def iotmp.def >nul
copy ..\io_header.def+iotmp.def ..\io.def >nul
del *.def >nul
cd .. >nul
"
+ CommandLine="lib /DEF:"$(InputDir)LibScilab_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:"$(InputDir)LibScilab.lib" 1>NUL 2>NUL
lib /DEF:"$(InputDir)io_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:"$(InputDir)io_f.lib" 1>NUL 2>NUL
lib /DEF:"$(InputDir)scilab_windows_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:"$(InputDir)scilab_windows.lib" 1>NUL 2>NUL
cd $(IntDir) >nul
for %%f in (*.obj) do ..\..\..\..\..\bin\dumpexts -o %%~nf.def -n io.dll %%f >nul
copy *.def iotmp.def >nul
copy ..\io_header.def+iotmp.def ..\io.def >nul
del *.def >nul
cd .. >nul
"
/>
<Tool
Name="VCLinkerTool"
AdditionalOptions="/fixed:no"
- AdditionalDependencies="LibScilab.lib io_f.lib"
+ AdditionalDependencies="LibScilab.lib io_f.lib scilab_windows.lib"
OutputFile="../../../../bin/$(ProjectName).dll"
LinkIncremental="1"
ModuleDefinitionFile="io.def"
InlineFunctionExpansion="1"
FavorSizeOrSpeed="1"
WholeProgramOptimization="false"
- AdditionalIncludeDirectories=".;../../includes;../../../../libs/MALLOC/includes;../../../localization/includes;../../../core/includes;../../../output_stream/includes;../../../../libs/hashtable;../../../fileio/includes;../../../../libs/intl"
+ AdditionalIncludeDirectories=".;../../includes;../../../../libs/MALLOC/includes;../../../localization/includes;../../../core/includes;../../../output_stream/includes;../../../../libs/hashtable;../../../fileio/includes;../../../windows_tools/includes;../../../../libs/intl"
PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WITH_TK;FORDLL;NDEBUG;_WINDOWS;_USRDLL;IO_EXPORTS"
StringPooling="true"
RuntimeLibrary="0"
<Tool
Name="VCPreLinkEventTool"
Description="Make dependencies"
- CommandLine="lib /DEF:"$(InputDir)LibScilab_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:"$(InputDir)LibScilab.lib" 1>NUL 2>NUL
lib /DEF:"$(InputDir)io_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:"$(InputDir)io_f.lib" 1>NUL 2>NUL
cd $(IntDir) >nul
for %%f in (*.obj) do ..\..\..\..\..\bin\dumpexts -o %%~nf.def -n io.dll %%f >nul
copy *.def iotmp.def >nul
copy ..\io_header.def+iotmp.def ..\io.def >nul
del *.def >nul
cd .. >nul
"
+ CommandLine="lib /DEF:"$(InputDir)LibScilab_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:"$(InputDir)LibScilab.lib" 1>NUL 2>NUL
lib /DEF:"$(InputDir)io_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:"$(InputDir)io_f.lib" 1>NUL 2>NUL
lib /DEF:"$(InputDir)scilab_windows_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:"$(InputDir)scilab_windows.lib" 1>NUL 2>NUL
cd $(IntDir) >nul
for %%f in (*.obj) do ..\..\..\..\..\bin\dumpexts -o %%~nf.def -n io.dll %%f >nul
copy *.def iotmp.def >nul
copy ..\io_header.def+iotmp.def ..\io.def >nul
del *.def >nul
cd .. >nul
"
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="LibScilab.lib io_f.lib"
+ AdditionalDependencies="LibScilab.lib io_f.lib scilab_windows.lib"
OutputFile="../../../../bin/$(ProjectName).dll"
LinkIncremental="1"
ModuleDefinitionFile="io.def"
InlineFunctionExpansion="1"
FavorSizeOrSpeed="1"
WholeProgramOptimization="false"
- AdditionalIncludeDirectories=".;../../includes;../../../../libs/MALLOC/includes;../../../localization/includes;../../../core/includes;../../../output_stream/includes;../../../../libs/hashtable;../../../fileio/includes;../../../../libs/intl"
+ AdditionalIncludeDirectories=".;../../includes;../../../../libs/MALLOC/includes;../../../localization/includes;../../../core/includes;../../../output_stream/includes;../../../../libs/hashtable;../../../fileio/includes;../../../windows_tools/includes;../../../../libs/intl"
PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WITH_TK;FORDLL;NDEBUG;_WINDOWS;_USRDLL;IO_EXPORTS"
StringPooling="true"
RuntimeLibrary="0"
<Tool
Name="VCPreLinkEventTool"
Description="Make dependencies"
- CommandLine="lib /DEF:"$(InputDir)LibScilab_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:"$(InputDir)LibScilab.lib" 1>NUL 2>NUL
lib /DEF:"$(InputDir)io_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:"$(InputDir)io_f.lib" 1>NUL 2>NUL
cd $(IntDir) >nul
for %%f in (*.obj) do ..\..\..\..\..\bin\dumpexts -o %%~nf.def -n io.dll %%f >nul
copy *.def iotmp.def >nul
copy ..\io_header.def+iotmp.def ..\io.def >nul
del *.def >nul
cd .. >nul
"
+ CommandLine="lib /DEF:"$(InputDir)LibScilab_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:"$(InputDir)LibScilab.lib" 1>NUL 2>NUL
lib /DEF:"$(InputDir)io_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:"$(InputDir)io_f.lib" 1>NUL 2>NUL
lib /DEF:"$(InputDir)scilab_windows_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:"$(InputDir)scilab_windows.lib" 1>NUL 2>NUL
cd $(IntDir) >nul
for %%f in (*.obj) do ..\..\..\..\..\bin\dumpexts -o %%~nf.def -n io.dll %%f >nul
copy *.def iotmp.def >nul
copy ..\io_header.def+iotmp.def ..\io.def >nul
del *.def >nul
cd .. >nul
"
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="LibScilab.lib io_f.lib"
+ AdditionalDependencies="LibScilab.lib io_f.lib scilab_windows.lib"
OutputFile="../../../../bin/$(ProjectName).dll"
LinkIncremental="1"
ModuleDefinitionFile="io.def"
>
</File>
<File
- RelativePath=".\setenvc.h"
+ RelativePath="..\..\includes\setenvc.h"
>
</File>
<File
- RelativePath="..\..\includes\setenvc.h"
+ RelativePath=".\setenvc.h"
>
</File>
<File