summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Withnall <philip@tecnocode.co.uk>2022-10-20 11:41:48 +0000
committerPhilip Withnall <philip@tecnocode.co.uk>2022-10-20 11:41:48 +0000
commite6fa40bf990e42f00210ba50f25a10da5940ce36 (patch)
tree79b32a925de3ea56199a146c9b86f3a8bc202fe2
parent5b01b47c34a103450183a5eb1a9d67f1f4643461 (diff)
parent476e33c3f3632bd32370fadc67b10d61da9a4098 (diff)
downloadglib-e6fa40bf990e42f00210ba50f25a10da5940ce36.tar.gz
Merge branch 'wip/3v1n0/add-darwin-os' into 'main'
meson: Define G_OS_DARWIN when compiling under OSX or iOS See merge request GNOME/glib!2981
-rw-r--r--docs/reference/glib/glib-overrides.txt5
-rw-r--r--docs/reference/glib/glib-sections.txt.in1
-rw-r--r--gio/gapplication.c2
-rw-r--r--gio/gcredentials.c4
-rw-r--r--gio/gcredentialsprivate.h4
-rw-r--r--gio/gio-tool-launch.c6
-rw-r--r--gio/gio-tool-open.c2
-rw-r--r--gio/giomodule.c8
-rw-r--r--gio/gioprivate.h4
-rw-r--r--gio/glib-compile-resources.c2
-rw-r--r--gio/glocalfileinfo.c2
-rw-r--r--gio/tests/contenttype.c22
-rw-r--r--gio/tests/file.c12
-rw-r--r--gio/tests/gdbus-server-auth.c2
-rw-r--r--glib/docs.c11
-rw-r--r--glib/gbacktrace.c2
-rw-r--r--glib/gbacktrace.h2
-rw-r--r--glib/gspawn.c2
-rw-r--r--glib/gstdio.c2
-rw-r--r--glib/gutils.c8
-rw-r--r--glib/tests/collate.c2
-rw-r--r--glib/tests/date.c2
-rw-r--r--glib/tests/gdatetime.c8
-rw-r--r--glib/tests/macros.c11
-rw-r--r--glib/tests/test-printf.c8
-rw-r--r--glib/tests/utils.c4
-rw-r--r--glib/valgrind.h4
-rw-r--r--gobject/gtype.h2
-rw-r--r--meson.build3
29 files changed, 89 insertions, 58 deletions
diff --git a/docs/reference/glib/glib-overrides.txt b/docs/reference/glib/glib-overrides.txt
index 991fcf2d0..8f29a48d4 100644
--- a/docs/reference/glib/glib-overrides.txt
+++ b/docs/reference/glib/glib-overrides.txt
@@ -197,6 +197,11 @@ GCond *cond
# Definitions for different operating systems
<MACRO>
+<NAME>G_OS_DARWIN</NAME>
+#define G_OS_DARWIN
+</MACRO>
+
+<MACRO>
<NAME>G_OS_UNIX</NAME>
#define G_OS_UNIX
</MACRO>
diff --git a/docs/reference/glib/glib-sections.txt.in b/docs/reference/glib/glib-sections.txt.in
index 35a20efcb..90b0f3258 100644
--- a/docs/reference/glib/glib-sections.txt.in
+++ b/docs/reference/glib/glib-sections.txt.in
@@ -140,6 +140,7 @@ GLIB_VERSION_PREV_STABLE
<TITLE>Standard Macros</TITLE>
<FILE>macros</FILE>
<SUBSECTION>
+G_OS_DARWIN
G_OS_WIN32
G_OS_UNIX
diff --git a/gio/gapplication.c b/gio/gapplication.c
index 1d602c763..724d2f4b4 100644
--- a/gio/gapplication.c
+++ b/gio/gapplication.c
@@ -2486,7 +2486,7 @@ g_application_run (GApplication *application,
sizeof (arguments[0]) * (argc + 1));
}
}
-#elif defined(__APPLE__)
+#elif defined(G_OS_DARWIN)
{
gint i, j;
diff --git a/gio/gcredentials.c b/gio/gcredentials.c
index ba5be63a6..cf35db63c 100644
--- a/gio/gcredentials.c
+++ b/gio/gcredentials.c
@@ -692,7 +692,7 @@ g_credentials_set_unix_user (GCredentials *credentials,
return ret;
}
-#ifdef __APPLE__
+#ifdef G_OS_DARWIN
void
_g_credentials_set_local_peerid (GCredentials *credentials,
pid_t pid)
@@ -702,6 +702,6 @@ _g_credentials_set_local_peerid (GCredentials *credentials,
credentials->pid = pid;
}
-#endif /* __APPLE__ */
+#endif /* G_OS_DARWIN */
#endif /* G_OS_UNIX */
diff --git a/gio/gcredentialsprivate.h b/gio/gcredentialsprivate.h
index 0310a7542..f692f1af7 100644
--- a/gio/gcredentialsprivate.h
+++ b/gio/gcredentialsprivate.h
@@ -160,7 +160,7 @@
#define G_CREDENTIALS_SOCKET_GET_CREDENTIALS_SUPPORTED 1
#define G_CREDENTIALS_HAS_PID 1
-#elif defined(__APPLE__)
+#elif defined(G_OS_DARWIN)
#include <sys/ucred.h>
#define G_CREDENTIALS_SUPPORTED 1
#define G_CREDENTIALS_USE_APPLE_XUCRED 1
@@ -182,6 +182,6 @@ void _g_credentials_set_local_peerid (GCredentials *credentials,
#define G_CREDENTIALS_SOCKET_GET_CREDENTIALS_SUPPORTED 1
#define G_CREDENTIALS_HAS_PID 1
-#endif
+#endif /* defined(G_OS_DARWIN) */
#endif /* __G_CREDENTIALS_PRIVATE_H__ */
diff --git a/gio/gio-tool-launch.c b/gio/gio-tool-launch.c
index 18a9c5fb9..a272e3a4c 100644
--- a/gio/gio-tool-launch.c
+++ b/gio/gio-tool-launch.c
@@ -23,7 +23,7 @@
#include <gio/gio.h>
-#if defined(G_OS_UNIX) && !defined(HAVE_COCOA)
+#if defined(G_OS_UNIX) && !defined(G_OS_DARWIN)
#include <gio/gdesktopappinfo.h>
#endif
@@ -40,7 +40,7 @@ handle_launch (int argc, char *argv[], gboolean do_help)
{
GOptionContext *context;
GError *error = NULL;
-#if defined(G_OS_UNIX) && !defined(HAVE_COCOA)
+#if defined(G_OS_UNIX) && !defined(G_OS_DARWIN)
int i;
GAppInfo *app = NULL;
GAppLaunchContext *app_context = NULL;
@@ -83,7 +83,7 @@ handle_launch (int argc, char *argv[], gboolean do_help)
g_option_context_free (context);
-#if !defined(G_OS_UNIX) || defined(HAVE_COCOA)
+#if !defined(G_OS_UNIX) || defined(G_OS_DARWIN)
print_error (_("The launch command is not currently supported on this platform"));
retval = 1;
#else
diff --git a/gio/gio-tool-open.c b/gio/gio-tool-open.c
index da8914a7c..1bd1d197b 100644
--- a/gio/gio-tool-open.c
+++ b/gio/gio-tool-open.c
@@ -23,7 +23,7 @@
#include <gio/gio.h>
-#if defined(G_OS_UNIX) && !defined(HAVE_COCOA)
+#if defined(G_OS_UNIX) && !defined(G_OS_DARWIN)
#include <gio/gdesktopappinfo.h>
#endif
diff --git a/gio/giomodule.c b/gio/giomodule.c
index 1c4b654c0..af380d9da 100644
--- a/gio/giomodule.c
+++ b/gio/giomodule.c
@@ -61,7 +61,7 @@
#endif
#include <glib/gstdio.h>
-#if defined(G_OS_UNIX) && !defined(HAVE_COCOA)
+#if defined(G_OS_UNIX) && !defined(G_OS_DARWIN)
#include "gdesktopappinfo.h"
#endif
#ifdef HAVE_COCOA
@@ -1185,7 +1185,7 @@ _g_io_modules_ensure_extension_points_registered (void)
if (g_once_init_enter (&registered_extensions))
{
-#if defined(G_OS_UNIX) && !defined(HAVE_COCOA)
+#if defined(G_OS_UNIX) && !defined(G_OS_DARWIN)
#if !GLIB_CHECK_VERSION (3, 0, 0)
ep = g_io_extension_point_register (G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME);
g_io_extension_point_set_required_type (ep, G_TYPE_DESKTOP_APP_INFO_LOOKUP);
@@ -1264,7 +1264,7 @@ get_gio_module_dir (void)
g_free (install_dir);
#else
module_dir = g_strdup (GIO_MODULE_DIR);
-#ifdef __APPLE__
+#ifdef G_OS_DARWIN
#include "TargetConditionals.h"
#if TARGET_OS_OSX
#include <dlfcn.h>
@@ -1286,7 +1286,7 @@ get_gio_module_dir (void)
}
}
#endif
-#endif
+#endif /* G_OS_DARWIN */
#endif
}
diff --git a/gio/gioprivate.h b/gio/gioprivate.h
index a65b9bd64..4404385e7 100644
--- a/gio/gioprivate.h
+++ b/gio/gioprivate.h
@@ -45,11 +45,11 @@ void g_socket_connection_set_cached_remote_address (GSocketConnection *connectio
#define G_IOV_MAX IOV_MAX
#elif defined(UIO_MAXIOV)
#define G_IOV_MAX UIO_MAXIOV
-#elif defined(__APPLE__)
+#elif defined(G_OS_DARWIN)
/* For macOS/iOS, UIO_MAXIOV is documented in writev(2), but <sys/uio.h>
* only declares it if defined(KERNEL) */
#define G_IOV_MAX 512
-#else
+#else /* !G_OS_DARWIN */
/* 16 is the minimum value required by POSIX */
#define G_IOV_MAX 16
#endif
diff --git a/gio/glib-compile-resources.c b/gio/glib-compile-resources.c
index 0f873d486..a6501d421 100644
--- a/gio/glib-compile-resources.c
+++ b/gio/glib-compile-resources.c
@@ -735,7 +735,7 @@ get_compiler_id (const char *compiler)
#ifdef G_OS_UNIX
const char *compiler_env = g_getenv ("CC");
-# ifdef __APPLE__
+# ifdef G_OS_DARWIN
if (compiler_env == NULL || *compiler_env == '\0')
compiler = "clang";
else
diff --git a/gio/glocalfileinfo.c b/gio/glocalfileinfo.c
index 661d2266a..628ea236b 100644
--- a/gio/glocalfileinfo.c
+++ b/gio/glocalfileinfo.c
@@ -1380,7 +1380,7 @@ get_content_type (const char *basename,
content_type = g_content_type_guess (basename, NULL, 0, &result_uncertain);
-#if !defined(G_OS_WIN32) && !defined(HAVE_COCOA)
+#if !defined(G_OS_WIN32) && !defined(G_OS_DARWIN)
if (!fast && result_uncertain && path != NULL)
{
guchar sniff_buffer[4096];
diff --git a/gio/tests/contenttype.c b/gio/tests/contenttype.c
index 7fd97f453..466d9f252 100644
--- a/gio/tests/contenttype.c
+++ b/gio/tests/contenttype.c
@@ -58,7 +58,7 @@ test_guess (void)
/* Sadly win32 & OSX just don't have as large and robust of a mime type database as Linux */
#ifndef G_OS_WIN32
-#ifndef __APPLE__
+#ifndef G_OS_DARWIN
res = g_content_type_guess ("foo", data, sizeof (data) - 1, &uncertain);
expected = g_content_type_from_mime_type ("text/plain");
g_assert_content_type_equals (expected, res);
@@ -111,7 +111,7 @@ test_guess (void)
g_assert_false (uncertain);
g_free (res);
g_free (expected);
-#endif /* __APPLE__ */
+#endif /* G_OS_DARWIN */
res = g_content_type_guess (NULL, (guchar *)"%!PS-Adobe-2.0 EPSF-1.2", 23, &uncertain);
expected = g_content_type_from_mime_type ("image/x-eps");
@@ -175,7 +175,7 @@ test_list (void)
gchar *plain;
gchar *xml;
-#ifdef __APPLE__
+#ifdef G_OS_DARWIN
g_test_skip ("The OSX backend does not implement g_content_types_get_registered()");
return;
#endif
@@ -250,7 +250,7 @@ test_icon (void)
const gchar *const *names;
names = g_themed_icon_get_names (G_THEMED_ICON (icon));
-#ifdef __APPLE__
+#ifdef G_OS_DARWIN
g_assert_true (g_strv_contains (names, "text-*"));
#elif defined(G_OS_WIN32)
g_assert_cmpuint (g_strv_length ((GStrv) names), >, 0);
@@ -274,7 +274,7 @@ test_icon (void)
g_assert_true (g_strv_contains (names, "text-x-generic"));
#else
g_assert_true (g_strv_contains (names, "application-rtf"));
-#ifndef __APPLE__
+#ifndef G_OS_DARWIN
g_assert_true (g_strv_contains (names, "x-office-document"));
#endif
#endif
@@ -298,7 +298,7 @@ test_symbolic_icon (void)
const gchar *const *names;
names = g_themed_icon_get_names (G_THEMED_ICON (icon));
-#ifdef __APPLE__
+#ifdef G_OS_DARWIN
g_assert_true (g_strv_contains (names, "text-*-symbolic"));
g_assert_true (g_strv_contains (names, "text-*"));
#else
@@ -321,7 +321,7 @@ test_symbolic_icon (void)
names = g_themed_icon_get_names (G_THEMED_ICON (icon));
g_assert_true (g_strv_contains (names, "application-rtf-symbolic"));
g_assert_true (g_strv_contains (names, "application-rtf"));
-#ifndef __APPLE__
+#ifndef G_OS_DARWIN
g_assert_true (g_strv_contains (names, "x-office-document-symbolic"));
g_assert_true (g_strv_contains (names, "x-office-document"));
#endif
@@ -344,7 +344,7 @@ test_tree (void)
gchar **types;
gsize i;
-#if defined(__APPLE__) || defined(G_OS_WIN32)
+#if defined(G_OS_DARWIN) || defined(G_OS_WIN32)
g_test_skip ("The OSX & Windows backends do not implement g_content_type_guess_for_tree()");
return;
#endif
@@ -370,7 +370,7 @@ test_type_is_a_special_case (void)
/* Everything but the inode type is application/octet-stream */
res = g_content_type_is_a ("inode/directory", "application/octet-stream");
g_assert_false (res);
-#if !defined(__APPLE__) && !defined(G_OS_WIN32)
+#if !defined(G_OS_DARWIN) && !defined(G_OS_WIN32)
res = g_content_type_is_a ("anything", "application/octet-stream");
g_assert_true (res);
#endif
@@ -388,7 +388,7 @@ test_guess_svg_from_data (void)
gboolean uncertain = TRUE;
gchar *res = g_content_type_guess (NULL, (guchar *)svgfilecontent,
sizeof (svgfilecontent) - 1, &uncertain);
-#ifdef __APPLE__
+#ifdef G_OS_DARWIN
g_assert_cmpstr (res, ==, "public.svg-image");
#elif defined(G_OS_WIN32)
g_test_skip ("svg type detection from content is not implemented on WIN32");
@@ -402,7 +402,7 @@ test_guess_svg_from_data (void)
static void
test_mime_from_content (void)
{
-#ifdef __APPLE__
+#ifdef G_OS_DARWIN
gchar *mime_type;
mime_type = g_content_type_get_mime_type ("com.microsoft.bmp");
g_assert_cmpstr (mime_type, ==, "image/bmp");
diff --git a/gio/tests/file.c b/gio/tests/file.c
index 79c6d57bb..6a63a344f 100644
--- a/gio/tests/file.c
+++ b/gio/tests/file.c
@@ -2472,7 +2472,7 @@ get_size_from_du (const gchar *path, guint64 *size)
GError *error = NULL;
gchar *du_path = NULL;
-#ifndef HAVE_COCOA
+#ifndef G_OS_DARWIN
du_path = g_find_program_in_path ("du");
#endif
@@ -3499,7 +3499,7 @@ test_query_default_handler_uri (void)
GFile *file;
GFile *invalid_file;
-#if defined(G_OS_WIN32) || defined(__APPLE__)
+#if defined(G_OS_WIN32) || defined(G_OS_DARWIN)
g_test_skip ("Default URI handlers are not currently supported on Windows or macOS");
return;
#endif
@@ -3556,7 +3556,7 @@ test_query_zero_length_content_type (void)
NULL, &error);
g_assert_no_error (error);
-#ifndef HAVE_COCOA
+#ifndef G_OS_DARWIN
g_assert_cmpstr (g_file_info_get_content_type (file_info), ==, "text/plain");
#else
g_assert_cmpstr (g_file_info_get_content_type (file_info), ==, "public.text");
@@ -3580,7 +3580,7 @@ test_query_default_handler_file (void)
const char buffer[] = "Text file!\n";
const guint8 binary_buffer[] = "\xde\xad\xbe\xff";
-#if defined(G_OS_WIN32) || defined(__APPLE__)
+#if defined(G_OS_WIN32) || defined(G_OS_DARWIN)
g_test_skip ("Default URI handlers are not currently supported on Windows or macOS");
return;
#endif
@@ -3676,7 +3676,7 @@ test_query_default_handler_file_async (void)
const guint8 binary_buffer[] = "\xde\xad\xbe\xff";
GError *error = NULL;
-#if defined(G_OS_WIN32) || defined(__APPLE__)
+#if defined(G_OS_WIN32) || defined(G_OS_DARWIN)
g_test_skip ("Default URI handlers are not currently supported on Windows or macOS");
return;
#endif
@@ -3766,7 +3766,7 @@ test_query_default_handler_uri_async (void)
GFile *file;
GFile *invalid_file;
-#if defined(G_OS_WIN32) || defined(__APPLE__)
+#if defined(G_OS_WIN32) || defined(G_OS_DARWIN)
g_test_skip ("Default URI handlers are not currently supported on Windows or macOS");
return;
#endif
diff --git a/gio/tests/gdbus-server-auth.c b/gio/tests/gdbus-server-auth.c
index c683f61da..9c56aac72 100644
--- a/gio/tests/gdbus-server-auth.c
+++ b/gio/tests/gdbus-server-auth.c
@@ -247,7 +247,7 @@ assert_expected_uid_pid (InteropFlags flags,
* on Linux. */
g_assert_cmpint (uid, ==, getuid ());
g_assert_cmpint (pid, ==, getpid ());
-#elif defined(__APPLE__)
+#elif defined(G_OS_DARWIN)
/* We know (or at least suspect) that both GDBus and libdbus support
* passing the uid only on macOS. */
g_assert_cmpint (uid, ==, getuid ());
diff --git a/glib/docs.c b/glib/docs.c
index a8e31fb87..f93ce8048 100644
--- a/glib/docs.c
+++ b/glib/docs.c
@@ -1648,6 +1648,17 @@
*/
/**
+ * G_OS_DARWIN:
+ *
+ * This macro is defined only on Apple operating systems (macOS or iOS).
+ * So you can bracket Apple-specific code in `\#ifdef G_OS_DARWIN`.
+ *
+ * Note that %G_OS_UNIX is also set.
+ *
+ * Since: 2.76
+ */
+
+/**
* G_OS_WIN32:
*
* This macro is defined only on Windows. So you can bracket
diff --git a/glib/gbacktrace.c b/glib/gbacktrace.c
index 9c52a7d29..bd18d1e0d 100644
--- a/glib/gbacktrace.c
+++ b/glib/gbacktrace.c
@@ -77,7 +77,7 @@ static void stack_trace (const char * const *args);
#endif
/* Default to using LLDB for backtraces on macOS. */
-#ifdef __APPLE__
+#ifdef G_OS_DARWIN
#define USE_LLDB
#endif
diff --git a/glib/gbacktrace.h b/glib/gbacktrace.h
index 11293b318..3280132d8 100644
--- a/glib/gbacktrace.h
+++ b/glib/gbacktrace.h
@@ -63,7 +63,7 @@ void g_on_error_stack_trace (const gchar *prg_name);
# define G_BREAKPOINT() G_STMT_START{ __debugbreak(); }G_STMT_END
#elif defined (__alpha__) && !defined(__osf__) && defined (__GNUC__) && __GNUC__ >= 2
# define G_BREAKPOINT() G_STMT_START{ __asm__ __volatile__ ("bpt"); }G_STMT_END
-#elif defined (__APPLE__) || (defined(_WIN32) && (defined(__clang__) || defined(__GNUC__)))
+#elif defined (G_OS_DARWIN) || (defined(_WIN32) && (defined(__clang__) || defined(__GNUC__)))
# define G_BREAKPOINT() G_STMT_START{ __builtin_trap(); }G_STMT_END
#else /* !__i386__ && !__alpha__ */
# define G_BREAKPOINT() G_STMT_START{ raise (SIGTRAP); }G_STMT_END
diff --git a/glib/gspawn.c b/glib/gspawn.c
index 4e029eedf..3300ec8e2 100644
--- a/glib/gspawn.c
+++ b/glib/gspawn.c
@@ -1493,7 +1493,7 @@ safe_fdwalk (int (*cb)(void *data, int fd), void *data)
if (getrlimit (RLIMIT_NOFILE, &rl) == 0 && rl.rlim_max != RLIM_INFINITY)
open_max = rl.rlim_max;
#endif
-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(G_OS_DARWIN)
/* Use sysconf() function provided by the system if it is known to be
* async-signal safe.
*
diff --git a/glib/gstdio.c b/glib/gstdio.c
index 22d1159ce..09f497da6 100644
--- a/glib/gstdio.c
+++ b/glib/gstdio.c
@@ -1806,7 +1806,7 @@ g_close (gint fd,
* Disabling the message for now until someone with access to a
* macOS machine can investigate.
* See https://gitlab.gnome.org/GNOME/glib/-/issues/2785 */
-#ifndef HAVE_COCOA
+#ifndef G_OS_DARWIN
g_critical ("g_close(fd:%d) failed with EBADF. The tracking of file descriptors got messed up", fd);
#endif
}
diff --git a/glib/gutils.c b/glib/gutils.c
index 78ccd6121..fccd60162 100644
--- a/glib/gutils.c
+++ b/glib/gutils.c
@@ -1414,7 +1414,7 @@ get_windows_version (gboolean with_windows)
}
#endif
-#if defined (G_OS_UNIX) && !defined (__APPLE__)
+#if defined (G_OS_UNIX) && !defined (G_OS_DARWIN)
static gchar *
get_os_info_from_os_release (const gchar *key_name,
const gchar *buffer)
@@ -1543,7 +1543,7 @@ get_os_info_from_uname (const gchar *key_name)
else
return NULL;
}
-#endif /* defined (G_OS_UNIX) && !defined (__APPLE__) */
+#endif /* defined (G_OS_UNIX) && !defined (G_OS_DARWIN) */
/**
* g_get_os_info:
@@ -1566,7 +1566,7 @@ get_os_info_from_uname (const gchar *key_name)
gchar *
g_get_os_info (const gchar *key_name)
{
-#if defined (__APPLE__)
+#if defined (G_OS_DARWIN)
if (g_strcmp0 (key_name, G_OS_INFO_KEY_NAME) == 0)
return g_strdup ("macOS");
else
@@ -2080,7 +2080,7 @@ g_get_user_runtime_dir (void)
return user_runtime_dir;
}
-#ifdef HAVE_COCOA
+#ifdef G_OS_DARWIN
/* Implemented in gutils-macos.m */
void load_user_special_dirs_macos (gchar **table);
diff --git a/glib/tests/collate.c b/glib/tests/collate.c
index bd9ea234f..f3907976f 100644
--- a/glib/tests/collate.c
+++ b/glib/tests/collate.c
@@ -235,7 +235,7 @@ const gchar *sorted2[] = {
const gchar *file_sorted2[] = {
/* Filename collation in OS X follows Finder style which gives
* a slightly different order from usual Linux locales. */
-#ifdef HAVE_CARBON
+#ifdef G_OS_DARWIN
"a-.a",
"a.a",
"aa.a",
diff --git a/glib/tests/date.c b/glib/tests/date.c
index b26b6376e..8113ad574 100644
--- a/glib/tests/date.c
+++ b/glib/tests/date.c
@@ -725,7 +725,7 @@ test_strftime (void)
#else
{ "%B", "January" },
{ "%b", "Jan" },
-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(G_OS_DARWIN)
{ "%C", "00" },
{ "%c", "Mon Jan 1 00:00:00 0001" },
{ "%E", "E" },
diff --git a/glib/tests/gdatetime.c b/glib/tests/gdatetime.c
index 7874d258d..3a0d2bd28 100644
--- a/glib/tests/gdatetime.c
+++ b/glib/tests/gdatetime.c
@@ -1694,14 +1694,14 @@ test_non_utf8_printf (void)
*/
TEST_PRINTF ("%a", "\345\234\237");
TEST_PRINTF ("%A", "\345\234\237\346\233\234\346\227\245");
-#ifndef __APPLE__ /* OSX just returns the number */
+#ifndef G_OS_DARWIN /* OSX just returns the number */
TEST_PRINTF ("%b", "10\346\234\210");
#endif
TEST_PRINTF ("%B", "10\346\234\210");
TEST_PRINTF ("%d", "24");
TEST_PRINTF_DATE (2009, 1, 1, "%d", "01");
TEST_PRINTF ("%e", "24"); // fixme
-#ifndef __APPLE__ /* OSX just returns the number */
+#ifndef G_OS_DARWIN /* OSX just returns the number */
TEST_PRINTF ("%h", "10\346\234\210");
#endif
TEST_PRINTF ("%H", "00");
@@ -1718,7 +1718,7 @@ test_non_utf8_printf (void)
TEST_PRINTF_TIME (10, 13, 13, "%l", "10");
TEST_PRINTF ("%m", "10");
TEST_PRINTF ("%M", "00");
-#ifndef __APPLE__ /* OSX returns latin "AM", not japanese */
+#ifndef G_OS_DARWIN /* OSX returns latin "AM", not japanese */
TEST_PRINTF ("%p", "\345\215\210\345\211\215");
TEST_PRINTF_TIME (13, 13, 13, "%p", "\345\215\210\345\276\214");
TEST_PRINTF ("%P", "\345\215\210\345\211\215");
@@ -1731,7 +1731,7 @@ test_non_utf8_printf (void)
TEST_PRINTF ("%S", "00");
TEST_PRINTF ("%t", " ");
TEST_PRINTF ("%u", "6");
-#ifndef __APPLE__ /* OSX returns YYYY/MM/DD in ASCII */
+#ifndef G_OS_DARWIN /* OSX returns YYYY/MM/DD in ASCII */
TEST_PRINTF ("%x", "2009\345\271\26410\346\234\21024\346\227\245");
#endif
TEST_PRINTF ("%X", "00\346\231\20200\345\210\20600\347\247\222");
diff --git a/glib/tests/macros.c b/glib/tests/macros.c
index efe632b52..cbbc0f6de 100644
--- a/glib/tests/macros.c
+++ b/glib/tests/macros.c
@@ -20,8 +20,19 @@
* Author: Philip Withnall <withnall@endlessm.com>
*/
+#include "config.h"
+
#include <glib.h>
+#if defined (__APPLE__) || defined (HAVE_COCOA) || defined (HAVE_CARBON)
+# ifndef G_OS_UNIX
+ G_STATIC_ASSERT (FALSE);
+# endif
+# ifndef G_OS_DARWIN
+ G_STATIC_ASSERT (FALSE);
+# endif
+#endif
+
/* Test that G_STATIC_ASSERT_EXPR can be used as an expression */
static void
test_assert_static (void)
diff --git a/glib/tests/test-printf.c b/glib/tests/test-printf.c
index 9aca97feb..d7f5b9e64 100644
--- a/glib/tests/test-printf.c
+++ b/glib/tests/test-printf.c
@@ -897,7 +897,7 @@ test_upper_bound (void)
g_assert_cmpint (res, ==, 20);
}
-#if !defined(__APPLE__) && !defined(__FreeBSD__)
+#if !defined(G_OS_DARWIN) && !defined(__FreeBSD__)
static gint test_vasprintf_va (gchar **string,
const gchar *format,
...) G_GNUC_PRINTF (2, 3);
@@ -917,19 +917,19 @@ test_vasprintf_va (gchar **string,
return len;
}
-#endif /* !defined(__APPLE__) && !defined(__FreeBSD__) */
+#endif /* !defined(G_OS_DARWIN) && !defined(__FreeBSD__) */
static void
test_vasprintf_invalid_format_placeholder (void)
{
-#if !defined(__APPLE__) && !defined(__FreeBSD__)
+#if !defined(G_OS_DARWIN) && !defined(__FreeBSD__)
gint len = 0;
gchar *buf = "some non-null string";
#endif
g_test_summary ("Test error handling for invalid format placeholder in g_vasprintf()");
-#if !defined(__APPLE__) && !defined(__FreeBSD__)
+#if !defined(G_OS_DARWIN) && !defined(__FreeBSD__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wformat"
#pragma GCC diagnostic ignored "-Wformat-extra-args"
diff --git a/glib/tests/utils.c b/glib/tests/utils.c
index b732b79b0..fbeb90d9c 100644
--- a/glib/tests/utils.c
+++ b/glib/tests/utils.c
@@ -739,7 +739,7 @@ test_os_info (void)
{
gchar *name;
gchar *contents = NULL;
-#if defined (G_OS_UNIX) && !(defined (G_OS_WIN32) || defined (__APPLE__))
+#if defined (G_OS_UNIX) && !(defined (G_OS_WIN32) || defined (G_OS_DARWIN))
struct utsname info;
#endif
@@ -749,7 +749,7 @@ test_os_info (void)
G_OS_INFO_KEY_NAME,
name == NULL ? "(null)" : name);
-#if defined (G_OS_WIN32) || defined (__APPLE__)
+#if defined (G_OS_WIN32) || defined (G_OS_DARWIN)
/* These OSs have a special case so NAME should always succeed */
g_assert_nonnull (name);
#elif defined (G_OS_UNIX)
diff --git a/glib/valgrind.h b/glib/valgrind.h
index a7f1f5655..a83af4171 100644
--- a/glib/valgrind.h
+++ b/glib/valgrind.h
@@ -126,9 +126,9 @@
#undef PLAT_amd64_solaris
-#if defined(__APPLE__) && defined(__i386__)
+#if defined(G_OS_DARWIN) && defined(__i386__)
# define PLAT_x86_darwin 1
-#elif defined(__APPLE__) && defined(__x86_64__)
+#elif defined(G_OS_DARWIN) && defined(__x86_64__)
# define PLAT_amd64_darwin 1
#elif (defined(__MINGW32__) && defined(__i386__)) \
|| defined(__CYGWIN32__) \
diff --git a/gobject/gtype.h b/gobject/gtype.h
index a81049142..8be826b40 100644
--- a/gobject/gtype.h
+++ b/gobject/gtype.h
@@ -2314,7 +2314,7 @@ type_name##_get_type (void) \
/* Only use this in non-C++ on GCC >= 2.7, except for Darwin/ppc64.
* See https://bugzilla.gnome.org/show_bug.cgi?id=647145
*/
-#if !defined (__cplusplus) && (G_GNUC_CHECK_VERSION(2, 7)) && !(defined (__APPLE__) && defined (__ppc64__))
+#if !defined (__cplusplus) && (G_GNUC_CHECK_VERSION(2, 7)) && !(defined (G_OS_DARWIN) && defined (__ppc64__))
#define _G_DEFINE_BOXED_TYPE_BEGIN(TypeName, type_name, copy_func, free_func) \
static GType type_name##_get_type_once (void); \
\
diff --git a/meson.build b/meson.build
index ddcdc028d..54445db69 100644
--- a/meson.build
+++ b/meson.build
@@ -235,6 +235,9 @@ if host_system == 'windows'
elif host_system == 'cygwin'
glib_os = '''#define G_OS_UNIX
#define G_WITH_CYGWIN'''
+elif host_system in ['darwin', 'ios']
+ glib_os = '''#define G_OS_UNIX
+#define G_OS_DARWIN'''
else
glib_os = '#define G_OS_UNIX'
endif