Merge branch 'cleanup-root' into 'main'

Various updates to documentation and misc files in the root directory

See merge request GNOME/glib!2649
This commit is contained in:
Philip Withnall 2022-05-17 12:58:25 +00:00
commit 5efbd51ea8
21 changed files with 305 additions and 310 deletions

1
.gitattributes vendored
View File

@ -1 +0,0 @@
README.win32 text eol=crlf

1
.gitignore vendored
View File

@ -21,7 +21,6 @@ tags
*.log *.log
*.trs *.trs
INSTALL
/glib-lcov.info /glib-lcov.info
/glib-lcov/ /glib-lcov/

View File

@ -226,7 +226,7 @@ valgrind:
- ninja -C _build - ninja -C _build
- bash -x ./.gitlab-ci/run-tests.sh - bash -x ./.gitlab-ci/run-tests.sh
--log-file _build/meson-logs/testlog-valgrind.json --log-file _build/meson-logs/testlog-valgrind.json
--wrap "valgrind --tool=memcheck --error-exitcode=1 --track-origins=yes --leak-check=full --leak-resolution=high --num-callers=50 --show-leak-kinds=definite,possible --show-error-list=yes --suppressions=${CI_PROJECT_DIR}/glib.supp" --wrap "valgrind --tool=memcheck --error-exitcode=1 --track-origins=yes --leak-check=full --leak-resolution=high --num-callers=50 --show-leak-kinds=definite,possible --show-error-list=yes --suppressions=${CI_PROJECT_DIR}/tools/glib.supp"
--no-suite no-valgrind --no-suite no-valgrind
--no-suite slow --no-suite slow
# FIXME: Remove this when we have zero valgrind leaks. # FIXME: Remove this when we have zero valgrind leaks.

View File

@ -9,7 +9,7 @@ ancestor_horizon=28 # days (4 weeks)
source .gitlab-ci/search-common-ancestor.sh source .gitlab-ci/search-common-ancestor.sh
git diff -U0 --no-color "${newest_common_ancestor_sha}" | ./clang-format-diff.py -binary "clang-format-11" -p1 git diff -U0 --no-color "${newest_common_ancestor_sha}" | .gitlab-ci/clang-format-diff.py -binary "clang-format-11" -p1
) )
exit_status=$? exit_status=$?

40
AUTHORS
View File

@ -1,40 +0,0 @@
Below are just a few of the people who have contributed
to GLib. Please don't mail these people about problems you
have with GLib; see the README.md file for information about
filing bugs and submitting changes.
GLib-2.0 Team
-------------
Hans Breuer <hans@breuer.org>
Matthias Clasen <mclasen@redhat.com>
Tor Lillqvist <tml@iki.fi>
Tim Janik <timj@gtk.org>
Havoc Pennington <hp@redhat.com>
Ron Steinke <rsteinke@w-link.net>
Owen Taylor <otaylor@redhat.com>
Sebastian Wilhelmi <seppi@seppi.de>
GLib-1.2 Team
-------------
Shawn T. Amundson <amundson@gimp.org>
Jeff Garzik <jgarzik@pobox.com>
Raja R Harinath <harinath@cs.umn.edu>
Tim Janik <timj@gtk.org>
Elliot Lee <sopwith@redhat.com>
Tor Lillqvist <tml@iki.fi>
Paolo Molaro <lupus@debian.org>
Havoc Pennington <hp@pobox.com>
Manish Singh <yosh@gimp.org>
Owen Taylor <otaylor@gtk.org>
Sebastian Wilhelmi <wilhelmi@ira.uka.de>
The random number generator "Mersenne Twister", which is used by GLib,
was developed and originally coded by:
Makoto Matsumoto <matumoto@math.keio.ac.jp>
Takuji Nishimura <nisimura@math.keio.ac.jp>
Original Authors
----------------
Peter Mattis <petm@xcf.berkeley.edu>
Spencer Kimball <spencer@xcf.berkeley.edu>
Josh MacDonald <jmacd@xcf.berkeley.edu>

View File

