• R/O
  • SSH
  • HTTPS

ttssh2: Commit


Commit MetaInfo

Revision9685 (tree)
Time2022-01-13 01:16:38
Authornmaya

Log Message

develop.txt を HTML に変更

記述が古い・誤っている・日英で異なる・trunk/4-stableで共通部分の記述が異なる、などはそのまま

Change Summary

Incremental Difference

--- trunk/doc/en/html/index.html (revision 9684)
+++ trunk/doc/en/html/index.html (revision 9685)
@@ -147,7 +147,7 @@
147147 <LI><A HREF="reference/PuTTY-LICENSE.txt">License of PuTTY</A></LI>
148148 <LI><A HREF="reference/argon2-LICENSE.txt">License of The reference C implementation of Argon2</A></LI>
149149 <LI><A HREF="reference/CygTerm+-LICENSE.txt">License of CygTerm+</A></LI>
150- <LI><A HREF="reference/develop.txt">For developer</A>
150+ <LI><A HREF="reference/develop.html">For developer</A>
151151 <UL>
152152 <LI>build with CMake (experimental)</LI>
153153 <UL>
--- trunk/doc/en/html/reference/develop.html (nonexistent)
+++ trunk/doc/en/html/reference/develop.html (revision 9685)
@@ -0,0 +1,602 @@
1+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
2+ "http://www.w3.org/TR/html4/strict.dtd">
3+<HTML>
4+<HEAD>
5+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6+<TITLE>Tera Term Development</TITLE>
7+<META http-equiv="Content-Style-Type" content="text/css">
8+<link rel="stylesheet" href="../style.css" type="text/css">
9+</HEAD>
10+<BODY>
11+
12+<h1 class="center">Tera Term Development</h1>
13+
14+<ol>
15+ <li><a href="#environment">Development Environment</a></li>
16+ <li><a href="#library">Libraries</a></li>
17+ <li><a href="#committer">Notice for SVN committer</a></li>
18+ <li><a href="#ini-entry">Add entry to TERATERM.INI</a></li>
19+ <li><a href="#menu-id">Naming rule to add menu ID</a></li>
20+ <li><a href="#add-macro-command">What to do when new macro command is added?</a></li>
21+ <li><a href="#build-library">How to build Libraries</a></li>
22+ <li><a href="#build-teraterm">How to build Tera Term</a></li>
23+ <li><a href="#build-teraterm-menu">How to build TeraTerm Menu</a></li>
24+ <li><a href="#build-ttxkanjimenu">How to build TTXKanjiMenu</a></li>
25+ <li><a href="#build-ttproxy">How to build TTProxy</a></li>
26+ <li><a href="#build-ttssh">How to build TTSSH</a></li>
27+ <li><a href="#build-cygterm">How to build CygTerm</a></li>
28+ <li><a href="#build-ttxsamples">How to build TTXSamples</a></li>
29+ <li><a href="#build-htmlhelp">How to build HTML help file</a></li>
30+ <li><a href="#release">How to release Tera Term installation package</a></li>
31+</ol>
32+
33+<hr>
34+
35+<h2 id="environment">Development Environment</h2>
36+
37+<ul>
38+ <li>OS
39+ <ul>
40+ <li>Windows XP Professional</li>
41+ <li>Windows 8 Pro</li>
42+ <li>Windows 8.1 Pro</li>
43+ <li>Windows 10 Pro</li>
44+ </ul>
45+ </li>
46+ <li>Compiler used for release in Tera Term Project
47+ <ul>
48+ <li>Visual Studio 2005 SP1 Standard Edition (or higher edition)
49+ <ul>
50+ <li>Service Pack 1 (VS80sp1-KB926601-X86-ENU.exe)</li>
51+ <li>Microsoft Visual Studio 2005 Service Pack 1 MFC Security Update (VS80sp1-KB2538218-v2-X86-INTL.exe)</li>
52+ <li>When Windows Vista or higher, Visual Studio 2005 Service Pack 1 Update for Windows Vista (VS80sp1-KB932232-X86-ENU.exe)</li>
53+ <li>Windows Server 2003 R2 Platform SDK(Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1)<br />
54+ Note: The OpenSSL will not able to build by using the Visual Studio 2005 Standard Edition. So, install the Windows Server 2003 R2 Platform SDK to link the "Crypt32.Lib" library.<br />
55+ Configure the INCLUDE and LIB environment variables to be given priority for the SDK installation directory.
56+ <pre>
57+e.g. INCLUDE "C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include"
58+ LIB "C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib"
59+ </pre>
60+ Fix batch file C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\vsvars32.bat
61+ </li>
62+ </ul>
63+ </li>
64+ </ul>
65+ </li>
66+ <li>Supported Compiler
67+ <ul>
68+ <li>Visual Studio 2005 (Added support from Tera Term 4.103)
69+ <ul>
70+ <li>with SDK 7.0
71+ <ul>
72+ <li>Windows Server 2003 R2 Platform SDK (= Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1) (5.2.3790.2075.51.PlatformSDK_Svr2003R2_rtm.img)<br />
73+ Note: unavailable on Microsoft website (at Apr 07, 2019).</li>
74+ </ul>
75+ </li>
76+ <li>with SDK 7.1
77+ <ul>
78+ <li>Microsoft Windows SDK for Windows 7 and .NET Framework 4 (GRMSDK_EN_DVD.iso)</li>
79+ <li>To use with Visual Studio 2005, KB949009(VS80sp1-KB949009-X86-INTL.exe) or KB980422(VS80sp1-KB980422-x86-INTL.exe) is necessary.<br />
80+ Note: KB949009 and KB980422 are unavailable on Microsoft website.</li>
81+ </ul>
82+ built binary is able to run on Windows 95.
83+ </li>
84+ </ul>
85+ </li>
86+ <li>Visual Studio 2008 SP1 Standard Edition (or higher edition)<br />
87+ Note: The executable program which was compiled by this version does not work on Windows NT 4.0, 95, 98 and Me.
88+ </li>
89+ <li>Visual Studio 2010 SP1 Professional Edition (or higher edition)<br />
90+ Note: The executable program which was compiled by this version does not work on Windows 2000, NT 4.0, 95, 98 and Me.
91+ </li>
92+ <li>Visual Studio 2012 Update 4 Professional Edition (or higher edition)<br />
93+ Note: The executable program which was compiled by this version does not work on Windows Vista, XP, 2000, NT 4.0, 95, 98 and Me.
94+ </li>
95+ <li>Visual Studio Community 2013 Update 5<br />
96+ <ul>
97+ <li>MFC MBCS DLL Add-on (vc_mbcsmfc.exe) is necessary.</li>
98+ </ul>
99+ Note: The executable program which was compiled by this version does not work on Windows Vista, XP, 2000, NT 4.0, 95, 98 and Me.
100+ </li>
101+ <li>Visual Studio Community 2015 Update 3<br />
102+ Note: The executable program which was compiled by this version does not work on Windows Vista, XP, 2000, NT 4.0, 95, 98 and Me.
103+ </li>
104+ <li>Visual Studio Community 2017<br />
105+ Note: The executable program which was compiled by this version does not work on Windows Vista, XP, 2000, NT 4.0, 95, 98 and Me.
106+ </li>
107+ <li>Visual Studio Community 2019<br />
108+ Note: The executable program which was compiled by this version does not work on Windows Vista, XP, 2000, NT 4.0, 95, 98 and Me.
109+ </li>
110+ <li>How to build with batch file:<br />
111+ Please execute the batch file on command prompt of Visual Studio. Otherwise, please configure below environment variables.<br />
112+ Please call "(x86) Native Tools Command Prompt" of your Visual Studio to register new PATH regarding the compiler path and VSINSTALLDIR variable.
113+ <pre>
114+Example:
115+INCLUDE C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\ATLMFC\INCLUDE;C:\Program Files (x86)\Windows Kits\8.1\include\shared;C:\Program Files (x86)\Windows Kits\8.1\include\um;
116+LIB C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\LIB;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\ATLMFC\LIB;C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86;
117+PATH C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN;C:\Program Files (x86)\Windows Kits\8.1\bin\x86
118+VSINSTALLDIR C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC
119+ </pre>
120+ </li>
121+ </ul>
122+ </li>
123+ <li>Installer
124+ <ul>
125+ <li>Inno Setup 5.6.1 ANSI (http://www.jrsoftware.org/isinfo.php)
126+ <ul>
127+ <li>Inno Setup Preprocessor</li>
128+ </ul>
129+ </li>
130+ <li>ISTool 5.3.0.1 (https://sourceforge.net/projects/istool/)</li>
131+ </ul>
132+ </li>
133+ <li>Others
134+ <ul>
135+ <li>Cygwin the latest version (because CygTerm+ supports Vista or later from v4.105)</li>
136+ <li>ActivePerl 5.10 or later version, Strawberry Perl 5.30.1.1 or later version<br />
137+ converts character-code and return-code of documents for building OpenSSL.</li>
138+ <li>Subversion for Windows (http://sourceforge.net/projects/win32svn/)<br />
139+ Use the compatible version for check-outed svn version.<br />
140+ Extract into libs\svn. ("svnversion.exe" is located in libs\svn\bin directory.)</li>
141+<!--
142+ <li>Cygwin 1.5.x (1.7.x は Windows 9x をサポートしていないので不可)</li>
143+ <li>ActivePerl 5.10 以上 または Strawberry perl 5.30.1.1 以上<br />
144+ ビルド過程で使用します<br />
145+ <ul>
146+ <li>OpenSSL のコンパイル(必須)</li>
147+ <li>ドキュメントファイルの文字コード・改行コード変換(必須)</li>
148+ <li>リビジョン番号取得 (perlがない場合リビジョン番号を取得せずにビルドします)</li>
149+ </ul>
150+ </li>
151+ <li>Subversion for Windows (http://sourceforge.net/projects/win32svn/)<br />
152+ リビジョン番号取得時に使用します<br />
153+ svnrev_perl/toolinfo.txt に svn.exe のフルパスを記述いてください。<br />
154+ 詳しくは svnrev_perl/readme.md を参照ください
155+ </li>
156+-->
157+ </ul>
158+ </li>
159+</ul>
160+
161+
162+<h2 id="library">Libraries</h2>
163+
164+<ul>
165+ <li>Oniguruma 6.9.7.1 (https://github.com/kkos/oniguruma)</li>
166+ <li>OpenSSL 1.1.1k (http://www.openssl.org/)</li>
167+ <li>zlib 1.2.11 (http://www.zlib.net/)</li>
168+ <li>PuTTY 0.76 (http://www.chiark.greenend.org.uk/~sgtatham/putty/)</li>
169+ <li>SFMT 1.5.1 (http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index.html)</li>
170+ <li>cJSON 1.7.14 (https://github.com/DaveGamble/cJSON/)</li>
171+ <li>The reference C implementation of Argon2 20190702 (https://github.com/P-H-C/phc-winner-argon2)</li>
172+</ul>
173+
174+
175+<h2 id="committer">Notice for SVN committer</h2>
176+
177+<p>
178+SVN repository for committer is the following:
179+</p>
180+<pre>
181+svn+ssh://svn.osdn.net/svnroot/ttssh2/trunk
182+</pre>
183+
184+<p>
185+Should not edit checkout file in copying directory.<br />
186+The other modification code may be deleted in SVN server when you commit checkout file. Also, fix it carefully when the conflicting occurs.
187+</p>
188+
189+<p>
190+Should not have opened checkout file.<br />
191+SVN commit procedure may be failure while checkout file will have been opened.
192+</p>
193+
194+<p>
195+Edit language files<br />
196+Use the text editor supporting multi languages(vim, EmEditor, Notepad++, etc) to edit the language files(installer\release\lang\*.lng).
197+</p>
198+
199+
200+<h2 id="ini-entry">Add entry to TERATERM.INI</h2>
201+
202+<p>
203+Entry name<br />
204+Unfortunately, the confusing entries such as EnableFoo... and DisableBar... are included.<br />
205+It recommends that the new name like as Baz....
206+</p>
207+
208+
209+<h2 id="menu-id">Naming rule to add menu ID</h2>
210+
211+<pre>
212+The first digit is 5.
213+</pre>
214+<pre>
215+The second digit is:
216+ Tera Term VT window 0
217+ Tera Term TEK window 1
218+ TTSSH 2
219+ TTProxy 3
220+ TTXKanjiMenu 4
221+</pre>
222+<pre>
223+The third digit is:
224+ [File] menu 1
225+ [Edit] menu 2
226+ [Setup] menu 3
227+ [Control] menu 4
228+ [Window] menu 8
229+ [Help] menu 9
230+</pre>
231+
232+<p>
233+Example: adding a TTSSH menu under File menu
234+</p>
235+<pre>
236+#define ID_SSHSCPMENU 52110
237+</pre>
238+
239+
240+<h2 id="add-macro-command">What to do when new macro command is added?</h2>
241+
242+<ul>
243+ <li>Coding
244+ <ul>
245+ <li>get a new number of command internal ID.<br />
246+ ... teraterm/ttmacro/ttmparse.h</li>
247+ <li>add a if statement to below function.<br />
248+ ... CheckReservedWord@teraterm/ttmacro/ttmparse.c</li>
249+ <li>add a caller doing the macro command.<br />
250+ ... ExecCmnd@teraterm/ttmacro/ttl.c</li>
251+ <li>make a function code for the macro command.</li>
252+ </ul>
253+ </li>
254+ <li>Help topic
255+ <ul>
256+ <li>make the command help file.<br />
257+ ... doc/LANG/html/macro/command/hogefunc.html</li>
258+ <li>add the file to help topic.<br />
259+ ... doc/LANG/teraterm.hhc</li>
260+ <li>get a new number of context ID in help page.<br />
261+ The value is internal ID + 92000.<br />
262+ ... teraterm/common/helpid.h</li>
263+ <li>make the alias between context ID and calling file.<br />
264+ Open the .hhp file by using Text Editor, added a html line in [ALIAS] tag.<br />
265+ ... doc/LANG/teraterm.hhp</li>
266+ </ul>
267+ </li>
268+</ul>
269+
270+
271+<h2 id="build-library">How to build Libraries</h2>
272+
273+<ul>
274+ <li>PuTTY (used by TTSSH)
275+ <ol>
276+ <li>Extract PuTTY source into libs/putty directory.</li>
277+ </ol>
278+ </li>
279+ <li>Oniguruma (used by Tera Term Macro)
280+ <ol>
281+ <li>Extract oniguruma source into libs/oniguruma directory.</li>
282+ <li>Launch 'Visual Studio 2005 Command Prompt' batch file from start menu.</li>
283+ <li>Move 'libs' directory on the command prompt. And run buildoniguruma6.bat.</li>
284+ </ol>
285+ </li>
286+ <li>OpenSSL (used by TTSSH)
287+ <ol>
288+ <li>Extract openssl source into libs/openssl directory.</li>
289+ <li>When the libs/openssl/Makefile.bak file exists on the OpenSSL 1.0.0e or later, delete the file only once</li>
290+ <li>Launch 'Visual Studio 2005 Command Prompt' batch file from start menu.</li>
291+ <li>Move 'libs' directory on the command prompt. And run buildopenssl11.bat.</li>
292+ </ol>
293+ </li>
294+ <li>Zlib (used by TTSSH)
295+ <ol>
296+ <li>Extract zlib source into libs/zlib directory.</li>
297+ <li>Launch 'Visual Studio 2005 Command Prompt' batch file from start menu.</li>
298+ <li>Move 'libs' directory on the command prompt. And run buildzlib.bat.</li>
299+ </ol>
300+ </li>
301+ <li>SFMT (used by Tera Term Macro)
302+ <ol>
303+ <li>Extract SFMT source into libs/SFMT directory.</li>
304+ <li>Launch 'Visual Studio 2005 Command Prompt' batch file from start menu.</li>
305+ <li>Move 'libs' directory on the command prompt. And run buildSFMT.bat.</li>
306+ <li>Modify version information in libs/SFMT/SFMT_version_for_teraterm.h if necessary.</li>
307+ </ol>
308+ </li>
309+ <li>cJSON (used by TTXCheckUpdate plugin)
310+ <ol>
311+ <li>Extract cJSON source into libs/cJSON directory.</li>
312+ </ol>
313+ </li>
314+ <li>The reference C implementation of Argon2 (used by TTSSH)
315+ <ol>
316+ <li>Extract argon2 source into libs/argon2 directory.</li>
317+ </ol>
318+ </li>
319+</ul>
320+
321+<h2 id="build-teraterm">How to build Tera Term</h2>
322+
323+<p>
324+To build Tera Term source code is shown in the following step:<br />
325+And you should use Visual Studio 2005 Standard Edition later version to build Tera Term because Tera Term program links MFC library (Visual Studio 2005 Express Edition can't be used).
326+</p>
327+
328+<ol>
329+ <li>Checkout Tera Term source code from OSDN(https://osdn.net/projects/ttssh2/).</li>
330+ <li>Open teraterm\visualc\ttermpro.sln with Visual Studio.<br />
331+ The linefeed code of .sln file must be "CR+LF".</li>
332+ <li>Build Tera Term solution.</li>
333+ <li>Tera Term execution program will be generated in teraterm\visualc\bin directory if the building is successful.</li>
334+</ol>
335+
336+
337+<h2 id="build-teraterm-menu">How to build TeraTerm Menu</h2>
338+
339+<ol>
340+ <li>Checkout TeraTerm Menu source code from OSDN(https://osdn.net/projects/ttssh2/).</li>
341+ <li>Open ttpmenu\ttpmenu.sln with Visual Studio.</li>
342+ <li>Build ttpmenu solution.</li>
343+ <li>ttpmenu.exe will be generated in Release directory if the building is successful.</li>
344+</ol>
345+
346+
347+<h2 id="build-ttxkanjimenu">How to build TTXKanjiMenu</h2>
348+
349+<ol>
350+ <li>Checkout TTXKanjiMenu source code from OSDN(https://osdn.net/projects/ttssh2/).</li>
351+ <li>Open TTXKanjiMenu\ttxkanjimenu.sln with Visual Studio.</li>
352+ <li>Build ttpmenu solution.</li>
353+ <li>ttxkanjimenu.dll will be generated in TTXKanjiMenu directory if the building is successful.</li>
354+</ol>
355+
356+
357+<h2 id="build-ttproxy">How to build TTProxy</h2>
358+
359+<p>
360+To build TTProxy source code is shown in the following step:<br />
361+And you need Visual Studio 2005(VC++8.0) to build.
362+</p>
363+
364+<ol>
365+ <li>Checkout TTProxy source code from OSDN(https://osdn.net/projects/ttssh2/).</li>
366+ <li>Open TTProxy\TTProxy.sln with Visual Studio.</li>
367+ <li>Build TTProxy solution.</li>
368+ <li>TTProxy DLL module will be generated in TTProxy directory if the building is successful.</li>
369+</ol>
370+
371+
372+<h2 id="build-ttssh">How to build TTSSH</h2>
373+
374+<p>
375+To build TTSSH source code is shown in the following step:<br />
376+And you need Visual Studio 2005(VC++8.0) and ActivePerl to build.
377+</p>
378+
379+<p>
380+VS2005 Express Edition is able to build TTSSH. TTSSH links to ttpcmn.lib and it must be created beforehand. VS2005 Express Edition cannot build Tera Term, but it can create ttpcmn.lib
381+</p>
382+
383+<p>
384+On VS2008 Express Edition, following error occurs:<br />
385+.\ttxssh.rc(10) : fatal error RC1015: cannot open include file 'afxres.h'.<br />
386+To avoid this error, edit ttxssh.rc file. Delete the line of "afxres.h", and add 2 lines.<br />
387+</p>
388+<pre>
389+- #include "afxres.h"
390++ #include <windows.h>
391++ #define IDC_STATIC -1
392+</pre>
393+
394+<ol>
395+ <li>Checkout TTSSH source code from OSDN(https://osdn.net/projects/ttssh2/).</li>
396+ <li>Open ttssh2\ttssh.sln with Visual Studio.</li>
397+ <li>Build TTSSH solution.</li>
398+ <li>TTSSH DLL will be generated in ttssh2\ttxssh directory if the building is successful.</li>
399+</ol>
400+
401+
402+<h2 id="build-cygterm">How to build CygTerm</h2>
403+
404+<p>
405+To build CygTerm source code is shown in the following step:
406+</p>
407+
408+<ol>
409+ <li>Install Cygwin(https://www.cygwin.com/) to your PC.</li>
410+ <li>Launch Cygwin shell and go to cygterm directory.
411+<pre>
412+# cd cygterm
413+</pre>
414+ </li>
415+ <li>Compile Cygterm.
416+<pre>
417+# make
418+</pre>
419+ </li>
420+</ol>
421+
422+
423+<h2 id="build-ttxsamples">How to build TTXSamples</h2>
424+
425+<p>
426+To build TTXSamples source code is shown in the following step:<br />
427+And you need Visual Studio 2005(VC++8.0) to build. VS2005 Express Edition is able to build TTXSamples.
428+</p>
429+
430+<ol>
431+ <li>Checkout TTXSamples source code from OSDN(https://osdn.net/projects/ttssh2/).</li>
432+ <li>Open TTXSamples\TTXSamples.sln with Visual Studio.</li>
433+ <li>Build TTXSamples solution.</li>
434+ <li>TTXSamples DLL module will be generated in TTXSamples directory if the building is successful.</li>
435+</ol>
436+
437+
438+<h2 id="build-htmlhelp">How to build HTML help file</h2>
439+
440+<p>
441+To build HTML help file is shown in the following step:
442+</p>
443+
444+<ol>
445+ <li>Install HTML Help Compiler<br />
446+ Installing Visual Studio (2017 or later) with "C++ MFC" option, HTML Help Compiler (hhc.exe) is installed.</li>
447+ <li>Run doc\makechm.bat</li>
448+</ol>
449+
450+
451+<h2 id="release">How to release Tera Term installation package</h2>
452+
453+<p>
454+To release Tera Term installation package is shown in the following step:
455+</p>
456+
457+<ol>
458+ <li>Increment the version while RC release process.<br />
459+ The binary is released for test in this timing. Prevent that old and new binary have same version number.
460+ <ul>
461+ <li>teraterm\common\tt-version.h</li>
462+ <li>ttssh2\ttxssh\ttxssh-version.h</li>
463+ <li>ttpmenu\ttpmenu.rc // only modifying</li>
464+ <li>TTProxy\TTProxy.rc // only modifying</li>
465+ <li>TTXKanjiMenu\ttxkanjimenu.rc // only modifying</li>
466+ <li>installer\teraterm.iss
467+ <ul>
468+ <li>version up AppVer and add "RC"</li>
469+ <li>comment out snapshot</li>
470+ <li>change called batch files</li>
471+ </ul>
472+ </li>
473+ </ul>
474+ </li>
475+ <li>Increment the year of last publication of copyright notice if it is first release in this year.
476+ <ul>
477+ <li>teraterm\keycode\keycode-version.rc // VERSIONINFO</li>
478+ <li>teraterm\teraterm\tt-version.rc // VERSIONINFO</li>
479+ <li>teraterm\ttpcmn\ttpcmn-version.rc // VERSIONINFO</li>
480+ <li>teraterm\ttpdlg\ttpdlg.rc // dialog</li>
481+ <li>teraterm\ttpfile\ttpfile-version.rc // VERSIONINFO</li>
482+ <li>teraterm\ttpmacro\ttm-version.rc // VERSIONINFO</li>
483+ <li>teraterm\ttpset\ttpset-version.rc // VERSIONINFO</li>
484+ <li>teraterm\ttptek\ttptek-version.rc // VERSIONINFO</li>
485+ <li>ttssh2\ttxssh\ttxssh.rc // dialog</li>
486+ <li>ttssh2\ttxssh\ttxssh-version.rc // VERSIONINFO</li>
487+ <li>ttpmenu\ttpmenu.rc // dialog, VERSIONINFO</li>
488+ <li>TTProxy\TTProxy.rc // dialog, VERSIONINFO(en), VERSIONINFO(ja)</li>
489+ <li>TTXKanjiMenu\ttxkanjimenu.rc // VERSIONINFO</li>
490+ <li>installer\teraterm.iss</li>
491+ <li>installer\release\license.txt // Tera Term, TTSSH, Cygterm+, TTProxy, TeraTerm Menu, TTX KanjiMenu</li>
492+ <li>doc\en\html\index.html</li>
493+ <li>doc\en\html\about\copyright.html // Tera Term, TTSSH, Cygterm+, TTProxy, TeraTerm Menu, TTX KanjiMenu</li>
494+ <li>doc\en\html\macro\index.html</li>
495+ <li>doc\ja\html\index.html</li>
496+ <li>doc\ja\html\about\copyright.html // Tera Term, TTSSH, Cygterm+, TTProxy, TeraTerm Menu, TTX KanjiMenu</li>
497+ <li>doc\ja\html\macro\index.html</li>
498+ </ul>
499+ </li>
500+ <li>Check latest libraries and tools.
501+ <ul>
502+ <li>Visual Studio<br />
503+ http://www.microsoft.com/japan/msdn/vstudio/downloads/default.aspx</li>
504+ <li>Inno Setup<br />
505+ http://www.jrsoftware.org/isdl.php</li>
506+ <li>Oniguruma<br />
507+ http://www.microsoft.com/japan/msdn/vstudio/downloads/default.aspx</li>
508+ <li>OpenSSL<br />
509+ http://www.openssl.org/</li>
510+ <li>zlib<br />
511+ http://www.zlib.net/</li>
512+ <li>PuTTY<br />
513+ http://www.chiark.greenend.org.uk/~sgtatham/putty/</li>
514+ <li>SFMT<br />
515+ http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index.html</li>
516+ <li>CygTerm<br />
517+ https://googledrive.com/host/0B1s-dM6d6yC4fmhEZ3c0VTNFWEFtV3daUlRGQmFHVnBmVHRybUNnUVliNWktNDRlZ2NnZTQ/index-e.html</li>
518+ </ul>
519+ </li>
520+ <li>Check the document files.</li>
521+ <li>Increase the software version and modify date.
522+ <ul>
523+ <li>teraterm.iss<br />
524+ remove "RC" from AppVer</li>
525+ <li>html/about/hisotry.html</li>
526+ </ul>
527+ Note: Don't update the version number until the release, because the installer does not overwrite file when versions are same.<br />
528+ Note: By way of exception, CygTerm+ always upgrades not regarding Tera Term release process when the patch is committed. The release date is the day committed by a developer. The suffix of CygTerm+ version is patchlevel, and then a user can get gcc compiler for free.
529+ </li>
530+ <li>When CygTerm+ is changed from previous version, please build the software with 64bit Cygwin and replace cygterm\cygterm+-x86_64\cygterm.exe.</li>
531+ <li>Evaluate executable program file.
532+ <ul>
533+ <li>Make installer package<br />
534+ Open "teraterm\installer\teraterm.iss" with ISTool and call [Project]-[Compile Setup] with InnoSetup.</li>
535+ <li>Test Tera Term installation and evaluate it.</li>
536+ </ul>
537+ </li>
538+ <li>Create SVN tag.<br />
539+ The naming rule is `teraterm-version'(ex. teraterm-4_82).<br />
540+<pre>
541+svn copy -m "Release 4.82" svn+ssh://svn.osdn.net/svnroot/ttssh2/trunk svn+ssh://svn.osdn.net/svnroot/ttssh2/tags/teraterm-4_82
542+</pre>
543+ </li>
544+ <li>Re-checkout from svn tag.</li>
545+ <li>Make installer package
546+ <ul>
547+ <li>Edit "teraterm\installer\teraterm.iss"
548+<pre>
549+#define AppVer "4.???"
550+;#define snapshot GetDateTimeString('yyyymmdd_hhnnss', '', '');
551+
552+[InnoIDE_PreCompile]
553+Name: makechm.bat
554+;Name: build.bat
555+Name: build.bat; Parameters: rebuild
556+
557+[InnoIDE_PostCompile]
558+Name: makearchive.bat; Parameters: release
559+
560+[PreCompile]
561+Name: makechm.bat
562+;Name: build.bat
563+Name: build.bat; Parameters: rebuild
564+
565+[PostCompile]
566+Name: makearchive.bat; Parameters: release
567+
568+[_ISToolPreCompile]
569+Name: makechm.bat
570+;Name: build.bat
571+Name: build.bat; Parameters: rebuild
572+
573+[_ISToolPostCompile]
574+Name: makearchive.bat; Parameters: release
575+</pre>
576+ </li>
577+ <li>Open "teraterm\installer\teraterm.iss" with ISTool and call [Project]-[Compile Setup] with InnoSetup.</li>
578+ </ul>
579+ </li>
580+ <li>Update OSDN project site.
581+ <ul>
582+ <li>Add new release.</li>
583+ <li>Submit news.</li>
584+ </ul>
585+ </li>
586+ <li>Announce release to mailing list(in Japan).</li>
587+ <li>Update OSDN project home page.</li>
588+ <li>Delete snapshots.</li>
589+ <li>Announce release to forum(in Canada).<br />
590+ Announcements http://logmett.com/support-forums/5<br />
591+ Create new topic in `Announcements' entry.<br />
592+ Change the type of previous Announcement from Announcement to Normal.<br />
593+ Delete third previous Announcement.</li>
594+ <li>Announce release to Twitter.<br />
595+ https://twitter.com/Tera_Term<br />
596+ Post release announcement and pin.</li>
597+ </li>
598+ <li>Update Chocolatey</li>
599+</ol>
600+
601+</body>
602+</html>
--- trunk/doc/ja/html/index.html (revision 9684)
+++ trunk/doc/ja/html/index.html (revision 9685)
@@ -149,7 +149,7 @@
149149 <LI><A HREF="reference/PuTTY-LICENSE.txt">PuTTY ライセンス</A></LI>
150150 <LI><A HREF="reference/argon2-LICENSE.txt">The reference C implementation of Argon2 ライセンス</A></LI>
151151 <LI><A HREF="reference/CygTerm+-LICENSE.txt">CygTerm+ ライセンス</A></LI>
152- <LI><A HREF="reference/develop.txt">開発者向け</A>
152+ <LI><A HREF="reference/develop.html">開発者向け</A>
153153 <UL>
154154 <LI>CMakeビルドシステムを使用したビルド(experimental)</LI>
155155 <UL>
--- trunk/doc/ja/html/reference/develop.html (nonexistent)
+++ trunk/doc/ja/html/reference/develop.html (revision 9685)
@@ -0,0 +1,625 @@
1+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
2+ "http://www.w3.org/TR/html4/strict.dtd">
3+<HTML>
4+<HEAD>
5+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
6+<TITLE>Tera Term 開発者向け</TITLE>
7+<META http-equiv="Content-Style-Type" content="text/css">
8+<link rel="stylesheet" href="../style.css" type="text/css">
9+</HEAD>
10+<BODY>
11+
12+<h1 class="center">Tera Term 開発者向け</h1>
13+
14+<ol>
15+ <li><a href="#environment">開発環境</a></li>
16+ <li><a href="#library">ライブラリ</a></li>
17+ <li><a href="#committer">SVN コミッターへの注意</a></li>
18+ <li><a href="#ini-entry">TERATERM.INI への項目追加</a></li>
19+ <li><a href="#menu-id">メニューID追加時の命名規則</a></li>
20+ <li><a href="#add-macro-command">マクロコマンド追加時の作業リスト</a></li>
21+ <li><a href="#build-library">ライブラリのビルド方法</a></li>
22+ <li><a href="#build-teraterm">Tera Termのビルド方法</a></li>
23+ <li><a href="#build-teraterm-menu">TeraTerm Menuのビルド方法</a></li>
24+ <li><a href="#build-ttxkanjimenu">TTXKanjiMenuのビルド方法</a></li>
25+ <li><a href="#build-ttproxy">TTProxyのビルド方法</a></li>
26+ <li><a href="#build-ttssh">TTSSHのビルド方法</a></li>
27+ <li><a href="#build-cygterm">CygTermのビルド方法</a></li>
28+ <li><a href="#build-ttxsamples">TTXSamplesのビルド方法</a></li>
29+ <li><a href="#build-htmlhelp">ヘルプファイルのビルド方法</a></li>
30+ <li><a href="#release">リリースの方法</a></li>
31+</ol>
32+
33+<hr>
34+
35+<h2 id="environment">開発環境</h2>
36+
37+<ul>
38+ <li>OS
39+ <ul>
40+ <li>Windows XP Professional</li>
41+ <li>Windows 8 Pro</li>
42+ <li>Windows 8.1 Pro</li>
43+ <li>Windows 10 Pro</li>
44+ </ul>
45+ </li>
46+ <li>Tera Term Project でリリースに使用しているコンパイラ
47+ <ul>
48+ <li>Visual Studio 2005 SP1 (Standard Edition 以上)
49+ <ul>
50+ <li>Service Pack 1 (VS80sp1-KB926601-X86-ENU.exe)</li>
51+ <li>Microsoft Visual Studio 2005 Service Pack 1 MFC セキュリティ更新プログラム (VS80sp1-KB2538218-v2-X86-INTL.exe)</li>
52+ <li>Windows Vista 以上でビルドする場合は、Visual Studio 2005 Service Pack 1 Update for Windows Vista (VS80sp1-KB932236-X86-JPN.exe)</li>
53+ <li>Windows Server 2003 R2 Platform SDK(Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1)<br />
54+ 注: Visual Studio 2005 Standard Editionでは、OpenSSL のビルドが失敗します。Windows Server 2003 R2 Platform SDK をインストールし、"Crypt32.Lib"をリンクできるようにしておく必要があります。<br />
55+ SDK でインストールされたディレクトリが最優先になるよう、INCLUDE および LIB 環境変数を設定します。
56+ <pre>
57+e.g. INCLUDE "C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include"
58+ LIB "C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib"
59+ </pre>
60+ 修正バッチファイル C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\vsvars32.bat
61+ </li>
62+ </ul>
63+ </li>
64+ </ul>
65+ </li>
66+ <li>サポートされているコンパイラ
67+ <ul>
68+ <li>Visual Studio 2005 (Express EditionはTera Term 4.103から対応)
69+ <ul>
70+ <li>with SDK 7.0
71+ <ul>
72+ <li>Windows Server 2003 R2 Platform SDK (= Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1) (5.2.3790.2075.51.PlatformSDK_Svr2003R2_rtm.img)<br />
73+ 注: Microsoftのサイトからは入手不可能(2019/04/07時点)</li>
74+ </ul>
75+ </li>
76+ <li>with SDK 7.1
77+ <ul>
78+ <li>Microsoft Windows SDK for Windows 7 and .NET Framework 4 (GRMSDK_EN_DVD.iso)</li>
79+ <li>Visual Studio 2005で利用するにはKB949009(VS80sp1-KB949009-X86-INTL.exe)かKB980422(VS80sp1-KB980422-x86-INTL.exe)が必要<br />
80+ 注: KB949009,KB980422はMicrosoftのサイトから入手不可能</li>
81+ </ul>
82+ Windows95でも動作するバイナリをビルド可能
83+ </li>
84+ </ul>
85+ </li>
86+ <li>Visual Studio 2008 SP1 (Standard Edition 以上)<br />
87+ 注: コンパイルされた実行ファイルは Windows NT 4.0, 95, 98, Me で動きません。
88+ </li>
89+ <li>Visual Studio 2010 SP1 (Professional Edition 以上)<br />
90+ 注: コンパイルされた実行ファイルは Windows 2000, NT 4.0, 95, 98, Me で動きません。
91+ </li>
92+ <li>Visual Studio 2012 Update 4 (Professional Edition 以上)<br />
93+ 注: コンパイルされた実行ファイルは Windows Vista, XP, 2000, NT 4.0, 95, 98, Me で動きません。<br />
94+ Windows Vista, XP をサポートするには v110_xp を指定してください。
95+ </li>
96+ <li>Visual Studio Community 2013 Update 5<br />
97+ <ul>
98+ <li>MFC MBCS DLL アドオン (vc_mbcsmfc.exe)</li>
99+ </ul>
100+ 注: コンパイルされた実行ファイルは Windows Vista, XP, 2000, NT 4.0, 95, 98, Me で動きません。<br />
101+ Windows Vista, XP をサポートするには v120_xp を指定してください。
102+ </li>
103+ <li>Visual Studio Community 2015 Update 3<br />
104+ 注: コンパイルされた実行ファイルは Windows Vista, XP, 2000, NT 4.0, 95, 98, Me で動きません。<br />
105+ Windows Vista, XP をサポートするには v140_xp を指定してください。
106+ </li>
107+ <li>Visual Studio Community 2017<br />
108+ 注: コンパイルされた実行ファイルは Windows Vista, XP, 2000, NT 4.0, 95, 98, Me で動きません。<br />
109+ Windows Vista, XP をサポートするには v141_xp を指定してください。
110+ </li>
111+ <li>Visual Studio Community 2019<br />
112+ 注: コンパイルされた実行ファイルは Windows Vista, XP, 2000, NT 4.0, 95, 98, Me で動きません。
113+ </li>
114+ <li>バッチファイルからビルドするために<br />
115+ Visual Studio のコマンドプロンプトからバッチファイルを実行するか、以下のように環境変数を設定してください。<br />
116+ 使用したいバージョンの Visual Studio の "(x86) Native Tools Command Prompt" を実行し、コンパイラのパスに関係する PATH と VSINSTALLDIR 変数を環境変数に登録してください。
117+ <pre>
118+Example:
119+INCLUDE C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\ATLMFC\INCLUDE;C:\Program Files (x86)\Windows Kits\8.1\include\shared;C:\Program Files (x86)\Windows Kits\8.1\include\um;
120+LIB C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\LIB;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\ATLMFC\LIB;C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86;
121+PATH C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN;C:\Program Files (x86)\Windows Kits\8.1\bin\x86
122+VSINSTALLDIR C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC
123+ </pre>
124+ </li>
125+ </ul>
126+ </li>
127+ <li>インストーラ
128+ <ul>
129+ <li>Inno Setup 5.6.1 ANSI (http://www.jrsoftware.org/isinfo.php)
130+ <ul>
131+ <li>Inno Setup Preprocessor</li>
132+ </ul>
133+ </li>
134+ <li>ISTool 5.3.0.1 (https://sourceforge.net/projects/istool/)</li>
135+ </ul>
136+ </li>
137+ <li>その他
138+ <ul>
139+ <li>Cygwin 最新版(v4.105からCygTerm+はVista以降対応となったため)</li>
140+ <li>ActivePerl 5.10 以上 または Strawberry Perl 5.30.1.1 以上<br />
141+ ビルド過程で使用します<br />
142+ <ul>
143+ <li>OpenSSL のコンパイル(必須)</li>
144+ <li>ドキュメントファイルの文字コード・改行コード変換(必須)</li>
145+ <li>リビジョン番号取得 (perlがない場合リビジョン番号を取得せずにビルドします)</li>
146+ </ul>
147+ </li>
148+ <li>Subversion for Windows (http://sourceforge.net/projects/win32svn/)<br />
149+ ソースのチェックアウトに使った svn と互換性のあるバージョン。<br />
150+ libs\svn へ解凍します。("svnversion.exe" が libs\svn\bin に配置されるようにしてください)</li>
151+ <li>Subversion for Windows (http://sourceforge.net/projects/win32svn/)<br />
152+ リビジョン番号取得時に使用します<br />
153+ svnrev_perl/toolinfo.txt に svn.exe のフルパスを記述いてください。<br />
154+ 詳しくは svnrev_perl/readme.md を参照ください
155+ </li>
156+ </ul>
157+ </li>
158+</ul>
159+
160+
161+<h2 id="library">ライブラリ</h2>
162+
163+<ul>
164+ <li>Oniguruma 6.9.7.1 (https://github.com/kkos/oniguruma)</li>
165+ <li>OpenSSL 1.1.1k (http://www.openssl.org/)</li>
166+ <li>zlib 1.2.11 (http://www.zlib.net/)</li>
167+ <li>PuTTY 0.76 (http://www.chiark.greenend.org.uk/~sgtatham/putty/)</li>
168+ <li>SFMT 1.5.1 (http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index.html)</li>
169+ <li>cJSON 1.7.14 (https://github.com/DaveGamble/cJSON/)</li>
170+ <li>The reference C implementation of Argon2 20190702 (https://github.com/P-H-C/phc-winner-argon2)</li>
171+</ul>
172+
173+
174+<h2 id="committer">SVN コミッターへの注意</h2>
175+
176+<p>
177+SVN リポジトリは一般向けとは違い、以下の通りです。
178+</p>
179+<pre>
180+svn+ssh://svn.osdn.net/svnroot/ttssh2/trunk
181+</pre>
182+
183+<p>
184+ファイルを別のディレクトリで編集しないでください。<br />
185+コミットしたときに別の人の修正を削除してしまうことがあります。
186+</p>
187+
188+<p>
189+アップデート・コミット時の注意<br />
190+svnの処理が失敗することがあるので、ファイルをエディタ等で開いたままで行わないでください。
191+</p>
192+
193+<p>
194+言語ファイル編集時の注意<br />
195+言語ファイル(installer\release\lang\*.lng)は多言語対応エディタ(vim, EmEditor, Notepad++等)で編集してください。
196+</p>
197+
198+
199+<h2 id="ini-entry">TERATERM.INI への項目追加</h2>
200+
201+<p>
202+項目名<br />
203+すでに EnableFoo... や DisableBar... が混在してしまっているが、混乱しやすい。<br />
204+今後は Baz... という形式にするのが望ましい。
205+</p>
206+
207+
208+<h2 id="menu-id">メニューID追加時の命名規則</h2>
209+
210+<pre>
211+1桁目は 5
212+</pre>
213+<pre>
214+2桁目は
215+ Tera Term VT ウィンドウなら 0
216+ Tera Term TEK ウィンドウなら 1
217+ TTSSH なら 2
218+ TTProxy なら 3
219+ TTXKanjiMenu なら 4
220+</pre>
221+<pre>
222+3桁目は
223+ [File] メニューなら 1
224+ [Edit] メニューなら 2
225+ [Setup] メニューなら 3
226+ [Control] メニューなら 4
227+ [Window] メニューなら 8
228+ [Help] メニューなら 9
229+</pre>
230+
231+<p>
232+例:File配下にTTSSHのメニューを追加する
233+</p>
234+<pre>
235+#define ID_SSHSCPMENU 52110
236+</pre>
237+
238+
239+<h2 id="add-macro-command">マクロコマンド追加時の作業リスト</h2>
240+
241+<p>
242+Tera Termマクロを新設するときの作業手順について、以下に示します。
243+</p>
244+
245+<ul>
246+ <li>ソースコードの修正
247+ <ul>
248+ <li>コマンドの内部 ID を採番する。(「内部 ID」は"helpid.h"にも使用される)<br />
249+ ... teraterm/ttmacro/ttmparse.h</li>
250+ <li>コマンド名を走査して内部 ID に変換する。<br />
251+ ... CheckReservedWord@teraterm/ttmacro/ttmparse.c</li>
252+ <li>コマンドの内部 ID から実際に処理をする関数を呼ぶ。<br />
253+ ... ExecCmnd@teraterm/ttmacro/ttl.c</li>
254+ <li>処理する関数を作る。</li>
255+ </ul>
256+ </li>
257+ <li>ヘルプ(言語ごと)
258+ <ul>
259+ <li>コマンドのヘルプを作る。<br />
260+ ... doc/LANG/html/macro/command/hogefunc.html</li>
261+ <li>コマンド一覧ページに追加する。<br />
262+ ... doc/LANG/html/macro/command/index.html</li>
263+ <li>ヘルプトピックに追加する。<br />
264+ ... doc/LANG/teraterm.hhc</li>
265+ <li>ヘルプページのコンテキスト ID を採番する。<br />
266+ 値は コマンドの内部 ID + 92000。<br />
267+ ... teraterm/common/helpid.h</li>
268+ <li>コンテキスト ID と呼び出すファイルのエイリアスを作成する。<br />
269+ テキストエディタで直接開き、[ALIAS]にHTMLを追加する。<br />
270+ ... doc/LANG/teraterm.hhp</li>
271+ </ul>
272+ </li>
273+</ul>
274+
275+
276+<h2 id="build-library">ライブラリのビルド方法</h2>
277+
278+<ul>
279+ <li>PuTTY (used by TTSSH)
280+ <ol>
281+ <li>PuTTY のソースを libs/putty の中に展開する。<br />
282+ ttssh ソリューション配下の putty プロジェクトにより必要な機能のみが静的ライブラリ化され、ttxssh.dll にリンクされるため、展開するだけでよい。</li>
283+ </ol>
284+ </li>
285+ <li>Oniguruma (used by Tera Term Macro)
286+ <ol>
287+ <li>oniguruma のソースを libs/oniguruma の中に展開する。</li>
288+ <li>スタートメニューから「Visual Studio 2005 コマンド プロンプト」を起動する。</li>
289+ <li>コマンドプロンプト上から libs ディレクトリに移動し、buildoniguruma6.bat を実行する。</li>
290+ </ol>
291+ </li>
292+ <li>OpenSSL (used by TTSSH)
293+ <ol>
294+ <li>openssl のソースを libs/openssl の中に展開する。</li>
295+ <li> OpenSSL 1.0.0e 以降で、libs/openssl/Makefile.bak が最初から存在する場合は、一度だけ手動で削除してください。</li>
296+ <li>スタートメニューから「Visual Studio 2005 コマンド プロンプト」を起動する。</li>
297+ <li>コマンドプロンプト上から libs ディレクトリに移動し、buildopenssl11.bat を実行する。</li>
298+ </ol>
299+ </li>
300+ <li>Zlib (used by TTSSH)
301+ <ol>
302+ <li>zlib のソースを libs/zlib の中に展開する。</li>
303+ <li>スタートメニューから「Visual Studio 2005 コマンド プロンプト」を起動する。</li>
304+ <li>コマンドプロンプト上から libs ディレクトリに移動し、buildzlib.bat を実行する。</li>
305+ </ol>
306+ </li>
307+ <li>SFMT (used by Tera Term Macro)
308+ <ol>
309+ <li>SFMT のソースを libs/SFMT の中に展開する。</li>
310+ <li>スタートメニューから「Visual Studio 2005 コマンド プロンプト」を起動する。</li>
311+ <li>コマンドプロンプト上から libs ディレクトリに移動し、buildSFMT.bat を実行する。</li>
312+ <li>必要に応じて libs/SFMT/SFMT_version_for_teraterm.h のバージョン番号を修正する。</li>
313+ </ol>
314+ </li>
315+ <li>cJSON (used by TTXCheckUpdate plugin)
316+ <ol>
317+ <li>EcJSON のソースを libs/cJSON の中に展開する。</li>
318+ </ol>
319+ </li>
320+ <li>The reference C implementation of Argon2 (used by TTSSH)
321+ <ol>
322+ <li>argon2 のソースを libs/argon2 の中に展開する。<br />
323+ argon2 リファレンス実装には静的ライブラリを生成するプロジェクトファイルが含まれていない。<br />
324+ ttssh ソリューション配下の argon2 プロジェクトにより静的ライブラリが生成され、ttxssh.dll にリンクされるため、展開するだけでよい。</li>
325+ </ol>
326+ </li>
327+</ul>
328+
329+<h2 id="build-teraterm">Tera Termのビルド方法</h2>
330+
331+<p>
332+Tera Termのビルド方法について以下に示します。<br />
333+ビルドにはVisual Studio 2005 Standard Edition以上が必要です。(Visual Studio 2005 Express Editionは不可)
334+</p>
335+
336+<ol>
337+ <li>ソースコードをOSDN(https://ja.osdn.net/projects/ttssh2/)からチェックアウトする。</li>
338+ <li>teraterm\visualc\ttermpro.sln をVisual Studioで開く。<br />
339+ .slnファイルの改行コードが"LF"になっていると、Visual Studioが起動しないので注意願います。</li>
340+ <li>ソリューションをビルドする。</li>
341+ <li>ビルドに成功するとteraterm ディレクトリに実行プログラムが生成される。</li>
342+</ol>
343+
344+
345+<h2 id="build-teraterm-menu">TeraTerm Menuのビルド方法</h2>
346+
347+<ol>
348+ <li>Checkout TeraTerm Menu source code from OSDN(https://osdn.net/projects/ttssh2/).</li>
349+ <li>ttpmenu\ttpmenu.sln をVisual Studioで開く。</li>
350+ <li>ソリューションをビルドする。</li>
351+ <li>ビルドに成功すると ttpmenu ディレクトリに ttpmenu.exe が生成される。</li>
352+</ol>
353+
354+
355+<h2 id="build-ttxkanjimenu">TTXKanjiMenuのビルド方法</h2>
356+
357+<ol>
358+ <li>Checkout TeraTerm Menu source code from OSDN(https://osdn.net/projects/ttssh2/).</li>
359+ <li>TTXKanjiMenu\ttxkanjimenu.sln をVisual Studioで開く。</li>
360+ <li>ソリューションをビルドする。</li>
361+ <li>ビルドに成功すると TTXKanjiMenu ディレクトリに ttxkanjimenu.dll が生成される。</li>
362+</ol>
363+
364+
365+<h2 id="build-ttproxy">TTProxyのビルド方法</h2>
366+
367+<p>
368+TTProxyのビルド方法について以下に示します。<br />
369+ビルドにはVisual Studio 2005(VC++8.0)が必要です。
370+</p>
371+
372+<ol>
373+ <li>ソースコードをOSDN(https://ja.osdn.net/projects/ttssh2/)からチェックアウトする。</li>
374+ <li>TTProxy\TTProxy.sln をVisual Studioで開く。</li>
375+ <li>ソリューションをビルドする。</li>
376+ <li>ビルドに成功すると TTProxy ディレクトリにDLLが生成される。</li>
377+</ol>
378+
379+
380+<h2 id="build-ttssh">TTSSHのビルド方法</h2>
381+
382+<p>
383+TTSSHのビルド方法について以下に示します。<br />
384+ビルドにはVisual Studio 2005(VC++8.0)、ActivePerlが必要です。
385+</p>
386+
387+<p>
388+TTSSH単体のビルドは VS2005 Express Edition でも可能です。ttpcmn.libをリンクするため、Tera Termのビルドを事前に行っておく必要があります。VS2005 Express EditionではTera Termのビルドはできませんが、ttpcmn.libは作成することができます。
389+</p>
390+
391+<p>
392+VS2008 Express Editionでビルドすると、.rcファイルで下記のエラーが発生します。<br />
393+.\ttxssh.rc(10) : fatal error RC1015: cannot open include file 'afxres.h'.<br />
394+本現象を回避するには、.rcファイルをテキストエディタで開き、afxres.hのincludeを削除し、新規に2行を追加します。<br />
395+</p>
396+<pre>
397+- #include "afxres.h"
398++ #include <windows.h>
399++ #define IDC_STATIC -1
400+</pre>
401+
402+<ol>
403+ <li>ソースコードをOSDN(https://ja.osdn.net/projects/ttssh2/)からチェックアウトする。</li>
404+ <li>ttssh2\ttssh.sln をVisual Studioで開く。</li>
405+ <li>ソリューションをビルドする。</li>
406+ <li>ビルドに成功するとttssh2\ttxssh ディレクトリにDLLが生成される。</li>
407+</ol>
408+
409+
410+<h2 id="build-cygterm">CygTermのビルド方法</h2>
411+
412+<p>
413+CygTermのビルド方法について以下に示します。
414+</p>
415+
416+<ol>
417+ <li>Cygwin(https://www.cygwin.com/)をインストールする。</li>
418+ <li>Cygwinのシェルを起動し、cygterm ディレクトリへ移動する。
419+<pre>
420+# cd cygterm
421+</pre>
422+ </li>
423+ <li>CygTermをコンパイルする。
424+<pre>
425+# make
426+</pre>
427+ </li>
428+</ol>
429+
430+
431+<h2 id="build-ttxsamples">TTXSamplesのビルド方法</h2>
432+
433+<p>
434+リポジトリのTTXSamplesに Tera Term Extension (TTX)のサンプルがあります。TTXを作る際の参考にしてください。<br />
435+TTXSamplesのビルドにはVisual Studio 2005(VC++8.0)が必要です。Tera Term本体とは違い、Express Editionでもビルド可能です。
436+</p>
437+
438+<ol>
439+ <li>ソースコードをOSDN(https://ja.osdn.net/projects/ttssh2/)からチェックアウトする。</li>
440+ <li>TTXSamples\TTXSamples.sln をVisual Studioで開く。</li>
441+ <li>ソリューションをビルドする。</li>
442+ <li>ビルドに成功すると TTXSamples ディレクトリにDLLが生成される。</li>
443+</ol>
444+
445+<p>
446+各TTXの詳細については、プロジェクト内のReadMe-ja.txtを参照してください。
447+</p>
448+
449+
450+
451+<h2 id="build-htmlhelp">ヘルプファイルのビルド方法</h2>
452+
453+<p>
454+ヘルプファイルのビルド方法について以下に示します。
455+</p>
456+
457+<ol>
458+ <li>HTML Help Compiler を入手する。<br />
459+ Visual Studio (2017 以降) を "C++ MFC" オプションを選択してインストールすると、HTML Help Compiler (hhc.exe) がインストールされる。</li>
460+ <li>doc\makechm.bat を実行する。</li>
461+</ol>
462+
463+
464+<h2 id="release">リリースの方法</h2>
465+
466+<p>
467+リリースの方法について以下に示します。
468+</p>
469+
470+<ol>
471+ <li>RC 作成時にバージョンを一つインクリメントする。<br />
472+ 一般にテストを呼びかけ、旧バージョンとの同時実行が考えられるため、このタイミングとする(cf. TT_FILEMAPNAME 定義)。
473+ <ul>
474+ <li>teraterm\common\tt-version.h</li>
475+ <li>ttssh2\ttxssh\ttxssh-version.h</li>
476+ <li>ttpmenu\ttpmenu.rc // only modifying</li>
477+ <li>TTProxy\TTProxy.rc // only modifying</li>
478+ <li>TTXKanjiMenu\ttxkanjimenu.rc // only modifying</li>
479+ <li>installer\teraterm.iss
480+ <ul>
481+ <li>AppVer を上げ、"RC" を追加</li>
482+ <li>snapshot を コメントアウト</li>
483+ <li>バッチファイルの呼び出しを修正</li>
484+ </ul>
485+ </li>
486+ </ul>
487+ </li>
488+ <li>この年における最初のリリースの場合は、著作権表示の「最後の発行の年」をインクリメントする。
489+ <ul>
490+ <li>teraterm\keycode\keycode-version.rc // VERSIONINFO</li>
491+ <li>teraterm\teraterm\tt-version.rc // VERSIONINFO</li>
492+ <li>teraterm\ttpcmn\ttpcmn-version.rc // VERSIONINFO</li>
493+ <li>teraterm\ttpdlg\ttpdlg.rc // dialog</li>
494+ <li>teraterm\ttpfile\ttpfile-version.rc // VERSIONINFO</li>
495+ <li>teraterm\ttpmacro\ttm-version.rc // VERSIONINFO</li>
496+ <li>teraterm\ttpset\ttpset-version.rc // VERSIONINFO</li>
497+ <li>teraterm\ttptek\ttptek-version.rc // VERSIONINFO</li>
498+ <li>ttssh2\ttxssh\ttxssh.rc // dialog</li>
499+ <li>ttssh2\ttxssh\ttxssh-version.rc // VERSIONINFO</li>
500+ <li>ttpmenu\ttpmenu.rc // dialog, VERSIONINFO</li>
501+ <li>TTProxy\TTProxy.rc // dialog, VERSIONINFO(en), VERSIONINFO(ja)</li>
502+ <li>TTXKanjiMenu\ttxkanjimenu.rc // VERSIONINFO</li>
503+ <li>installer\teraterm.iss</li>
504+ <li>installer\release\license.txt // Tera Term, TTSSH, Cygterm+, TTProxy, TeraTerm Menu, TTX KanjiMenu</li>
505+ <li>doc\en\html\index.html</li>
506+ <li>doc\en\html\about\copyright.html // Tera Term, TTSSH, Cygterm+, TTProxy, TeraTerm Menu, TTX KanjiMenu</li>
507+ <li>doc\en\html\macro\index.html</li>
508+ <li>doc\ja\html\index.html</li>
509+ <li>doc\ja\html\about\copyright.html // Tera Term, TTSSH, Cygterm+, TTProxy, TeraTerm Menu, TTX KanjiMenu</li>
510+ <li>doc\ja\html\macro\index.html</li>
511+ </ul>
512+ </li>
513+ <li>依存ライブラリ、ツール、インポート元の最新版をチェックする。
514+ <ul>
515+ <li>Visual Studio<br />
516+ http://www.microsoft.com/japan/msdn/vstudio/downloads/default.aspx</li>
517+ <li>Inno Setup<br />
518+ http://www.jrsoftware.org/isdl.php</li>
519+ <li>Oniguruma<br />
520+ http://www.microsoft.com/japan/msdn/vstudio/downloads/default.aspx</li>
521+ <li>OpenSSL<br />
522+ http://www.openssl.org/</li>
523+ <li>zlib<br />
524+ http://www.zlib.net/</li>
525+ <li>PuTTY<br />
526+ http://www.chiark.greenend.org.uk/~sgtatham/putty/</li>
527+ <li>SFMT<br />
528+ http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index.html</li>
529+ <li>CygTerm<br />
530+ https://googledrive.com/host/0B1s-dM6d6yC4fmhEZ3c0VTNFWEFtV3daUlRGQmFHVnBmVHRybUNnUVliNWktNDRlZ2NnZTQ/index-e.html</li>
531+ </ul>
532+ </li>
533+ <li>ドキュメントを確認する。
534+ <ul>
535+ <li>ダイアログ上の設定項目・UIのない特別オプション・コマンドラインパラメータ・新規マクロコマンドなど、対応するドキュメントに漏れがないか確認する。</li>
536+ <li>変更履歴の書き忘れを確認する。<br />
537+ おおむね変更した順に追記される変更履歴の順番を変更する。だいたいの指針としては、ターミナルエミュレーション関係・アプリケーションとしての変更・マクロの順。</li>
538+ <li>ドキュメント差分が翻訳されていることを確認する。</li>
539+ </ul>
540+ </li>
541+ <li>バージョンを上げ、日付を変更する。
542+ <ul>
543+ <li>teraterm.iss<br />
544+ AppVer から RC を削除</li>
545+ <li>html/about/hisotry.html</li>
546+ </ul>
547+ CygTerm+ は例外で、リリースとは関係なくバージョンが上がる。<br />
548+ パッチがコミットされると即リリース扱いになり、リリース日はその日付となる。<br />
549+ これは、バージョンの末尾が patchlevel であり、コンパイラの入手が容易なため。
550+ </li>
551+ <li>前回のリリースからCygTerm+に変更がある場合は、64bit Cygwinでビルドして cygterm\cygterm+-x86_64\cygterm.exe の差し替えを行う。</li>
552+ <li>動作確認をする
553+ <ul>
554+ <li>インストーラを作成する。<br />
555+ ISTool で teraterm\installer\teraterm.iss を開き、[Project]-[Compile Setup]で作成される。</li>
556+ <li>インストールおよび実行をテストする。</li>
557+ </ul>
558+ </li>
559+ <li>SVN のタグを作成する。<br />
560+ タグ名は「teraterm-バージョン」。たとえば、v4.82ならば"teraterm-4_82"。<br />
561+ <pre>
562+svn copy -m "Release 4.82" svn+ssh://svn.osdn.net/svnroot/ttssh2/trunk svn+ssh://svn.osdn.net/svnroot/ttssh2/tags/teraterm-4_82
563+ </pre>
564+ </li>
565+ <li>リリース用のタグでチェックアウトし直す。</li>
566+ <li>インストーラを作成する。
567+ <ul>
568+ <li>teraterm\installer\teraterm.iss を編集する
569+<pre>
570+#define AppVer "4.???"
571+;#define snapshot GetDateTimeString('yyyymmdd_hhnnss', '', '');
572+
573+[InnoIDE_PreCompile]
574+Name: makechm.bat
575+;Name: build.bat
576+Name: build.bat; Parameters: rebuild
577+
578+[InnoIDE_PostCompile]
579+Name: makearchive.bat; Parameters: release
580+
581+[PreCompile]
582+Name: makechm.bat
583+;Name: build.bat
584+Name: build.bat; Parameters: rebuild
585+
586+[PostCompile]
587+Name: makearchive.bat; Parameters: release
588+
589+[_ISToolPreCompile]
590+Name: makechm.bat
591+;Name: build.bat
592+Name: build.bat; Parameters: rebuild
593+
594+[_ISToolPostCompile]
595+Name: makearchive.bat; Parameters: release
596+</pre>
597+ </li>
598+ <li>ISTool で teraterm\installer\teraterm.iss を開き、[Project]-[Compile Setup]で作成される</li>
599+ </ul>
600+ </li>
601+ <li>OSDN を更新する。
602+ <ul>
603+ <li>[ダウンロード]-[管理]-[新規作成]<br />
604+ 変更履歴を入力してリリースを作成する。</li>
605+ <li>[ニュース一覧]-[新規登録]<br />
606+ ニュース記事を作成する。</li>
607+ </ul>
608+ </li>
609+ <li>メーリングリストにアナウンスする。</li>
610+ <li>プロジェクトページを更新する。</li>
611+ <li>スナップショットを削除する。</li>
612+ <li>Twitter に告知する。<br />
613+ https://twitter.com/Tera_Term<br />
614+ リリース告知をツイートして固定する。</li>
615+ </li>
616+ <li>フォーラムに告知する。<br />
617+ Announcements http://logmett.com/support-forums/5<br />
618+ Announcements に新規投稿する。種類は Announcement。<br />
619+ 一つ前の Announcement の種類を Normal に変更する。<br />
620+ Announcement は三個残すことになっているので、三つ前の Announcement を削除する。</li>
621+ <li>Chocolatey の登録を更新</li>
622+</ol>
623+
624+</body>
625+</html>
--- trunk/libs/Refer to develop.txt (revision 9684)
+++ trunk/libs/Refer to develop.txt (revision 9685)
@@ -1,3 +1,3 @@
11
2-Refer to the ttssh2\doc\en\html\reference\develop.txt for these folders.
2+Refer to the ttssh2\doc\en\html\reference\develop.html for these folders.
33
Show on old repository browser