summaryrefslogtreecommitdiff
path: root/Windows/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'Windows/README.md')
-rw-r--r--Windows/README.md79
1 files changed, 32 insertions, 47 deletions
diff --git a/Windows/README.md b/Windows/README.md
index f63e717..c01c147 100644
--- a/Windows/README.md
+++ b/Windows/README.md
@@ -1,13 +1,15 @@
NGHDL Installer (Windows OS)
====
+It contains all the documentation for making NGHDL executable (using PyInstaller) and packging NGHDL for Windows 7 and above.
-It contains all the documenation for making NGHDL executable (using PyInstaller) and packging for eSim Installation Script on Windows 7 and above.
+> Note: Do not develop NGHDL on Windows OS. Work only with `installers` branch on Windows OS and do development on Linux OS.
+> Reference : https://stackoverflow.com/questions/37672886/cannot-get-rid-of-unstaged-files-in-git-on-my-local
## NGHDL Executable:
-1. Download and install "Python-3.5.2", "Git For Windows". Use "Git Bash" for all following shell commands.
+1. Download and install "Python-3.6.8", "Git For Windows". Use "Git Bash" for all following shell commands. Ensure that `tcl/tk` (`tkinter`) is also installed with Python as it is required by `matplotlib` dependency
Reference - https://gitforwindows.org/
@@ -27,38 +29,20 @@ It contains all the documenation for making NGHDL executable (using PyInstaller)
$ source nghdl/Scripts/activate
-6. Install all Python dependencies for NGHDL within the virtual environment as:
-
- - Install PyInstaller, SetupTools through pip :
+6. Install the Python dependencies `PyInstaller`, `SetupTools`, `PyQt5` through pip for NGHDL within the virtual environment:
$ pip install pyinstaller
- $ pip install --upgrade 'setuptools<45.0.0'
-
- - Install PyQt4 through pip (Reference - https://stackoverflow.com/questions/22640640/how-to-install-pyqt4-on-windows-using-pip) :
-
- $ pip install --upgrade 'sip<5.0.0'
- $ pip install <wheel_package_of_PyQt4>
-
- Download PyQt4 Wheel from - [https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyqt4]
- Where cp37 represents the Python version i.e. 3.7.x and so on
-
- > Note :
- - If there are any issues regarding loading of DLL files, refer : https://stackoverflow.com/questions/2738879/cannot-import-pyqt4-qtgui
- - If above step works, then goto step 7.
+ $ pip install setuptools
+ $ pip install PyQt5
7. Test whether only NGHDL dependencies are available or not:
$ pip freeze
-> Note : Following dependencies should be available -
-> - PyQt4
-> - sip
-> - altgraph
-> - future
-> - pefile
+> Note: Following Python packages for NGHDL along with their dependencies should be available -
+> - PyQt5
+> - PyQt5-sip
> - pyinstaller
-> - pywin32-ctypes
-
8. Create spec file as:
@@ -69,39 +53,40 @@ It contains all the documenation for making NGHDL executable (using PyInstaller)
$ pyinstaller -F --clean nghdl.spec
10. Verify whether all NGHDL `src` files (`*.py`) have been included in `Analysis-00.toc` file under the build folder generated by PyInstaller.
-11. nghdl.exe is generated at the dist folder.
## How to package NGHDL with eSim ?
-1. Place the nghdl.exe generated from the above process at the location /nghdl/src/
-
-2. Delete all python files (files ending in .py) at /nghdl/src/
+1. Take the `master` branch of NGHDL. Rename the folder to `nghdl`.
-3. Remove the following files at /nghdl/
- - .gitignore
+2. Place the NGHDL executable (`nghdl.exe`) at the location `nghdl/src/`. Also, remove following files from the `nghdl` folder:
+ - `.git` folder
+ - python files from `nghdl/src` folder
+ - .gitignore
- GHDLside.md
- Workflow.md
+ - ngspice-nghdl.tar.xz (Move it outside the folder as it is required later on)
-4. Place **nghdl** folder containing `src folder`, `Example folder` & `LICENSE` under folder named eSim/
+3. Place this **nghdl** folder containing `src` folder, `Example` folder, `LICENSE` file and `README.md` under folder named `eSim`.
-5. Final directory structure should be:
-- eSim/nghdl/Example
-- eSim/nghdl/src
-- eSim/nghdl/LICENSE
+4. Final directory structure should be:
+ - eSim/nghdl/Example
+ - eSim/nghdl/src
+ - eSim/nghdl/LICENSE
+ - eSim/nghdl/README.md
-6. Compress the `eSim` folder from step 4 in 7z format (Make sure that there is folder named `eSim` inside this compressed file) and name it as `nghdl-src.7z`.\
-(7z compression tool can be downloaded from - https://www.7-zip.org/download.html )
+5. Compress the `eSim` folder from step 4 in 7z format (Make sure that there is folder named `eSim` inside this compressed file) and name it as `nghdl-src.7z`.
+(7z compression tool can be downloaded from - https://www.7-zip.org/download.html)
-7. ALong with `nghdl-src.7z` from step 5, place the following 7z files at the installer folder for eSim.
-(these can be obtained under *sources/* folder in the repository )
-- ghdl.7z
-- MSYS.7z
-- mingw64.7z
+6. Along with `nghdl-src.7z` from step 5, place the following 7z files at the installer folder for eSim:
+ - ghdl.7z
+ - MSYS.7z
+ - mingw64.7z
+ - ngspice-nghdl.7z
-- ngspice-nghdl.7z ( this file can be obtained by decompressing `ngspice-nghdl.tar.xz` file present at `master branch` of this repository and recompressing using 7z tool)
+> Note: These compressed files can be obtained under *Windows/sources/* folder of NGHDL's `installers` branch
-8. Place the script `installnghdl.nsi` at the eSim installer location.
+7. Place the script `nghdl-setup-script.nsi` at the eSim's installer folder.
-9. Follow the rest of the instructions for packging eSim [https://github.com/FOSSEE/eSim/tree/installers/Windows] and compile the NSI script (`esim-setup-script.nsi` file). Now only use the generated installer for distribution.
+8. Follow rest of the [instructions](https://github.com/FOSSEE/eSim/tree/installers/Windows/README.md) for packaging eSim.