[gtkmm] Gtkmm won't build for Quartz
- From: Murray Cumming <murrayc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtkmm] Gtkmm won't build for Quartz
- Date: Mon, 28 Nov 2011 11:13:10 +0000 (UTC)
commit 079b031c0d24fa3348eddba421528c1e703be474
Author: John Ralls <jralls ceridwen us>
Date: Fri Oct 28 16:16:18 2011 -0700
Gtkmm won't build for Quartz
Adds to configure a pkgconfig read of the gtk+-3.0 target variable and
uses the result to set appropriate automake conditionals (in theory, a
particular Gtk+-3 library can contain multiple backends, though this
isn't strictly true in practice).
Also checks (with PKG_CHECK_MODULES) that Gtk+-3 is installed and makes
the check for HOST_WINDOWS_NATIVE conditional on having a Win32 backend.
Adds a new target gtkmm_files_x11_hg to src/filelist.am, including
plug.hg and socket.hg in it; it's added to gtkmm_files_arch_hg only if
there's an X11 backend to build them against.
configure.ac | 41 ++++++++++++++++++++++++++++++++++++++---
gtk/src/filelist.am | 9 +++++++--
2 files changed, 45 insertions(+), 5 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index f2ec1e6..9866057 100644
--- a/configure.ac
+++ b/configure.ac
@@ -46,9 +46,44 @@ AC_PROG_CXX
AC_DISABLE_STATIC
LT_INIT([win32-dll])
-AC_MSG_CHECKING([for native Windows host])
-AS_CASE([$host_os], [mingw*], [gtkmm_host_windows=yes], [gtkmm_host_windows=no])
-AC_MSG_RESULT([$gtkmm_host_windows])
+PKG_CHECK_MODULES([GTK], [gtk+-3.0])
+gdk_target_win32=no
+gdk_target_quartz=no
+gdk_target_x11=no
+gdk_target_wayland=no
+gdk_target_broadway=no
+for target in `$PKG_CONFIG --variable=targets gtk+-3.0`; do
+ case "$target" in
+ win32)
+ gdk_target_win32=yes
+ ;;
+ quartz)
+ gdk_target_quartz=yes
+ ;;
+ x11)
+ gdk_target_x11=yes
+ ;;
+ broadway)
+ gdk_target_broadway=yes
+ ;;
+ wayland)
+ gdk_target_wayland=yes
+ ;;
+ esac;
+done
+AM_CONDITIONAL([GDK_TARGET_WIN32], [test "x$gdk_target_win32" = xyes])
+AM_CONDITIONAL([GDK_TARGET_QUARTZ], [test "x$gdk_target_quartz" = xyes])
+AM_CONDITIONAL([GDK_TARGET_X11], [test "x$gdk_target_x11" = xyes])
+AM_CONDITIONAL([GDK_TARGET_BROADWAY], [test "x$gdk_target_broadway" = xyes])
+AM_CONDITIONAL([GDK_TARGET_WAYLAND], [test "x$gdk_target_wayland" = xyes])
+
+if [ "x$GDK_TARGET_WIN32" = xyes ]; then
+ AC_MSG_CHECKING([for native Windows host])
+ AS_CASE([$host_os], [mingw*], [gtkmm_host_windows=yes], [gtkmm_host_windows=no])
+ AC_MSG_RESULT([$gtkmm_host_windows])
+else
+ gtkmm_host_windows = no
+fi
AM_CONDITIONAL([HOST_WINDOWS_NATIVE], [test "x$gtkmm_host_windows" = xyes])
# TODO: What exactly does this do? If both static and shared libraries
diff --git a/gtk/src/filelist.am b/gtk/src/filelist.am
index 7270678..ceddd1a 100644
--- a/gtk/src/filelist.am
+++ b/gtk/src/filelist.am
@@ -194,10 +194,12 @@ gtkmm_files_any_hg = \
gtkmm_files_posix_hg = \
pagesetupunixdialog.hg \
- plug.hg \
printer.hg \
printjob.hg \
- printunixdialog.hg \
+ printunixdialog.hg
+
+gtkmm_files_x11_hg = \
+ plug.hg \
socket.hg
gtkmm_files_deprecated_hg = \
@@ -214,6 +216,9 @@ gtkmm_files_arch_hg =
else
gtkmm_files_arch_hg = $(gtkmm_files_posix_hg)
endif
+if GDK_TARGET_X11
+gtkmm_files_arch_hg += $(gtkmm_files_x11_hg)
+endif
if DISABLE_DEPRECATED_API
gtkmm_files_used_hg = $(gtkmm_files_any_hg) $(gtkmm_files_arch_hg)
else
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]