1. 28 Jun, 2017 2 commits
  2. 23 Jun, 2017 1 commit
  3. 22 Jun, 2017 1 commit
    • cmake: Permit disabling external http-parser · 845f661d
      When attempting to build libgit2 as an isolated static lib, CMake
      gleefully attempts to use the system http-parser.  This is typically
      seen on Linux systems which install header files with every package,
      such as Gentoo.
      
      Allow developers to forcibly disable using the system http-parser with
      the config switch USE_EXT_HTTP_PARSER.  Defaults to ON to maintain
      previous behavior.
      
      Signed-off-by: Jason Cooper <jason@lakedaemon.net>
      Jason Cooper committed
  4. 13 Jun, 2017 3 commits
    • cmake: disable optimization on debug builds · a64532e1
      While our debug builds on MSVC platforms already tune the code optimizer
      to aid debugging code, all the other platforms still use the default
      optimization level. This makes it hard for developers on these platforms
      to actually debug code while maintaining his sanity due to optimizations
      like inlined code, elided variables etc.
      
      To help this common use case, we can simply follow the MSVC example and
      turn off code optimization with "-O0" for debug builds. While it would
      be preferable to instead use "-Og" supported by more modern compilers,
      we cannot guarantee that this level is available on all supported
      platforms.
      Patrick Steinhardt committed
    • cmake: set "-D_DEBUG" on non-Windows platforms · 61399953
      In our code base, we have some occasions where we use the "_DEBUG"
      preprocessor macro to enable additional code which should not be part of
      release builds. While we define this flag on MSVC platforms, it is
      guarded by the conditional `WIN32 AND NOT CYGWIN` on other platforms
      since 19be3f9e (Improve MSVC compiler, linker flags, 2013-02-13). While
      this condition can be fulfilled by the MSVC platform, it is never
      encountered due to being part of the `ELSE` part of `IF (MSVC)`.
      
      The intention of the conditional was most likely to avoid the
      preprocessor macro on Cygwin platforms, but to include it on everthing
      else. As such, the correct condition here would be `IF (NOT CYGWIN)`
      instead. But digging a bit further, the condition is only ever used in
      two places:
      
      1. To skip the test in "core::structinit", which should also work on
         Cygwin.
      2. In "src/win32/git2.rc", where it is used to set additional file
         flags. As this file is included in MSVC builds only, it cannot cause
         any harm to set "_DEBUG" on Cygwin here.
      
      As such, we can simply drop the conditional and always set "-D_DEBUG" on
      all platforms.
      Patrick Steinhardt committed
    • cmake: remove stale comment on precompiled headers · e94be4c0
      In commit 9f75a9ce (Turning on runtime checks when building debug under
      MSVC., 2012-03-30), we introduced a comment "Precompiled headers", which
      actually refers to no related commands. Seeing that the comment never
      had anything to refer to, we can simply remove it here.
      Patrick Steinhardt committed
  5. 07 Jun, 2017 2 commits
    • sha1dc: do not use standard includes · db1abffa
      The updated SHA1DC library allows us to use custom includes instead of
      using standard includes. Due to requirements with cross-platform, we
      provide some custom system includes files like for example the
      "stdint.h" file on Win32. Because of this, we want to make sure to avoid
      breaking cross-platform compatibility when SHA1DC is enabled.
      
      To use the new mechanism, we can simply define
      `SHA1DC_NO_STANDARD_INCLUDES`. Furthermore, we can specify custom
      include files via two defines, which we now use to include our
      "common.h" header.
      Patrick Steinhardt committed
    • ctest: temporarily disable UNC path tests · f218508f
      (Temporarily) disable UNC path tests to work around AppVeyor issues.
      Edward Thomson committed
  6. 25 Apr, 2017 1 commit
  7. 03 Mar, 2017 3 commits
  8. 01 Mar, 2017 1 commit
    • cmake: only enable supported compiler warning flags · a02e8a38
      We currently unconditionally enable the "-Wall" and "-Wextra" flags.
      Some platforms rely on compilers which do not support these flags,
      though. One of these platforms is Haiku, which does not support
      "-Wextra" due to being stuck on GCC version 2.
      
      Fix builds on such platforms by adding these flags only if supported by
      the compiler.
      Patrick Steinhardt committed
  9. 31 Dec, 2016 1 commit
  10. 21 Nov, 2016 1 commit
  11. 07 Oct, 2016 1 commit
  12. 06 Oct, 2016 1 commit
  13. 05 Sep, 2016 1 commit
    • cmake: add curl library path · 528b2f7d
      The `PKG_CHECK_MODULES` function searches a pkg-config module and
      then proceeds to set various variables containing information on
      how to link to the library. In contrast to the `FIND_PACKAGE`
      function, the library path set by `PKG_CHECK_MODULES` will not
      necessarily contain linking instructions with a complete path to
      the library, though. So when a library is not installed in a
      standard location, the linker might later fail due to being
      unable to locate it.
      
      While we already honor this when configuring libssh2 by adding
      `LIBSSH2_LIBRARY_DIRS` to the link directories, we fail to do so
      for libcurl, preventing us to build libgit2 on e.g. FreeBSD. Fix
      the issue by adding the curl library directory to the linker
      search path.
      Patrick Steinhardt committed
  14. 21 Jun, 2016 1 commit
    • cmake: do not use -fPIC for MSYS2 · b6a2fd0e
      The MSYS2 build system automatically compiles all code with position-independent
      code. When we manually add the -fPIC flag to the compiler flags, MSYS2 will
      loudly complain about PIC being the default and thus not required.
      
      Fix the annoyance by stripping -fPIC in MSYS2 enviroments like it is already
      done for MinGW.
      Patrick Steinhardt committed
  15. 27 May, 2016 1 commit
  16. 22 May, 2016 1 commit
  17. 29 Apr, 2016 1 commit
  18. 19 Apr, 2016 1 commit
  19. 24 Mar, 2016 1 commit
  20. 23 Mar, 2016 1 commit
  21. 15 Mar, 2016 2 commits
  22. 03 Mar, 2016 2 commits
  23. 25 Feb, 2016 1 commit
    • nsec: support NDK's crazy nanoseconds · 3d6a42d1
      Android NDK does not have a `struct timespec` in its `struct stat`
      for nanosecond support, instead it has a single nanosecond member inside
      the struct stat itself.  We will use that and use a macro to expand to
      the `st_mtim` / `st_mtimespec` definition on other systems (much like
      the existing `st_mtime` backcompat definition).
      Edward Thomson committed
  24. 12 Jan, 2016 1 commit
  25. 09 Jan, 2016 1 commit
  26. 02 Dec, 2015 1 commit
  27. 20 Nov, 2015 1 commit
  28. 23 Oct, 2015 1 commit
  29. 06 Oct, 2015 1 commit
  30. 30 Sep, 2015 2 commits
  31. 19 Sep, 2015 1 commit