Skip to content

PerryWerneck/lib3270

Repository files navigation

TN3270 Protocol Library for Linux/Windows

Created originally as part of PW3270 application.

License: GPL v3 CodeQL build result Publish Downloads

Installation

Pre build packages

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

Download from open build service Download from githut

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 )

  3. 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 (Using bundle script)

  1. Install and update MSYS2

    • Download and install msys2
    • Update msys:
    pacman -Syu

    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. Run bundle script

    cd lib3270
    ./win/bundle.msys --pre-reqs --build

Windows native with MSYS2 (Manual)

  1. Install and update MSYS2

    • Download and install msys2
    • Update msys:
    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

    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

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

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

    make install

Building for macOS

Using homebrew

Install

  1. Install homebrew

  2. Install dependencies

    brew update
    brew install xz automake binutils coreutils curl gettext libtool openssl pkgconfig
    brew upgrade
  3. Configure, build and install

    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 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