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 (Many distributions): https://build.opensuse.org/project/show/home:PerryWerneck:pw3270
- Windows 32 bits: https://build.opensuse.org/project/show/home:PerryWerneck:mingw32
- Windows 64 bits: https://build.opensuse.org/project/show/home:PerryWerneck:mingw64
Building for Linux
Get lib3270 sources from git
$ git clone http://softwarepublico.gov.br/gitlab/pw3270/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 from https://www.msys2.org/ (Don't forget to update the package database and core system packages)
- Update system path
* Add c:\msys64\usr\bin and c:\msys64\mingw64\bin to system path
Install devel packages
$ pacman -S --needed mingw-w64-x86_64-gcc automake autoconf make git pkg-config mingw-w64-x86_64-gettext mingw-w64-x86_64-openssl
Afther thist 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 homebrew
Install dependencies
$ brew install automake binutils coreutils curl gettext libtool openldap 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.3" $ make all && make install $ brew link lib3270
Uninstalling
To uninstall
$ brew unlink lib3270 $ rm -fr "$(brew --cellar)/lib3270"