Tera Term Development

  1. Development Environment
  2. Libraries
  3. Notice for SVN committer
  4. Add entry to TERATERM.INI
  5. Naming rule to add menu ID
  6. What to do when new macro command is added?
  7. How to build Libraries
  8. How to build Tera Term
  9. How to build TeraTerm Menu
  10. How to build TTXKanjiMenu
  11. How to build TTProxy
  12. How to build TTSSH
  13. How to build CygTerm
  14. How to build TTXSamples
  15. How to build HTML help file
  16. How to release Tera Term installation package

Development Environment

Libraries

Notice for SVN committer

SVN repository for committer is the following:

svn+ssh://svn.osdn.net/svnroot/ttssh2/trunk

Should not edit checkout file in copying directory.
The other modification code may be deleted in SVN server when you commit checkout file. Also, fix it carefully when the conflicting occurs.

Should not have opened checkout file.
SVN commit procedure may be failure while checkout file will have been opened.

Edit language files
Use the text editor supporting multi languages(vim, EmEditor, Notepad++, etc) to edit the language files(installer\release\lang\*.lng).

Add entry to TERATERM.INI

Entry name
Unfortunately, the confusing entries such as EnableFoo... and DisableBar... are included.
It recommends that the new name like as Baz....

The first digit is 5.
The second digit is:
  Tera Term VT window         0
  Tera Term TEK window        1
  TTSSH                       2
  TTProxy                     3
  TTXKanjiMenu                4
The third digit is:
  [File] menu                 1
  [Edit] menu                 2
  [Setup] menu                3
  [Control] menu              4
  [Window] menu               8
  [Help] menu                 9

Example: adding a TTSSH menu under File menu

#define ID_SSHSCPMENU       52110

What to do when new macro command is added?

How to build Libraries

How to build Tera Term

To build Tera Term source code is shown in the following step:
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).

  1. Checkout Tera Term source code from OSDN(https://osdn.net/projects/ttssh2/).
  2. Open teraterm\visualc\ttermpro.sln with Visual Studio.
    The linefeed code of .sln file must be "CR+LF".
  3. Build Tera Term solution.
  4. Tera Term execution program will be generated in teraterm\visualc\bin directory if the building is successful.

How to build TeraTerm Menu

  1. Checkout TeraTerm Menu source code from OSDN(https://osdn.net/projects/ttssh2/).
  2. Open ttpmenu\ttpmenu.sln with Visual Studio.
  3. Build ttpmenu solution.
  4. ttpmenu.exe will be generated in Release directory if the building is successful.

How to build TTXKanjiMenu

  1. Checkout TTXKanjiMenu source code from OSDN(https://osdn.net/projects/ttssh2/).
  2. Open TTXKanjiMenu\ttxkanjimenu.sln with Visual Studio.
  3. Build ttpmenu solution.
  4. ttxkanjimenu.dll will be generated in TTXKanjiMenu directory if the building is successful.

How to build TTProxy

To build TTProxy source code is shown in the following step:
And you need Visual Studio 2005(VC++8.0) to build.

  1. Checkout TTProxy source code from OSDN(https://osdn.net/projects/ttssh2/).
  2. Open TTProxy\TTProxy.sln with Visual Studio.
  3. Build TTProxy solution.
  4. TTProxy DLL module will be generated in TTProxy directory if the building is successful.

How to build TTSSH

To build TTSSH source code is shown in the following step:
And you need Visual Studio 2005(VC++8.0) and ActivePerl to build.

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

On VS2008 Express Edition, following error occurs:
.\ttxssh.rc(10) : fatal error RC1015: cannot open include file 'afxres.h'.
To avoid this error, edit ttxssh.rc file. Delete the line of "afxres.h", and add 2 lines.

- #include "afxres.h"
+ #include 
+ #define IDC_STATIC -1
  1. Checkout TTSSH source code from OSDN(https://osdn.net/projects/ttssh2/).
  2. Open ttssh2\ttssh.sln with Visual Studio.
  3. Build TTSSH solution.
  4. TTSSH DLL will be generated in ttssh2\ttxssh directory if the building is successful.

How to build CygTerm

To build CygTerm source code is shown in the following step:

  1. Install Cygwin(https://www.cygwin.com/) to your PC.
  2. Launch Cygwin shell and go to cygterm directory.
    # cd cygterm
    
  3. Compile Cygterm.
    # make
    

How to build TTXSamples

To build TTXSamples source code is shown in the following step:
And you need Visual Studio 2005(VC++8.0) to build. VS2005 Express Edition is able to build TTXSamples.

  1. Checkout TTXSamples source code from OSDN(https://osdn.net/projects/ttssh2/).
  2. Open TTXSamples\TTXSamples.sln with Visual Studio.
  3. Build TTXSamples solution.
  4. TTXSamples DLL module will be generated in TTXSamples directory if the building is successful.

How to build HTML help file

To build HTML help file is shown in the following step:

  1. Install HTML Help Compiler
    Installing Visual Studio (2017 or later) with "C++ MFC" option, HTML Help Compiler (hhc.exe) is installed.
  2. Run doc\makechm.bat

How to release Tera Term installation package

To release Tera Term installation package is shown in the following step:

  1. Increment the version while RC release process.
    The binary is released for test in this timing. Prevent that old and new binary have same version number.
  2. Increment the year of last publication of copyright notice if it is first release in this year.
  3. Check latest libraries and tools.
  4. Check the document files.
  5. Increase the software version and modify date. Note: Don't update the version number until the release, because the installer does not overwrite file when versions are same.
    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.
  6. When CygTerm+ is changed from previous version, please build the software with 64bit Cygwin and replace cygterm\cygterm+-x86_64\cygterm.exe.
  7. Evaluate executable program file.
  8. Create SVN tag.
    The naming rule is `teraterm-version'(ex. teraterm-4_82).
    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
    
  9. Re-checkout from svn tag.
  10. Make installer package
  11. Update OSDN project site.
  12. Announce release to mailing list(in Japan).
  13. Update OSDN project home page.
  14. Delete snapshots.
  15. Announce release to forum(in Canada).
    Announcements http://logmett.com/support-forums/5
    Create new topic in `Announcements' entry.
    Change the type of previous Announcement from Announcement to Normal.
    Delete third previous Announcement.
  16. Announce release to Twitter.
    https://twitter.com/Tera_Term
    Post release announcement and pin.
  17. Update Chocolatey