Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/perrywerneck/lib3270
TN3270 client Library
https://github.com/perrywerneck/lib3270
3270 mainframe tn3270
Last synced: about 2 months ago
JSON representation
TN3270 client Library
- Host: GitHub
- URL: https://github.com/perrywerneck/lib3270
- Owner: PerryWerneck
- License: lgpl-3.0
- Created: 2018-11-08T17:39:49.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-09-16T12:18:13.000Z (4 months ago)
- Last Synced: 2024-09-16T14:12:13.056Z (4 months ago)
- Topics: 3270, mainframe, tn3270
- Language: C
- Homepage: https://softwarepublico.gov.br/social/pw3270/
- Size: 2.75 MB
- Stars: 11
- Watchers: 6
- Forks: 6
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG
- License: LICENSE
- Authors: AUTHORS
Awesome Lists containing this project
README
## TN3270 Protocol Library for Linux/Windows
Created originally as part of PW3270 application.
[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
![CodeQL](https://github.com/PerryWerneck/lib3270/workflows/CodeQL/badge.svg)
[![build result](https://build.opensuse.org/projects/home:PerryWerneck:pw3270/packages/lib3270/badge.svg?type=percent)](https://build.opensuse.org/package/show/home:PerryWerneck:pw3270/lib3270)
[![Publish](https://github.com/PerryWerneck/lib3270/actions/workflows/publish.yml/badge.svg)](https://github.com/PerryWerneck/lib3270/actions/workflows/publish.yml)
![Downloads](https://img.shields.io/github/downloads/PerryWerneck/lib3270/total.svg)## Installation
### Pre build packages
You can download installation package for supported linux distributions in [Open Build Service](https://software.opensuse.org/download.html?project=home%3APerryWerneck%3Apw3270&package=lib3270)
[](https://software.opensuse.org/download.html?project=home%3APerryWerneck%3Apw3270&package=pw3270)
[](https://github.com/PerryWerneck/lib3270/releases)## Building for Linux
1. Get lib3270 sources from git
```shell
git clone https://github.com/PerryWerneck/lib3270.git ./lib3270
```2. Install the required libraries
* autoconf
* automake
* binutils
* coreutils
* gcc-c++
* gettext-devel
* m4
* pkgconfig
* openssl-devel
* dbus-1-devel
* xz(This command can make it easy on SuSE: grep -i buildrequires rpm/lib3270.spec | cut -d: -f2 | sudo xargs zypper in )
3. Configure and build
```shell
./autogen.sh
make clean
make all
```## Building for Windows
### Cross-compiling on SuSE Linux (Native or WSL)
1. First add the MinGW Repositories for your SuSE version from:
```shell
sudo zypper ar obs://windows:mingw:win32 mingw32
sudo zypper ar obs://windows:mingw:win64 mingw64
sudo zypper ref
```2. Get lib3270 sources from git
```shell
git clone https://github.com/PerryWerneck/lib3270.git ./lib3270
```3. Install cross compilers
```shell
./lib3270/win/install-cross.sh --all (for 32 and 64 bits)
```3. Configure build
```shell
./lib3270/win/win-configure.sh --64 (for 64 bits)
```4. Build
```shell
cd lib3270
make clean
make all
```
### Windows native with MSYS2 (Using bundle script)1. Install and update MSYS2
* Download and install [msys2](https://www.msys2.org/)
* Update msys:
```shell
pacman -Syu
```
Afther this close and reopen mingw shell.2. Get lib3270 sources from git using the mingw shell
```shell
git clone https://github.com/PerryWerneck/lib3270.git ./lib3270
```3. Run bundle script
```shell
cd lib3270
./win/bundle.msys --pre-reqs --build
```### Windows native with MSYS2 (Manual)
1. Install and update MSYS2
* Download and install [msys2](https://www.msys2.org/)
* Update msys:
```shell
pacman -Syu
```
Afther this close and reopen mingw shell.2. Update system path
* Add c:\msys64\usr\bin and c:\msys64\mingw64\bin to system path
3. Install devel packages using pacman on mingw shell
```shell
pacman -S --needed zip dos2unix mingw-w64-x86_64-gcc automake autoconf make git pkgconf mingw-w64-x86_64-gettext gettext-devel mingw-w64-x86_64-openssl libtool
```Afther this close and reopen mingw shell.
4. Get lib3270 sources from git using the mingw shell
```shell
git clone https://github.com/PerryWerneck/lib3270.git ./lib3270
```5. Build library using the mingw shell
```shell
cd lib3270
./autogen.sh
make all
```6. Install
```shell
make install
```## Building for macOS
### Using homebrew
Install
1. Install [homebrew](https://brew.sh/)
2. Install dependencies
```shell
brew update
brew install xz automake binutils coreutils curl gettext libtool openssl pkgconfig
brew upgrade
```4. Configure, build and install
```shell
export PKG_CONFIG_PATH="$(brew --prefix curl)/lib/pkgconfig:$(brew --prefix openssl)/lib/pkgconfig"
./autogen.sh --prefix="$(brew --cellar)/lib3270/5.4" --with-libiconv-prefix=$(brew --prefix gettext)
make all && make install
brew link lib3270
```Uninstall
```shell
brew unlink lib3270
rm -fr "$(brew --cellar)/lib3270"
```
### Using jhbuild1. Install jhbuild
https://wiki.gnome.org/Projects/GTK/OSX/Building
2. build```shell
jhbuild --moduleset=https://raw.githubusercontent.com/PerryWerneck/lib3270/master/mac/lib3270.modules build lib3270
```