| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
| |
Some packages such as GEGL set macro defines directly into CFLAGS,
and distutils don't handle those with quotes well, so we need to deal
with them seperately.
https://bugzilla.gnome.org/show_bug.cgi?id=753428
|
|
|
|
| |
Related to: https://bugzilla.gnome.org/719966
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add compile() and link() functions in ccompiler.py to call
distutils.ccompiler's compiler() and link() functions, so that we
can in turn call them from dumper.py as needed. Note that for
linking the dumper program when building with libtool, we are still
using the original method of constructing the link command line
and running that command line, as distutils and libtool do not get
along well with each other. For non-libtool builds, such as MSVC
builds, we would link the dumper program using distutils.
For MSVC builds, we need to ignore mt.exe failing to find a
.exe.manifest file as Visual Studio 2010+ do not generate such files
during linking, and it is done by distutils as Python 2.7.x is built
with Visual Studio 2008, which do generate such manifest files during
the build.
https://bugzilla.gnome.org/show_bug.cgi?id=753428
|
|
|
|
|
|
|
|
| |
This should allow `CC='ccache gcc'` or the like to work.
https://bugzilla.gnome.org/show_bug.cgi?id=753949
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
|
| |
|
|
|
|
| |
Against GLib 2.45.6.
|
|
|
|
|
|
| |
Ensures files are correctly and immediately closed.
https://bugzilla.gnome.org/show_bug.cgi?id=751926
|
|
|
|
|
|
|
|
| |
Using tempfile.mkstemp should prevent the temp file
from being cleaned while it might still be used by
another process.
https://bugzilla.gnome.org/show_bug.cgi?id=751926
|
|
|
|
|
|
|
|
| |
Otherwise the error is "no input files" which is very confusing.
https://bugzilla.gnome.org/show_bug.cgi?id=753160
Signed-off-by: Ben Boeckel <mathstuf@gmail.com>
|
|
|
|
|
|
|
|
|
| |
This reverts commit 7ce646db1cb0842db2089df671b17081f82f2b0a.
Apparently this patch caused introspection build breakage for gnome-shell,
as problems occurred during linking for libgnome-volume-control.
Please see bug 728313 comment 105 for more details.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add compiler() and link() functions in ccompiler.py to call
distutil.ccompiler's compile() and link() functions, so that we can in turn
call them from dumper.py to build the dumper program. As distutils don't
get along well with libtool libraries (ie .la files), we can deduce the
libraries to link from using the file name .la file and include
$(builddir)/.libs in the linking stage.
For MSVC builds, we need to ignore mt.exe failing to find a .exe.manifest
file as Visual Studio 2010+ do not generate such files during linking, and
it is done by distutils as Python 2.7.x is built with Visual Studio 2008,
which do generate such manifest files during the build.
https://bugzilla.gnome.org/show_bug.cgi?id=728313
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 updates the __init__ constructor method of CCompiler so that distutils
can be used, with some environment or user-supplied options to create the
compiler instance that is appropriate with the platform that the giscanner
scripts are being run on, and sets some specific environment for the
compilers as necessary. This also adds a check_is_msvc() method that will
progressively replace calls in the other giscanner scripts that attempt to
check for CC=cl (or so), where a part of which is done in this patch. This
is done for dumper.py as well as it needs to be updated in this patch to
use the updated ccompiler.py which uses distutils to initiate the compiler
instance.
Also, as we have been using the --library option on Windows to pass in the
library (not DLL) to deduce the correct DLL to link to in the introspection
files for some time, we no longer need to make a copy of the library (.lib)
to introspect that matches the <namespace>-<namespace_version>.lib
convention, but use the libraries that were passed in with --library
directly, so that we can link the dumper program during the introspection
build.
Please note that this also partially reverts commit c9cfa2b as the
distutils items are clearly needed for these to work.
https://bugzilla.gnome.org/show_bug.cgi?id=728313
|
|
|
|
|
|
|
| |
Remove mentions about the GCC requirement for building the introspection
files, as that is no longer needed.
https://bugzilla.gnome.org/show_bug.cgi?id=728313
|
|
|
|
|
|
|
|
|
| |
As we are running the preprocessor without using stdin as its input, we can
now drop the MSVC build-time dependency on a MinGW/GCC installation for
introspection files, which means we also don't need to supply definitions
for time_t anymore.
https://bugzilla.gnome.org/show_bug.cgi?id=728313
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As we attempt to move giscanner to use distutils for preprocessing and
building the introspection dumper program, we need to update _parse(),
where the preprocessor is called, to not use stdin and stdout for the
preprocessor input and output, as distutils do not accept such usage.
The added bonus for this change is that MSVC builds can be done without
using MinGW/GCC as a helper, as the '-' flag for preprocessing from stdin
was the hindrance to that.
https://bugzilla.gnome.org/show_bug.cgi?id=728313
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This optimization is bugged and broken in the case of certain
libraries. GNOME uses a lot of prefixes with "G", so we'll almost always
have found the prefix.
This is specifically a problem for something like GXml.xDocument, which
uses a type name starting with a lower-case letter, which fools the
prefix logic, but we're also fooled by the "G" appearing in GLib and
Gio.
A more sophisticated version of this check would have three passes:
check prefix with type-case, check prefix without type-case, global
search, but this is an edge case and it doesn't feel worth it to write.
|
|
|
|
| |
Forgot to amend.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=752904
|
| |
|
|
|
|
| |
Update the property sheets, to reflect the changes in the last commit.
|
| |
|
|
|
|
|
|
|
|
|
| |
Update the custom build steps that is used to generate the scripts in
tools/, so that the Visual Studio builds can be done successfully.
Also assume that one will be using the same Python release series for x86
and x64 builds, while we still leave room for one to customize these if
necesssary.
|
|
|
|
|
|
|
| |
We use the __declspec(dllexport) mechanism for exporting the symbols from
the girepository DLL during the build since some time ago, but forgot to
remove the .def-generating items from the project files, notably the MSVC
2010+ ones, which could have well broke those builds. Sorry.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since commit 7e00146, the scripts in tools/ are being generated from
tools/g-ir-tool-template.in, so we need to deal with this to fix Visual
Studio Builds.
Add a simple script to generate the Python tools scripts by splitting up
the gen-cairo-gir.py script and rename gen-cairo-gir.py to
gen-win32-cairo-gir.py to make things clearer to people, and adjust the
corresponding files accordingly.
Make sure everything here use UNIX line endings, for consistency's sake.
|
|
|
|
|
|
|
|
|
|
|
| |
Allow one to pass in the cairo-gobject DLL filename for generating
cairo-1.0.gir, as the DLL filename for Cairo-GObject may vary between
different setups, if needed. Display a note telling the user that he/she
needs to ensure that the DLL name used is correct so that programs and
scripts using the cairo-1.0.typelib can run correctly.
Also clean up the generation of cairo-1.0.gir a bit by directly generating
the cairo-1.0.gir in build\ only during the build.
|
|
|
|
|
|
|
| |
...for the cairo-1.0.gir, as there may be still people that prefer to use
it, for some reason. For the GLib and GI DLLs, the DLL name is deduced
from the --library argument (i.e. the filename of the .lib) passed in to
g-ir-scanner, so that part is not affected by this change.
|
|
|
|
|
|
|
| |
We don't really need the --vsver option anymore, so we can just drop it.
The NMake Makefile does the handling of the DLL name according to the
Visual Studio version used, according to the DLL naming convention that
we used in the GNOME parts of the GTK+ stack).
|
| |
|
|
|
|
|
|
| |
See https://bugzilla.gnome.org/show_bug.cgi?id=749696
https://bugzilla.gnome.org/show_bug.cgi?id=751978
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Cases where fixed-size has no value and fixed-size has
a non-integer value where not yet tested. Found thanks
to coverage.py
|
|
|
|
|
| |
Updated from:
https://raw.githubusercontent.com/jcrocholl/pep8/1.6.2/pep8.py
|
|
|
|
|
| |
Code uses LOG_COMPILER, comment mistakenly still
mentioned TESTS_ENVIRONMENT.
|
|
|
|
|
| |
we already go through 'env' for all other TESTS_ENVIRONMENT
statements, reason to not do so here too...
|
|
|
|
|
| |
"--warn-all --reparse-validate" is already contained in
$(INTROSPECTION_SCANNER_ARGS), no need to repeat
|
| |
|
|
|
|
|
|
| |
we haven't been emitting the warning for about six
years (see 7dbbda9abea9882d2c98726f382a905fa8738706)
so remove the leftovers...
|
|
|
|
|
|
|
|
| |
288b339edf262f1dba4e87a9faef46cc79749bd5 changed the signature from
def _parse_type_second_pass(self, parent, node, typeval):
to
def _parse_type_array_length(self, siblings, node, typeval)
but failed to change the assert statement accordingly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It was reported by HeBD on #introspection that Python modules
use the .pyd extension on windows, not .dll.
The simple fix would have been to just rename to .pyd, but we
started investigating the possibility of acquiring the suffix tuple(s)
via imp.get_suffixes() instead. Which led to the discovery that
imp.load_module() simply ignores the first item of said tuple.
Thus, there is no use in pretending it to be of any importance
in this case so we set it to an empty string.
imp_load_module() source for:
Python 2.6.9 : https://hg.python.org/cpython/file/fcb3ec2842f9/Python/import.c#l3021
Python 2.7.10: https://hg.python.org/cpython/file/15c95b7d81dc/Python/import.c#l3148
and just to be future-proof:
Python 3.4.3 : https://hg.python.org/cpython/file/b4cbecbc0781/Lib/imp.py#l220
|
|
|
|
| |
... so it lives next to the rest of the maintainer utilities.
|
|
|
|
|
|
| |
g-ir-annotation-tool, g-ir-doc-tool and g-ir-scanner where identical
except for the module and function being invoked.
Avoid code duplication and generate these from a common template.
|
| |
|
|
|
|
|
|
| |
'relocatable' at runtime.
https://bugzilla.gnome.org/show_bug.cgi?id=620566
|
|
|
|
|
|
|
| |
Python 3 does not write .pyc files like Python 2
used to do but instead put's them in a __pycache__
directory. Simply compute the version hash using
the .py files instead.
|