|
1b000610
|
2015-08-19T12:53:31
|
|
CMake: fall back to OpenSSL on older OS X
Starting at OS X 10.8, the Security framework offers some functions
which are unified across OS X and iOS. These are the functions that we
use.
Older versions of OS X do not have these functions and we fail to
compile. In these situations, fall back to using OpenSSL for our TLS
stream instead.
|
|
9f334ba3
|
2015-08-06T11:06:17
|
|
Forcing libssh2 lib location
OS X may have libssh2 in diff locations, so CHECK_LIBRARY_EXISTS may check the wrong lib; forcing it to use a found directory.
|
|
e874f3c1
|
2015-07-05T10:07:48
|
|
Increase required version of cmake to 2.8
|
|
e5a77249
|
2015-08-01T15:38:04
|
|
Cherry-pick PR #3332: Resolve documentation warnings
|
|
fd2d11a1
|
2015-06-28T13:57:06
|
|
CMake: treat the ld flags as a list
These are treated as a list by CMake itself, which means that treating
them as a simple string can put semicolons in our ld command-line if we
have libraries which are not installed on the standard locations.
Treat the variable as a CMake list and replace it with the space-delimited
list just before writing it out to our pc file.
|
|
790cabf0
|
2015-06-26T13:51:41
|
|
pc: Put libcurl and libssh2 in Libs.private
Pass on to whoever wants to link to libgit2 statically the flags that we
would have used for these libraries.
Putting them in Requires.private as we do now makes pkg-config put their
dependencies in the linker arguments as well, which is not what we want.
|
|
65f2d155
|
2015-06-25T21:49:48
|
|
List `libcurl` in the generated `libgit2.pc`
|
|
cf9d5f76
|
2015-06-03T04:57:00
|
|
curl: find and link with the library if it's available by default
|
|
e488bef4
|
2015-06-19T12:53:37
|
|
Quote LIBSSH2_LIBRARIES call
Credits to @directhex
It is possible for PKG_CHECK_MODULES(LIBSSH2 libssh2) to LIBSSH2_LIBRARIES to a string with more than one library in it - e.g. if your libssh2 was built against libgcrypt, it will be "ssh2;gcrypt"
Quoting the string is needed, or CHECK_LIBRARY_EXISTS will fail.
|
|
1679ec12
|
2015-05-24T18:27:15
|
|
cmake: Add CMake check for libssh2 memory credential passing support
|
|
20dcb731
|
2015-05-12T11:33:45
|
|
Get rid of libssh2 embedding
It was added as a workaround while the project had code to use WinCNG
but had not made a release with it. There is now a release of libssh2
with WinCNG support, so this option is redundant. Let's get rid of it
before people start liking it too much.
|
|
25f355cb
|
2015-05-06T18:39:39
|
|
Merge pull request #3086 from yongthecoder/master
Android build doesn't need deps/regex
|
|
7a5c7559
|
2015-05-05T22:36:24
|
|
Ensure frameworks are mentioned in libgit2.pc
When building on Mac OS X, the `CoreFoundation` and `Security` frameworks where missing from `Libs.private` in the generated `libgit2.pc` file.
|
|
57aa839c
|
2015-05-04T09:41:34
|
|
Android build doesn't need deps/regex
deps/regex was included in Android build because Android NDK 4 has
a packaging bug and doesn't have the regular expression functions defined
in its libc.so. The bug has been fixed in subsequent Android NDK releases.
If it is still necessary to work around the bug in Android NDK 4, we
should consider to use an option like ANDROID_NDK_RELEASE or
ANDROID_NDK_RELEASE_NUM.
|
|
24e53d2f
|
2015-03-19T09:55:20
|
|
Rename GIT_SSL to GIT_OPENSSL
This is what it's meant all along, but now we actually have multiple
implementations, it's clearer to use the name of the library.
|
|
6bb54cbf
|
2014-11-02T13:23:32
|
|
Add a SecureTransport TLS channel
As an alternative to OpenSSL when we're on OS X. This one can actually
take advantage of stacking the streams.
|
|
d06c589f
|
2015-04-10T06:15:06
|
|
Add MSVC CRTDBG memory leak reporting.
|
|
b631e0d9
|
2015-03-19T07:25:25
|
|
Use swprintf_s everywhere except mingw.org
|
|
547517d7
|
2015-03-16T14:49:23
|
|
use a different .def file for 64 bit
|
|
d612e48e
|
2015-03-16T13:30:10
|
|
Fix out-of-tree build
link against crypt32 for CertFreeCertificateContext
|
|
8f426d7d
|
2014-06-09T11:43:25
|
|
Win32: Enable WinHTTP for MinGW
|
|
06353282
|
2015-03-05T15:48:08
|
|
Only run -ionline tests IF (WINHTTP OR OPENSSL_FOUND)
|
|
9a859ef5
|
2015-03-02T09:21:55
|
|
Added cl_perf_timer. Updated global trace to include timers.
|
|
6b5c0886
|
2015-02-13T16:58:14
|
|
Provide mechanism to let CLAR globally setup git_trace()
|
|
2d2aa1ff
|
2015-02-13T17:28:35
|
|
Fix Mac build without OpenSSL
If OpenSSL is disabled on Mac the SHA1 implementation goes
to the CommonCrypto from the system. In this case we should
not include the generic hash impl. Otherwise there would be
duplicated impls which fail the build.
|
|
5a2a5771
|
2015-02-12T00:34:48
|
|
Merge pull request #2845 from rakuco/libssh2-detection-fix
Add libssh2's library and include directories.
|
|
e15a0849
|
2015-02-04T00:15:11
|
|
Tell user if libssh was not found
Fixes #2665
|
|
461fd5a0
|
2015-01-24T16:15:12
|
|
Add libssh2's library and include directories.
Follow-up to 4f91bfa ("Find libssh2 via pkg-config"): FindPkgConfig sets
<foo>_INCLUDE_DIRS, not <foo>_INCLUDE_DIR like FindLIBSSH2 did.
Additionally, if using only FindPkgConfig to find libssh2, we have to
call LINK_DIRECTORIES() as well to pass the appropriate -L entries,
otherwise the build will only work if libssh2.so is in a directory
searched automatically by the linker.
|
|
7641327c
|
2015-01-13T16:53:07
|
|
Add option to turn off OpenSSL
|
|
6e1205ef
|
2014-12-22T12:40:04
|
|
cmake: include FindPkgConfig for windows
Apparently FindPkgConfig is not included by default on VS builds,
only Unix and Unix-like (mingw) builds.
|
|
4f91bfa3
|
2014-12-05T10:32:59
|
|
Find libssh2 via pkg-config
We don't really need our own module to find libssh2. Using pkg-config
lets the standard tool do the work for us and let us fit more naturally
in the workflow as we respect the pkg-config search paths.
|
|
79b0ae4e
|
2014-10-27T10:30:57
|
|
Flip THREADSAFE's default to ON
Threads are here to stay; and for a while now, users have had to call
the initialization function which sets up threads and crypto regardless
of whether the library was built threadsafe or not.
|
|
a747ea49
|
2014-10-24T14:01:13
|
|
Merge pull request #2647 from ethomson/clar_tmpname
clar: use a custom temp directory name
|
|
29eed1c7
|
2014-10-24T10:50:57
|
|
clar: use a custom temp directory name
|
|
d9c0dbb0
|
2014-10-24T13:29:11
|
|
hash: use CommonCrypto on OSX for SHA-1
OSX has its own cryptographic library, let's make use of it instead of
calling out to OpenSSL.
|
|
3753110a
|
2014-06-17T15:37:21
|
|
Provide option to embed libssh2
|
|
23135afa
|
2014-08-14T11:52:20
|
|
Introduce proper http authentication API
|
|
315cb38e
|
2014-07-31T18:43:20
|
|
Add GSSAPI support for SPNEGO/Kerberos auth over HTTP
|
|
00b8c216
|
2014-06-30T23:18:37
|
|
ssh: always declare the libssh2 types
This lets a user decide they do want to use keyboard-interactive after
they've compiled.
|
|
eac63e67
|
2014-06-30T10:03:36
|
|
ssh: create the right callback signature based on build options
When linking against libssh2, create the transport.h such that it
contains its definition for custom crypto and keyboard-interactive
callbacks.
If we don't link against libssh2, create an equivalent signature which
has void pointers instead of pointers to libssh2 structures.
This would be one way to fix #2438.
|
|
99807672
|
2014-06-08T19:42:54
|
|
Change SOVERSION at API breaks
Since the SOVERSION doesn't need to follow the library's version and
simply needs to be monotonically increasing whenever we release
something that breaks the ABI, we can set some number and allow multiple
versions of the library to be installed side-by-side.
We start here with the minor version as that's what we release for now,
and it allows to backport this change to earlier versions.
|
|
6bcb0987
|
2014-05-08T00:35:56
|
|
cmake: s/ICONV/Iconv/ in FIND_PACKAGE
The cmake module we provide is in the file FindIconv.cmake,
so we must match the case correctly. It happens to work in
practice because we only turn on ICONV on Darwin, and people
generally have case-insensitive filesystems there.
Note that we only need to update the package name here. The
package itself still sets the all-uppercase ICONV_FOUND
flag, so we continue to use uppercase in the rest of cmake.
|
|
cd424ad5
|
2014-04-28T16:39:53
|
|
Add GIT_STATUS_OPT_UPDATE_INDEX and use trace API
This adds an option to refresh the stat cache while generating
status. It also rips out the GIT_PERF stuff I had an makes use
of the trace API to keep statistics about what happens during diff.
|
|
240f4af3
|
2014-04-28T14:04:29
|
|
Add build option for diff internal statistics
|
|
9d878fc4
|
2014-05-01T01:23:10
|
|
Merge pull request #2304 from jacquesg/solaris
Solaris!
|
|
98b8fcff
|
2014-04-29T20:45:02
|
|
Build regex.c for Solaris. Added required defines for Solaris
|
|
f5fc63bc
|
2014-04-30T10:55:58
|
|
Don't exclude libssh2 from MinGW
It reportedly works. It does not however work when cross-compiling on
Travis, so let's disable it there.
This fixes #2311.
|
|
096ac799
|
2014-02-13T22:38:23
|
|
Workaround missing .pc files on FreeBSD
This fixes #2118
|
|
04739e9f
|
2014-04-30T10:15:44
|
|
Unquiet CMake output
The point of this phase is to know what we have and not. Show the user a
clear indication of what we have.
|
|
7f0de93a
|
2014-04-28T15:24:36
|
|
Make the build CMake 2.6 compatible
|
|
5c8d5eac
|
2014-04-19T23:07:50
|
|
Introduce AddCFlagIfSupported CMake macro
|
|
364ef528
|
2014-04-18T19:13:18
|
|
Only disable deprecation warnings on Apple for OpenSSL
|
|
c6cd3f8b
|
2014-04-18T18:32:06
|
|
Use CHECK_C_COMPILER_FLAG to determine if the compiler supports a flag
This simplifies platform/compiler dependent checks where we optionally
enable features or disable warnings.
|
|
48ce93e0
|
2014-04-18T18:58:57
|
|
Fix inconsistent use of lower-case and upper-case names for macros
|
|
823c0e9c
|
2014-04-17T11:53:13
|
|
Fix broken logic for attr cache invalidation
The checks to see if files were out of date in the attibute cache
was wrong because the cache-breaker data wasn't getting stored
correctly. Additionally, when the cache-breaker triggered, the
old file data was being leaked.
|
|
9e1ed9f2
|
2014-04-01T23:01:40
|
|
Add CFLAGS -Wdeclaration-after-statement
This warns local variables declarations after statement, which helps not to break MSVC
|
|
169fb81d
|
2014-03-11T11:56:26
|
|
Undoing local change done for building on x64
|
|
7ca1584b
|
2014-03-11T11:49:19
|
|
Conforming to libgit2 coding style.
|
|
6874cafd
|
2014-03-03T12:08:17
|
|
cmake examples change so that general.c is off by default
|
|
058956ce
|
2014-03-03T11:47:06
|
|
- CMakeLists.txt small fix
|
|
300f4412
|
2014-02-25T11:56:11
|
|
- BUGFIX #2133 (@fourplusone) in smart_protocol.c
- added MSVC cmake definitions to disable warnings
- general.c is rewritten so it is ansi-c compatible and compiles ok on microsoft windows
- some MSVC reported warning fixes
|
|
5bda607c
|
2014-02-21T01:09:44
|
|
Check if librt exists independent of OS, to be able to exclude librt on Android builds, even though it is a 'Linux'.
|
|
4bc94eb5
|
2014-01-30T03:01:46
|
|
We never search for libiconv via pkg-config
So we actually also never know that we can set a dependency on it in
pkg-config. Instead always give it the -L and -l options.
|
|
6e0ff093
|
2014-01-30T02:30:55
|
|
Find and use a MacPorts version of libiconv. Fixes #2017.
- Add correct -I, -L and -l flags
- Search for libiconv in /opt/local/[include|lib] before in the
system path. See #2017 for details.
- Give splitted -L and -l arguments to pkg-config
|
|
60306450
|
2014-01-29T23:47:20
|
|
Use relative path to set cmake module path
This has actually no effect on a "normal" build, but allows to use
libgit2 as a part of a larger project via CMake's ADD_SUBDIRECTORY()
Closes #2087
|
|
86f92b74
|
2014-01-13T12:49:54
|
|
Show informational messages during cmake run as informational
|
|
7697e541
|
2013-12-11T15:02:20
|
|
Test cancel from indexer progress callback
This adds tests that try canceling an indexer operation from
within the progress callback.
After writing the tests, I wanted to run this under valgrind and
had a number of errors in that situation because mmap wasn't
working. I added a CMake option to force emulation of mmap and
consolidated the Amiga-specific code into that new place (so we
don't actually need separate Amiga code now, just have to turn on
-DNO_MMAP).
Additionally, I made the indexer code propagate error codes more
reliably than it used to.
|
|
726b75d1
|
2013-12-02T11:32:37
|
|
Improve iconv finding for cmake
* add FindIconv helper for CMake iconv detection
* only default using iconv to ON for MacOS
* update pkg-config generation to include iconv dependency better
|
|
83e1efbf
|
2013-11-14T14:10:32
|
|
Update files that reference tests-clar
|
|
0df96f2b
|
2013-11-10T07:31:21
|
|
Merge pull request #1936 from libgit2/better-url-parsing
Streamline url-parsing logic.
|
|
73291aff
|
2013-11-05T22:08:02
|
|
cmake: Add `USE_SSH` option
|
|
2d1feaa2
|
2013-11-04T15:03:44
|
|
Compile HTTP parser on win32 (for url parsing)
|
|
1bfe7133
|
2013-10-25T13:23:46
|
|
Allow -DWINHTTP=OFF to disable WinHTTP
|
|
474c8cf8
|
2013-10-23T22:49:52
|
|
Really fix the pc file
It turns out that variables have function scope by default. Let's
really set -liconv and add a few libraries that were forgotten in
the previous commit.
We also need to special-case OSX, as they ship zlib but do not provide
a pkg-config file for it.
|
|
1ecda61e
|
2013-10-23T12:58:56
|
|
Set the correct dependencies in the pkg-config file
When linking statically, the including project needs to know what the
current library build depends on so they can link to it. Store this
information in the pkg-config file.
While here, remove claims that users need to link to zlib or libcrypto.
|
|
92dac975
|
2013-10-08T16:35:57
|
|
Make reference lookups apply precomposeunicode
Before these changes, looking up a reference would return the
same precomposed or decomposed form of the reference name that
was used to look it up, so on MacOS which ignores the difference
between the two, a single reference could be looked up either way
and git_reference_name would return the form of the name that was
used to look it up! This change makes lookup always return the
precomposed name if core.precomposeunicode is set regardless of
which version was used to look it up. The reference iterator was
already returning the precomposed form from earlier work.
This also updates the CMakeLists.txt rules for enabling iconv
usage because the clar tests for this code were actually not being
activated properly with the old version.
Finally, this moves git_repository_reset_filesystem from include/
git2/repository.h to include/git2/sys/repository.h since it is not
really a function that normal library users should have to think
about very often.
|
|
219d3457
|
2013-10-01T16:12:15
|
|
Initial iconv hookup for precomposed unicode
This hooks up git_path_direach and git_path_dirload so that they
will take a flag indicating if directory entry names should be
tested and converted from decomposed unicode to precomposed form.
This code will only come into play on the Apple platform and even
then, only when certain types of filesystems are used.
This involved adding a flag to these functions which involved
changing a lot of places in the code.
This was an opportunity to do a bit of code cleanup here and there,
for example, getting rid of the git_futils_cleanupdir_r function in
favor of a simple flag to git_futils_rmdir_r to not remove the top
level entry. That ended up adding depth tracking during rmdir_r
which led to a safety check for infinite directory recursion. Yay.
This hasn't actually been tested on the Mac filesystems where the
issue occurs. I still need to get test environment for that.
|
|
b176eded
|
2013-09-19T14:52:57
|
|
Initial Implementation of progress reports during push
This adds the basics of progress reporting during push. While progress
for all aspects of a push operation are not reported with this change,
it lays the foundation to add these later. Push progress reporting
can be improved in the future - and consumers of the API should
just get more accurate information at that point.
The main areas where this is lacking are:
1) packbuilding progress: does not report progress during deltafication,
as this involves coordinating progress from multiple threads.
2) network progress: reports progress as objects and bytes are going
to be written to the subtransport (instead of as client gets
confirmation that they have been received by the server) and leaves
out some of the bytes that are transfered as part of the push protocol.
Basically, this reports the pack bytes that are written to the
subtransport. It does not report the bytes sent on the wire that
are received by the server. This should be a good estimate of
progress (and an improvement over no progress).
|
|
60ee53df
|
2013-09-03T15:14:04
|
|
Split examples CMakeLists.txt
Also, this converts the examples/CMakeLists.txt from explicitly
listing to just globbing for all the individual C files.
|
|
c46fe0c6
|
2013-09-02T03:01:40
|
|
Merge pull request #1823 from kadamski/building4android
Small changes enabling compiling libgit2 for Android.
|
|
5c37f005
|
2013-09-01T18:59:42
|
|
Build all example files if BUILD_EXAMPLES used.
|
|
82b2fc2c
|
2013-09-01T18:45:36
|
|
Create ANDROID build option
CMake seems not to support Android as a target and this option
lets us test this in CMakeLists.txt.
|
|
43095341
|
2013-08-26T14:56:31
|
|
Load SRWLock APIs at runtime
This loads SRWLock APIs at runtime and in their absence (i.e. on
Windows before Vista) falls back on a regular CRITICAL_SECTION
that will not permit concurrent readers.
|
|
eb868b1e
|
2013-08-22T14:34:21
|
|
Drop support for THREADSAFE on Windows XP
This makes libgit2 require Windows Vista or newer if it is going
to be compiled with the THREADSAFE option
|
|
5be622fb
|
2013-08-11T01:37:44
|
|
Test SSH in travis
Set up the ssh credentials so we are able to talk to localhost and
issue git commands. Move to use a script, as the command list is
getting somewhat long.
While here, delay installing valgrind until we need it, as it and its
dependencies are by far the largest downloads and this allows us to
start compiling (and failing) faster and we only incur this cost when
the test suite runs successfully.
|
|
d10de8bd
|
2013-08-12T12:07:33
|
|
CMake: finding libssh2 should be idempotent
With the current code, running 'cmake .' in an already-configured
directory causes the removal of ssh flags passed to the compiler,
making it impossible to build with ssh support but by removing CMake's
cache.
Remove the check for LIBSSH2_LIBRARY and let CMake do the right thing
wrt finding the library.
|
|
e8242022
|
2013-08-05T09:59:02
|
|
Move slow tests to "stress" clar module
Create a new section of clar tests "stress" that will default to
being off where we can put slow tests that push the library for
performance testing purposes.
|
|
275d8d55
|
2013-07-18T09:37:59
|
|
Typo
|
|
e49dc687
|
2013-07-17T14:06:31
|
|
Switch default calling convention to cdecl.
|
|
cdacd3d9
|
2013-07-12T16:53:00
|
|
header files show up in vs
|
|
c41281ad
|
2013-06-19T13:36:59
|
|
CMakeLists: fix zlib linker setup
b53671a (Search for zlib unconditional, 2012-12-18) changed things
around to always (even on windows, that's what the subject refers to)
call FIND_PACKAGE(ZLIB).
However, it did not correctly handle the case where ZLIB_LIBRARY is
cached, either by the user setting it manually or by an earlier
search. In that case, the IF(ZLIB_FOUND) would not trigger (that
variable is not cached) and we'd instead use the built-in version.
000e689 (CMake: don't try to use bundled zlib when the system's path
is in the cache, 2013-05-12) tried to fix that, but it actually made
the problem worse: now with ZLIB_LIBRARY cached, _neither_ of the
blocks would execute, resulting in a linker error for me when trying
to build such a doubly-configured setup.
To fix the issue, we just trust CMake to do the right thing. If
ZLIB_LIBRARY is set (either from user or cache) then the find_library
in FindZLIB.cmake will use that instead of searching again. So we can
unconditionally (for real this time) call FIND_PACKAGE(ZLIB), and just
check its result.
|
|
c1cf1af4
|
2013-06-12T21:15:58
|
|
cmake: Add option to specify the name of the binary
|
|
5a6e45cc
|
2013-06-12T21:14:04
|
|
Revert "cmake: Update Windows resources to reflect the optional vendor string"
This reverts commit 095bfd748766966f5515bdfe64867d6a09287123.
|
|
7a6e0281
|
2013-05-02T14:07:22
|
|
Build with the system's http-parser installation if available
|
|
095bfd74
|
2013-05-21T11:38:24
|
|
cmake: Update Windows resources to reflect the optional vendor string
Make InternalName and OriginalFilename resources reflect the name of the compiled binary.
|
|
ccf1a2ba
|
2013-05-21T11:37:13
|
|
cmake: Fix indentation
|
|
e3107e0e
|
2013-05-16T11:35:02
|
|
Merge pull request #1558 from bmorganpa/ssh_transport
SSH Transport
|
|
3bbc87d6
|
2013-05-14T23:09:26
|
|
CMake: allow appending a string to the library filename
This helps us install multiple versions of the library side-by-side.
|
|
000e6896
|
2013-05-12T15:35:02
|
|
CMake: don't try to use bundled zlib when the system's path is in the cache
The code surrounding zlib bundling did not take into consideration
that ZLIB_LIBRARY gets cached, and assumed that FIND(ZLIB) would
always set ZLIB_FOUND, which does not hold true, as this variable
signifies that we have found the package and had to look at the
system, as its location was not cached.
Only use the bundled sources if the external zlib is neither
newly-found nor cached.
|
|
00e43380
|
2013-05-07T14:30:35
|
|
Merge remote-tracking branch 'origin/development' into ssh_transport
|