[ttssh2-commit] [10548] 32bit Cygwin 用の CygTerm+ を削除

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2023年 1月 30日 (月) 01:36:06 JST


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');


ttssh2-commit メーリングリストの案内
Back to archive index