This file contains instructions for developers and advanced users that wants to build from version controlled sources.
We rely on several tools to build the software, including:
The software is typically distributed with your operating system, and the instructions for installing them differ. Here are some hints:
APT/DPKG-based distributions:
apt-get install make git autoconf automake libtool gettext autopoint cvs
apt-get install texinfo texlive texlive-plain-generic texlive-extra-utils
apt-get install help2man gtk-doc-tools dblatex valgrind gengetopt
apt-get install transfig mono-mcs gperf default-jdk-headless
DNF/RPM-based distributions:
dnf install -y make git autoconf automake libtool gettext-devel cvs
dnf install -y texinfo texinfo-tex texlive
dnf install -y help2man gtk-doc gengetopt dblatex valgrind
dnf install -y gperf java-latest-openjdk-devel
On macOS with Xcode and Homebrew:
brew install autoconf automake libtool gengetopt help2man texinfo fig2dev
To download the version controlled sources:
git clone https://git.savannah.gnu.org/git/libidn.git
cd libidn
The next step is to import gnulib files, run autoreconf etc:
./bootstrap
If you have a local checkout of gnulib and wants to avoid download another copy, you may want to use:
./bootstrap --gnulib-refdir=../gnulib
Then configure the project as you would normally, for example:
./configure --enable-java --enable-gtk-doc-pdf
Then build the project:
make
make check
To prepare releases you need some additional tools:
APT/DPKG-based distributions:
apt-get install mingw-w64 wine binfmt-support lcov zip
apt-get install clang doxygen pmccabe ncftp
See README-release on how to make a release.
Happy hacking!
Copyright (C) 2009-2024 Simon Josefsson Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.