]> git.proxmox.com Git - libgit2.git/commitdiff
Update the README with info about the new buildsys
authorVicent Marti <tanoku@gmail.com>
Tue, 23 Nov 2010 22:20:59 +0000 (00:20 +0200)
committerVicent Marti <tanoku@gmail.com>
Tue, 23 Nov 2010 22:23:26 +0000 (00:23 +0200)
Signed-off-by: Vicent Marti <tanoku@gmail.com>
README.txt

index 5101559535f1ad89f3f8725d2f44bf004dcdd1c4..876e5925e805ee71dc0a130ca7d904345700bd9b 100644 (file)
@@ -5,27 +5,6 @@ libgit2 is a portable, pure C implementation of the Git core methods provided as
 re-entrant linkable library with a solid API, allowing you to write native
 speed custom Git applications in any language with bindings.
 
-Installing libgit2
-==================================
-
-Libgit2 uses the waf build system.  To build it, first configure the build
-system by running:
-
-  $ ./waf configure
-
-Then build the library:
-
-  $ ./waf build
-
-You can then test the library with:
-
-  $ ./waf test
-
-And finally you can install it with (you may need to sudo):
-
-  $ ./waf install
-
-
 Why Do We Need It
 ==================================
 
@@ -55,18 +34,127 @@ libgit2 is already very usable.
 * tree traversal
 * basic index file (staging area) operations
 
+Building libgit2 - Unix systems
+==================================
+
+In Unix-like systems, like Linux, *BSD and Mac OS X, libgit2 has
+the following dependencies:
 
-Installing libgit2
+       - Python 2.5-3.1 <http://www.python.org>
+               Used by run the build system; no extra libraries required.
+               Should probably ship installed with your OS.
+
+       - zlib 1.2+ <http://www.zlib.net/>
+
+       - LibSSL <http://www.openssl.org/>
+               Only needed if you want to re-use OpenSSL's SHA1 routines;
+               libgit2 compiles its own routines by default.
+
+To build it, first configure the build system by running:
+
+  $ ./waf configure
+
+Then build the library, either in its shared (libgit2.so) or static form (libgit2.a)
+
+  $ ./waf build-static
+  $ ./waf build-shared
+
+You can then test the library with:
+
+  $ ./waf test
+
+And finally you can install it with (you may need to sudo):
+
+  $ ./waf install
+
+Building libgit2 - Windows MSVC++
 ==================================
 
- $ git clone git://github.com/libgit2/libgit2.git
- $ cd libgit2
- $ make
- $ make install
+When building under Windows using the MSVC compiler, libgit2 has
+the following dependencies:
+
+       - Python 2.5-3.1 <http://www.python.org>
+               Used by run the build system; no extra libraries required.
+
+       - zlib 1.2+ (Windows API Version) <http://www.zlib.net/>
+               Make sure you compile the ZLib library using the MSVC solution
+               that ships in its source distribution.
+               Alternatively, you may download precompiled binaries from:
+                       http://www.winimage.com/zLibDll/
+
+       - LibSSL <http://www.openssl.org/>
+               Only needed if you want to re-use OpenSSL's SHA1 routines;
+               libgit2 compiles its own routines by default.
+
+To build it, first configure the build system by running:
+
+  $ ./waf configure
+
+Then build the library, either in its shared (libgit2.dll) or static form (libgit2.lib)
+
+  $ ./waf build-static
+  $ ./waf build-shared
+
+You can then test the library with:
+
+  $ ./waf test
+
+Lastly, you can manually install the generated *.lib and *.dll files, depending on
+your preferences.
+
+Building libgit2 - Windows MinGW
+==================================
+
+When building under Windows using the GCC compiler that ships with MinGW,
+libgit2 has the following dependencies:
+
+       - Python 2.5-3.1 <http://www.python.org>
+               Used by run the build system; no extra libraries required.
+
+       - zlib 1.2+ <http://www.zlib.net/>
+
+       - pthreads-w32 <http://sourceware.org/pthreads-win32/>
+               Or an equivalent pthreads implementation for non-POSIX systems
+
+       - LibSSL <http://www.openssl.org/>
+               Only needed if you want to re-use OpenSSL's SHA1 routines;
+               libgit2 compiles its own routines by default.
+
+To build it, first configure the build system and force GCC as the compiler,
+instead of the default MSVC:
+
+  $ ./waf configure --check-c-compiler=gcc
+
+Then build the library, either in its shared (libgit2.so) or static form (libgit2.a)
+
+  $ ./waf build-static
+  $ ./waf build-shared
+
+You can then test the library with:
+
+  $ ./waf test
+
+And finally you can install it with:
+
+  $ ./waf install
+
+
+Configuration settings
+==================================
+
+The waf build system for libgit2 accepts the following flags:
+
+       --debug
+               build the library with debug symbols.
+               Defaults to off.
+
+       --sha1=[builtin|ppc|openssl]
+               use the builtin SHA1 functions, the optimized PPC versions
+               or the SHA1 functions from LibCrypto (OpenSSL).
+               Defaults to 'builtin'.
 
-That should get it installed on Mac, Linux or Windows.
-Once that is done, you should be able to link the library to your program
-with a normal "-lgit2".
+You can run `./waf --help` to see a full list of install options and
+targets.
 
 Language Bindings
 ==================================