README.md
TN3270 Protocol Library for Linux/Windows
Created originally as part of PW3270 application.
See more details at https://softwarepublico.gov.br/social/pw3270/
Installation repositories
You can find instalation repositories in SuSE Build Service:
- Linux: https://software.opensuse.org/download.html?project=home%3APerryWerneck%3Apw3270&package=lib3270
- Windows cross (32 bits): https://software.opensuse.org/download.html?project=home%3APerryWerneck%3Apw3270&package=mingw32-lib3270
- Windows cross (64 bits): https://software.opensuse.org/download.html?project=home%3APerryWerneck%3Apw3270&package=mingw64-lib3270
Building for Linux
Get lib3270 sources from git
git clone https://github.com/PerryWerneck/lib3270.git ./lib3270
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 )
Configure and build
./autogen.sh make clean make all
Building for Windows
Cross-compiling on SuSE Linux (Native or WSL)
First add the MinGW Repositories for your SuSE version from:
sudo zypper ar obs://windows:mingw:win32 mingw32 sudo zypper ar obs://windows:mingw:win64 mingw64 sudo zypper ref
Get lib3270 sources from git
git clone https://github.com/PerryWerneck/lib3270.git ./lib3270
Install cross compilers
./lib3270/win/install-cross.sh --all (for 32 and 64 bits)
Configure build
./lib3270/win/win-configure.sh --64 (for 64 bits)
Build
cd lib3270 make clean make all
Windows native with MSYS2
- Install and update MSYS2
* Download and install [msys2](https://www.msys2.org/)
* Update msys:
```shell
pacman -Syu
```
Afther this close and reopen mingw shell.
- Update system path
* Add c:\msys64\usr\bin and c:\msys64\mingw64\bin to system path
Install devel packages using pacman on mingw shell
pacman -S --needed mingw-w64-x86_64-gcc automake autoconf make git pkgconf mingw-w64-x86_64-gettext mingw-w64-x86_64-openssl libtool
Afther this close and reopen mingw shell.
Get lib3270 sources from git using the mingw shell
git clone https://github.com/PerryWerneck/lib3270.git ./lib3270
Build library using the mingw shell
cd lib3270 ./autogen.sh make all
Install
make install
Building for macOS
Using homebrew
Install
Install homebrew
Install dependencies
brew install automake binutils coreutils curl gettext libtool openssl pkgconfig
Use open-keg to make keg-only dependencies available during build process
open-keg curl openldap openssl
Configure, build and install (inside the open-keg shell opened above)
./autogen.sh --prefix="$(brew --cellar)/lib3270/5.4" make all && make install brew link lib3270
Uninstall
```shell
brew unlink lib3270
rm -fr "$(brew --cellar)/lib3270"
```
Using jhbuild
Install jhbuild
build
jhbuild --moduleset=https://raw.githubusercontent.com/PerryWerneck/lib3270/macos/mac/lib3270.modules build lib3270