Doxygen adds unhandled xml output for structs that define types inline, for
example struct Foo { enum { FOO, BAR } baz; }. A type definitions precedes the
members. The script wrongly assumed the first sectiondef child of compounddef
would contain all members, but actually this is the case for sectiondefs with
kind=public-attrib (the sectiondef defining the type has kind=public-type).
Update the list of dependencies, include sort.exe and grep.exe,
create a information file with all download links of included
binaries and re-structure the script for better readability.
See #560 for details.
geany-sciwrappers-gtkdoc.h contains all scintilla_object_* methods. It is
intended that they are going to be exposed through a separate .gir file,
therefore a separate header makes things easier.
This is useful when you want scintlla-related stuff in a separate .gir file or
oarse it specially otherwise.
gen-api-gtkdoc.py: Add switch to write out scintilla_object methods
Because of the missing "typedef struct TMFoo" it was missing from the gtkdoc
header (the struct listings are always without typedef). This is also
consistent with the rest of geany.
@gironly for TMParserType so it's picked up as well.
gtkcompat.h is more convinient, and includes gtk.h and glib.h. Due to
including ScintillaWidget.h, the manual ScintillaObject typedef isn't required
anymore.
It's invalid to forward-declare enumerations, yet they might be
referenced by typedefs.
Fix this by outputting enumerations first so typedefs can references
them. As enumerations can't reference other types, it's safe to place
them before anything else.
Closes#952.
Closes#955.
Make Doxygen ignore `G_{BEGIN,END}_DECLS` and `GEANY_API_SYMBOL` itself
instead of stripping those manually when parsing the XML output.
This makes Doxygen parsing more robust by ignoring some odd C syntax,
and also improves the HTML version removing some incorrect C code
references.
- do not write out scintilla_object_* functions
- remove scioutput file parameter
- do not open output file until after xml parsing to avoid stale files
- fixed simplesect handling
- handle output being a pipe to head or tail
The script reads the doxygen xml output and generates two headers (optionally
a single header) that contains all of the plugin API in gtk-doc format.
Two headers because it's preferrable to group Scintilla related stuff
into its own namespace. This is a lot easier if g-ir-scanner can
work with a separate header file. If we change minds later on the script is
prepared to generate only one header.
This script was used in the nightly builds to verify plugins will load
and have no undefined symbol references. Since the new way plugins
are built and linked, this is no longer necessary.
Additionally, this script won't work with new style geany_load_module()
plugins.
This automatically keeps the installer's idea of Gtk version with the one
used to compile geany in sync.
Traditionally we use the bundles from gtk.org to compile geany, and this
is also used for the installer. With msys2, we can use precompiled
msys2 binaries. These exist for GTK3 as well so we can actually provide a
GTK3 based installer. The installer naturually should reflect this.
Msys2's GTK2 is also newer.
Use the new script gtk-bundle-from-msys2.sh to extract the precompiled
GTK binaries from msys2 / pacman for packing the installer (can also be
used to make a zip for sharing).
mkdir gtk; cd gtk; ../scripts/gtk-bundle-from-msys.sh [-c] [-z] [-2 | -3]
waf is also adapted to process geany.nsi.in. This implies geany.nsi is now
under _build_, not in the root anymore.
* Uses more recent URL (as updated in other PR)
* Downloads the funcsummary.txt file by itself
* Support running the script from any directory
Closes#47