Salome HOME
qt: clean build directory
[tools/sat_salome.git] / products / compil_scripts / Python-3.6.5.bat
1 @echo off
2
3 echo ##########################################################################
4 echo Python %VERSION%
5 echo ##########################################################################
6
7 IF NOT DEFINED SAT_DEBUG (
8   SET SAT_DEBUG=0
9 )
10
11 SET PRODUCT_BUILD_TYPE=Release
12 if %SAT_DEBUG% == 1 (
13   set PRODUCT_BUILD_TYPE=Debug
14 )
15
16 SET LIB_TAG=
17 if %SAT_DEBUG% == 1 (
18   set LIB_TAG=_d
19 )
20
21 if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL%
22 if NOT exist "%PRODUCT_INSTALL%\libs" mkdir %PRODUCT_INSTALL%\libs
23 REM clean BUILD directory
24 if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR%
25 mkdir %BUILD_DIR%
26
27 SET MSBUILDDISABLENODEREUSE=1
28
29 cd %SOURCE_DIR%\PCbuild
30
31 REM Upgrade to current version of MSVC
32 echo.
33 echo *** devenv pcbuild.sln /upgrade
34 devenv pcbuild.sln /upgrade
35 if NOT %ERRORLEVEL% == 0 (
36     echo ERROR on devenv
37     exit 1
38 )
39
40
41 echo.
42 REM echo Extracting nasm...
43 if exist "%SOURCE_DIR%\externals\cpython-bin-deps-nasm-2.11.06" rmdir /Q /S "%SOURCE_DIR%\externals\cpython-bin-deps-nasm-2.11.06"
44 if exist "%SOURCE_DIR%\externals\nasm-2.11.06" rmdir /Q /S "%SOURCE_DIR%\externals\nasm-2.11.06"
45 7z x -y %SOURCE_DIR%\externals\zips\nasm-2.11.06.zip -o%SOURCE_DIR%\externals
46 mv %SOURCE_DIR%\externals\cpython-bin-deps-nasm-2.11.06 %SOURCE_DIR%\externals\nasm-2.11.06
47
48 REM echo Extracting openssl...
49 if exist "%SOURCE_DIR%\externals\cpython-source-deps-openssl-1.0.2k" rmdir /Q /S "%SOURCE_DIR%\externals\cpython-source-deps-openssl-1.0.2k"
50 if exist "%SOURCE_DIR%\externals\openssl-1.0.2k" rmdir /Q /S "%SOURCE_DIR%\externals\openssl-1.0.2k"
51 7z x -y %SOURCE_DIR%\externals\zips\openssl-1.0.2k.zip -o%SOURCE_DIR%\externals
52 mv %SOURCE_DIR%\externals\cpython-source-deps-openssl-1.0.2k %SOURCE_DIR%\externals\openssl-1.0.2k
53
54 REM echo Extracting sqlite...
55 if exist "%SOURCE_DIR%\externals\cpython-source-deps-sqlite-3.21.0.0" rmdir /Q /S "%SOURCE_DIR%\externals\cpython-source-deps-sqlite-3.21.0.0"
56 if exist "%SOURCE_DIR%\externals\sqlite-3.21.0.0" rmdir /Q /S "%SOURCE_DIR%\externals\sqlite-3.21.0.0"
57 7z x -y %SOURCE_DIR%\externals\zips\sqlite-3.21.0.0.zip -o%SOURCE_DIR%\externals
58 mv %SOURCE_DIR%\externals\cpython-source-deps-sqlite-3.21.0.0 %SOURCE_DIR%\externals\sqlite-3.21.0.0
59
60 REM echo Extracting xz...
61 if exist "%SOURCE_DIR%\externals\cpython-source-deps-xz-5.2.2" rmdir /Q /S "%SOURCE_DIR%\externals\cpython-source-deps-xz-5.2.2"
62 if exist "%SOURCE_DIR%\externals\xz-5.2.2" rmdir /Q /S "%SOURCE_DIR%\externals\xz-5.2.2"
63 7z x -y %SOURCE_DIR%\externals\zips\xz-5.2.2.zip -o%SOURCE_DIR%\externals
64 mv %SOURCE_DIR%\externals\cpython-source-deps-xz-5.2.2 %SOURCE_DIR%\externals\xz-5.2.2
65
66 REM echo Extracting xz...
67 if exist "%SOURCE_DIR%\externals\cpython-source-deps-bzip2-1.0.6" rmdir /Q /S "%SOURCE_DIR%\externals\cpython-source-deps-bzip2-1.0.6"
68 if exist "%SOURCE_DIR%\externals\bzip2-1.0.6" rmdir /Q /S "%SOURCE_DIR%\externals\bzip2-1.0.6"
69 7z x -y %SOURCE_DIR%\externals\zips\bzip2-1.0.6.zip -o%SOURCE_DIR%\externals
70 mv %SOURCE_DIR%\externals\cpython-source-deps-bzip2-1.0.6 %SOURCE_DIR%\externals\bzip2-1.0.6
71
72 REM echo Extracting pip...
73 if exist "%SOURCE_DIR%\externals\pip-19.1.1" rmdir /Q /S "%SOURCE_DIR%\externals\pip-19.1.1"
74 7z x -y %SOURCE_DIR%\externals\zips\pip-19.1.1.zip -o%SOURCE_DIR%\externals
75
76 REM Compilation
77
78 cd %SOURCE_DIR%
79 echo.
80 echo *** msbuild %SOURCE_DIR%\PCBuild\pcbuild.sln /t:Build /m /nologo /v:m /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 /p:BuildProjectReferences=false /p:OutDir=%PRODUCT_INSTALL%\
81 msbuild %SOURCE_DIR%\PCBuild\pcbuild.sln  /t:Build /m /nologo /v:m /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 /p:OutDir=%PRODUCT_INSTALL%\
82 if NOT %ERRORLEVEL% == 0 (
83     echo ERROR on msbuild
84     exit 2
85 )
86
87 REM Installation of additional files
88 echo.
89 echo *** Installation of additional files
90 cd ..
91 xcopy /Y /I /E %SOURCE_DIR%\include %PRODUCT_INSTALL%\include
92 if NOT %ERRORLEVEL% == 0 (
93     echo ERROR on xcopy include
94     exit 3
95 )
96
97 copy /Y %SOURCE_DIR%\PC\pyconfig.h %PRODUCT_INSTALL%\include
98 if NOT %ERRORLEVEL% == 0 (
99     echo ERROR on copy PC\pyconfig.h
100     exit 4
101 )
102
103 xcopy /Y /I /E %SOURCE_DIR%\lib %PRODUCT_INSTALL%\lib
104 if NOT %ERRORLEVEL% == 0 (
105     echo ERROR on xcopy lib
106     exit 5
107 )
108
109 REM some prequistes if compiled in Debug mode require the lib to be in folder libs
110 REM other ones require these static lib to be in the root directory
111 REM on purpose we don't use mklink, since this requires the user to have his node set in developer mode.
112 xcopy  /Y %PRODUCT_INSTALL%\*.lib %PRODUCT_INSTALL%\libs\
113 if NOT %ERRORLEVEL% == 0 (
114     echo ERROR could not copy static libraries
115     exit 6
116 )
117
118 REM on purpose, we don't use mklink - requires admin rights...
119 copy /Y /B %PRODUCT_INSTALL%\python%LIB_TAG%.exe %PRODUCT_INSTALL%\python3.exe
120 if %SAT_DEBUG% == 1 (
121   copy /Y /B %PRODUCT_INSTALL%\python_d.exe %PRODUCT_INSTALL%\python.exe
122   REM otherwise OmniORB does not compile...
123   copy /Y /B %PRODUCT_INSTALL%\libs\python36_d.lib %PRODUCT_INSTALL%\libs\python36.lib 
124   copy /Y /B %PRODUCT_INSTALL%\libs\python_d.lib %PRODUCT_INSTALL%\libs\python.lib 
125 )
126
127 cd %PRODUCT_INSTALL%\
128
129 REM Add PIP support
130 set PYTHONHOME=%PRODUCT_INSTALL%
131 set PYTHON_ROOT_DIR=%PRODUCT_INSTALL%
132 set PYTHON_VERSION=3.6
133 set PATH=%PRODUCT_INSTALL%;%PATH%
134 set PATH=%PRODUCT_INSTALL%\lib;%PATH%
135 set PYTHON_INCLUDE=%PRODUCT_INSTALL%\include
136 set PYTHONPATH=%PRODUCT_INSTALL%\lib;%PYTHONPATH%
137 set PYTHONPATH=%PRODUCT_INSTALL%\lib\site-packages;%PYTHONPATH%
138 set PYTHONBIN=%PRODUCT_INSTALL%\python.exe
139 set PATH=%PRODUCT_INSTALL%\Scripts;%PATH%
140
141 %PRODUCT_INSTALL%\python.exe %SOURCE_DIR%\externals\pip-19.1.1\get-pip.py --force-reinstall --no-setuptools --no-wheel  --no-index --find-links=%SOURCE_DIR%\externals\pip-19.1.1
142
143 taskkill /F /IM "mspdbsrv.exe"
144
145 echo.
146 echo ########## END