Commit Graph

17431 Commits

Author SHA1 Message Date
Nirbheek Chauhan
fe2a9887a8 meson: Improve MSVC and MinGW support and fix dependencies everywhere
Disable gio tests on Windows, fix .gitignore to not ignore
config.h.meson, and add more things to it.

Rename the library file naming and versioning to match what Autotools
outputs, e.g., libglib-2.0.so.0.5000.2 on Linux, libglib-2.0-0.dll  and
glib-2.0-0.dll on Windows with MSVC.

Several more tiny fixes, more executables built and installed, install
pkg-config and m4 files, fix building of gobject tests.

Changes to gdbus-codegen to support out-of-tree builds without
environment variables set (which you can't in Meson). We now add the
build directory to the Python module search path.
2017-07-13 19:03:39 -04:00
Tim-Philipp Müller
213957970e meson: Fix glib, add gobject, gio, gthread, gmodule, etc
Several small fixes to the build files.

Lots of tests have also been added, and glib tests pass now.
2017-07-13 19:03:39 -04:00
Jussi Pakkanen
98e641424b meson: initial glib build
https://mail.gnome.org/archives/gtk-devel-list/2013-August/msg00001.html
2017-07-13 19:03:39 -04:00
Matthias Clasen
41385745e7 Revert "mkenums: Support public/private trigraph"
This reverts commit 9ba17d511e.

This conflicts with the python port in the meson branch.
2017-07-13 19:03:00 -04:00
Chun-wei Fan
9aa98db404 Visual Studio builds: Use PythonDir instead of PythonPath
This is to avoid confusion with the PYTHONPATH envvar that is commonly
used to determine where additional Python modules can be loaded,
especially in the case of a MSBuild build.  Note that envvar names are
not case sensitive on Windows in general.
2017-07-13 17:45:44 +08:00
Руслан Ижбулатов
75fa8c2afb W32 - don't use gettext & gcov during gettext init
Non-representable characters during UTF16->locale conversion
will cause gcov code to return an error, for which it will try
to use gettext, so that the error message is localized.

If such call is made while gettext is being initialized
(there's a g_once_init_enter up the stack), the thread will hang forever.

To solve this, use W32 API to do the UTF16->locale conversion
and don't use gettext when it returns an error.

Also optimize g_win32_locale_filename_from_utf8() a bit,
as we need more UTF16 and less UTF8 now.

https://bugzilla.gnome.org/show_bug.cgi?id=784579
2017-07-13 01:49:38 +00:00
Christoph Reiter
b803c0a224 gspawn-win32: Fix multiple definition error with a static build
gspawn-win32.c gets included by gspawn-win32-helper.c and in case
of a static build the definitions there clash with the ones from
libglib. Fixed by not compiling the ABI comapt code in case
GSPAWN_HELPER is defined.

I missed this issue in commit 23dffdd949

https://bugzilla.gnome.org/show_bug.cgi?id=780634
2017-07-12 23:36:18 +02:00
Christoph Reiter
b60e4665ef gwin32: Fix missing prototypes on win64
I missed this in commit 5067d25a74

https://bugzilla.gnome.org/show_bug.cgi?id=780634
2017-07-12 22:36:30 +02:00
Руслан Ижбулатов
c4b5702e08 Use %lu format for DWORD 2017-07-12 19:46:07 +00:00
Daniel Boles
5eededccda gsettingsschema: Fix a compiler warning
g_build_filename() returns a gchar*, but it was stored in a const gchar*
and then g_free()d, which is wrong and led to a warning about the const
qualifier being cast away.
2017-07-12 19:23:40 +01:00
Chun-wei Fan
7d64d109f0 MSVC 201x builds: Allow different Python versions per toolset
Use conditionals to select the Python installation, so that we can more
stick to the default Visual Studio versions used to compile each
official Python releases more closely.

This means by default:
-2010/2012/2013 builds use Python 3.4.x, which is built with 2010
-2015/2017 builds use Python 3.6.x, which is built with 2015
2017-07-12 18:18:28 +08:00
Chun-wei Fan
a00e7ed32e win32: Update MSVC projects for glib-genmarshal
glib-genmarshal is now a Python script instead of a compiled program, so
we need to:

-Remove the projects that are used to build the glib-genmarshal sources.
-Generate the full glib-genmarshal Python script from glib-genmarshal.in
-Make Python a hard build-time requirement, since we use this tool
 in many parts of the stack (and it is the case for glib-mkenums).
-Tell people in the Visual Studio build README.txt files that Python
 2.7.x or 3.x is now required for the build/"install".
2017-07-12 18:00:22 +08:00
Emmanuele Bassi
c6793d1cfb Allow whitespace between marshallers list tokens
Some (older) list files use whitespace, and we need to take that into
account when splitting off the various tokens.
2017-07-11 18:25:26 +01:00
Aleksandr Slobodeniuk
cf7ee86b97 docs: fixing lost character
https://bugzilla.gnome.org/show_bug.cgi?id=784792
2017-07-11 14:14:37 +01:00
Daniel Boles
522ba7303e docs: tut_gsignal: Fix mismatched argument names
The names differed between the argument declaration and its description.
2017-07-11 12:52:23 +01:00
Emmanuele Bassi
30b961607a Avoid a leak for arguments in va_list marshallers
We need to revers a check on whether the list of arguments needs
unboxing.
2017-07-11 12:24:10 +01:00
Emmanuele Bassi
ea365530d2 Do not mix declarations and statements
Projects using glib-genmarshal may still wish to support C89.
2017-07-11 12:15:44 +01:00
Emmanuele Bassi
9c66e65b29 Remove unused marshallers-related files
We don't use gmarshal.list any more, and the generated gmarshal.strings
file is not used after the Python port of glib-genmarshal.

https://bugzilla.gnome.org/show_bug.cgi?id=784528
2017-07-10 16:47:48 +01:00
Emmanuele Bassi
f7643a7df7 Re-enable signal tests when cross-compiling
The glib-genmarshal tool has been rewritten in Python, which means we
can run it when cross-compiling.

https://bugzilla.gnome.org/show_bug.cgi?id=784528
2017-07-10 16:47:48 +01:00
Emmanuele Bassi
93f16a45ab Rewrite glib-genmarshal in Python
We're in the process or rewriting other tools in Python to reduce the
number of dependencies of GLib.

Additionally, making glib-genmarshal a Python script reduces the
complexity when cross-compiling, as we don't need a native build to
generate the marshallers.

https://bugzilla.gnome.org/show_bug.cgi?id=784528
2017-07-10 16:47:47 +01:00
Philip Withnall
2502bfd8b0 Re-normalise line endings of README.win32
Signed-off-by: Philip Withnall <withnall@endlessm.com>
2017-07-10 11:37:30 +01:00
Philip Withnall
a88302683f git: Add .gitattributes file with EOL settings for README.win32
Set it to always have CRLF line endings, since we want it to be readable
on Windows by default. This should result in the line endings being
normalised to CRLF even after it’s edited by someone on Linux.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2017-07-10 11:35:31 +01:00
Philip Withnall
a131134918 build: Drop nmake/MSC build system for GLib
It hasn’t been seriously maintained for the best part of 10 years and is
very outdated. The recommended way to build GLib on Windows is now
Visual Studio:

https://wiki.gnome.org/Projects/GTK%2B/Win32/MSVCCompilationOfGTKStack#GLib

Signed-off-by: Philip Withnall <withnall@endlessm.com>

https://bugzilla.gnome.org/show_bug.cgi?id=722047
2017-07-10 11:22:40 +01:00
Aleksander Morgado
1d3210a8ab configure: fix minor typo 'be build'->'be built'
https://bugzilla.gnome.org/show_bug.cgi?id=784739
2017-07-10 11:11:33 +01:00
Yosef Or Boczko
28cc905cd0 Updated Hebrew translation 2017-07-09 20:47:55 +03:00
Matthias Clasen
28cc6aeb19 gsettings: Try harder to describe keys
If a key has no description, show the summary,
rather than "(null)". Since thats not helpful at all.
2017-07-07 19:11:51 -04:00
Matthias Clasen
85e4a25912 Avoid a race with the openuri portal
Same as the previous commit; use the new predictable request
object path to connect to the Response signal early.
2017-07-07 11:54:54 -04:00
Bastien Nocera
a95e2a4c64 docs: Fix cut'n'paste error in g_resources_get_info() doc
https://bugzilla.gnome.org/show_bug.cgi?id=784581
2017-07-05 23:50:04 +02:00
Rico Tzschichholz
8e23a514b0 unicode: Update test data files for unicode 10.0.0
https://bugzilla.gnome.org/show_bug.cgi?id=784456
2017-07-05 17:53:07 +02:00
Rico Tzschichholz
4e1567a079 unicode: Update to unicode 10.0.0
https://bugzilla.gnome.org/show_bug.cgi?id=784456
2017-07-05 17:53:07 +02:00
Philip Withnall
a74fe20064 tests: Drop local timezone GTimeVal overflow check
We can’t reasonably control the local timezone in the test
environment, so drop some assertions which were assuming the local
timezone offset was not big enough to cause an overflow in the GTimeVal
handling for GDateTime.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2017-07-05 16:37:20 +01:00
Philip Withnall
5a8b02cae6 gdbusutils: Add an example to g_dbus_gvariant_to_gvalue() docs
Clarify that GVariants of type v are not magically unboxed.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

https://bugzilla.gnome.org/show_bug.cgi?id=784433
2017-07-04 10:45:50 +01:00
Jehan
9bc3d025f9 configure: close a parenthese in an error message. 2017-07-01 17:03:29 +02:00
Matthias Clasen
f39024038f Disambiguate source names
This makes debugging more pleasant.
2017-06-28 19:50:57 -04:00
Emanuele Aina
79e4d4c6be gio: Mention the ALL_METADATA flag in g_file_copy()
The g_file_copy() documentation didn't mention if
G_FILE_COPY_ALL_METADATA was applicable or not, and users were led to
call g_file_copy_attributes() to specify it after the g_file_copy()
call, unless they checked the source (been there, done that).

https://bugzilla.gnome.org/show_bug.cgi?id=784037
2017-06-21 15:54:11 +02:00
Sebastian Dröge
fd329f4853 GKeyFile – Add array length annotations to to_data(), get_keys() and get_groups()
https://bugzilla.gnome.org/show_bug.cgi?id=784020
2017-06-21 13:47:40 +03:00
Philip Withnall
1366ce7ee0 gutf8: Clarify return value docs for g_utf8_find_next_char()
Make it clearer that it will only return NULL if @end is non-NULL. Add a
test for this too.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

https://bugzilla.gnome.org/show_bug.cgi?id=773842
2017-06-21 11:39:52 +01:00
Philip Withnall
3e89b19c44 gutf8: Fix documentation for g_utf8_get_char_validated() length limits
If g_utf8_get_char_validated() encounters a nul byte in the middle of a
string of given longer length, it returns -2, indicating a partial
gunichar. That is not the obvious behaviour, but since
g_utf8_get_char_validated() has been API for a long time, the behaviour
cannot be changed.

Document it, and add some unit tests (for this behaviour and the other
behaviour of g_utf8_get_char_validated()).

Signed-off-by: Philip Withnall <withnall@endlessm.com>

https://bugzilla.gnome.org/show_bug.cgi?id=780095
2017-06-21 11:38:46 +01:00
Philip Withnall
428acd9b14 tests: Fix overflows in find_maximum_supported_tv_sec()
The addition (highest_success + lowest_failure) could have overflowed,
and typically would do on 32-bit platforms where the real
highest_success should be G_MAXLONG. Fix that, and introduce special
handling of the corner case of (highest_success = G_MAXLONG).

Signed-off-by: Philip Withnall <withnall@endlessm.com>

https://bugzilla.gnome.org/show_bug.cgi?id=783841
2017-06-21 11:21:31 +01:00
Philip Withnall
30fed3b906 tests: Fix GDateTime overflow tests on 32-bit architectures
On architectures where sizeof(glong) == 32 bits, there are no problems
with overflow when constructing a GDateTime from a GTimeVal. Adjust the
test for this by basing it on the maximum supported tv_sec value it can
calculate, rather than a fixed ‘known unsupported’ value.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

https://bugzilla.gnome.org/show_bug.cgi?id=783841
2017-06-21 11:21:31 +01:00
Philip Withnall
2db7aa4799 gdatetime: Fix a potential overflow in overflow calculations
I can’t remember whether glong (tv.tv_sec) needs to be explicitly
promoted to gint64 here, or whether C does it automatically. Safer to
make the cast explicit to avoid overflow issues on 32-bit platforms,
where glong is 32-bit.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

https://bugzilla.gnome.org/show_bug.cgi?id=783841
2017-06-21 11:21:31 +01:00
Philip Withnall
18f8b77c04 gio: Use g_strerror() instead of strerror()
This marginally improves thread safety, and marginally improves
consistency.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

https://bugzilla.gnome.org/show_bug.cgi?id=733821
2017-06-21 11:20:29 +01:00
Igor Pashev
c8e268bbce Fix detection and usage of strerror_r()
autoconf provides a macro for this situation, which saves us having to
manually work out whether strerror_r() returns a char* or an int.

https://bugzilla.gnome.org/show_bug.cgi?id=784000
2017-06-20 14:59:27 +01:00
Matthias Clasen
bb50b70713 2.53.3 2017-06-19 21:51:09 -04:00
Baurzhan Muftakhidinov
5cb0ca7a35 Update Kazakh translation 2017-06-17 11:01:18 +00:00
Colin Walters
017f78d77f gtype: Add private DEFINE_TYPE with prelude to workaround gtype deadlocks
And use it in GSocket, as it had a real-world case reported.

https://bugzilla.gnome.org/show_bug.cgi?id=674885
2017-06-14 14:45:45 -04:00
Philip Withnall
ac0b0c84f7 gmessages: Expand documentation on GLogWriterFunc chaining
As prompted by Marc-Andre Lureau.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

https://bugzilla.gnome.org/show_bug.cgi?id=661926
2017-06-14 09:57:01 +01:00
Chun-wei Fan
ad49479265 Visual Studio builds: Visual Studio 2013 and later has va_copy()
Update config.h.win32.in and glib/glibconfig.h.win32.in to indicate so.
2017-06-14 11:48:27 +08:00
Chun-wei Fan
951fd642dc Visual Studio builds: Use the Centricular fork of libffi
The latest upstream libffi is getting bit-rotten with the Windows/MSVC
builds, and since we are eventually moving to a Meson-based build system,
make use of the Centricular fork of libffi[1], which is better maintained
and tested for builds on Windows, with the use of DLLs over static libraries
and elimination of awkward build flags that we had to use for GObject.

[1]: https://github.com/centricular/libffi
2017-06-14 10:51:55 +08:00
Kristjan SCHMIDT
d52f789a29 Updated Esperanto translation 2017-06-11 02:08:58 +02:00