Support silent build rules, requires at least automake-1.11. Enable by
either passing --enable-silent-rules to configure or passing V=0 to
make. Bug #588863.
This adds:
GInitable - failable object constructor interface
GAsyncInitable - async failable object constructor interface
GSocket - Platform independent lowlevel berkely socket style object
GSocketControlMessage - For passing control messages over GSocket
GUnixFDMessage - unix fd passing socket control message
Some changes were done during the import from gnio to make things
work in glib. For instance, types were moved to other headers, header
file boiler plate were updated to glib style and gio.symbols stuff
was added.
GResolver provides asynchronous (and synchronous-but-cancellable) APIs
for resolving hostnames, reverse-resolving IP addresses back to
hostnames, and resolving SRV records. Part of #548466.
Types and methods for dealing with IPv4 and IPv6 addresses (and UNIX
domain socket addresses under UNIX). This does not include code for
actual socket I/O.
Originally from "gnio". Much of the code was written by Christian
Kellner, Samuel Cormier-Iijima, and Ryan Lortie.
Part of #548466.
2009-03-16 Alexander Larsson <alexl@redhat.com>
Bug 575555 – Use fsync() when replacing files to avoid data loss on crash
* configure.in:
Look for fsync().
* glib/gfileutils.c:
(write_to_temp_file):
fsync temp file if destination file exists
2009-03-16 Alexander Larsson <alexl@redhat.com>
Bug 575555 – Use fsync() when replacing files to avoid data loss on crash
* glocalfileoutputstream.c:
(g_local_file_output_stream_close):
(_g_local_file_output_stream_replace):
fsync temp file before closing if replacing target file
svn path=/trunk/; revision=7991
* configure.in: Define an ENABLE_REGEX macro
* gobject/gboxed.c: Don't refer to g_regex_ref if ENABLE_REGEX
is not defined.
svn path=/trunk/; revision=7815
2008-10-13 Sven Herzberg <sven@imendio.com>
Bug 556101 – static mutex yields warnings with g++
Reviewed by Tim Janik
* configure.in: added an intermediate cast to gpointer
svn path=/trunk/; revision=7598
2008-08-28 Ryan Lortie <desrt@desrt.ca>
[REVERT] Bug 548612 – g_strstr_len() should use memmem when available
* configure.in:
* glib/gstrfuncs.c (g_strstr_len): revert use of memmem (see bug)
svn path=/trunk/; revision=7413
2008-08-28 Bastien Nocera <hadess@hadess.net>
Bug 548612 – g_strstr_len() should use memmem when available
* configure.in: detect whether memmem is available in the C library
* glib/gstrfuncs.c (g_strstr_len): use memmem for g_strstr_len() if
available in it's available, as it could be optimised by the C library
* tests/string-test.c (main): Add a few tests for g_strstr_len()
svn path=/trunk/; revision=7407
2008-08-13 Matthias Clasen <mclasen@redhat.com>
Bug 547637 – unconditional #include of sys/statfs.h in configure
impedes detection of statfs things if non-existant
* configure.in: Protect the statfs.h include by guards.
svn path=/trunk/; revision=7352
2008-07-28 Tor Lillqvist <tml@novell.com>
* configure.in: Output to glibconfig.h typedefs for gintptr as the
signed integer type that can hold a pointer, and guintptr as the
corresponding unsigned type. These types are portable equivalents
to intptr_t and uintptr_t which are not available in all
compilers.
For all current platforms, they will presumably end up as the same
types as gssize and gsize, but in theory size_t can be smaller
than intptr_t. Also, the intended use case for gintptr and
guintptr is different from that of gssize and gsize. As the name
indicates, gintptr is for when one wants an integer type that can
hold a pointer, and gsize is for when one wants an integer type
that can hold the value of the sizeof operator.
svn path=/trunk/; revision=7272
2008-07-28 Tor Lillqvist <tml@novell.com>
Fix problems on 64-bit Windows. Avoid warnings, some of which
indicated actual problems, some which were just annoyances.
Where casts to an integer type are needed for pointers, use
gssize. Technically intptr_t would be the more proper type, but we
still want to be compilable with MSVS6 and 7 which don't have
intptr_t. MSVS8 and 9 do have intptr_t, but in <crtdefs.h>, not
<stdint.h>.
Use %p to print out handles. Use gssize casts when assigning
GPollFD::fd fields.
Use G_GSIZE_FORMAT when printing size_t values.
* configure.in: Define automake conditional G_OS_WIN32_X64 which
is true on Win64.
* glib/giochannel.h: Use slightly different prototype for
g_io_channel_win32_new_messages() on Win64 with gsize instead of
guint.
* glib/giowin32.c
* glib/gmain.c
* glib/gspawn-win32.c
* tests/testglib.c: Generic changes as described above.
* glib/gmain.h: Don't bother mentioning GIMP in comment.
* glib/grel.c (tuple_hash_2): Use all bits of pointer.
* glib/gspawn-win32.c
* glib/gspawn-win32-helper.c: Use gssize types in the
communication between parent and helper process, so that we can
pass process handles, which are pointers, also on Win64.
* glib/gtimer.c (g_time_val_to_iso8601): time_t is 64 bits on
Win64 so we can't pass the address of a GTimeVal::tv_sec which is
a long directly to gmtime(). On the other hand, changing
GTimeVal::tv_sec to be a gint64 on Win64 is not really feasible
either, as that would then require changes in much code that uses
GTimeVals.
* glib/gspawn-win32.c
* glib/Makefile.am: Call the helper programs
gspawn-win64-helper.exe and gspawn-win64-helper-console.exe on
Win64, to avoid potential risk of running a 32-bit version of the
helper.
svn path=/trunk/; revision=7260
2008-07-27 Tor Lillqvist <tml@novell.com>
* configure.in: Set LIB_EXE_MACHINE_FLAG to either X86 or X64 on
Windows. AC_SUBST it.
* */Makefile.am: Correspondingly, pass appropriate -machine
flag to lib.exe when producing the import library for the MS
toolchain.
svn path=/trunk/; revision=7255
2008-07-24 Tor Lillqvist <tml@novell.com>
* configure.in: Must output the GLIB_USING_SYSTEM_PRINTF to
glibconfig.h using the same two phase code as for the other
defines in it. Can't check enable_included_printf directly in the
shell code that is the first argument to AC_CONFIG_COMMANDS().
Preset glib_cv_stack_grows=no on Windows to help
cross-compilation.
* configure.in: Enhancements for 64-bit Windows:
Handle also size_t being larger than long. It is long long
a.k.a. __int64 on the LLP64 Win64.
Set glib_void_p and glib_long correctly. Their assignments were
crossed. It hasn't mattered on LP64 platforms like all (?) 64-bit
UNIXes, but on the LLP Win64 it was wrong.
svn path=/trunk/; revision=7248
2008-07-02 Matthias Clasen <mclasen@redhat.com>
* configure.in: Workaround AC_C_BIGENDIAN breakage in autoconf 2.61.
Add a _cv_ to some variable names, since autoconf wants it.
svn path=/trunk/; revision=7141
2008-06-26 Cody Russell <bratsche@gnome.org>
* configure.in: Add #define GLIB_USING_SYSTEM_PRINTF
to glibconfig.h, which specifies if GLib is using
the system printf functions for g_print*().
(#539999, by Tim-Philipp Müller)
svn path=/trunk/; revision=7099
* configure.in:
* glib/gthread.h: Revert previous patch as it doesn't improve the
situation and results in other warnings.
svn path=/trunk/; revision=7064
2008-05-27 simon.zheng <simon.zheng@sun.com>
* configure.in: Fix#533369. Check whether memeber statvfs.f_basetype
available or not.
* gio/glocalfile.c: (g_local_file_query_filesystem_info):
Fix#533369. Make G_FILE_ATTRIBUTE_FILESYSTEM_TYPE work on Solaris.
svn path=/trunk/; revision=6939
2008-05-20 Tor Lillqvist <tml@novell.com>
* configure.in: Don't need memory barriers when using a non-gcc
compiler on Windows either.
svn path=/trunk/; revision=6918
2008-04-21 Tor Lillqvist <tml@novell.com>
Bug 528752 - Win32 build and SSL not working
This bug report against libsoup points out an issue with the use
of bitfields in the GIOChannel struct that should really be taken
care of here in GLib.
* configure.in: Add Autoconf variable GLIB_EXTRA_CFLAGS which will
contain the -mms-bitfields flag on Windows.
* glib-2.0.pc.in: Add it to Cflags.
svn path=/trunk/; revision=6868
2008-04-21 Tor Lillqvist <tml@novell.com>
* configure.in
* */Makefile.am: More work on enabling static building on
Windows. When building statically: Also define
GOBJECT_STATIC_COMPILATION in glibconfig.h so that also the
variables in gparamspecs.h get declared without any
dllimport/dllexport decorations. Don't install .def files which
obviously have no meaning for static libraries. Don't create MS
import libraries. Don't do any resource object files.
svn path=/trunk/; revision=6866
2008-04-04 Tor Lillqvist <tml@novell.com>
* glibconfig.h.win32.in: Define GLIB_STATIC_COMPILATION here also,
if needed.
svn path=/trunk/; revision=6822
2008-04-04 Tor Lillqvist <tml@novell.com>
* configure.in: Make sure we don't build both shared and static at
the same time on Windows. Put a #define for
GLIB_STATIC_COMPILATION into glibconfig.h in the static case, so
that the use of variables from libglib gets the dllimport stuff in
the GLIB_VAR macro as defined in gtypes.h automatically
correct. This means that a shared and static build of GLib can't
be installed in the same prefix on Windows, which sucks a bit. But
with variables in the GLib API, there isn't much we can do
otherwise. The alternative would be to force the developer who
compiles against a statically built GLib to use
-DGLIB_STATIC_COMPILATION.
svn path=/trunk/; revision=6820