Building AutoLM and dependencies
Automatic License Manager build and installation instructions.
AutoLM requires libcurl. Depending on your OS, application and what you need to link the AutoLM library with, choose path 1 or 2 below. Path 1 is for Unix applications such as Linux, MSYS2, MacOS and others. Path 2 is for applications that are built with Windows and Visual Studio.
To install curl for Unix (Linux/MSYS2/MacOS)
Distribution dependent, but install libcurl development. This method bypasses the need to install and build curl so there is no need to run git submodules init and update. Examples to install libcurl development are below.
Debian
Curl requires OpenSSL (or similar) development so be sure the OpenSSL development environment is installed and available.
sudo apt-get install openssl-devel
sudo apt-get install libcurl-dev
MSYS2
Curl on MSYS2, especially when using SSL, has many dependencies. Note that if you choose the minimum build below, not all of these are needed.
pacman -S openssl
pacman -S openssl-devel
pacman -S brotli-devel
pacman -S zlib-devel
pacman -S ca-certificates
pacman -S libcurl-devel
If your OS does not support a libcurl development you will need to download, build and install it as described in the next section.
To download and build libcurl
AutoLM depends on curl as a submodule. If your OS does not support libcurl development perform the commands below to clone (download) the latest curl code into your build tree.
git submodule init
git submodule update
Linux/MSYS2/MACOS
To configure, make and install the default libcurl installation, use these commands in the curl directory (installed with git submodule update).
cd curl
./configure --with-ssl
make install
Alternatively, to configure, make and install the minimum libcurl installation that works with AutoLM, use these commands.
cd curl
./configure --with-ssl --disable-ftp --disable-file --disable-ldap --disable-ldaps --disable-rtsp --disable-proxy --disable-dict --disable-telnet --disable-tftp --disable-pop3 --disable-imap --disable-smb --disable-smtp --disable-gopher --disable-manual --without-brotli --without-zlib --disable-progress-meter --disable-dnsshuffle
make
make install
This completes building and installing curl and libcurl for linking with AutoLM for Linux/MSYS2/MACOS applications. Unless also building libraries for Visual Studio applications you can skip the next section.
Visual Studio 2019
To build libcurl for VS and both x86 and x64 platforms, please complete all sections below. If you only need support for one platform then only that platform needs to be completed. If you do not complete all sections below, some build configurations for the AutoLM VS solution may not link correctly.
Configure the cloned curl repository
First, configure the build environment after cloning (not required if installing release zip, only if a fresh clone). From the Start (bottom left Windows button) search field, open the application “Developer Command Prompt for VS 2019”. Move into the curl directory (cd AutoLM/curl) within this Developer Command Prompt and configure the repository by running the buildconf.bat command.
cd curl
buildconf.bat
x86
From the Start (bottom left Windows button) search field, open the application “Developer Command Prompt for VS 2019” and then move to the curl/winbuild folder. Build curl with with the following nmake command.
cd winbuild
nmake /f Makefile.vc mode=static VC=19 ENABLE_WINSSL=yes
This will create the static libcurl_a.lib in the folder curl\builds\libcurl-vc19-x86-release-static-ipv6-sspi-winssl\lib
x64
From the Start (bottom left Windows button) search field, open the application “x64 Native Tools Command Prompt for VS 2019” and then move to the winbuild folder and building with nmake.
cd winbuild
nmake /f Makefile.vc mode=static VC=19 ENABLE_WINSSL=yes
This will create the static libcurl_a.lib in the folder curl\builds\libcurl-vc19-x64-release-static-ipv6-sspi-winssl\lib
Building AutoLM
Now that libcurl is built and its library is available, it is time to build AutoLM.
Building with Visual Studio
Open the solution file AutoLM.sln, select the build type (x86 or x64) and configuration (Debug or Release) and rebuild the solution.
Building for Unix
For Unix systems the Makefile.msys2 and Makefile.linux and Makefile.macos can be used based on your OS. If the example does not link with a particular OS, please be sure to check the libraries of the OS match those in the Makefile. Please submit a PR if desired for new Makefiles.
Windows MSYS2 and MinGW
make -f Makefile.msys2 clean
make -f Makefile.msys2
Linux and GCC
make -f Makefile.linux clean
make -f Makefile.linux
MacOS and GCC
make -f Makefile.macos clean
make -f Makefile.macos
Using AutoLM
See the README.md file for using AutoLM.