summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-10-26 18:30:31 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2023-10-26 18:30:31 +0000
commit732a30ec45b81a6cda9bfae357c4c3363339ff85 (patch)
tree2c6f5c12ed8218326acf6957224574185ab1b419
parent0479520757e133805131771db28663d7d4340dc5 (diff)
parent9103e1c587736216d6ad1f063d02f6ffe26bcfcf (diff)
downloadglib-emu-34-release.tar.gz
Merge "Snap for 11006111 from 86cfa9a19dfde6cd3b40118a2fa9cc5fd42f8451 to emu-34-release" into emu-34-releaseemu-34-release
-rw-r--r--BUILD200
-rw-r--r--glibconfig.h226
2 files changed, 200 insertions, 226 deletions
diff --git a/BUILD b/BUILD
new file mode 100644
index 000000000..999ab970d
--- /dev/null
+++ b/BUILD
@@ -0,0 +1,200 @@
+objc_library(
+ name = "glib-darwin",
+ srcs = [
+ "glib/gosxutils.m",
+ "os/darwin/config.h",
+ "os/darwin/glib/glibconfig.h",
+ ] + glob(["glib/*.h"]),
+ copts = [
+ "-DGLIB_COMPILATION",
+ "-D_GNU_SOURCE",
+ "-DG_DISABLE_CAST_CHECKS",
+ '-DGLIB_CHARSETALIAS_DIR=""',
+ "-I $(execpath os/darwin)",
+ "-I $(execpath os/darwin/glib)",
+ "-I $(execpath glib)",
+ ],
+ data = [
+ # These paths are here so we can use them in copts with $(execpath ...)
+ "os/darwin",
+ "os/darwin/glib",
+ "glib",
+ ],
+ includes = [
+ ".",
+ ],
+)
+
+cc_library(
+ # Named "glib2" so it doesn't shadow the "glib" directory in this package.
+ name = "glib2",
+ srcs = [
+ "glib/garcbox.c",
+ "glib/garray.c",
+ "glib/gasyncqueue.c",
+ "glib/gatomic.c",
+ "glib/gbacktrace.c",
+ "glib/gbase64.c",
+ "glib/gbitlock.c",
+ "glib/gbookmarkfile.c",
+ "glib/gbytes.c",
+ "glib/gcharset.c",
+ "glib/gchecksum.c",
+ "glib/gconvert.c",
+ "glib/gdataset.c",
+ "glib/gdate.c",
+ "glib/gdatetime.c",
+ "glib/gdir.c",
+ "glib/genviron.c",
+ "glib/gerror.c",
+ "glib/gfileutils.c",
+ # "ggettext.c", # This requires the gettext packages.
+ "glib/ghash.c",
+ "glib/ghmac.c",
+ "glib/ghook.c",
+ "glib/ghostutils.c",
+ "glib/giochannel.c",
+ "glib/gkeyfile.c",
+ "glib/glib-init.c",
+ "glib/glib-private.c",
+ "glib/glist.c",
+ "glib/gmain.c",
+ "glib/gmappedfile.c",
+ "glib/gmarkup.c",
+ "glib/gmem.c",
+ "glib/gunicollate.c",
+ "glib/gmessages.c",
+ "glib/gnode.c",
+ "glib/goption.c",
+ "glib/gpathbuf.c",
+ "glib/gpattern.c",
+ "glib/gpoll.c",
+ "glib/gprimes.c",
+ "glib/gprintf.c",
+ "glib/gqsort.c",
+ "glib/gquark.c",
+ "glib/gqueue.c",
+ "glib/grand.c",
+ "glib/grcbox.c",
+ "glib/grefcount.c",
+ "glib/grefstring.c",
+ # "gregex.c",
+ "glib/gscanner.c",
+ "glib/gsequence.c",
+ "glib/gshell.c",
+ "glib/gslice.c",
+ "glib/gslist.c",
+ "glib/gstdio.c",
+ "glib/gstrfuncs.c",
+ "glib/gstring.c",
+ "glib/gstringchunk.c",
+ "glib/gstrvbuilder.c",
+ "glib/gtestutils.c",
+ "glib/gthread.c",
+ "glib/gthreadpool.c",
+ "glib/gtimer.c",
+ "glib/gtimezone.c",
+ "glib/gtrace.c",
+ "glib/gtranslit.c",
+ "glib/gtrashstack.c",
+ "glib/gtree.c",
+ "glib/gunibreak.c",
+ "glib/gunidecomp.c",
+ "glib/guniprop.c",
+ "glib/guri.c",
+ "glib/gutf8.c",
+ "glib/gutils.c",
+ # "guuid.c", # needs libintl.h from gettext
+ "glib/gvariant-core.c",
+ "glib/gvariant-parser.c",
+ "glib/gvariant-serialiser.c",
+ "glib/gvariant.c",
+ "glib/gvarianttype.c",
+ "glib/gvarianttypeinfo.c",
+ "glib/gversion.c",
+ "glib/gwakeup.c",
+ "glib/libcharset/localcharset.c",
+ ] + select({
+ "@platforms//os:macos": [
+ "glib/giounix.c",
+ "glib/glib-unix.c",
+ "glib/glib-unixprivate.h",
+ "glib/gspawn.c",
+ "glib/gthread-posix.c",
+ "os/darwin/config.h",
+ "os/darwin/glib/glibconfig.h",
+ ],
+ "//conditions:default": [],
+ }) + glob(
+ [
+ "glib/*.h",
+ "glib/deprecated/*.h",
+ "glib/libcharset/*.h",
+ ],
+ exclude = [
+ "glib/glib-unixprivate.h",
+ ],
+ ),
+ hdrs = [
+ "glib.h",
+ ],
+ copts = [
+ "-fvisibility=hidden",
+ "-Winvalid-pch",
+ "-Wextra",
+ "-Wpedantic",
+ "-std=gnu99",
+ "-fno-strict-aliasing",
+ "-Wimplicit-fallthrough",
+ "-Wmisleading-indentation",
+ "-Wmissing-field-initializers",
+ "-Wnonnull",
+ "-Wunused",
+ "-Wno-unused-parameter",
+ "-Wno-cast-function-type",
+ "-Wno-pedantic",
+ "-Wno-format-zero-length",
+ "-Wno-variadic-macros",
+ "-Werror=format=2",
+ "-Werror=init-self",
+ "-Werror=missing-include-dirs",
+ "-Werror=pointer-arith",
+ "-Werror=unused-result",
+ "-Wstrict-prototypes",
+ "-Wno-bad-function-cast",
+ "-Werror=implicit-function-declaration",
+ "-Werror=missing-prototypes",
+ "-Wduplicate-decl-specifier",
+ "-Werror=pointer-sign",
+ "-Wno-string-plus-int",
+ ] + select({
+ "@platforms//os:macos": [
+ "-I $(execpath os/darwin)",
+ "-I $(execpath os/darwin/glib)",
+ "-I $(execpath glib)",
+ ],
+ "//conditions:default": [],
+ }),
+ data = select({
+ "@platforms//os:macos": [
+ # These paths are here so we can use them in copts with $(execpath ...)
+ "os/darwin",
+ "os/darwin/glib",
+ "glib",
+ ],
+ "//conditions:default": [],
+ }),
+ includes = [
+ ".",
+ ],
+ local_defines = [
+ "GLIB_COMPILATION",
+ "_GNU_SOURCE",
+ "G_DISABLE_CAST_CHECKS",
+ 'GLIB_CHARSETALIAS_DIR=\\"\\"',
+ ],
+ deps = select({
+ "@platforms//os:macos": [":glib-darwin"],
+ "//conditions:default": [],
+ }),
+)
diff --git a/glibconfig.h b/glibconfig.h
deleted file mode 100644
index ecae49180..000000000
--- a/glibconfig.h
+++ /dev/null
@@ -1,226 +0,0 @@
-/* glibconfig.h
- *
- * This is a generated file. Please modify 'configure.in'
- */
-
-#ifndef __G_LIBCONFIG_H__
-#define __G_LIBCONFIG_H__
-
-#include <glib/gmacros.h>
-
-#include <limits.h>
-#include <float.h>
-#define GLIB_HAVE_ALLOCA_H
-#define GLIB_HAVE_SYS_POLL_H
-
-/* Specifies that GLib's g_print*() functions wrap the
- * system printf functions. This is useful to know, for example,
- * when using glibc's register_printf_function().
- */
-#define GLIB_USING_SYSTEM_PRINTF
-
-G_BEGIN_DECLS
-
-#define G_MINFLOAT FLT_MIN
-#define G_MAXFLOAT FLT_MAX
-#define G_MINDOUBLE DBL_MIN
-#define G_MAXDOUBLE DBL_MAX
-#define G_MINSHORT SHRT_MIN
-#define G_MAXSHORT SHRT_MAX
-#define G_MAXUSHORT USHRT_MAX
-#define G_MININT INT_MIN
-#define G_MAXINT INT_MAX
-#define G_MAXUINT UINT_MAX
-#define G_MINLONG LONG_MIN
-#define G_MAXLONG LONG_MAX
-#define G_MAXULONG ULONG_MAX
-
-typedef signed char gint8;
-typedef unsigned char guint8;
-typedef signed short gint16;
-typedef unsigned short guint16;
-#define G_GINT16_MODIFIER "h"
-#define G_GINT16_FORMAT "hi"
-#define G_GUINT16_FORMAT "hu"
-typedef signed int gint32;
-typedef unsigned int guint32;
-#define G_GINT32_MODIFIER ""
-#define G_GINT32_FORMAT "i"
-#define G_GUINT32_FORMAT "u"
-#define G_HAVE_GINT64 1 /* deprecated, always true */
-
-typedef signed long gint64;
-typedef unsigned long guint64;
-
-#define G_GINT64_CONSTANT(val) (val##L)
-#define G_GUINT64_CONSTANT(val) (val##UL)
-#define G_GINT64_MODIFIER "l"
-#define G_GINT64_FORMAT "li"
-#define G_GUINT64_FORMAT "lu"
-
-#define GLIB_SIZEOF_VOID_P 8
-#define GLIB_SIZEOF_LONG 8
-#define GLIB_SIZEOF_SIZE_T 8
-
-typedef signed long gssize;
-typedef unsigned long gsize;
-#define G_GSIZE_MODIFIER "l"
-#define G_GSSIZE_FORMAT "li"
-#define G_GSIZE_FORMAT "lu"
-
-#define G_MAXSIZE G_MAXULONG
-#define G_MINSSIZE G_MINLONG
-#define G_MAXSSIZE G_MAXLONG
-
-typedef gint64 goffset;
-#define G_MINOFFSET G_MININT64
-#define G_MAXOFFSET G_MAXINT64
-
-#define G_GOFFSET_MODIFIER G_GINT64_MODIFIER
-#define G_GOFFSET_FORMAT G_GINT64_FORMAT
-#define G_GOFFSET_CONSTANT(val) G_GINT64_CONSTANT(val)
-
-
-#define GPOINTER_TO_INT(p) ((gint) (glong) (p))
-#define GPOINTER_TO_UINT(p) ((guint) (gulong) (p))
-
-#define GINT_TO_POINTER(i) ((gpointer) (glong) (i))
-#define GUINT_TO_POINTER(u) ((gpointer) (gulong) (u))
-
-typedef signed long gintptr;
-typedef unsigned long guintptr;
-
-#ifdef NeXT /* @#%@! NeXTStep */
-# define g_ATEXIT(proc) (!atexit (proc))
-#else
-# define g_ATEXIT(proc) (atexit (proc))
-#endif
-
-#define g_memmove(dest,src,len) G_STMT_START { memmove ((dest), (src), (len)); } G_STMT_END
-
-#define GLIB_MAJOR_VERSION 2
-#define GLIB_MINOR_VERSION 20
-#define GLIB_MICRO_VERSION 0
-
-#define G_OS_UNIX
-
-
-#define G_VA_COPY va_copy
-#define G_VA_COPY_AS_ARRAY 1
-
-#ifdef __cplusplus
-#define G_HAVE_INLINE 1
-#else /* !__cplusplus */
-#define G_HAVE_INLINE 1
-#define G_HAVE___INLINE 1
-#define G_HAVE___INLINE__ 1
-#endif /* !__cplusplus */
-
-#ifdef __cplusplus
-#define G_CAN_INLINE 1
-#else /* !__cplusplus */
-#define G_CAN_INLINE 1
-#endif
-
-#ifndef __cplusplus
-# define G_HAVE_ISO_VARARGS 1
-#endif
-#ifdef __cplusplus
-# define G_HAVE_ISO_VARARGS 1
-#endif
-
-/* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi
- * is passed ISO vararg support is turned off, and there is no work
- * around to turn it on, so we unconditionally turn it off.
- */
-#if __GNUC__ == 2 && __GNUC_MINOR__ == 95
-# undef G_HAVE_ISO_VARARGS
-#endif
-
-#define G_HAVE_GNUC_VARARGS 1
-#define G_HAVE_GROWING_STACK 0
-
-#define G_HAVE_GNUC_VISIBILITY 1
-#if defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)
-#define G_GNUC_INTERNAL __attribute__((visibility("hidden")))
-#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
-#define G_GNUC_INTERNAL __hidden
-#elif defined (__GNUC__) && defined (G_HAVE_GNUC_VISIBILITY)
-#define G_GNUC_INTERNAL __attribute__((visibility("hidden")))
-#else
-#define G_GNUC_INTERNAL
-#endif
-
-#define G_THREADS_ENABLED
-#define G_THREADS_IMPL_POSIX
-typedef struct _GStaticMutex GStaticMutex;
-struct _GStaticMutex
-{
- struct _GMutex *runtime_mutex;
- union {
- char pad[40];
- double dummy_double;
- void *dummy_pointer;
- long dummy_long;
- } static_mutex;
-};
-#define G_STATIC_MUTEX_INIT { NULL, { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} } }
-#define g_static_mutex_get_mutex(mutex) \
- (g_thread_use_default_impl ? ((GMutex*)(gpointer) ((mutex)->static_mutex.pad)) : \
- g_static_mutex_get_mutex_impl_shortcut (&((mutex)->runtime_mutex)))
-/* This represents a system thread as used by the implementation. An
- * alien implementaion, as loaded by g_thread_init can only count on
- * "sizeof (gpointer)" bytes to store their info. We however need more
- * for some of our native implementations. */
-typedef union _GSystemThread GSystemThread;
-union _GSystemThread
-{
- char data[8];
- double dummy_double;
- void *dummy_pointer;
- long dummy_long;
-};
-
-#define GINT16_TO_LE(val) ((gint16) (val))
-#define GUINT16_TO_LE(val) ((guint16) (val))
-#define GINT16_TO_BE(val) ((gint16) GUINT16_SWAP_LE_BE (val))
-#define GUINT16_TO_BE(val) (GUINT16_SWAP_LE_BE (val))
-#define GINT32_TO_LE(val) ((gint32) (val))
-#define GUINT32_TO_LE(val) ((guint32) (val))
-#define GINT32_TO_BE(val) ((gint32) GUINT32_SWAP_LE_BE (val))
-#define GUINT32_TO_BE(val) (GUINT32_SWAP_LE_BE (val))
-#define GINT64_TO_LE(val) ((gint64) (val))
-#define GUINT64_TO_LE(val) ((guint64) (val))
-#define GINT64_TO_BE(val) ((gint64) GUINT64_SWAP_LE_BE (val))
-#define GUINT64_TO_BE(val) (GUINT64_SWAP_LE_BE (val))
-#define GLONG_TO_LE(val) ((glong) GINT64_TO_LE (val))
-#define GULONG_TO_LE(val) ((gulong) GUINT64_TO_LE (val))
-#define GLONG_TO_BE(val) ((glong) GINT64_TO_BE (val))
-#define GULONG_TO_BE(val) ((gulong) GUINT64_TO_BE (val))
-#define GINT_TO_LE(val) ((gint) GINT32_TO_LE (val))
-#define GUINT_TO_LE(val) ((guint) GUINT32_TO_LE (val))
-#define GINT_TO_BE(val) ((gint) GINT32_TO_BE (val))
-#define GUINT_TO_BE(val) ((guint) GUINT32_TO_BE (val))
-#define G_BYTE_ORDER G_LITTLE_ENDIAN
-
-#define GLIB_SYSDEF_POLLIN =1
-#define GLIB_SYSDEF_POLLOUT =4
-#define GLIB_SYSDEF_POLLPRI =2
-#define GLIB_SYSDEF_POLLHUP =16
-#define GLIB_SYSDEF_POLLERR =8
-#define GLIB_SYSDEF_POLLNVAL =32
-
-#define G_MODULE_SUFFIX "so"
-
-/* A GPid is an abstraction for a process "handle". It is *not* an
- * abstraction for a process identifier in general. GPid is used in
- * GLib only for descendant processes spawned with the g_spawn*
- * functions. On POSIX there is no "process handle" concept as such,
- * but on Windows a GPid is a handle to a process, a kind of pointer,
- * not a process identifier.
- */
-typedef int GPid;
-
-G_END_DECLS
-
-#endif /* GLIBCONFIG_H */