1. 16 Apr, 2019 3 commits
  2. 07 Apr, 2019 1 commit
  3. 25 Mar, 2019 1 commit
    • Christoph Reiter's avatar
      shlibs: fall back to basename on macOS for relative paths. Fixes #222 · fd9125f1
      Christoph Reiter authored
      On macOS we ideally want to write the final absolute path of the library
      into the gir and typelib. Up until now we inferred the install path from
      the .la file in case we used libtool and through otool in case we weren't
      using libtool hoping that the install_name was matching the install path.
      
      meson currently sets the install_name of libraries to "@rpath/foo.dylib"
      and adds rpaths to the executables in the build dir. Only during install does
      it change the install_name to the absolute target path in all places.
      
      Since we get called during build time we only get the @rpath from otool,
      which then makes things fail at runtime since the executables don't have
      the matching rpath set.
      
      To make this somewhat work just fall back to the basename for relative
      paths, so we dlopen "foo.dylib" and depend on things being in /usr/local/lib
      or DYLD_FALLBACK_LIBRARY_PATH including the lib path (see man dlopen)
      fd9125f1
  4. 15 Mar, 2019 1 commit
  5. 11 Mar, 2019 1 commit
  6. 16 Jan, 2019 1 commit
  7. 13 Jan, 2019 1 commit
  8. 12 Jan, 2019 1 commit
    • Christoph Reiter's avatar
      autotools: don't pass all the libregress cflags to the scanner. Fixes #226 · 329b71b7
      Christoph Reiter authored
      They contain things like -fvisibility=hidden which, in case of building with
      CFLAGS="-flto -O2" LDFLAGS="-Wl,--as-needed -flto", results in the linker
      throwing out unused symbols and not linking the dumper against libregress.
      
      This results in errors like:
        Invalid GType function: 'regress_test_enum_get_type'
        Failed to find symbol 'regress_test_enum_get_type'
      
      Fix this by only passing the required CFLAGS to the scanner instead.
      329b71b7
  9. 10 Jan, 2019 2 commits
    • Tomasz Mi膮sko's avatar
      Restore original meaning of disguised attribute. · f606183a
      Tomasz Mi膮sko authored
      > Certain types like GIConv and GdkAtom are pointers internally but don't
      > look like pointers when referenced. They have the form.
      >
      >  typedef struct _X *X;
      >
      > Parse these as structures/records but mark them in the gir with a 'disguised'
      > attribute so that we know that they need special handling.
      
      Additionally, stop relaying on disguised attribute when deciding whether
      to render a page. Check number of fields instead, so as to avoid
      introducing large regression in the docs.
      
      Fixes #101.
      f606183a
    • Christoph Reiter's avatar
      message: simplify handling of error levels · 06a460b3
      Christoph Reiter authored
      Instead of allowing each error level to be enabled just enable all of them
      through the enable_warnings() method. This matches what the code is currently
      doing (minus that one helper script) and simplifies things.
      
      Also remove the error count, it's not used.
      06a460b3
  10. 09 Jan, 2019 1 commit
    • Christoph Reiter's avatar
      maintransformer: parse deprecation annotations for section blocks. Fixes #213 · 4f1374ba
      Christoph Reiter authored
      The scanner matches gtk-doc sections which match the lower case type name
      to the type and uses that for the type documentation. The only problem is
      it only takes the docs and none of the other annotations like deprecation
      info etc.
      
      This changes things to also parse the annotations in that case and adds some
      tests while at it.
      4f1374ba
  11. 08 Jan, 2019 2 commits
    • Tomasz Mi膮sko's avatar
      tests: Add functions using flat struct arrays · efb9b272
      Tomasz Mi膮sko authored
      Relatively common in practice are:
      * output with transfer full, which is already covered by
        `regress_test_array_struct_out`,
      * input with transfer none, covered by a new
        `regress_test_array_struct_in_none`
      
      Other variants are quite esoteric, but it still might be useful to
      include them so that bindings can verify that they are handled
      gracefully, e.g., by reporting an error instead of crashing.
      
      Issue #90
      efb9b272
    • Christoph Reiter's avatar
      tests: add some tests for get_source_root_dirs · 781711c3
      Christoph Reiter authored
      To make it easier to test make sure it always returns absolute paths.
      Also fix a typo, oops!
      781711c3
  12. 07 Jan, 2019 1 commit
    • Tomasz Mi膮sko's avatar
      scanner: Flatten multi-dimensional arrays fields · d020c524
      Tomasz Mi膮sko authored
      Provide partial support for multi-dimensional arrays by representing
      them as flattened one dimensional array with size that is equal to
      product of sizes in each dimension. Previously only the first dimension
      would be actually used.
      
      This should be sufficient to ensure that those fields have layout
      compatible with C, without using nested array types that are currently
      unsupported by vapigen
      
      Issue #255.
      d020c524
  13. 06 Jan, 2019 3 commits
  14. 05 Jan, 2019 2 commits
  15. 04 Jan, 2019 1 commit
  16. 03 Jan, 2019 1 commit
  17. 02 Jan, 2019 2 commits
  18. 01 Jan, 2019 5 commits
  19. 31 Dec, 2018 4 commits
  20. 30 Dec, 2018 1 commit
  21. 29 Dec, 2018 5 commits
    • Tomasz Mi膮sko's avatar
      tests: Use macros to print field offsets · 37a94c19
      Tomasz Mi膮sko authored
      37a94c19
    • Tomasz Mi膮sko's avatar
      48c021d6
    • Tomasz Mi膮sko's avatar
      tests: Use macro to determine alignment · 00d7d81d
      Tomasz Mi膮sko authored
      00d7d81d
    • Christoph Reiter's avatar
      ccompiler: don't use Python compiler flags. Fixes #150 · c14d0372
      Christoph Reiter authored
      Only use flags provided by env vars from the user and never from the
      Python sysconfig. The sysconfig values depend on the way Python was built,
      might conflict when using g-i with a different compiler and can't be controlled
      by the g-i user.
      c14d0372
    • Tomasz Mi膮sko's avatar
      Test commands executed by unix C compiler. · 3126ad5b
      Tomasz Mi膮sko authored
      No functional changes intended.
      
      Tests check that:
      * Compiler is obtained from CC.
      * cc is used as the default compiler.
        Currently not true as a Python build time compiler is used as the default.
      * Preprocessor is obtained from CC when CPP is unspecified by adding -E.
      * Preprocessor is obtained from CPP.
      * cpp is used as the default preprocessor.
        Currently not true as Python build time preprocessor is used as the default.
      * Shell word splitting rules are used to split CC.
      * Shell word splitting rules are used to split CPP.
      * Deprecation warnings are disabled during compilation.
      * Preprocessing step includes CPPFLAGS.
      * Compilation step includes both CFLAGS and CPPFLAGS, in that order.
      * Macros from CFLAGS are defined only once.
        Currently not true as they are defined twice.
      * Flags that would retain macros after preprocessing step are filtered out.
        Currently only partially true as they aren't filtered out from CPPFLAGS.
      * Preprocessing step includes flag that preserves comments.
      * Preprocessing step includes current working directory.
      * Complete preprocessing command doesn't contain anything unexpected.
        Currently not true as Python build time CPPFLAGS are included as well.
      * Complete build command doesn't contain anything unexpected.
        Currently not true as Python build time CFLAGS and CPPFLAGS are included as well.
      3126ad5b