summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* ccompiler.py: MSVC builds: Fix running on Python 3.xChun-wei Fan2016-03-171-1/+1
| | | | | When resolving libraries, open the temp file generated by dumpbin with 'r' mode rather than 'rb', since this is a text file.
* Fix code styleChun-wei Fan2016-03-171-4/+6
| | | | | Make my last patch to this file conform to the code style in the rest of this file.
* MSVC builds: Update forgotten fileChun-wei Fan2016-03-171-6/+29
| | | | build/win32/vs10/gi-install.propsin does need to be updated...
* MSVC builds: Remove a file that was added by mistakeChun-wei Fan2016-03-172-196/+0
| | | | | | | build/win32/vs10/gi-install.props is generated during 'make dist', so we don't want to add it into vresion control. Also drop a property sheet that is no longer used.
* MSVC builds: Re-integrate introspection build in projectsChun-wei Fan2016-03-1721-52/+497
| | | | | | | | | | | | | | | | | | GLib has been recently updated to optionally generate the .pc files within the MSVC builds, which is needed to build the introspection files, if Python is available. As we are looking for the .pc files from a common location as a result, we can build the introspection files within the project files, so that the build process does not have to be split into 2 stages. This is done by using wrapper projects that calls the NMake Makefiles that is used to build the introspection files. Note that although the IDE claims that the introspection files failed to build, but they are really generated-so some investigation is needed to see whether we can silence those false-positive errors. Also clean up the property sheets a bit.
* cmph/bdz.c: Work Around MSVC 2012 x64 Compiler BugChun-wei Fan2016-03-161-0/+6
| | | | | | | | | | | Due to an MSVC 2012 x64 compiler issue, the compiler generates bad code for bdz.c, so the for loop in assign() continues running until the point i falls below zero, causing an access violation when we try to do curr_edge=queue[i]; (line 427 in bdz.c). Address this issue by breaking out of the loop at the end of it when i reaches 0 after doing the necessary processing. https://bugzilla.gnome.org/show_bug.cgi?id=733595
* ccompiler.py: Win32: Use tempfile for resolving libsChun-wei Fan2016-03-161-21/+36
| | | | | | | | | | | | When using the NMake Makefile within the Visual Studio projects, as we are using dumpbin to resolve the .lib file that we link to, the outputs of dumpbin is captured by the Visual Studio output panel, which causes it not to be processed by proc.communicate(). This is due to dumpbin being an integrated component of Visual Studio. In order to remedy this, we need to use a temp file, and use the /out:<tempfile> flag, and look for the DLL that is linked to by the .lib that we pass in. https://bugzilla.gnome.org/show_bug.cgi?id=763739
* MSVC builds: Prepare NMake Makefiles for MSVC project inclusionChun-wei Fan2016-03-154-9/+10
| | | | | | Allow the CFG parameter to accept "Debug" and "Release", as this is the convention of the project files of Visual Studio. Also use TOP_SRCDIR everywhere rather than hard-coding '..\..' for it.
* Release 1.47.921.47.92Rico Tzschichholz2016-03-141-2/+2
|
* gir: Update annotations from GLib git masterRico Tzschichholz2016-03-143-19/+16
|
* MSVC builds: Enhance and simplify build-related scriptsChun-wei Fan2016-03-112-13/+15
| | | | | | This updates the replace.py script to support replacing multiple items in a file from GLib's build/win32, which allows us to simplify the script that is used to create cairo-1.0.gir for Visual Studio builds.
* MSVC builds: Fix previous commitChun-wei Fan2016-03-111-3/+4
| | | | | We need to get the full, complete path for $(PREFIX) for all cases, not just when using the default prefix.
* MSVC builds: Make introspection builds a bit easierChun-wei Fan2016-03-111-1/+16
| | | | | | | | | | | | | | | | | GLib recently had a script that would generate the pkg-config files for its Visual Studio builds, which would be sufficient for the need of building introspection files, so update the NMake Makefile modules to look for them automatically, without the need to manually set PKG_CONFIG_PATH in the console, provided that the build was done in the same directory tree[1] and was not moved. Note that this would precede any PKG_CONFIG_PATH's that were already set in the console. [1]: This would mean: $(tree_root) | |--$(GLib_src_tree) |--$(G-I_src_tree) |...
* Do not segfault on comments with invalid UTF-8Pascal Terjan2016-03-071-0/+6
|
* MSVC introspection builds: Also include gio-windows-2.0.pcChun-wei Fan2016-03-021-1/+2
| | | | | | | | ...for generating GLib-2.0.gir, this is to ensure that the headers in include/gio-win32-2.0 is also included when we generate the .gir files, as gio.h will include the include/gio-win32-2.0 headers at some point. This will ensure that all the .gir's that depend on GLib-2.0.gir will make the necessary inclusions.
* MSVC builds: Update include pathsChun-wei Fan2016-03-022-2/+2
| | | | | | We want to make sure that the include/gio-win32-2.0 is also being searched for the headers for GIO as well, and the GLib include paths should first be searched before the include paths of its dependencies.
* girepository: Fix some memory leaks in gdump.cPhilip Withnall2016-02-261-0/+8
| | | | | | | | | These were leaking memory when dumping introspection data from projects for building their GIR files. That’s generally not a problem, unless you’re trying to build the project with -fsanitize=address, which causes the GIR build phase to error out due to leaking memory. https://bugzilla.gnome.org/show_bug.cgi?id=762653
* giscanner/msvccompiler.py: Fix exception handlingChun-wei Fan2016-02-191-1/+1
| | | | | | | | | | Fix the syntax where we handle the exception during preprocessing, so that we won't trigger a NameError when preprocessing fails, and so the error would become clearer to people. Reported by Cosimo Lupo. https://bugzilla.gnome.org/show_bug.cgi?id=757126
* scanner: Assume gcc use the same path separator as pythonNicola Fontana2016-02-161-1/+1
| | | | | | | resolve_windows_libs() uses `gcc -print-search-dirs`. When we are cross compiling with MinGW on linux, gcc uses ':' as path separator, not ';'. https://bugzilla.gnome.org/show_bug.cgi?id=761981
* Allow overriding of dlltool nameNicola Fontana2016-02-162-3/+2
| | | | | | | | Allow to override it with the DLLTOOL environment variable, leaving "dlltool" as a fallback when not defined so backward compatibility is ensured. https://bugzilla.gnome.org/show_bug.cgi?id=761984
* Use PKG_CONFIG when running g-ir-scannerNicola Fontana2016-02-161-1/+1
| | | | | | | While cross-compiling, "$PKG_CONFIG" is not "pkg-config", so do not assume it when calling g-ir-scanner to build up the base gir files. https://bugzilla.gnome.org/show_bug.cgi?id=761983
* scanner: Remove leading $SHELL in libtool callNicola Fontana2016-02-161-1/+2
| | | | | | | | | | | | Avoid crashes due to double shell in subprocess.Popen() on linux, e.g.: ``` >>> import subprocess >>> subprocess.Popen(['/bin/sh', '/bin/sh']) /bin/sh: /bin/sh: cannot execute binary file ``` https://bugzilla.gnome.org/show_bug.cgi?id=761982
* Use a launcher for executing g-ir-scannerNicola Fontana2016-02-162-0/+10
| | | | | | | | In cross-compilation the build system is unable to execute the compiled binary. Give the possibility to use a launcher, e.g. wine for MinGW or qemu for different CPU type. https://bugzilla.gnome.org/show_bug.cgi?id=696773
* tests: drop an assumption that time_t is same as glongAdam Borowski2016-02-141-2/+0
| | | | | | | | | | | This is false on x32, arm32 on Linux and on 32-bit archs of FreeBSD, OpenBSD. In general we've been moving g-i away from supporting time_t due to various problems - GLib-using apps should use GTimeVal or GDateTime etc. https://bugzilla.gnome.org/show_bug.cgi?id=736109
* tests: Add regression test for signal w. array+lenPhilip Chimento2016-02-0810-5/+141
| | | | | | | | This is a regression test for marshalling callback arguments from signals with an array parameter and separate length parameter into closures in the introspected language. https://bugzilla.gnome.org/show_bug.cgi?id=761659
* gir: Update annotations from GLib git masterRico Tzschichholz2016-02-083-7/+7
|
* tests: Add regression test for out array of structPhilip Chimento2016-02-077-0/+168
| | | | | | | This is a regression test for returning out arrays of structs, like gdk_keymap_get_entries_for_keyval() for example. https://bugzilla.gnome.org/show_bug.cgi?id=761658
* Revert "giscanner: Disable warnings arising from -D_FORTIFY_SOURCE -O0"Philip Withnall2016-02-061-6/+0
| | | | | | | | | This reverts commit 0ff7ca94a608663649defc72021062de098853a8. As reported by Ting-Wei Lan, this breaks builds with Clang, which doesn’t support -Wno-cpp. https://bugzilla.gnome.org/show_bug.cgi?id=757934#c5
* gir: Update annotations from GLib git masterRico Tzschichholz2016-02-032-51/+982
|
* giscanner: Disable warnings arising from -D_FORTIFY_SOURCE -O0Philip Withnall2016-01-301-0/+6
| | | | | | | | | | | | | | | Using distutils.ccompiler means that we are forced to use the CFLAGS from the system’s Python installation, which may contain -D_FORTIFY_SOURCE. The user’s environment-provided CFLAGS may contain -O0 (because they are a developer). These two flags cause a warning when used together. Silence that warning by passing -Wno-cpp to disable warnings from #warning preprocessor statements in the generated C code. It doesn’t seem to be possible to selectively undefine _FORTIFY_SOURCE or to stop using the compiler flags from distutils.sysconfig, unfortunately. https://bugzilla.gnome.org/show_bug.cgi?id=757934
* giscanner: fix tests with python3.5Marc-Antoine Perennou2016-01-181-1/+2
| | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=760682 Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
* MingGW Builds: Don't load msvcrt for MinGW64Alexey Pavlov2016-01-131-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=733535
* Win32: Fix giscannermodule.c for Python 3.5+Chun-wei Fan2016-01-081-7/+14
| | | | | | | | | | | | Python 3.5+ is now built with Visual Studio 2015, which now has a refactored set of CRT DLLs where CRT functions are placed in, so we need to acquire the _get_osfhandle() from the correct CRT DLL so that we can pass around file descriptors correctly between different CRT versions. This patch will enable Windows builds of introspection files using Python 3.5+ to work correctly. https://bugzilla.gnome.org/show_bug.cgi?id=759531
* MSVC builds: Update NMake Makefiles for introspectionChun-wei Fan2016-01-042-6/+8
| | | | | | | | | | | This updates the NMake Makefiles for: -Removing the __pycache__ directory on clean, which is generated when using Python 3.x, in the NMake Makefiles for building the main introspection files. -Building the giteststructinfo test program, as well as moving builds of DLLs and EXEs to using inference rules when applicable, for the NMake Makefiles that is used to build the tests.
* MSVc builds: Fix last commitChun-wei Fan2016-01-042-0/+2
| | | | I missed gitestmacros.h, which will be required... :|
* MSVC builds: "Install" some of the test sourcesChun-wei Fan2016-01-042-0/+11
| | | | | Some of these test sources will be used during the test of PyGObject/PyGI, so "install" them.
* scanner: fix line number countingDieter Verfaillie2015-12-271-13/+13
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=752047
* build: dist autogen.shColin Walters2015-12-101-0/+1
| | | | | So if I patch things downstream I can more easily rebuild the autotools.
* Revert "libgirepository: Refuse to run in setuid applications"Colin Walters2015-12-092-14/+1
| | | | | | | | | | | | This reverts commit 98bb6c91b710a95efe4cfeb303daeec3381b9c98. It breaks programs simply executed *transitively* from a setuid binary like the dbus daemon launch helper. https://bugzilla.redhat.com/show_bug.cgi?id=1285991 Conflicts: girepository/girepository.c
* build/win32/gi-tests-msvc.mak: Clean up outputChun-wei Fan2015-12-021-2/+4
| | | | | | | We want to clean up the .ilk files, but only want to create them only during debug builds. Also silence some warnings during the tests by defining TOP_BUILDDIR.
* build/win32: Use PREFIX for all NMake MakefilesChun-wei Fan2015-12-023-23/+23
| | | | This makes things a bit more consistent, rather than using BASEDIR
* build/win32: Make detectenv-msvc.mak and introspection-msvc.mak genericChun-wei Fan2015-12-023-10/+27
| | | | | | | We want to have projects to share common items as much as possible, so move project-specific away from detectenv-msvc.mak and introspection-msvc.mak so that projects needing to update intropsection-msvc.mak can come back here to update it, and update detectenv-msvc.mak from $(glib_srcroot)/build/win32.
* build/win32/vs*/README.txt: Ensure line endings are consistentChun-wei Fan2015-12-022-33/+33
| | | | We need DOS/Windows line feeds here...
* girepository: Fix memory leak in g_irepository_get_dependencies()Garrett Regier2015-11-201-3/+5
| | | | | | The transitive_dependencies GHashTable was being leaked. https://bugzilla.gnome.org/show_bug.cgi?id=758448
* MSVC 2010+ builds: Fix tool scripts generationChun-wei Fan2015-11-201-2/+2
| | | | | The Python command for generating the tool scripts are mixed up for 32-bit release and 64-bit debug builds, fix that. Oops.
* build: Move MSVC-related build items to build/win32Chun-wei Fan2015-11-2021-244/+251
| | | | | | | | | | Move the NMake Makefiles modules and the Python tool scripts to build/win32, so that we may be consistent across the board. Also, update the build files and the README.txt's to make it clear to people that Python 3.3+ is now supported for building the introspection files, in addition to Python 2.7.x. Make the NMake Makefiles more flexible in powershell environments so that the variables can be properly passed in from the command line.
* gir: Update annotations from GLib git masterRico Tzschichholz2015-11-192-27/+38
|
* build/Makefile.msvc-introspection: Change PYTHON2 to PYTHONChun-wei Fan2015-11-121-1/+1
| | | | | Since the introspection scanner also supports Python 3.3+, use PYTHON instead of PYTHON2 to make this clearer to people.
* MSVC builds: Rename "install" projectChun-wei Fan2015-11-129-7/+7
| | | | | | Rename it to "gi-install" so that it will not conflict with the other projects in the GTK+ stack if used as a part of an all-in-one solution file.
* MSVC 2010+ builds: Do not explicitly use /LTCGChun-wei Fan2015-11-125-11/+0
| | | | | | | | | This partially reverts 8fbfbf3. As we now ensure that items using GResources and GConstructors are always referenced so that the linker does not optimize them out in a default Release build, we no longer need to enforce the use of /LTCG, so /LTCG:incremental will work as well.