Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
G
gtk
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Dorota Czaplejewicz
gtk
Commits
cacee7e7
Commit
cacee7e7
authored
Jan 03, 2011
by
Kristian Høgsberg
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
configure.ac: Support multiple GDK backends in one build
parent
ae7e5fc2
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
107 additions
and
72 deletions
+107
-72
Makefile.am
Makefile.am
+2
-2
Makefile.decl
Makefile.decl
+8
-2
README.win32
README.win32
+1
-1
configure.ac
configure.ac
+68
-48
docs/reference/gtk/building.sgml
docs/reference/gtk/building.sgml
+20
-8
gdk-3.0.pc.in
gdk-3.0.pc.in
+1
-1
gdk/Makefile.am
gdk/Makefile.am
+2
-3
gtk+-3.0-uninstalled.pc.in
gtk+-3.0-uninstalled.pc.in
+3
-3
gtk+-3.0.pc.in
gtk+-3.0.pc.in
+1
-1
gtk+-unix-print-3.0.pc.in
gtk+-unix-print-3.0.pc.in
+1
-1
gtk/Makefile.am
gtk/Makefile.am
+0
-2
No files found.
Makefile.am
View file @
cacee7e7
...
...
@@ -71,8 +71,8 @@ gtk+-*-3.0-uninstalled.pc: gtk+-3.0-uninstalled.pc
pkgconfigdir
=
$(libdir)
/pkgconfig
pkgconfig_DATA
=
gdk-3.0.pc gtk+-3.0.pc gail-3.0.pc
pkgconfig_DATA
+=
$
(
patsubst
%,gtk+-%-3.0.pc,@gdktarget@
)
pkgconfig_DATA
+=
$
(
patsubst
%,gdk-%-3.0.pc,@gdktarget@
)
pkgconfig_DATA
+=
$
{
GDK_BACKENDS
:%
=gtk+-%-3.0.pc
}
pkgconfig_DATA
+=
$
{
GDK_BACKENDS
:%
=gdk-%-3.0.pc
}
if
OS_UNIX
pkgconfig_DATA
+=
gtk+-unix-print-3.0.pc
...
...
Makefile.decl
View file @
cacee7e7
...
...
@@ -17,9 +17,15 @@ XIDS = 101 102 103 104 105 106 107 197 199 211 223 227 293 307 308 309 310 311 \
1008 1009 4703 4721 4723 4729 4733 4751 9973 9974 9975 9976 9977 9978 9979
\
9980 9981 9982 9983 9984 9985 9986 9987 9988 9989 9990 9991 9992 9993 9994
\
9995 9996 9997 9998 9999
if
USE_X11
SKIP_GDKTARGET
=
\
false
else
SKIP_GDKTARGET
=
\
test
"
$(gdktarget)
"
!=
"x11"
\
&&
echo
"Gtk+Tests:INFO: Skipping GUI tests for non-X11 target."
echo
"Gtk+Tests:INFO: Skipping GUI tests for non-X11 target."
endif
XVFB_START
=
\
${XVFB}
-help
2>/dev/null 1>&2
\
&&
XID
=
`
for
id
in
$(XIDS)
;
do
test
-e
/tmp/.X
$$
id-lock
||
{
echo
$$
id
;
exit
0
;
}
;
done
;
exit
1
`
\
...
...
README.win32
View file @
cacee7e7
...
...
@@ -85,7 +85,7 @@ LDFLAGS="-L/devel/dist/${ARCH}/${LIBPNG}/lib \
LIBS=-lintl \
CFLAGS=-O2 \
./configure \
--
with-gdktarget=win32
\
--
enable-win32-backend
\
--disable-gdiplus \
--with-included-immodules \
--without-libjasper \
...
...
configure.ac
View file @
cacee7e7
...
...
@@ -255,22 +255,57 @@ AC_ARG_ENABLE(xinput,
[support XInput extension if available [default=yes]])],,
[enable_xinput="yes"])
if test "$platform_win32" = yes; then
gdktarget=win32
else
gdktarget=x11
AC_ARG_ENABLE(x11-backend,
[AC_HELP_STRING([--enable-x11-backend],
[enable the X11 gdk backend])],
[backend_set=yes])
AC_ARG_ENABLE(win32-backend,
[AC_HELP_STRING([--enable-win32-backend],
[enable the Win32 gdk backend])],
[backend_set=yes])
AC_ARG_ENABLE(quartz-backend,
[AC_HELP_STRING([--enable-quartz-backend],
[enable the quartz gdk backend])],
[backend_set=yes])
if test -z "$backend_set"; then
if test "$platform_win32" = yes; then
enable_win32_backend=yes
else
enable_x11_backend=yes
fi
fi
cairo_backends=
GDK_BACKENDS=
if test "x$enable_x11_backend" == xyes; then
# GDK calls the xlib backend "x11," cairo calls it "xlib." Other
# backend names are identical.
cairo_backends="$cairo_backends cairo-xlib"
GDK_BACKENDS="$GDK_BACKENDS x11"
# Pull in gio-unix for GDesktopAppInfo usage, see at least
# gdkapplaunchcontext-x11.c
GIO_PACKAGE=gio-unix-2.0
fi
AC_ARG_WITH(gdktarget,
AC_HELP_STRING([--with-gdktarget=@<:@x11/win32/quartz@:>@],
[select non-default GDK target]),
gdktarget=$with_gdktarget)
if test "x$enable_win32_backend" == xyes; then
cairo_backends="$cairo_backends cairo-win32"
GDK_BACKENDS="$GDK_BACKENDS win32"
GIO_PACKAGE=gio-2.0
fi
AC_SUBST(gdktarget)
case $gdktarget in
x11|win32|quartz) ;;
*) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz or win32.]);;
esac
if test "x$enable_quartz_backend" == xyes; then
cairo_backends="$cairo_backends cairo-quartz"
GDK_BACKENDS="$GDK_BACKENDS quartz"
GIO_PACKAGE=gio-2.0
fi
AC_SUBST(GDK_BACKENDS)
if test -z "$GDK_BACKENDS"; then
AC_MSG_ERROR([No GDK backends selected.])
fi
if test "x$enable_debug" = "xyes"; then
test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
...
...
@@ -363,18 +398,7 @@ PKG_CHECK_MODULES(BASE_DEPENDENCIES,
cairo-gobject >= cairo_required_version dnl
gdk-pixbuf-2.0 >= gdk_pixbuf_required_version])
## In addition to checking that cairo is present, we also need to
## check that the correct cairo backend is there. E.g. if the GDK
## target is win32 we need the cairo-win32 backend and so on.
cairo_backend=$gdktarget
# GDK calls the xlib backend "x11," cairo calls it "xlib." Other
# backend names are identical.
if test "x$cairo_backend" = "xx11"; then
cairo_backend=xlib
fi
PKG_CHECK_MODULES(CAIRO_BACKEND,
[cairo-$cairo_backend >= cairo_required_version])
PKG_CHECK_MODULES(CAIRO_BACKEND, [$cairo_backends])
if test "$os_win32" != yes; then
# libtool option to control which symbols are exported
...
...
@@ -744,11 +768,11 @@ else
fi
all_immodules="am-et,cedilla,cyrillic-translit"
if test "
$gdktarget" = "win32"
; then
if test "
x$enable_win32_backend" == xyes
; then
all_immodules="${all_immodules},ime"
fi
all_immodules="${all_immodules},inuktitut,ipa,multipress,thai,ti-er,ti-et,viqr"
if test "
$gdktarget" = "x11"
; then
if test "
x$enable_x11_backend" == xyes
; then
all_immodules="${all_immodules},xim"
fi
...
...
@@ -842,7 +866,7 @@ GDK_EXTRA_CFLAGS=
GTK_DEP_PACKAGES_FOR_X=
GTK_DEP_LIBS_FOR_X=
if test "x$
gdktarget" = "xx11"
; then
if test "x$
enable_x11_backend" == xyes
; then
X_PACKAGES=fontconfig
#
...
...
@@ -1101,14 +1125,15 @@ else
AM_CONDITIONAL(HAVE_X11R6, false)
fi
if test "x$gdktarget" = "xwin32"; then
if test "x$enable_win32_backend" == xyes; then
GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid"
AM_CONDITIONAL(USE_WIN32, true)
else
AM_CONDITIONAL(USE_WIN32, false)
fi
if test "x$
gdktarget" = "xquartz"
; then
if test "x$
enable_quartz_backend" == xyes
; then
GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa"
AM_CONDITIONAL(USE_QUARTZ, true)
else
...
...
@@ -1117,7 +1142,7 @@ fi
# Check for Pango flags
if test "x$
gdktarget" = "xwin32"
; then
if test "x$
enable_win32_backend" == xyes
; then
PANGO_PACKAGES="pangowin32 pangocairo"
else
PANGO_PACKAGES="pango pangocairo"
...
...
@@ -1152,12 +1177,7 @@ fi
CFLAGS="$saved_cflags"
LDFLAGS="$saved_ldflags"
# Pull in gio-unix for GDesktopAppInfo usage, see at least gdkapplaunchcontext-x11.c
if test "x$gdktarget" = "xx11"; then
GDK_PACKAGES="$PANGO_PACKAGES gio-unix-2.0 $X_PACKAGES gdk-pixbuf-2.0 cairo-$cairo_backend cairo-gobject"
else
GDK_PACKAGES="$PANGO_PACKAGES gio-2.0 gdk-pixbuf-2.0 cairo-$cairo_backend cairo-gobject"
fi
GDK_PACKAGES="$PANGO_PACKAGES $GIO_PACKAGE $X_PACKAGES gdk-pixbuf-2.0 $cairo_backends cairo-gobject"
GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PACKAGES`"
GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PACKAGES` $GDK_EXTRA_CFLAGS"
...
...
@@ -1207,7 +1227,7 @@ else
fi
GTK_PACKAGES="atk cairo cairo-gobject gdk-pixbuf-2.0 gio-2.0"
if test "x$
gdktarget" = "xx11"
; then
if test "x$
enable_x11_backend" == xyes
; then
GTK_PACKAGES="$GTK_PACKAGES pangoft2"
fi
GTK_EXTRA_LIBS=
...
...
@@ -1524,18 +1544,18 @@ _______EOF
fi
],[
gdk_windowing=''
if
expr "$gdktarget" : ".*x11.*" > /dev/null
; then
gdk_windowing=
'
$gdk_windowing
#define GDK_WINDOWING_X11
'
if
test "x$enable_x11_backend" == xyes
; then
gdk_windowing=
"\
$gdk_windowing
#define GDK_WINDOWING_X11
"
fi
if
expr "$gdktarget" : ".*win32.*" > /dev/null
; then
gdk_windowing=
'
$gdk_windowing
if
test "x$enable_win32_backend" == xyes
; then
gdk_windowing=
"\
$gdk_windowing
#define GDK_NATIVE_WINDOW_POINTER
#define GDK_WINDOWING_WIN32
'
#define GDK_WINDOWING_WIN32
"
fi
if
expr "$gdktarget" : ".*quartz.*" > /dev/null
; then
gdk_windowing=
'
$gdk_windowing
#define GDK_WINDOWING_QUARTZ
'
if
test "x$enable_quartz_backend" == xyes
; then
gdk_windowing=
"\
$gdk_windowing
#define GDK_WINDOWING_QUARTZ
"
fi
])
...
...
@@ -1626,4 +1646,4 @@ perf/Makefile
AC_OUTPUT
echo "configuration:
target: $gdktarget
"
backends: $GDK_BACKENDS
"
docs/reference/gtk/building.sgml
View file @
cacee7e7
...
...
@@ -360,9 +360,14 @@ How to compile GTK+ itself
<
group
>
<
arg
>--
enable
-
packagekit
</
arg
>
<
arg
>--
disable
-
packagekit
</
arg
>
</
group
>
<
group
>
<
arg
>--
with
-
gdktarget
=[
x11
/
win32
/
quartz
]</
arg
>
</
group
>
<
group
>
<
arg
>--
enable
-
x11
-
backend
</
arg
>
<
arg
>--
disable
-
x11
-
backend
</
arg
>
<
arg
>--
enable
-
win32
-
backend
</
arg
>
<
arg
>--
disable
-
win32
-
backend
</
arg
>
<
arg
>--
enable
-
quartz
-
backend
</
arg
>
<
arg
>--
disable
-
quartz
-
backend
</
arg
>
</
group
>
<
group
>
<
arg
>--
enable
-
introspection
=[
no
/
auto
/
yes
]</
arg
>
...
...
@@ -545,13 +550,20 @@ How to compile GTK+ itself
</formalpara>
<formalpara>
<title><systemitem>--with-gdktarget</systemitem></title>
<title><systemitem>--enable-x11-backend</systemitem>,
<systemitem>--disable-x11-backend</systemitem>,
<systemitem>--enable-win32-backend</systemitem>,
<systemitem>--disable-win32-backend</systemitem>,
<systemitem>--enable-quartz-backend</systemitem>,
and <systemitem>--disable-quartz-backend</systemitem></title>
<para>
Toggles between the supported backends for GDK.
The default is x11, unless the platform is Windows, in which
case the default is win32. Other supported backends are
the quartz backend for OS X.
Enables specific backends for GDK. If none of these options
are given, the x11 backend will be enabled by default,
unless the platform is Windows, in which case the default is
win32. If any backend is explicitly enabled or disabled, no
other platform will be enabled automatically. Other
supported backends are the quartz backend for OS X.
</para>
</formalpara>
<formalpara>
...
...
gdk-3.0.pc.in
View file @
cacee7e7
...
...
@@ -2,7 +2,7 @@ prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
target
=@gdktarget
@
target
s=@GDK_BACKENDS
@
Name: GDK
Description: GTK+ Drawing Kit
...
...
gdk/Makefile.am
View file @
cacee7e7
...
...
@@ -8,7 +8,8 @@ INTROSPECTION_COMPILER_ARGS = \
--includedir
=
$(srcdir)
\
--includedir
=
.
SUBDIRS
=
$(gdktarget)
.
tests
SUBDIRS
=
$(GDK_BACKENDS)
.
tests
DIST_SUBDIRS
=
win32 x11 quartz tests
CLEANFILES
=
...
...
@@ -38,8 +39,6 @@ INCLUDES = \
$(GTK_DEBUG_FLAGS)
\
$(GDK_DEP_CFLAGS)
gtarget
=
$(gdktarget)
if
PLATFORM_WIN32
no_undefined
=
-no-undefined
endif
...
...
gtk+-3.0-uninstalled.pc.in
View file @
cacee7e7
target
=@gdktarget
@
target
s=@GDK_BACKENDS
@
gtk_binary_version=@GTK_BINARY_VERSION@
Name: GTK+ Uninstalled
Description: GTK+ Graphical UI Library (${target} target), Not Installed
Version: @VERSION@
Requires: gdk-
${target}-
@GTK_API_VERSION@-uninstalled @GTK_PACKAGES@
Libs: ${pc_top_builddir}/${pcfiledir}/gtk/libgtk-
${target}-
@GTK_API_VERSION@.la @GTK_EXTRA_LIBS@
Requires: gdk-@GTK_API_VERSION@-uninstalled @GTK_PACKAGES@
Libs: ${pc_top_builddir}/${pcfiledir}/gtk/libgtk-@GTK_API_VERSION@.la @GTK_EXTRA_LIBS@
Cflags: -I${pc_top_builddir}/${pcfiledir}/@srcdir@ -I${pc_top_builddir}/${pcfiledir} @GTK_EXTRA_CFLAGS@
gtk+-3.0.pc.in
View file @
cacee7e7
...
...
@@ -2,7 +2,7 @@ prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
target
=@gdktarget
@
target
s=@GDK_BACKENDS
@
gtk_binary_version=@GTK_BINARY_VERSION@
gtk_host=@host@
...
...
gtk+-unix-print-3.0.pc.in
View file @
cacee7e7
...
...
@@ -2,7 +2,7 @@ prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
target
=@gdktarget
@
target
s=@GDK_BACKENDS
@
gtk_binary_version=@GTK_BINARY_VERSION@
gtk_host=@host@
...
...
gtk/Makefile.am
View file @
cacee7e7
...
...
@@ -57,8 +57,6 @@ INCLUDES = \
$(gtk_clipboard_dnd_c_sources_CFLAGS)
\
$(INCLUDED_IMMODULE_DEFINE)
gtarget
=
$(gdktarget)
if
PLATFORM_WIN32
no_undefined
=
-no-undefined
endif
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment