1 This tool merges sequential entries if they have some fields with same values. 2 3 USAGE: 4 5 See lmerge.1.md 6 7 DEPENDENCIES: 8 9 * a C++ compiler (clang and g++ have been tested); 10 * pandoc to build man-page; 11 12 This is a work in progress tool, but it works for me. 13 14 BUILD OPTIONS: 15 16 There are several '#define' that can affect the build process: 17 18 * WITH_STL: do not use home-made vector implementation. This will drastically 19 increase the size of the binary, though (~25Kio). 20 * NO_CMDLINE: do not build support for command-line switches except the '--help' 21 communator. This will reduce the size of the binary (~9Kio). 22 23 Those options can be set using the CXXFLAGS environment variable, for example: 24 25 CXXFLAGS="$CXXFLAGS -DNO_CMDLINE" make 26 27 COMPACT BUILD: 28 29 It is possible to build a statically linked binary, but the invocation will be 30 different depending on your OS and requires alternate tools. 31 Even on Debian, the invocation may differ a lot between major versions, for 32 example it's more hackish un current stable (Buster) than it was in old-stable 33 (Stretch), especially with the include paths. 34 On Debian buster, I do this for example (beware, every single change can break 35 the build): 36 37 clang++ -o lmerge \ 38 lmerge.cpp /usr/lib/x86_64-linux-musl/crt1.o \ 39 -Os -nostdlib -static -fno-exceptions -stdlib=libc++ -nobuiltininc -nostdinc++ \ 40 -L /usr/lib/x86_64-linux-musl \ 41 -lpthread -lc \ 42 -I /usr/lib/llvm-7/include/c++/v1/ \ 43 -I /usr/include/x86_64-linux-musl/ \ 44 -D LIBCPP_MUSL_STATIC 45 46 The resulting binary is bigger than the output of `make` (on this system, 47 stripped dynamic linking gives a 19Kio binary, stripped static gives a 38Kio one) 48 but does not imply to install the dynamic libraries, which are, here, around 49 2Mio for libstdc++ and 850Kio for libc++. 50 One of the points of doing so would be to use this tool in a chroot.