1. 16 Mar, 2018 1 commit
    • Kirill Smelkov's avatar
      Switch to pkg-config to detect libsqlite3 CFLAGS/LDFLAGS · 355427a8
      Kirill Smelkov authored
      Recently I was playing with custom builds of libsqlite3 and neither
      -lsqlite3 without other options find the library, not the compilation at
      all works because libsqlite3 headers cannot be found.
      
      There is established way to make this all working: by using pkg-config
      builder can query it for a "package" cflags or libs e.g. this way:
      
      	$ pkg-config --cflags sqlite3
      	-I/home/kirr/local/sqlite/include
      
      	$ pkg-config --libs sqlite3
      	-L/home/kirr/local/sqlite/lib -lsqlite3
      
      and use so-provided flags for the build.
      
      And if the build is not custom pkg-config will just report cflags/libs
      for a system package:
      
      	$ pkg-config --cflags sqlite3
      
      	$ pkg-config --libs sqlite3
      	-lsqlite3
      
      Since CGo provides support for pkg-config out of the box [1] we can use
      it to get proper libsqlite3 CFLAGS/LDFLAGS.
      
      I guess FreeBSD flags (added in e90ca0e4) becomes also not needed,
      because by default pkg-config searches for package descriptions in
      /usr/local/{lib,share}/pkgconfig too, so I'm switching that to
      pkg-config too.
      
      We leave explicit `-lsqlite3` to be there for non-(linux or freebsd) to
      support Windows and Mac where pkg-config is probably not available by
      default.
      
      [1] https://golang.org/cmd/cgo/#Shdr-Using_cgo_with_the_go_command
      355427a8
  2. 20 Feb, 2018 2 commits
    • gwenn's avatar
      Merge pull request #14 from navytux/y/open-error · 900751f4
      gwenn authored
      open: Fix error message
      900751f4
    • Kirill Smelkov's avatar
      open: Fix error message · 0d47edb6
      Kirill Smelkov authored
      By accident I was trying to open a non-existing database file and got
      the following message:
      
      	unable to open database file (unable to open database file)
      
      which was not helpful.
      
      By convention the error returned by a function should contain the
      context passed to that function - the filename in Open case, the
      operation performed and the error description. So
      
      - teach OpenError to print filename of the opened database and the
        operation.
      - don't duplicate the code in braces if we have the error message
        with the same text because they are often redundant.
      - if we have only error code but not a message, still we have to include
        the filename and operation in the printed context.
      - in the Open itself: always return OpenError on handling errors from
        sqlite3_open_v2 even if db == nil - instead of returning only Errno
        without any context.
      
      Now the error in my case is:
      
      	notfound.db: unable to open database file
      
      ( @gwenn requested to omit the ": open" (operation) probable because it
        duplicates error detail a bit )
      
      /helped-by @gwenn
      0d47edb6
  3. 18 Feb, 2018 2 commits
  4. 09 Feb, 2018 2 commits
  5. 31 Dec, 2017 2 commits
  6. 18 Sep, 2017 1 commit
  7. 02 Sep, 2017 2 commits
  8. 08 Jul, 2017 1 commit
  9. 15 Jun, 2017 2 commits
  10. 12 Jun, 2017 2 commits
  11. 15 Mar, 2017 2 commits
  12. 05 Mar, 2017 7 commits
  13. 23 Feb, 2017 2 commits
  14. 21 Feb, 2017 2 commits
  15. 13 Jan, 2017 1 commit
  16. 05 Jan, 2017 1 commit
  17. 02 Dec, 2016 1 commit
  18. 05 Nov, 2016 1 commit
  19. 12 Oct, 2016 2 commits
  20. 27 Aug, 2016 1 commit
    • gwenn's avatar
      Go 1.7 · b836af76
      gwenn authored
      b836af76
  21. 30 Mar, 2016 1 commit
  22. 03 Mar, 2016 1 commit
  23. 21 Feb, 2016 1 commit