| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Noticed while comparing meson and autotools output
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the following macros and functions: GI_MAJOR_VERSION, GI_MICRO_VERSION,
GI_MINOR_VERSION, GI_CHECK_VERSION, gi_get_major_version,gi_get_micro_version,
gi_get_minor_version.
Since we share a prefix with glib we have to namespace these by using the gi_
prefix. g_gi would also work but we already export symbols with gi_ like
gi_cclosure_marshal_generic(), gi_type_tag_get_ffi_type() and
gi_type_info_extract_ffi_return_value(), so let's not add another naming scheme.
|
|
|
|
|
|
|
| |
For GIR nodes with version annotations, such as "Since:", "Deprecated:",
and "Stability:", we generate stability notes at the top of each node's
documentation. These notes are given the CSS class "versioning-note" so
that we can format them nicely in DevDocs.
|
|
|
|
|
|
| |
This summary, heavily inspired by the one from pgi-docs, is useful when
browsing the page rather than searching for a specific term. It's also
similar to the summary at the top of gtk-doc pages.
|
|
|
|
|
|
|
| |
In order to generate HTML output that DevDocs can easily scrape and
display, we add a new output format to g-ir-doc-tool (--format=devdocs).
It works similarly to the Mallard output format, but generates very simple
HTML instead. We add a new set of Mako templates to generate this output.
|
|
|
|
|
| |
Except for the generated lexer code which triggers it with the
version of flex used in our CI.
|
|
|
|
|
| |
Except for the Python module because nothing in the CPython API is marked const
and we'd have to cast everywhere.
|
|
|
|
|
|
|
|
|
| |
* This adds a new dependency on autoconf-archive.
* Pass WARN_CFLAGS/WARN_LDFLAGS/WARN_SCANNERFLAGS to everything we control the source of
* Disables all warning flags which make the build error out for now, we'll re-enable them
in followup commits.
* AX_COMPILER_FLAGS is used with the release flag always on so we don't get
-Werror by default.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Functional changes:
* Consistently check that return code from pkg-config is zero.
* Use shell word splitting rules to process pkg-config output to match
behaviour obtained by running `cc program.cc $(pkg-config --cflags ...)`.
Fixes issue #171 .
* Use user preferred encoding to process output from pkg-config on
Python 3. Python 2 behaviour defaults to using ascii encoding as before.
edit creiter: still ignore pkg-config errors by default for now as we
depend on it when glib is a subproject.
|
|\
| |
| |
| |
| | |
configure.ac: Don't hardcode the Python C-ext file extension
See merge request GNOME/gobject-introspection!41
|
| |
| |
| |
| |
| | |
.pyd doesn't work with Python 3 on Windows, ask Python for what file extension
it expects instead of hardcoding it.
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
| |
For generating other output formats such as DevDocs-ready HTML, we add an
output format option (-f). The default output format is "mallard" which
leaves the existing behaviour unchanged.
We can fold the existing --write-sections-file option into the new output
format option, as a new "sections" format.
Closes #134.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Version file is generated at build time and stored as _version.py.
To support running uninstalled tools, a fallback version is included as
well. Example output of `--version` option:
```
$ for t in g-ir-{annotation-tool,scanner,doc-tool}; do $t --version; done
g-ir-annotation-tool 1.57.1
g-ir-scanner 1.57.1
g-ir-doc-tool 1.57.1
```
|
|
|
|
|
|
|
| |
We already require python 2.7, and it has OrderedDict and Counter.
Besides cleaning up unmaintained code, this change found and fixed
a Python 3 bug where we were iterating over a dict while changing it.
|
|
|
|
|
|
|
|
| |
Since activating the subdir-objects option, the .c and .h files generated
by Yacc and Lex will show up in the same directory as the source .y and
.l files. The Makefile's BUILT_SOURCES directive should reflect that.
See #120.
|
|
|
|
|
|
|
|
|
| |
Define portable macros for use between Python 2 and 3.
Replace usage of PyString related functions with PyBytes.
Update pygi_source_scanner_parse_macros to support both
PyBytes and PyUnicode.
https://bugzilla.gnome.org/show_bug.cgi?id=679438
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a preprocess() function in ccompiler.py so that it will call the
preprocess() method of the distutils.ccompiler class, and make use of it
from sourcescanner.py.
As we would need to set up the options (include paths, macros, undefs) to
pass into the preprocessor (and later for the compiler), we have a new
private function that translates what we have from the rest of giscanner so
that it could be passed to distutils.ccompiler in a way that it
understands.
Also, as the MSVCCompiler classes in distutils do not provide a
preprocess() implementation, we provide our own so that we can use it when
preprocessing, via distutils, through subclassing MSVCCompiler.
https://bugzilla.gnome.org/show_bug.cgi?id=728313
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a CCompiler module for the giscanner Python scripts so that items
related to the run of the preprocessor, compiler and linker can be done in
this module, and this marks the beginning of the move of building the
introspection files using Python's distutils.
This patch first moves _add_[internal|external]_link_flags() to
ccompiler.py as get_[internal|external]_link_flags and also moves the
Windows shlibs resolution (deducing the DLLs the introspection files should
link to from the libraries passed in) in shlibs.py to
resolve_windows_libs() in ccompiler.py
https://bugzilla.gnome.org/show_bug.cgi?id=728313
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add documentation for structures, fields, constants and
callbacks
- Improve the synopsis for interfaces to have prerequisites
and known implementations
- Respect gjs constraints for field writability
- Format in and out parameters for callables according to GJS
conventions
- Format property names according to the GJS API
- Show boxed constructors according to how they can be used
in the gjs API
https://bugzilla.gnome.org/show_bug.cgi?id=724735
|
|
|
|
|
|
|
|
|
|
|
| |
giscannermodule expects file names to be canonicalized and
symlinks to be resolved (most likely to support users of
symlinked /usr/local). Instead of computing absolute and real
paths all over the place, we can do this once on entry
in SourceScanner().parse_files() and SourceScanner().parse_macros()
and clean the rest a bit...
https://bugzilla.gnome.org/show_bug.cgi?id=710320
|
| |
|
|
|
|
|
|
| |
because we'll add more related code to collections later on
https://bugzilla.gnome.org/show_bug.cgi?id=699536
|
| |
|
|
|
|
|
| |
We eventually want to stop using Mallard as a documentation language.
Rationale incoming when I convert all templates back to DocBook.
|
|
|
|
| |
This will be used to group symbols into documentation sections.
|
|
|
|
| |
Copy/pasted from Python.
|
| |
|
|
|
|
|
|
|
|
|
| |
As templates are in their own directory and segregated into language
already, this is sort of repeating the issue. At the same time, always
explicitly use relative ("./") or absolute ("/") lookups for templates.
We want to eventually have base templates to share between languages, so
to do so without namespace clashes makes sense.
|
| |
|
|
|
|
|
| |
This is a quick cleanup before we inherit from a common template
for all pages.
|
|
|
|
|
|
|
|
| |
http://git.gnome.org/browse/gobject-introspection/commit/?id=8b23c6c changed
the lookup path of the g-ir-doc-tool templates at runtime, but did not change
the install location of the templates. Install them into the expected place.
https://bugzilla.gnome.org/show_bug.cgi?id=691873
|
|
|
|
|
|
| |
Instead of cluttering up the giscanner directory, put templates
into their own files, with each language having its own templates
in its own directory for comfort.
|
|
|
|
|
|
|
|
| |
... instead of having a secondary hard-coded list. This results
in the removal of giscanner/annotationpatterns.py to prevent a
circular import.
https://bugzilla.gnome.org/show_bug.cgi?id=688897
|
|
|
|
|
|
| |
Makes it work on case-sensitive file systems such as HFS+.
https://bugzilla.gnome.org/show_bug.cgi?id=667405
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=672254
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- AM_CHECK_PYTHON_LIBS doesn't work for 64bit sytems (lib64)
- Python extension modules do not need to be linked against
libpython on linux anyway, but it is needed on Windows
So only run AM_CHECK_PYTHON_LIBS in configure.ac for the windows
case and make it clear in Makefile-giscanner.am linking
against libpython is a windows only thing.
https://bugzilla.gnome.org/show_bug.cgi?id=658914
|
|
|
|
|
|
| |
By simply using -shrext ".pyd".
https://bugzilla.gnome.org/show_bug.cgi?id=620566
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- AM_CHECK_PYTHON_HEADERS macro now allows PYTHON_INCLUDES to be overridden
from an environment variable and
- the new AM_CHECK_PYTHON_LIBS macro to check for ability to link against
libpython. This also allows PYTHON_LIBS and PYTHON_LIB_LOC to be overridden
from their respective environment variables.
This allows gobject-introspection to be built with MinGW/MSYS by doing:
PYTHON_DIR="/c/Python27"
SRC_DIR="/d/dev/gnome.org/checkout/gobject-introspection/src"
...
PYTHON_INCLUDES="-I${PYTHON_DIR}/include/" \
PYTHON_LIBS="-L${PYTHON_DIR}/libs/ -lpython${PYTHON_VERSION}" \
PYTHON_LIB_LOC="${PYTHON_DIR}/libs/" \
"${SRC_DIR}/configure" \
https://bugzilla.gnome.org/show_bug.cgi?id=620566
|
| |
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=657686
|
| |
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=625494
|
|
|
|
|
| |
Generating Python source code is problematic for srcdir != builddir;
steal a the trick of putting global data in __builtins__ from jhbuild.
|
|
|
|
| |
Build artifacts go in the builddir, so drop the giscanner/ prefix.
|