1. 26 Oct, 2018 1 commit
    • cmake: detect and use libc-provided iconv · 54e7cf7e
      While most systems provide a separate iconv library against which
      applications can link, musl based systems do not provide such a library.
      Instead, iconv functions are directly included in the C library. As our
      current CMake module to locate the iconv library only checks whether a
      library exists somewhere in the typical library directories, we will
      never build libgit2 with libiconv support on such systems.
      
      Extend the iconv module to also search whether libc provides iconv
      functions, which we do by checking whether the `iconv_open` function
      exists inside of libc. If this is the case, we will default to use the
      libc provided one instead of trying to use a separate libiconv. While
      this changes which iconv we use on systems where both libc and an
      external libiconv exist, to the best of my knowledge common systems only
      provide either one or the other.
      
      Note that libiconv support in musl is held kind of basic. To quote musl
      libc's page on functional differences from glibc [1]:
      
          The iconv implementation musl is very small and oriented towards
          being unobtrusive to static link. Its character set/encoding
          coverage is very strong for its size, but not comprehensive like
          glibc’s.
      
      As we assume iconv to be a lot more capable than what musl provides,
      some of our tests will fail if using iconv on musl-based platforms.
      
      [1]: https://wiki.musl-libc.org/functional-differences-from-glibc.html
      
      (cherry picked from commit 2e2d8c64)
      Patrick Steinhardt committed
  2. 01 May, 2015 1 commit
    • Don't search iconv in /opt/local · b7df2e8b
      Since OpenSSL isn't used any more on OS X, there is no dependency
      on any MacPorts library under /opt/local and there is no danger of
      conflicts between MacPorts and system iconv. For this reason the
      system iconv can always be used now.
      Jiří Techet committed
  3. 30 Jan, 2014 3 commits
  4. 02 Dec, 2013 1 commit