Name Last Update
.github Loading commit data...
.vscode Loading commit data...
arch Loading commit data...
debian Loading commit data...
doxygen Loading commit data...
locale Loading commit data...
mac Loading commit data...
rpm Loading commit data...
sdk Loading commit data...
src Loading commit data...
win Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
CHANGELOG Loading commit data...
LICENCA Loading commit data...
LICENSE Loading commit data...
Makefile.in Loading commit data...
README.md Loading commit data...
autogen.sh Loading commit data...
configure.ac Loading commit data...
gitsync.sh Loading commit data...
lib3270.cbp Loading commit data...
pushtag.sh Loading commit data...
valgrind.suppression Loading commit data...
vc140.pdb Loading commit data...

README.md

TN3270 Protocol Library for Linux/Windows

Created originally as part of PW3270 application.

License: GPL v3 CodeQL build result Downloads

Installation

Linux

You can download installation package for supported distributions in Open Build Service.

Building for Linux

  1. Get lib3270 sources from git

    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 )

  1. Configure and build

    ./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:

    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

    git clone https://github.com/PerryWerneck/lib3270.git ./lib3270
    
  3. Install cross compilers

    ./lib3270/win/install-cross.sh --all (for 32 and 64 bits)
    
  4. Configure build

    ./lib3270/win/win-configure.sh --64 (for 64 bits)
    
  5. Build

    cd lib3270
    make clean
    make all
    

Windows native with MSYS2

  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.
  1. Update system path
* Add c:\msys64\usr\bin and c:\msys64\mingw64\bin to system path
  1. 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.

  2. Get lib3270 sources from git using the mingw shell

    git clone https://github.com/PerryWerneck/lib3270.git ./lib3270
    
  3. Build library using the mingw shell

    cd lib3270
    ./autogen.sh
    make all
    
  4. Install

    make install
    

Building for macOS

Using homebrew

Install

  1. Install homebrew

  2. Install dependencies

    brew install automake binutils coreutils curl gettext libtool openssl pkgconfig
    
  3. Use open-keg to make keg-only dependencies available during build process

    open-keg curl openldap openssl
    
  4. 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

  1. Install jhbuild

    https://wiki.gnome.org/Projects/GTK/OSX/Building

  2. build

    jhbuild --moduleset=https://raw.githubusercontent.com/PerryWerneck/lib3270/master/mac/lib3270.modules build lib3270