Revision: 10548 https://osdn.net/projects/ttssh2/scm/svn/commits/10548 Author: nmaya Date: 2023-01-30 01:36:05 +0900 (Mon, 30 Jan 2023) Log Message: ----------- 32bit Cygwin 用の CygTerm+ を削除 Cygwin 3.4 で 32bit Windows のサポートが削除されたため 64bit Cygwin で 32bit Cygwin バイナリを出力するクロスコンパイラ(cygwin32-gcc-g++)が削除された ticket: #46267 Ticket Links: ------------ https://osdn.net/projects/ttssh2/tracker/detail/46267 Modified Paths: -------------- trunk/doc/en/html/about/history.html trunk/doc/ja/html/about/history.html trunk/installer/build.bat trunk/installer/makearchive.bat trunk/installer/teraterm.iss -------------- next part -------------- Modified: trunk/doc/en/html/about/history.html =================================================================== --- trunk/doc/en/html/about/history.html 2023-01-29 15:48:05 UTC (rev 10547) +++ trunk/doc/en/html/about/history.html 2023-01-29 16:36:05 UTC (rev 10548) @@ -83,6 +83,7 @@ <li>Misc <ul> <li>Upgraded TTSSH to <a href="#ttssh_3.0">3.0</a>.</li> + <li>NOTE: CygTerm+ binary included in the installer becomes to be supported on only 64bit Cygwin. Please build CygTerm+ from source code by using 32bit Cygwin, if CygTerm+ wants to run with 32bit Cygwin.</li> <li>Added about EAR(Export Administration Regulations) to Frequently asked questions.</li> <li>upgraded Oniguruma to 6.9.8.</li> <li>upgraded TTXttyrec Plug-in to <a href="#ttyrec_1.05">1.05</a>.</li> Modified: trunk/doc/ja/html/about/history.html =================================================================== --- trunk/doc/ja/html/about/history.html 2023-01-29 15:48:05 UTC (rev 10547) +++ trunk/doc/ja/html/about/history.html 2023-01-29 16:36:05 UTC (rev 10548) @@ -81,6 +81,7 @@ <li>\x82\xBB\x82̑\xBC <ul> <li><a href="#ttssh_3.0">TTSSH(3.0)</a>\x82֍\xB7\x82\xB5\x91ւ\xA6\x82\xBD\x81B</li> + <li>\x83C\x83\x93\x83X\x83g\x81[\x83\x89\x82ɓ\xAF\x8D\xAB\x82\xB3\x82\xEA\x82Ă\xA2\x82\xE9 CygTerm+ \x83o\x83C\x83i\x83\x8A\x82\xCD 64bit Cygwin \x91Ή\x9E\x82݂̂ƂȂ\xE8\x82܂\xB7\x81B32bit Cygwin \x82œ\xAE\x8D삳\x82\xB9\x82\xBD\x82\xA2\x8Fꍇ\x82́A32bit Cygwin \x82\xF0\x8Eg\x82\xC1\x82\xC4 CygTerm+ \x82\xF0\x83\\x81[\x83X\x83R\x81[\x83h\x82\xA9\x82\xE7\x83r\x83\x8B\x83h\x82\xB5\x82Ă\xAD\x82\xBE\x82\xB3\x82\xA2\x81B</li> <li>Q & A\x8FW\x82ɗA\x8Fo\x8BK\x90\xA7(EAR)\x82ɂ\xA2\x82ĒNjL\x82\xB5\x82\xBD\x81B</li> <li>Oniguruma 6.9.8\x82֍\xB7\x82\xB5\x91ւ\xA6\x82\xBD\x81B</li> <li><a href="#ttyrec_1.05">TTXttyrec Plugin(1.05)</a>\x82֍\xB7\x82\xB5\x91ւ\xA6\x82\xBD\x81B</li> Modified: trunk/installer/build.bat =================================================================== --- trunk/installer/build.bat 2023-01-29 15:48:05 UTC (rev 10547) +++ trunk/installer/build.bat 2023-01-29 16:36:05 UTC (rev 10548) @@ -236,13 +236,8 @@ if "%BUILD%" == "rebuild" ( make clean make cygterm+-x86_64-clean - make cygterm+-i686-clean ) make cygterm+-x86_64 -j -where i686-pc-cygwin-g++.exe -if errorlevel 1 goto cygterm32_pass -make cygterm+-i686 -j -:cygterm32_pass make archive popd Modified: trunk/installer/makearchive.bat =================================================================== --- trunk/installer/makearchive.bat 2023-01-29 15:48:05 UTC (rev 10547) +++ trunk/installer/makearchive.bat 2023-01-29 16:36:05 UTC (rev 10548) @@ -36,12 +36,6 @@ copy /y ..\ttssh2\ttxssh\Release\ttxssh.dll %dst% copy /y ..\cygwin\cygterm\cygterm.cfg %dst% copy /y "..\cygwin\cygterm\cygterm+.tar.gz" %dst% -if not exist ..\cygwin\cygterm\cygterm+-i686\cygterm.exe goto cygwin32_pass -mkdir "%dst%\cygterm+-i686" -copy /y "..\cygwin\cygterm\cygterm+-i686\cygterm.exe" "%dst%\cygterm+-i686" -:cygwin32_pass -mkdir "%dst%\cygterm+-x86_64" -copy /y "..\cygwin\cygterm\cygterm+-x86_64\cygterm.exe" "%dst%\cygterm+-x86_64" copy /y "..\cygwin\cygterm\cygterm+-x86_64\cygterm.exe" %dst% if not exist ..\cygwin\cygterm\msys2term\msys2term.exe goto msys2term_pass copy /y ..\cygwin\cygterm\msys2term\msys2term.exe %dst% Modified: trunk/installer/teraterm.iss =================================================================== --- trunk/installer/teraterm.iss 2023-01-29 15:48:05 UTC (rev 10547) +++ trunk/installer/teraterm.iss 2023-01-29 16:36:05 UTC (rev 10548) @@ -110,14 +110,10 @@ Source: release\lang_utf16le\Traditional Chinese.lng; DestDir: {app}\lang_utf16le; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly Source: ..\ttssh2\ttxssh\Release\ttxssh.dll; DestDir: {app}; Components: TTSSH; Flags: ignoreversion Source: release\ssh_known_hosts; DestDir: {app}; Components: TTSSH -#ifexist "..\cygwin\cygterm\cygterm+-i686\cygterm.exe" -Source: ..\cygwin\cygterm\cygterm+-i686\cygterm.exe; DestDir: {app}\cygterm+-i686; Components: cygterm -#endif Source: ..\cygwin\cygterm\cygterm.cfg; DestDir: {app}; Components: cygterm Source: ..\cygwin\cygterm\cygterm+.tar.gz; DestDir: {app}; Components: cygterm -Source: ..\cygwin\cygterm\cygterm+-x86_64\cygterm.exe; DestDir: {app}\cygterm+-x86_64; Components: cygterm +Source: ..\cygwin\cygterm\cygterm+-x86_64\cygterm.exe; DestDir: {app}; Components: cygterm Source: ..\cygwin\Release\cyglaunch.exe; DestDir: {app}; Components: cygterm -Source: ..\cygwin\Release\cygtool.dll; Components: cygterm; Flags: dontcopy Source: ..\ttpmenu\Release\ttpmenu.exe; DestDir: {app}; Components: TeraTerm_Menu; Flags: ignoreversion Source: release\ttmenu_readme-j.txt; DestDir: {app}; Components: TeraTerm_Menu Source: ..\TTProxy\Release\TTXProxy.dll; DestDir: {app}; Components: TTProxy; Flags: ignoreversion @@ -147,7 +143,7 @@ [Components] Name: TeraTerm; Description: Tera Term & Macro; Flags: fixed; Types: custom compact full standard Name: TTSSH; Description: TTSSH; Types: compact full standard -Name: cygterm; Description: CygTerm+; Types: full standard; Check: not isIA64 +Name: cygterm; Description: CygTerm+; Types: full standard; Check: isExecutableCygtermX64 Name: TeraTerm_Menu; Description: TeraTerm Menu; Types: full Name: TTProxy; Description: TTProxy; Types: full standard Name: Additional_Plugins; Description: {cm:comp_TTX} @@ -307,21 +303,33 @@ procedure SHChangeNotify(wEventId, uFlags, dwItem1, dwItem2: Integer); external 'SHCha****@shell***** stdcall'; -function FindCygwinPath(CygwinDirectory: String; CygwinDir: String; Dirlen: Cardinal): Integer; -external 'FindCygwinPath @ files:cygtool.dll stdcall setuponly'; +var + UILangFilePage: TInputOptionWizardPage; -function PortableExecutableMachine(CygwinDir: String): Integer; -external 'PortableExecutableMachine @ files:cygtool.dll stdcall setuponly'; +// Windows 11 or later +function isWin11OrLater : Boolean; var - UILangFilePage: TInputOptionWizardPage; + Version: TWindowsVersion; +begin; + GetWindowsVersionEx(Version); + if (Version.Major >= 10) and (Version.Build >= 22000) then + Result := True + else + Result := False; +end; - -// It is different from x64 -function isIA64 : Boolean; +// Cygterm x86_64 is executable +function isExecutableCygtermX64 : Boolean; begin - if ProcessorArchitecture = paIA64 then + if ProcessorArchitecture = paX64 then Result := True + else if ProcessorArchitecture = paARM64 then + // x86_64 binary is executable on ARM64 by WoW64 + if isWin11OrLater then + Result := True + else + Result := False else Result := False; end; @@ -672,12 +680,6 @@ procedure CurStepChanged(CurStep: TSetupStep); var iniFile : String; - CygDir : String; - CygPath : String; - CygDll : String; - Cygterm : String; - Res : Integer; - Machine : Integer; begin case CurStep of ssPostInstall: @@ -685,34 +687,6 @@ iniFile := GetDefaultIniFilename(); SetIniFile(iniFile); - if WizardIsComponentSelected('cygterm') then - begin; - Cygterm := ExpandConstant('{app}') + '\cygterm.exe'; - if not FileExists(Cygterm) then - begin; - // インストール先に cygterm.exe がない場合は、cygwin1.dll と同じアーキテクチャのファイルをコピーする - CygDir := GetIniString('Tera Term', 'CygwinDirectory', 'C:\cygwin', iniFile); - SetLength(CygPath, 256); - Res := FindCygwinPath(CygDir, CygPath, 256); - If Res = 1 then - begin; - CygDll := Copy(CygPath, 1, Pos(#0, CygPath) - 1) + '\bin\cygwin1.dll'; - Machine := PortableExecutableMachine(CygDll); - if Machine = IMAGE_FILE_MACHINE_AMD64 then - FileCopy(ExpandConstant('{app}') + '\cygterm+-x86_64\cygterm.exe', Cygterm, True) - else - FileCopy(ExpandConstant('{app}') + '\cygterm+-i686\cygterm.exe', Cygterm, True); - end; - end else begin - // インストール先に cygterm.exe がある場合は、同じアーキテクチャのファイルをコピーする - Machine := PortableExecutableMachine(Cygterm); - if Machine = IMAGE_FILE_MACHINE_AMD64 then - FileCopy(ExpandConstant('{app}') + '\cygterm+-x86_64\cygterm.exe', Cygterm, False) - else - FileCopy(ExpandConstant('{app}') + '\cygterm+-i686\cygterm.exe', Cygterm, False); - end; - end; - if not WizardIsTaskSelected('cygtermhere') then begin; RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\Classes\Folder\shell\cygterm');