From 8cf2a5e523c32809b89f116b16719ba5a6cbc4d3 Mon Sep 17 00:00:00 2001 From: balaskoa <jeno.balasko@ericsson.com> Date: Thu, 2 Jun 2016 17:19:35 +0200 Subject: [PATCH] modified after internal review Signed-off-by: balaskoa <jeno.balasko@ericsson.com> --- README.cygwin | 104 +++++++++++++++++---------------- usrguide/installationguide.doc | Bin 243200 -> 243200 bytes 2 files changed, 53 insertions(+), 51 deletions(-) diff --git a/README.cygwin b/README.cygwin index 613bbdcbb..74e5dcc68 100644 --- a/README.cygwin +++ b/README.cygwin @@ -15,19 +15,19 @@ Cygwin setup Start the Cygwin setup utility (see below), it will refresh your installed Cygwin packages to the newest versions. - If Cygwin is not installed yet: - + (A) Download and execute the latest cygwin installer utility, please use the 64-bit version installer: https://cygwin.com/setup-x86_64.exe - + (B) Select Install from Internet (recommended to save local disk space) (C) Choose Cygwin installation root directory (C:\cygwin is recommended) Select All Users, or Just Me. - + (D) Select "Local Package Directory" (typically the same directory, where the setup....exe Cygwin installer utility is stored). - + (E) Use Internet Explorer Proxy Settings (recommended). (F) Select a download mirror site. @@ -41,35 +41,35 @@ Cygwin setup Note: Cygwin installer will automatically select the packages the manually selected ones are depending on; do NOT deselect any automatically selected package! - a) Test execution ONLY (command line or from Eclipse Executor): - Base: <all packages> (Default setting of the installer) - Net: openssl - Tcl: expect - b) Test case development: in addition to the above select the - following packages: - Devel: binutils - Devel: gcc-g++ - Devel: make - Libs: libxml2-devel - Net: openssl-devel (automatically installs Net:openssl - as well, if selected) + a) Test execution ONLY (command line or from Eclipse Executor): + Base: <all packages> (Default setting of the installer) + Net: openssl + Tcl: expect + b) Test case development: in addition to the above select the + following packages: + Devel: binutils + Devel: gcc-g++ + Devel: make + Libs: libxml2-devel + Net: openssl-devel (automatically installs Net:openssl + as well, if selected) c) To compile your own Titan Cygwin binary: in addition to the above, select the following packages: - Devel: bison - Devel: ctags - Devel: cygwin32-expat - Devel: diffstat - Devel: flex - Devel: gcc-core - Editors: <any editor of your preference> (optional) - Libs: libncurses-devel - Libs: libreadline-devel - - If, after selecting the required packages and clicking on the - "Next" button, a "Resolving Dependcies" window lists further - required packages, ensure that the "Select required packages - (RECOMMENDED)" checkbox is checked and click the "Next" button. - + Devel: bison + Devel: ctags + Devel: cygwin32-expat + Devel: diffstat + Devel: flex + Devel: gcc-core + Editors: <any editor of your preference> (optional) + Libs: libncurses-devel + Libs: libreadline-devel + + If, after selecting the required packages and clicking on the + "Next" button, a "Resolving Dependcies" window lists further + required packages, ensure that the "Select required packages + (RECOMMENDED)" checkbox is checked and click the "Next" button. + (H) Select the Create icon on Desktop checkbox (I) (Optional) @@ -92,38 +92,40 @@ Cygwin setup "/cygdrive/c/Users/<yourUserId>/Documents/My_Home" WARNING: The path of your "unix" home directory shall not contain any space! - (I1) If you are working with Titan plugins for Eclipse or any Windows based program - using cygwin commands, insert the Windows equivalent path of cygwin folders "/bin" or/and "/usr/bin" - into the Windows environment variable "Path". For example if the cygwin root is "C:\cygwin64" then - Path should contain "C:\cygwin64\bin;C:\cygwin64\usr\bin". + + (I1)If you are working with Titan plugins for Eclipse or any Windows based program + using cygwin commands, insert the Windows equivalent path of cygwin folders "/bin" or/and "/usr/bin" + into the Windows environment variable "Path". For example if the cygwin root is "C:\cygwin64" then + Path should contain "C:\cygwin64\bin;C:\cygwin64\usr\bin". + (J) Using the binary Titan package: download the Titan package for from GitHub. Unpack the Titan package into a folder of your choice. Note: It is not a requirement, but is a kind of best practice to place Titan into a subfolder within your "unix" home directory. Edit the <your cygwin installation directory>/home/<yourUserId>/.bashrc - file. Add these lines to it: - export PATH=${TTCN3_DIR}/bin:${PATH} - export LD_LIBRARY_PATH=${TTCN3_DIR}/lib:${LD_LIBRARY_PATH} + file. Add these lines to it: + export PATH=${TTCN3_DIR}/bin:${PATH} + export LD_LIBRARY_PATH=${TTCN3_DIR}/lib:${LD_LIBRARY_PATH} (K) Compile Titan with Cygwin: - Get the latest source code from GitHub. - Download and install JDK from Oracle's download site: - http://www.oracle.com/technetwork/java/javase/downloads/index.html - Edit the <your cygwin installation directory>/home/<yourUserId>/.bashrc - as above. - Create titan/Makefile.personal with the following content: - TTCN3_DIR := /home/<user id>/git/titan/Install + Get the latest source code from GitHub. + Download and install JDK from Oracle's download site: + http://www.oracle.com/technetwork/java/javase/downloads/index.html + Edit the <your cygwin installation directory>/home/<yourUserId>/.bashrc + as above. + Create titan/Makefile.personal with the following content: + TTCN3_DIR := /home/<user id>/git/titan/Install JDKDIR := /home/<user id>/jdk JNI := no GUI := no GEN_PDF := no DEBUG := no - Compile Titan: - cd titan - make -j - make install - The compiled files will be placed into the titan/Install directory. - + Compile Titan: + cd titan + make -j + make install + The compiled files will be placed into the titan/Install directory. + (L) If you want to use graphical tools (like nedit for example), then you need to install the Cygwin/X component too. The install procedure can be found at the homepage: http://x.cygwin.com/docs/ug/cygwin-x-ug.html diff --git a/usrguide/installationguide.doc b/usrguide/installationguide.doc index 86819e0c7099cf0a603551a7a7718e3f3c355919..c72477bdf56b0c95ff8ddc4e423dc294ca6f406a 100644 GIT binary patch delta 6435 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 delta 6366 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 Bdl~=$ -- GitLab