@ -14,4 +14,4 @@ steps at once by running:
checkout/glib# meson _build checkout/glib# meson _build
For information about submitting patches see the CONTRIBUTING.md file. For For information about submitting patches see the CONTRIBUTING.md file. For
information about major design decisions, see the README.rationale file. information about major design decisions, see the docs/README.rationale file.

View File

@ -1,13 +1,16 @@
Simple install procedure Simple install procedure
======================== ========================
% tar xf glib-@GLIB_VERSION@.tar.gz # unpack the sources ```sh
% cd glib-@GLIB_VERSION@ # change to the toplevel directory tar xf glib-*.tar.gz # unpack the sources
% meson _build # configure the build cd glib-* # change to the toplevel directory
% ninja -C _build # build GLib meson _build # configure the build
ninja -C _build # build GLib
[ Become root if necessary ] # Become root if necessary
% ninja -C _build install # install GLib
ninja -C _build install # install GLib
```
Requirements Requirements
============ ============
@ -17,7 +20,7 @@ compiler and libc. On UNIX-like systems, it also assumes compliance
with at least the original 1990 version of POSIX. with at least the original 1990 version of POSIX.
GLib-2.0 requires pkg-config, which is tool for tracking the GLib-2.0 requires pkg-config, which is tool for tracking the
compilation flags needed for libraries. (For each library, a small .pc compilation flags needed for libraries. (For each library, a small `.pc`
text file is installed in a standard location that contains the text file is installed in a standard location that contains the
compilation flags needed for that library along with version number compilation flags needed for that library along with version number
information.) Information about pkg-config can be found at: information.) Information about pkg-config can be found at:
@ -29,28 +32,28 @@ package a new enough version of Meson, it can be [installed using
`pip`](https://mesonbuild.com/Getting-meson.html#installing-meson-with-pip). `pip`](https://mesonbuild.com/Getting-meson.html#installing-meson-with-pip).
In order to implement conversions between character sets, In order to implement conversions between character sets,
GLib requires an implementation of the standard iconv() routine. GLib requires an implementation of the standard `iconv()` routine.
Most modern systems will have a suitable implementation, however Most modern systems will have a suitable implementation, however
many older systems lack an iconv() implementation. On such systems, many older systems lack an `iconv()` implementation. On such systems,
you must install the libiconv library. This can be found at: you must install the libiconv library. This can be found at:
http://www.gnu.org/software/libiconv/ http://www.gnu.org/software/libiconv/
If your system has an iconv implementation but you want to use If your system has an iconv implementation but you want to use
libiconv instead, you can pass the --with-libiconv option to libiconv instead, you can pass the `--with-libiconv` option to
configure. This forces libiconv to be used. configure. This forces libiconv to be used.
Note that if you have libiconv installed in your default include Note that if you have libiconv installed in your default include
search path (for instance, in /usr/local/), but don't enable search path (for instance, in `/usr/local/`), but don't enable
it, you will get an error while compiling GLib because the it, you will get an error while compiling GLib because the
iconv.h that libiconv installs hides the system iconv. `iconv.h` that libiconv installs hides the system iconv.
If you are using the native iconv implementation on Solaris If you are using the native iconv implementation on Solaris
instead of libiconv, you'll need to make sure that you have instead of libiconv, you'll need to make sure that you have
the converters between locale encodings and UTF-8 installed. the converters between locale encodings and UTF-8 installed.
At a minimum you'll need the SUNWuiu8 package. You probably At a minimum you'll need the `SUNWuiu8` package. You probably
should also install the SUNWciu8, SUNWhiu8, SUNWjiu8, and should also install the `SUNWciu8`, `SUNWhiu8`, `SUNWjiu8`, and
SUNWkiu8 packages. `SUNWkiu8` packages.
The native iconv on Compaq Tru64 doesn't contain support for The native iconv on Compaq Tru64 doesn't contain support for
UTF-8, so you'll need to use GNU libiconv instead. (When UTF-8, so you'll need to use GNU libiconv instead. (When
@ -59,7 +62,7 @@ for GNU gettext as well.) This probably applies to related
operating systems as well. operating systems as well.
Finally, for message catalog handling, GLib requires an implementation Finally, for message catalog handling, GLib requires an implementation
of gettext(). If your system doesn't provide this functionality, of `gettext()`. If your system doesn't provide this functionality,
you should use the libintl library from the GNU gettext package, you should use the libintl library from the GNU gettext package,
available from: available from:
@ -69,7 +72,7 @@ Support for extended attributes and SELinux in GIO requires
libattr and libselinux. libattr and libselinux.
Some of the mimetype-related functionality in GIO requires the Some of the mimetype-related functionality in GIO requires the
update-mime-database and update-desktop-database utilities, which `update-mime-database` and `update-desktop-database` utilities, which
are part of shared-mime-info and desktop-file-utils, respectively. are part of shared-mime-info and desktop-file-utils, respectively.
GObject uses libffi to implement generic marshalling functionality. GObject uses libffi to implement generic marshalling functionality.
@ -90,25 +93,25 @@ Or online at:
Installation directories Installation directories
======================== ========================
The location of the installed files is determined by the --prefix The location of the installed files is determined by the `--prefix`
and --exec-prefix options given to configure. There are also more and `--exec-prefix` options given to configure. There are also more
detailed flags to control individual directories. However, the detailed flags to control individual directories. However, the
use of these flags is not tested. use of these flags is not tested.
One particular detail to note, is that the architecture-dependent One particular detail to note, is that the architecture-dependent
include file glibconfig.h is installed in: include file `glibconfig.h` is installed in `$libdir/glib-2.0/include/`.
$libdir/glib-2.0/include/ `.pc` files for the various libraries are installed in
`$libdir/pkgconfig` to provide information when compiling
.pc files for the various libraries are installed in other packages that depend on GLib. If you set `PKG_CONFIG_PATH`
$libdir/pkgconfig to provide information when compiling
other packages that depend on GLib. If you set PKG_CONFIG_PATH
so that it points to this directory, then you can get the so that it points to this directory, then you can get the
correct include flags and library flags for compiling a GLib correct include flags and library flags for compiling a GLib
application with: application with:
pkg-config --cflags glib-2.0 ```sh
pkg-config --libs glib-2.0 pkg-config --cflags glib-2.0
pkg-config --libs glib-2.0
```
This is the only supported way of determining the include and library flags This is the only supported way of determining the include and library flags
for building against GLib. for building against GLib.

247
NEWS
View File

@ -14304,3 +14304,250 @@ What's new in GLib 1.3.1:
* the g_string(x) macro has been removed, #x may be used instead. * the g_string(x) macro has been removed, #x may be used instead.
Overview of changes in GLib 1.2.1
=================================
* g_realloc() fix for SunOS (please report further problems).
* Continued the never ending fix vendetta regarding getpwuid(),
this time AIX has been the culprit.
* Upgrade to libtool 1.2f
* Miscellaneous other buglets fixed.
Overview of changes in GLib 1.2.0
=================================
* GLib is distributed seperatedly from Gtk+
* Win32 Portability
* Threading support
* GModule mechanism (implemented in an extra library) which wraps dynamic
object code loading facilities in a portable manner
* GIOChannel structure to encapsulate the IPC mechanism
* GQuarks and datasets
* GRelations for n-way mapping of certain data
* An n-way tree implementation
* GDate functionality for calendar date manipulations
* GAllocator type and associated functions
* Added generic callback maintenance functions (ghook)
* Generic functions for TAB completions
* Endian defines (G_*_ENDIAN)
* g_log() mechanism for logging of messages at different log levels
* Generic main-loop mechanism
* New glib-config helper script
* Many more API extensions
Overview of changes in GLib 1.1.16
==================================
* Allocate smaller pools of memory for glists, gslists, gnodes
* Bug Fixes
Overview of changes in GLib 1.1.15
==================================
* HPUX 11 thread system detection should now work
* Release the main loop lock around calls to prepare() and
check() so it is not held over user code
* A few Win32 fixups
Overview of changes in GLib 1.1.14
==================================
* Check for dlsym() in system libraries and -dl
* FreeBSD portability fixes
* Random bug fixes and autoconf/automake changes
Overview of changes in GLib 1.1.13
==================================
* Removed alloca() based function and macro variants again.
* Improved thread related configure tests.
* GSource destruction fixups.
* Fixed up idle function removal based on user_data pointer.
* Advanced Win32 portability.
* Enforced GSource's check(), prepare() and dispatch() constrains,
loop recursions may only happen from dispatch(), and check() as well
as prepare() are called while the main_loop lock is being held.
* GLib development now requires GNU autoconf 2.13, GNU automake 1.4
and GNU libtool 1.2d.
* Lots of random portability and bug fixes.
Overview of changes in GLib 1.1.12
==================================
* Added alloca functions/macros: g_strdup_a, g_strconcat3_a, g_alloca,
g_new_a, g_new0_a
* New tests structure. Type 'make check' on your system to run them.
* Avoid unnecessary extra hook referencing in g_hook_list_marshal
Overview of changes in GLib 1.1.11
==================================
* provide defaults for POLL sysdefs
* g_main_is_running: new function to check whether a main loop has been quitted
* a few other enhancement/fixes
Overview of changes in GLib 1.1.9
=================================
* Check for pthread_attr_init in all cases, Digital Unix 4 requires this
* For G_LOCK_DECLARE_*, if !G_THREADS_ENABLED, eat trailing semicolon better
* Changed g_main_poll_(add|remove) to g_main_(add|remove)_poll
Overview of changes in GLib 1.1.8
=================================
* Added threading support
- The ability to specify a set of functions to be used for
locking at runtime.
- Default implementations of locking functions for pthreads,
Solaris threads, and (experimentally) NSPR.
- All static variables should now properly locked.
- Enhancements to the generic main-loop mechanism to be thread-safe.
(It is used for the main-loop in GTK+ as of GTK+-1.1.8)
* Portability fixes.
Overview of changes in GLib 1.1.7
=================================
* Removed multiple define from glibconfig.h
Overview of changes in GLib 1.1.6
=================================
* New GDate functionality for calendar date manipulations (g_date_*)
* New GAllocator type and associated functions
* New functions g_slist_copy and g_list_copy to duplicate a list with all
its data pointers.
* New function g_array_insert_vals and new macro g_array_insert_val to
insert elements at an arbitrary index
* GAllocators used for glist, gslist, gnode node allocations
* Incremental freezing in ghash
* New function g_hook_list_marshal_check to eventually destroy hooks after
they got marshalled
* Revised GIOChannel to provide generic virtual-function based interface
* Added generic main-loop abstraction
* Removed GListAllocator type and its g_*_allocator_*() function variants
* Bug fixes
Overview of changes in GLib 1.1.5
=================================
* Win32 portability
* GIOChannel structure to encapsulate the IPC mechanism
* Reimplemented endian stuff, using inline asm for x86
* New functions:
- g_strescape: escapes backslashes
- g_path_is_absolute and g_path_skip_root
- g_getenv: expands environment variables that contain references
to other environment variables
- g_scanner_sync_file_offset: rewind the filedescriptor to the current
buffer position and blow the file read ahead buffer
- g_array_remove_index: remove an entry, preserving the order
- g_array_remove_index_fast: remove an entry, order might be distorted
- g_ptr_array_remove: remove an entry, preserving the order
- g_ptr_array_remove_fast: remove an entry, order might be distorted
- g_byte_array_remove_index: wrapper for g_array_remove_index
- g_byte_array_remove_index_fast: wrapper for g_array_remove_index_fast
- g_strncasecmp: modeled closely after g_strcasecmp
- g_list_sort, g_slist_sort: to merge sort GLists and GSLists
* New macros:
- G_DIR_SEPARATOR, G_DIR_SEPARATOR_S: platform-dependant file name
syntax elements
- G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S: platform-dependant
search path syntax conventions
- G_STRUCT_OFFSET, G_STRUCT_MEMBER_P, G_STRUCT_MEMBER: for handling
structure fields through their offsets
* Removed G_ENUM, G_FLAGS, G_NV, and G_SV macros
* Bug fixes
Overview of changes in GLib 1.1.4
=================================
* Added generic callback maintenance functions (ghook)
* New endian defines (G_*_ENDIAN)
* New string join/split/free routines
* Fixes
Overview of changes in GLib 1.1.3
=================================
* New GModule mechanism (implemented in an extra library) which wraps dynamic
object code loading facilities in a portable manner.
* glib-config features extra "glib" (old behaviour remains) and "gmodule"
(add libgmodule.so to the --libs output) arguments now. this can also
be specified as fourth argument to the AM_PATH_GLIB() macro.
* Overhaul of the `inline' autoconfiguration stuff, so inlining should be
sufficiently supported on all systems that allow inlining now.
* New g_log() mechanism for logging of messages at different log levels,
associated with certain log domains (define -DG_LOG_DOMAIN for your library).
* New inline functions for bit masks tests.
* GNode macros (and functions) now return the newly allocated node.
* New macro G_VA_COPY() to work around va_list copying oddities on some
platforms. the non-static g_vsprintf() function vanished in favour of
a publically exported g_strdup_vprintf().
People that used the former g_vsprintf() would definitely want to read the
associated ChangeLog entries (grep for printf).
* New utility functions:
g_strndup(), g_on_error_query(), g_on_error_stack_trace(), g_strdup_printf(),
g_strdup_vprintf(), g_printf_string_upper_bound(), g_spaced_primes_closest(),
g_strnfill(), g_memdup().
* Overhaul of the array implementations, this contains some source incompatible
changes. Again, the ChangeLog is much more informative (grep for garray.c).
* The internals of the g_dataset mechanism are now exported through the
new g_datalist_* API (this is also the underlying implementation for the
keyed data of GtkObjects).
* New function g_atexit(), use of the ATEXIT() macro is discouraged.
* Better configure checks for ansi compliance.
* Libtool update to version 1.2b.
* Lotsa bug fixes and cleanups as always ;)
Overview of changes in GLib 1.1.2
=================================
* Fixed packaging mistake which occured in 1.1.1
* fix 64-bitness in g_prints in glibtest
Overview of changes in GLib 1.1.1
=================================
* An n-way tree implementation is provided now, based on the GNode structure.
* Bugfix for pointer arrays.
Overview of changes in GLib 1.1.0
=================================
* GLib is distributed seperatedly from Gtk+ now and uses a sophisticated
shared library versioning scheme to deal with interface and binary
incompatibilities.
* There is a glib-config helper script installed now.
* Fixups all over the place.
* gboolean is now a gint, not a gchar anymore.
* API extensions for GList and GSList.
* New g_str*() functions for simple string handling.
* GScanner extensions for scope, warning and error handling.
* Minor performance improvements for GMemChunks.
* Implementations of GQuarks and datasets (similar to GtkObjects data
mechansim, but works for generic memory locations).
* More convenience macros for GNU C function arguments.
* Const correction all over the place, including a new pointer type
gconstpointer.
* Generic functions for TAB completions.
* GRelations for n-way mapping of certain data.

