Skip to content

jakule/andiff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Andiff

Build Status

Andiff is another version of bsdiff application focused on performance. Original application can be found here.

Prerequisites

Building

Ubuntu 14.04:

sudo apt-get install build-essential libbz2-dev

Note: For Ubuntu 14.04 required CMake is not available in Ubuntu repository and should be downloaded from CMake site.

Fedora 22:

sudo dnf install gcc-c++ bzip2-libs cmake

libdivsufsort

Note: It is strongly recommended to compile libdivsufsort with OpenMP support.

cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DUSE_OPENMP:BOOL=ON \
-DBUILD_DIVSUFSORT64:BOOL=ON -DBUILD_SHARED_LIBS:BOOL=OFF \
-DCMAKE_INSTALL_PREFIX:PATH=${LIBDIVSUFSORT_INSTALL_PREFIX} ../libdivsufsort/
make
make install

andiff

cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Release \
-DLIBDIVSUFSORT_PREFIX:PATH=${LIBDIVSUFSORT_INSTALL_PREFIX} ../andiff
make

CMake compilation options:

  • ENABLE_ADDRESS_SANITIZER - Enable Address Sanitizer; Default: OFF
  • ENABLE_THREAD_SANITIZER - Enable Thread Sanitizer; Default: OFF
  • GENERATE_DWARF - Generate DWARF debug symbols with Debug build; Default: OFF
  • ENABLE_NATIVE - Add -march=native to compiler for Release build; Default:ON

Warning: If you want to use andiff on different machine than was compiler disable this option. Other wise you may end with Illegal instruction exception.

Usage

Generating patch:

./andiff oldfile newfile patchfile

Applying patch:

./anpatch odlfile newfile patchfile

Releases

No releases published

Packages

No packages published