From: Eduardo DAVILA Date: Fri, 3 Aug 2018 14:57:12 +0000 (+0200) Subject: #3200 creaTools Tools Feature NewNormal - branch mingw64 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=206467d1386ee25525cbae4cdc9d8bb93304d99b;p=creaToolsTools.git #3200 creaTools Tools Feature NewNormal - branch mingw64 --- diff --git a/Install_mingw64/Install_CreaTools/creatools.bat b/Install_mingw64/Install_CreaTools/creatools.bat index 7ca2ef3..70cc681 100644 --- a/Install_mingw64/Install_CreaTools/creatools.bat +++ b/Install_mingw64/Install_CreaTools/creatools.bat @@ -1,8 +1,12 @@ @echo off -set creatoolsGeneration=C:\Users\davila\Creatools\C5\ct -set docGeneration=OFF -set cmakeBin=C:\Users\davila\Creatools\For_mingw64\DeveloperTools\cmake-3.11.2-win64-x64\bin\cmake.exe +set docGeneration=OFF +set creatoolsGeneration=E:\creatis\c_mingw\C5\ct +set cmakeBin=E:\creatis\c_mingw\For_mingw64\DeveloperTools\cmake-3.11.2-win64-x64\bin\cmake.exe +::set GIT_SSH=C:\Program Files\PuTTY\plink.exe +::set GIT_SSH="C:\Program Files (x86)\PuTTY\plink.exe" +::set bash=C:\Program Files\Git\bin\bash.exe +set bash=C:\Program Files (x86)\Git\bin\bash.exe cd scripts call All.bat %creatoolsGeneration% %docGeneration% diff --git a/Install_mingw64/Install_CreaTools/scripts/All2.bat b/Install_mingw64/Install_CreaTools/scripts/All2.bat index e494b52..55d8912 100644 --- a/Install_mingw64/Install_CreaTools/scripts/All2.bat +++ b/Install_mingw64/Install_CreaTools/scripts/All2.bat @@ -40,7 +40,6 @@ set homedir=%cd% cd %creatoolsGeneration% mkdir c_%buildtype%%platforme% -mkdir c_%buildtype%%platforme%\ri mkdir c_%buildtype%%platforme%\log echo call configure variables @@ -50,32 +49,31 @@ REM goto skypToEED REM :skypToEED echo call compile crea -start /B /wait %scriptsFolder%\creaInstall.bat +::start /B /wait %scriptsFolder%\creaInstall.bat echo call compile bbtk -start /B /wait %scriptsFolder%\bbtkInstall.bat +::start /B /wait %scriptsFolder%\bbtkInstall.bat echo call compile creaMaracasVisu -start /B /wait %scriptsFolder%\creaMaracasVisuInstall.bat +::start /B /wait %scriptsFolder%\creaMaracasVisuInstall.bat echo call compile creaVtk -start /B /wait %scriptsFolder%\creaVtkInstall.bat +::start /B /wait %scriptsFolder%\creaVtkInstall.bat echo call compile creaEnvironment -start /B /wait %scriptsFolder%\creaEnvironmentInstall.bat +::start /B /wait %scriptsFolder%\creaEnvironmentInstall.bat echo call compile creaBruker -start /B /wait %scriptsFolder%\creaBrukerInstall.bat +::start /B /wait %scriptsFolder%\creaBrukerInstall.bat echo call compile creaImageIO -start /B /wait %scriptsFolder%\creaImageIOInstall.bat +::start /B /wait %scriptsFolder%\creaImageIOInstall.bat echo call compile creaContours -start /B /wait %scriptsFolder%\creaContoursInstall.bat +::start /B /wait %scriptsFolder%\creaContoursInstall.bat echo call compile creaRigidRegistration -start /B /wait %scriptsFolder%\creaRigidRInstall.bat +::start /B /wait %scriptsFolder%\creaRigidRInstall.bat echo call compile bbtkGEditor -start /B /wait %scriptsFolder%\bbtkGEditorInstall.bat +::start /B /wait %scriptsFolder%\bbtkGEditorInstall.bat echo call compile creaMinitools -start /B /wait %scriptsFolder%\creaMinitoolsInstall.bat - +::start /B /wait %scriptsFolder%\creaMinitoolsInstall.bat echo THIS HAS TO BE THE LAST STEP... echo call compile creaTools -start /B /wait %scriptsFolder%\creaTools\creaToolsInstall.bat +start /B /wait %scriptsFolder%\creaToolsInstall.bat echo To see the log files of this install please go to %LogFolder% diff --git a/Install_mingw64/Install_CreaTools/scripts/base/cleangeneral.bat b/Install_mingw64/Install_CreaTools/scripts/base/cleangeneral.bat index 37e01be..b086638 100644 --- a/Install_mingw64/Install_CreaTools/scripts/base/cleangeneral.bat +++ b/Install_mingw64/Install_CreaTools/scripts/base/cleangeneral.bat @@ -29,10 +29,10 @@ echo ---------------------------- echo creatoolsGeneration = %1 -rmdir %1\creatools_sources /s /q -rmdir %1\creatools_DebugWin32 /s /q -rmdir %1\creatools_DebugWin64 /s /q -rmdir %1\creatools_ReleaseWin32 /s /q -rmdir %1\creatools_ReleaseWin64 /s /q +rmdir %1\cs /s /q +rmdir %1\c_DebugWin32 /s /q +rmdir %1\c_DebugWin64 /s /q +rmdir %1\c_ReleaseWin32 /s /q +rmdir %1\c_ReleaseWin64 /s /q exit /B \ No newline at end of file diff --git a/Install_mingw64/Install_CreaTools/scripts/base/downloadSources.bat b/Install_mingw64/Install_CreaTools/scripts/base/downloadSources.bat index 9e751b5..c1ed5a7 100644 --- a/Install_mingw64/Install_CreaTools/scripts/base/downloadSources.bat +++ b/Install_mingw64/Install_CreaTools/scripts/base/downloadSources.bat @@ -24,11 +24,13 @@ REM ------------------------------------------------------------------------ @echo off echo cleaning prefix - call %baseFolder%\cleangeneral.bat %creatoolsGeneration% %installPrefix% +call %baseFolder%\cleangeneral.bat %creatoolsGeneration% %installPrefix% echo downloading creatools software -set GIT_SSH=C:\Program Files\PuTTY\plink.exe +::goto SkipEED1 +:SkipEED1 + echo echo tmp.sh > tmp.sh set creatoolsGeneration2=%creatoolsGeneration:\=/% @@ -36,11 +38,13 @@ echo mkdir %creatoolsGeneration2% >> tmp.sh echo mkdir %creatoolsGeneration2%/cs >> tmp.sh echo cd %creatoolsGeneration2%/cs >> tmp.sh + echo git clone ssh://gitolite@git.creatis.insa-lyon.fr/%creasource% >> tmp.sh echo cd %creasource% >> tmp.sh echo git checkout vtk7itk4wx3-mingw64 >> tmp.sh echo cd .. >> tmp.sh + echo git clone ssh://gitolite@git.creatis.insa-lyon.fr/%bbtksource% >> tmp.sh echo cd %bbtksource% >> tmp.sh echo git checkout vtk7itk4wx3-mingw64 >> tmp.sh @@ -86,16 +90,19 @@ echo cd %bbtkgeditorsource% >> tmp.sh echo git checkout vtk7itk4wx3-mingw64 >> tmp.sh echo cd .. >> tmp.sh -echo git clone ssh://gitolite@git.creatis.insa-lyon.fr/%creatoolssource% >> tmp.sh -echo cd %creatoolssource% >> tmp.sh +echo git clone ssh://gitolite@git.creatis.insa-lyon.fr/%creaminitoolssource% >> tmp.sh +echo cd %creaminitoolssource% >> tmp.sh echo git checkout vtk7itk4wx3-mingw64 >> tmp.sh echo cd .. >> tmp.sh -echo git clone ssh://gitolite@git.creatis.insa-lyon.fr/%creaminitoolssource% >> tmp.sh -echo cd %creaminitoolssource% >> tmp.sh + +echo git clone ssh://gitolite@git.creatis.insa-lyon.fr/%creatoolssource% >> tmp.sh +echo cd %creatoolssource% >> tmp.sh echo git checkout vtk7itk4wx3-mingw64 >> tmp.sh echo cd .. >> tmp.sh + + echo call gitcall.bat "%cd%\tmp.sh" dir call gitcall.bat "%cd%\tmp.sh" diff --git a/Install_mingw64/Install_CreaTools/scripts/creaToolsInstall.bat b/Install_mingw64/Install_CreaTools/scripts/creaToolsInstall.bat new file mode 100644 index 0000000..4659a6d --- /dev/null +++ b/Install_mingw64/Install_CreaTools/scripts/creaToolsInstall.bat @@ -0,0 +1,45 @@ +REM --------------------------------------------------------------------- +REM +REM Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +REM pour la Santé) +REM Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +REM +REM This software is governed by the CeCILL-B license under French law and +REM abiding by the rules of distribution of free software. You can use, +REM modify and/ or redistribute the software under the terms of the CeCILL-B +REM license as circulated by CEA, CNRS and INRIA at the following URL +REM http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +REM or in the file LICENSE.txt. +REM +REM As a counterpart to the access to the source code and rights to copy, +REM modify and redistribute granted by the license, users are provided only +REM with a limited warranty and the software's author, the holder of the +REM economic rights, and the successive licensors have only limited +REM liability. +REM +REM The fact that you are presently reading this means that you have had +REM knowledge of the CeCILL-B license and that you accept its terms. +REM ------------------------------------------------------------------------ + +@echo off + +set currentdir=%~dp0 + +echo Compile creaTools %buildtype% %platforme% +echo call %baseFolder%\cleanmod.bat %creatoolssource% %creatoolsGeneration% >> %logFolder%\creaToolsInstall.log 2>&1 + +call %baseFolder%\cleanmod.bat %creatoolssource% %creatoolsGeneration% >> %logFolder%\creaToolsInstall.log 2>&1 +call %baseFolder%\cmakemod.bat %creatoolssource% %installPrefix% %creatoolsGeneration% >> %logFolder%\creaToolsInstall.log 2>&1 +call %currentdir%\creaToolsVariables.bat %creatoolsGeneration% %creatoolssource% %docgeneration% %buildtype% %plateforme% >> %logFolder%\creaToolsInstall.log 2>&1 + +::call %baseFolder%\compilemod.bat %buildtype% %creatoolssource% %creatoolsGeneration% >> %logFolder%\creaToolsInstall.log 2>&1 +set binfolder=%creatoolsGeneration%\c_%buildtype%%platforme%\cb\%creatoolssource%Bin +cd %binfolder% +mingw32-make.exe -j%NUMBER_OF_PROCESSORS% +mingw32-make.exe package + +move /Y %binfolder%\*.exe %creatoolsGeneration%\..\ +::call %baseFolder%\ctestmod.bat %creatoolssource% %creatoolsGeneration% >> %logFolder%\creaToolsInstall.log 2>&1 +echo end of creaTools compilation + +exit \ No newline at end of file diff --git a/Install_mingw64/Install_CreaTools/scripts/creaToolsVariables.bat b/Install_mingw64/Install_CreaTools/scripts/creaToolsVariables.bat new file mode 100644 index 0000000..30364cf --- /dev/null +++ b/Install_mingw64/Install_CreaTools/scripts/creaToolsVariables.bat @@ -0,0 +1,67 @@ +REM --------------------------------------------------------------------- +REM +REM Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +REM pour la Santé) +REM Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +REM +REM This software is governed by the CeCILL-B license under French law and +REM abiding by the rules of distribution of free software. You can use, +REM modify and/ or redistribute the software under the terms of the CeCILL-B +REM license as circulated by CEA, CNRS and INRIA at the following URL +REM http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +REM or in the file LICENSE.txt. +REM +REM As a counterpart to the access to the source code and rights to copy, +REM modify and redistribute granted by the license, users are provided only +REM with a limited warranty and the software's author, the holder of the +REM economic rights, and the successive licensors have only limited +REM liability. +REM +REM The fact that you are presently reading this means that you have had +REM knowledge of the CeCILL-B license and that you accept its terms. +REM ------------------------------------------------------------------------ + +@echo off +echo ---------------------------- +echo ---creaToolVariables.bat---- +echo ---------------------------- + +set creatoolsGeneration=%1 +set creatoolssource=%2 +set docgeneration=%3 +set buildType=%4 +set plateforme=%5 + +echo creatoolsGeneration = %creatoolsGeneration% +echo creatoolssource = %creatoolssource% +echo docgeneration = %docgeneration% +echo buildType = %buildType% +echo plateforme = %plateforme% + + + +set binfolder=%1\c_%buildtype%%platforme%\cb\%2Bin +cd %binfolder% + +IF %4==Debug ( + cmake -D WXWIDGETS_USE_DEBUG:BOOL=ON CMakeCache.txt +) + +if %platforme%==Win32 ( + set buildPlatform=win32 +) else ( + if %PROCESSOR_ARCHITECTURE%==x86 ( + set buildPlatform=win32 + ) else ( + set buildPlatform=win64 + ) +) + +::cmake -D CREATOOLS_BUILDTYPE:STRING=%buildType% -D CREATOOLS_PLATFORM:STRING=%buildPlatform% CMakeCache.txt +::cmake -D CREATOOLS_SOURCE_PATH:PATH=%creatoolsGeneration%\creatools_%buildtype%%platforme%\creatools_install CMakeCache.txt + + +%cmakeBin% -D CREATOOLS_BUILDTYPE:STRING=%buildType% -D CREATOOLS_PLATFORM:STRING=%buildPlatform% CMakeCache.txt +%cmakeBin% -D CREATOOLS_SOURCE_PATH:PATH=%creatoolsGeneration%\c_%buildtype%%platforme%\ci CMakeCache.txt + + diff --git a/Install_mingw64/Install_CreaTools/scripts/gitcall.bat b/Install_mingw64/Install_CreaTools/scripts/gitcall.bat index f0defc8..4393cec 100644 --- a/Install_mingw64/Install_CreaTools/scripts/gitcall.bat +++ b/Install_mingw64/Install_CreaTools/scripts/gitcall.bat @@ -1,5 +1,4 @@ echo gitcall rem if not exist %1 exit -::set bash=C:\Program Files (x86)\Git\bin\bash.exe -set bash=C:\Program Files\Git\bin\bash.exe "%bash%" --login -i -c "exec "%1"" +::call %1% diff --git a/Install_mingw64/Install_CreaTools/scripts/tmp.sh b/Install_mingw64/Install_CreaTools/scripts/tmp.sh index 409d9ab..205376a 100644 --- a/Install_mingw64/Install_CreaTools/scripts/tmp.sh +++ b/Install_mingw64/Install_CreaTools/scripts/tmp.sh @@ -1,52 +1,12 @@ echo tmp.sh -mkdir C:/Users/davila/Creatools/C5/ct -mkdir C:/Users/davila/Creatools/C5/ct/cs -cd C:/Users/davila/Creatools/C5/ct/cs +mkdir E:/creatis/c_mingw/C5/ct +mkdir E:/creatis/c_mingw/C5/ct/cs +cd E:/creatis/c_mingw/C5/ct/cs git clone ssh://gitolite@git.creatis.insa-lyon.fr/crea cd crea git checkout vtk7itk4wx3-mingw64 cd .. -git clone ssh://gitolite@git.creatis.insa-lyon.fr/bbtk -cd bbtk -git checkout vtk7itk4wx3-mingw64 -cd .. -git clone ssh://gitolite@git.creatis.insa-lyon.fr/creaMaracasVisu -cd creaMaracasVisu -git checkout vtk7itk4wx3-mingw64 -cd .. -git clone ssh://gitolite@git.creatis.insa-lyon.fr/creaVtk -cd creaVtk -git checkout vtk7itk4wx3-mingw64 -cd .. -git clone ssh://gitolite@git.creatis.insa-lyon.fr/creaEnvironment -cd creaEnvironment -git checkout vtk7itk4wx3-mingw64 -cd .. -git clone ssh://gitolite@git.creatis.insa-lyon.fr/creaBruker -cd creaBruker -git checkout vtk7itk4wx3-mingw64 -cd .. -git clone ssh://gitolite@git.creatis.insa-lyon.fr/creaImageIO -cd creaImageIO -git checkout vtk7itk4wx3-mingw64 -cd .. -git clone ssh://gitolite@git.creatis.insa-lyon.fr/creaContours -cd creaContours -git checkout vtk7itk4wx3-mingw64 -cd .. -git clone ssh://gitolite@git.creatis.insa-lyon.fr/creaRigidRegistration -cd creaRigidRegistration -git checkout vtk7itk4wx3-mingw64 -cd .. -git clone ssh://gitolite@git.creatis.insa-lyon.fr/bbtkGEditor -cd bbtkGEditor -git checkout vtk7itk4wx3-mingw64 -cd .. git clone ssh://gitolite@git.creatis.insa-lyon.fr/creaTools cd creaTools git checkout vtk7itk4wx3-mingw64 cd .. -git clone ssh://gitolite@git.creatis.insa-lyon.fr/creaMiniTools -cd creaMiniTools -git checkout vtk7itk4wx3-mingw64 -cd .. diff --git a/Install_mingw64/Install_ThirdParty/scripts/download_ThirdPartySW.bat b/Install_mingw64/Install_ThirdParty/scripts/download_ThirdPartySW.bat index ba3e2bc..978cd71 100644 --- a/Install_mingw64/Install_ThirdParty/scripts/download_ThirdPartySW.bat +++ b/Install_mingw64/Install_ThirdParty/scripts/download_ThirdPartySW.bat @@ -73,6 +73,7 @@ set TTHFNAME=tth_exe.zip set SQLITEFNAME=sqlite_v3.6.23.1.zip set JOMFNAME=jom.zip set DLFCNFNAME=dlfcn-win32-2018-07.7z +set OPENGLMESANAME=opengl-mesa.zip echo ----------------------------------- @@ -214,6 +215,15 @@ if %EEDdownloadDLFCN%==FALSE GOTO SKIPDOWNLOADDLFCN :: del %DLFCNFNAME% :SKIPDOWNLOADDLFCN +if %EEDdownloadOPENGLMESA%==FALSE GOTO SKIPDOWNLOADOPENGLMESA + %wgetPath% --no-check-certificate "%urlCreatisSource%/../../crea_Developer_Tools/v4/%OPENGLMESANAME%" + echo ------------------------------------------------ + echo --------------OPENGL MESA (creatis)------------------ + echo ------------------------------------------------ + cd %sourcepath% + %zipPath% x %OPENGLMESANAME% +:: del %OPENGLMESANAME% +:SKIPDOWNLOADOPENGLMESA diff --git a/Install_mingw64/Install_ThirdParty/scripts/install_thirdparty_all.bat b/Install_mingw64/Install_ThirdParty/scripts/install_thirdparty_all.bat index afa83a0..3c20e76 100644 --- a/Install_mingw64/Install_ThirdParty/scripts/install_thirdparty_all.bat +++ b/Install_mingw64/Install_ThirdParty/scripts/install_thirdparty_all.bat @@ -42,6 +42,7 @@ set gdcm=gdcm13 set vtk=vtk set sqlite=sqlite set dlfcn=dlfcn-win32 +set OPENGLMESA=opengl-mesa set QTDIR=%sourcepath%\%qt% set JOMDIR=%sourcepath%\%jom% @@ -376,10 +377,10 @@ mingw32-make.exe -j%NUMBER_OF_PROCESSORS% install move /Y %installpath%\lib\*.dll %installpath%\bin ::wxWidgets move /Y %installpath%\lib\gcc_dll\*.dll %installpath%\bin - :: dlls mingw copy /Y %DirMingwDlls%\*.dll %installpath%\bin - +:: Opengl Mesa +xcopy /Y %sourcepath%\%OPENGLMESA% %installpath%\bin\opengl-mesa\ echo ----------------------------------- echo ---End of Installing Libraries----- diff --git a/Install_mingw64/Install_ThirdParty/scripts/install_thirdparty_dlls_cmake.bat b/Install_mingw64/Install_ThirdParty/scripts/install_thirdparty_dlls_cmake.bat index 8d762aa..84896e6 100644 --- a/Install_mingw64/Install_ThirdParty/scripts/install_thirdparty_dlls_cmake.bat +++ b/Install_mingw64/Install_ThirdParty/scripts/install_thirdparty_dlls_cmake.bat @@ -81,5 +81,6 @@ cd %binpath% %cmakeBin% -D CREA_LIBRARY_DLL_PATH:PATH=%thirdpartydllspath% CMakeCache.txt >> %LogFolder%\dlls_cmake.log 2>&1 mingw32-make.exe package >> %LogFolder%\dlls_cmake.log 2>&1 +move /Y *.exe ..\..\..\ exit /B \ No newline at end of file diff --git a/Install_mingw64/Install_ThirdParty/scripts/makeAll.bat b/Install_mingw64/Install_ThirdParty/scripts/makeAll.bat index 36427b1..e13e4ce 100644 --- a/Install_mingw64/Install_ThirdParty/scripts/makeAll.bat +++ b/Install_mingw64/Install_ThirdParty/scripts/makeAll.bat @@ -47,11 +47,11 @@ call generateThirdPartydllsExe.bat %thirdpartyGeneration% %buildType% %forcex86% :SKIPINSTALLERDLL -if %EEDinstallerLibraries%==FALSE GOTO SKIPINSTALLERLIBRARIES -echo Calling generateThirdPartyLibExe.bat -cd %scripts% -call generateThirdPartyLibExe.bat %thirdpartyGeneration% %buildType% %forcex86% -:SKIPINSTALLERLIBRARIES +:: if %EEDinstallerLibraries%==FALSE GOTO SKIPINSTALLERLIBRARIES +:: echo Calling generateThirdPartyLibExe.bat +:: cd %scripts% +:: call generateThirdPartyLibExe.bat %thirdpartyGeneration% %buildType% %forcex86% +:: :SKIPINSTALLERLIBRARIES cd.. diff --git a/Install_mingw64/Install_ThirdParty/scripts/tpl_variables.bat b/Install_mingw64/Install_ThirdParty/scripts/tpl_variables.bat index ca599b6..bcc71b5 100644 --- a/Install_mingw64/Install_ThirdParty/scripts/tpl_variables.bat +++ b/Install_mingw64/Install_ThirdParty/scripts/tpl_variables.bat @@ -16,6 +16,7 @@ set EEDdownloadGDCM=TRUE set EEDdownloadTTH=TRUE set EEDdownloadSQLite=TRUE set EEDdownloadDLFCN=TRUE +set EEDdownloadOPENGLMESA=TRUE set EEDinstall=TRUE set EEDinstallQT=FALSE @@ -29,4 +30,4 @@ set EEDinstallSQLite=TRUE set EEDinstallDLFCN=TRUE set EEDinstallerDLL=TRUE -set EEDinstallerLibraries=FALSE +::set EEDinstallerLibraries=FALSE diff --git a/Install_mingw64/Readme_EED.txt b/Install_mingw64/Readme_EED.txt index 5f5bd44..0e69ec7 100644 --- a/Install_mingw64/Readme_EED.txt +++ b/Install_mingw64/Readme_EED.txt @@ -19,19 +19,26 @@ 3. Compile Third Party Library (tpl) install-All.bat - -4. Compila Creatools - -Instalar basic-miktex-2.9.6753-x64.exe - -plink: configurar en creaToolsTools\Install_mingw64\Install_CreaTools/downloadSources.bat - set GIT_SSH=C:\Program Files\PuTTY\plink.exe - -ssh: Exportar la llave generada en linux en formato ppk. cargar la llave con pagent. (doble click en el archivo ppk) ::Nota, correr todo para bajar los fuentes, el ( unzip 7z ) no lo enuentra en la segunda corrida cuando se quite la opcion de clean y download se renombran los source automatidacmente (OJO con wxWindgets, hay que hacerlo a mano) + + + + + ============================= Creatools ========================== +0. Configuration + -Instalar basic-miktex-2.9.6753-x64.exe + -plink: configurar en creaToolsTools\Install_mingw64\Install_CreaTools/creatools.bat + A. set GIT_SSH=C:\Program Files\PuTTY\plink.exe + or comment this line. + B. set bash=C:\Program Files\Git\bin\bash.exe + -ssh: Exportar la llave generada en linux en formato ppk. cargar la llave con pagent. (doble click en el archivo ppk) + 1. creatools.bat Configurar el directorio de salida