View File

@ -1,211 +0,0 @@
Overview of Changes in GLib 1.2.1:
* g_realloc() fix for SunOS (please report further problems).
* Continued the never ending fix vendetta regarding getpwuid(),
this time AIX has been the culprit.
* Upgrade to libtool 1.2f
* Miscellaneous other buglets fixed.
What's new in GLib 1.2.0 (since GLib 1.0.x):
* GLib is distributed seperatedly from Gtk+
* Win32 Portability
* Threading support
* GModule mechanism (implemented in an extra library) which wraps dynamic
object code loading facilities in a portable manner
* GIOChannel structure to encapsulate the IPC mechanism
* GQuarks and datasets
* GRelations for n-way mapping of certain data
* An n-way tree implementation
* GDate functionality for calendar date manipulations
* GAllocator type and associated functions
* Added generic callback maintenance functions (ghook)
* Generic functions for TAB completions
* Endian defines (G_*_ENDIAN)
* g_log() mechanism for logging of messages at different log levels
* Generic main-loop mechanism
* New glib-config helper script
* Many more API extensions
Overview of Changes in GLib 1.1.16:
* Allocate smaller pools of memory for glists, gslists, gnodes
* Bug Fixes
Overview of Changes in GLib 1.1.15:
* HPUX 11 thread system detection should now work
* Release the main loop lock around calls to prepare() and
check() so it is not held over user code
* A few Win32 fixups
Overview of Changes in GLib 1.1.14:
* Check for dlsym() in system libraries and -dl
* FreeBSD portability fixes
* Random bug fixes and autoconf/automake changes
Overview of Changes in GLib 1.1.13:
* Removed alloca() based function and macro variants again.
* Improved thread related configure tests.
* GSource destruction fixups.
* Fixed up idle function removal based on user_data pointer.
* Advanced Win32 portability.
* Enforced GSource's check(), prepare() and dispatch() constrains,
loop recursions may only happen from dispatch(), and check() as well
as prepare() are called while the main_loop lock is being held.
* GLib development now requires GNU autoconf 2.13, GNU automake 1.4
and GNU libtool 1.2d.
* Lots of random portability and bug fixes.
Overview of Changes in GLib 1.1.12:
* Added alloca functions/macros: g_strdup_a, g_strconcat3_a, g_alloca,
g_new_a, g_new0_a
* New tests structure. Type 'make check' on your system to run them.
* Avoid unnecessary extra hook referencing in g_hook_list_marshal
Overview of Changes in GLib 1.1.11:
* provide defaults for POLL sysdefs
* g_main_is_running: new function to check whether a main loop has been quitted
* a few other enhancement/fixes
Overview of Changes in GLib 1.1.9:
* Check for pthread_attr_init in all cases, Digital Unix 4 requires this
* For G_LOCK_DECLARE_*, if !G_THREADS_ENABLED, eat trailing semicolon better
* Changed g_main_poll_(add|remove) to g_main_(add|remove)_poll
Overview of Changes in GLib 1.1.8:
* Added threading support
- The ability to specify a set of functions to be used for
locking at runtime.
- Default implementations of locking functions for pthreads,
Solaris threads, and (experimentally) NSPR.
- All static variables should now properly locked.
- Enhancements to the generic main-loop mechanism to be thread-safe.
(It is used for the main-loop in GTK+ as of GTK+-1.1.8)
* Portability fixes.
Overview of Changes in GLib 1.1.7:
* Removed multiple define from glibconfig.h
Overview of Changes in GLib 1.1.6:
* New GDate functionality for calendar date manipulations (g_date_*)
* New GAllocator type and associated functions
* New functions g_slist_copy and g_list_copy to duplicate a list with all
its data pointers.
* New function g_array_insert_vals and new macro g_array_insert_val to
insert elements at an arbitrary index
* GAllocators used for glist, gslist, gnode node allocations
* Incremental freezing in ghash
* New function g_hook_list_marshal_check to eventually destroy hooks after
they got marshalled
* Revised GIOChannel to provide generic virtual-function based interface
* Added generic main-loop abstraction
* Removed GListAllocator type and its g_*_allocator_*() function variants
* Bug fixes
Overview of Changes in GLib 1.1.5:
* Win32 portability
* GIOChannel structure to encapsulate the IPC mechanism
* Reimplemented endian stuff, using inline asm for x86
* New functions:
- g_strescape: escapes backslashes
- g_path_is_absolute and g_path_skip_root
- g_getenv: expands environment variables that contain references
to other environment variables
- g_scanner_sync_file_offset: rewind the filedescriptor to the current
buffer position and blow the file read ahead buffer
- g_array_remove_index: remove an entry, preserving the order
- g_array_remove_index_fast: remove an entry, order might be distorted
- g_ptr_array_remove: remove an entry, preserving the order
- g_ptr_array_remove_fast: remove an entry, order might be distorted
- g_byte_array_remove_index: wrapper for g_array_remove_index
- g_byte_array_remove_index_fast: wrapper for g_array_remove_index_fast
- g_strncasecmp: modeled closely after g_strcasecmp
- g_list_sort, g_slist_sort: to merge sort GLists and GSLists
* New macros:
- G_DIR_SEPARATOR, G_DIR_SEPARATOR_S: platform-dependant file name
syntax elements
- G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S: platform-dependant
search path syntax conventions
- G_STRUCT_OFFSET, G_STRUCT_MEMBER_P, G_STRUCT_MEMBER: for handling
structure fields through their offsets
* Removed G_ENUM, G_FLAGS, G_NV, and G_SV macros
* Bug fixes
Overview of Changes in GLib 1.1.4:
* Added generic callback maintenance functions (ghook)
* New endian defines (G_*_ENDIAN)
* New string join/split/free routines
* Fixes
Overview of Changes in GLib 1.1.3:
* New GModule mechanism (implemented in an extra library) which wraps dynamic
object code loading facilities in a portable manner.
* glib-config features extra "glib" (old behaviour remains) and "gmodule"
(add libgmodule.so to the --libs output) arguments now. this can also
be specified as fourth argument to the AM_PATH_GLIB() macro.
* Overhaul of the `inline' autoconfiguration stuff, so inlining should be
sufficiently supported on all systems that allow inlining now.
* New g_log() mechanism for logging of messages at different log levels,
associated with certain log domains (define -DG_LOG_DOMAIN for your library).
* New inline functions for bit masks tests.
* GNode macros (and functions) now return the newly allocated node.
* New macro G_VA_COPY() to work around va_list copying oddities on some
platforms. the non-static g_vsprintf() function vanished in favour of
a publically exported g_strdup_vprintf().
People that used the former g_vsprintf() would definitely want to read the
associated ChangeLog entries (grep for printf).
* New utility functions:
g_strndup(), g_on_error_query(), g_on_error_stack_trace(), g_strdup_printf(),
g_strdup_vprintf(), g_printf_string_upper_bound(), g_spaced_primes_closest(),
g_strnfill(), g_memdup().
* Overhaul of the array implementations, this contains some source incompatible
changes. Again, the ChangeLog is much more informative (grep for garray.c).
* The internals of the g_dataset mechanism are now exported through the
new g_datalist_* API (this is also the underlying implementation for the
keyed data of GtkObjects).
* New function g_atexit(), use of the ATEXIT() macro is discouraged.
* Better configure checks for ansi compliance.
* Libtool update to version 1.2b.
* Lotsa bug fixes and cleanups as always ;)
Overview of Changes in GLib 1.1.2:
* Fixed packaging mistake which occured in 1.1.1
* fix 64-bitness in g_prints in glibtest
What is new in GLib 1.1.1:
* An n-way tree implementation is provided now, based on the GNode structure.
* Bugfix for pointer arrays.
What is new in GLib 1.1.0:
* GLib is distributed seperatedly from Gtk+ now and uses a sophisticated
shared library versioning scheme to deal with interface and binary
incompatibilities.
* There is a glib-config helper script installed now.
* Fixups all over the place.
* gboolean is now a gint, not a gchar anymore.
* API extensions for GList and GSList.
* New g_str*() functions for simple string handling.
* GScanner extensions for scope, warning and error handling.
* Minor performance improvements for GMemChunks.
* Implementations of GQuarks and datasets (similar to GtkObjects data
mechansim, but works for generic memory locations).
* More convenience macros for GNU C function arguments.
* Const correction all over the place, including a new pointer type
gconstpointer.
* Generic functions for TAB completions.
* GRelations for n-way mapping of certain data.

1
README
View File

@ -1 +0,0 @@
See README.md

View File

@ -13,7 +13,7 @@ The official web site is:
## Installation ## Installation
See the file '[INSTALL.in](INSTALL.in)' See the file '[INSTALL.md](INSTALL.md)'
## Supported versions ## Supported versions

View File

@ -1 +0,0 @@
See README.win32.md

View File

@ -96,8 +96,8 @@ endif
installed_tests_metadir = join_paths(glib_datadir, 'installed-tests', meson.project_name()) installed_tests_metadir = join_paths(glib_datadir, 'installed-tests', meson.project_name())
installed_tests_execdir = join_paths(glib_libexecdir, 'installed-tests', meson.project_name()) installed_tests_execdir = join_paths(glib_libexecdir, 'installed-tests', meson.project_name())
installed_tests_enabled = get_option('installed_tests') installed_tests_enabled = get_option('installed_tests')
installed_tests_template = files('template.test.in') installed_tests_template = files('tests/template.test.in')
installed_tests_template_tap = files('template-tap.test.in') installed_tests_template_tap = files('tests/template-tap.test.in')
# Dont build the tests unless we can run them (either natively, in an exe wrapper, or by installing them for later use) # Dont build the tests unless we can run them (either natively, in an exe wrapper, or by installing them for later use)
build_tests = get_option('tests') and (meson.can_run_host_binaries() or installed_tests_enabled) build_tests = get_option('tests') and (meson.can_run_host_binaries() or installed_tests_enabled)
@ -2382,38 +2382,17 @@ subdir('fuzzing')
if build_tests if build_tests
subdir('tests') subdir('tests')
endif endif
subdir('tools')
# xgettext is optional (on Windows for instance) # xgettext is optional (on Windows for instance)
if find_program('xgettext', required : get_option('nls')).found() if find_program('xgettext', required : get_option('nls')).found()
subdir('po') subdir('po')
endif endif
# Install glib-gettextize executable, if a UNIX-style shell is found
if have_sh
# These should not contain " quotes around the values
gettextize_conf = configuration_data()
gettextize_conf.set('PACKAGE', 'glib')
gettextize_conf.set('VERSION', meson.project_version())
gettextize_conf.set('prefix', glib_prefix)
gettextize_conf.set('datarootdir', glib_datadir)
gettextize_conf.set('datadir', glib_datadir)
configure_file(input : 'glib-gettextize.in',
install_dir : glib_bindir,
output : 'glib-gettextize',
configuration : gettextize_conf)
endif
# Install m4 macros that other projects use # Install m4 macros that other projects use
install_data('m4macros/glib-2.0.m4', 'm4macros/glib-gettext.m4', 'm4macros/gsettings.m4', install_data('m4macros/glib-2.0.m4', 'm4macros/glib-gettext.m4', 'm4macros/gsettings.m4',
install_dir : join_paths(get_option('datadir'), 'aclocal')) install_dir : join_paths(get_option('datadir'), 'aclocal'))
if host_system != 'windows'
# Install Valgrind suppression file (except on Windows,
# as Valgrind is currently not supported on Windows)
install_data('glib.supp',
install_dir : join_paths(get_option('datadir'), 'glib-2.0', 'valgrind'))
endif
configure_file(output : 'config.h', configuration : glib_conf) configure_file(output : 'config.h', configuration : glib_conf)
if host_system == 'windows' if host_system == 'windows'

21
tools/meson.build Normal file
View File

@ -0,0 +1,21 @@
# Install glib-gettextize executable, if a UNIX-style shell is found
if have_sh
# These should not contain " quotes around the values
gettextize_conf = configuration_data()
gettextize_conf.set('PACKAGE', 'glib')
gettextize_conf.set('VERSION', meson.project_version())
gettextize_conf.set('prefix', glib_prefix)
gettextize_conf.set('datarootdir', glib_datadir)
gettextize_conf.set('datadir', glib_datadir)
configure_file(input : 'glib-gettextize.in',
install_dir : glib_bindir,
output : 'glib-gettextize',
configuration : gettextize_conf)
endif
if host_system != 'windows'
# Install Valgrind suppression file (except on Windows,
# as Valgrind is currently not supported on Windows)
install_data('glib.supp',
install_dir : join_paths(get_option('datadir'), 'glib-2.0', 'valgrind'))
endif