Compare commits

...

131 Commits

Author SHA1 Message Date
Emmanuele Bassi
c30c6c32ae Drop autotools build system
We use Meson, now.
2017-04-30 16:18:03 +01:00
Emmanuele Bassi
a17aa22647 build: Update autotools for API reference changes 2017-04-30 12:39:59 +01:00
Emmanuele Bassi
f73371db2d build: Add Meson-related files to the autotools dist
This way, a tarball generated via autotools will also allow building
GTK+ via Meson.
2017-04-28 23:48:43 +01:00
Emmanuele Bassi
1cfcf9b62a build: Use link_whole for GDK backends
When linking libgdk4 to each backend's static library, we want to use
the whole-archive support.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
48a555e9a4 build: Define G_LOG_USE_STRUCTURED in GDK
We want to use the new structured logging support in GLib.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
205ab70706 build: Add common flags to GDK backends
The common compiler and linker flags control, among other things, the
default visibility of symbols; without them, we leak symbols that ought
to be private.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
aa25678780 build: Fix the introspection build
GSK has various enumeration types that are currently not used; while
they may go away, currently they are built and introspected. If we want
the introspection machinery to work, and still use static libraries to
build GDK and GSK into the GTK shared library, then we need to reference
the get_type() function of these enumeration types somewhere, to avoid
the linker discarding it, and thus breaking the build.

As luck would have it, we have an autogenerated bit of C that refers to
all the get_type() functions in the library; if we add the GSK types to
it, then we get the reference we're looking for, and the build succeeds.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
82cca7453f build: Depend on Meson 0.40 at least 2017-04-28 23:12:52 +01:00
Emmanuele Bassi
bb3db74f8b build: Initial attempt at fixing the docs build
We need to reference the types file directly, because it won't be copied
into the builddir by Meson — except for GTK, which needs to generate its
own types file using configure_file().
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
cbd6644368 build: Use get_pkgconfig_variable()
There's no need to run pkg-config ourselves.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
bec624bb8c build: Improve consistency of the "coding" style
We're mixing a lot of styles in the Meson build files. This is an
attempt at making everything slightly more consistent in terms of
whitespace and indentation.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
07d0075f59 build: Clean up print backends Meson rules 2017-04-28 23:12:52 +01:00
Emmanuele Bassi
f21ba341ca build: Put the xkbcommon required version into a variable
We use it in two places.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
a900bfc6cf build: Ensure that Vulkan shaders are rebuilt if glslc is found
If glslc is found, rebuild the shaders from GLSL to SPIR-V; otherwise,
we're just going to use the built files we have committed in the source
repository.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
f8b5ee0537 build: Add post-install script
When building GTK+ straight from the repository without any assistance
from packaging tools, we need to trigger system-wide updates, like the
icon theme cache update, or the schema compilation.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
ccbfa40c69 build: Clean up Wayland protocol code generation
We can build the name of the input and output files for the Wayland
protocols we use from the protocol name, stability, and version. This is
similar to how the autotools build does it, except much more clear and
without shelling out twice to sed just to resolve the Makefile rule.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
6bddf5489a build: Add Meson options for quartz/win32 backends 2017-04-28 23:12:52 +01:00
Emmanuele Bassi
b4c45a1755 build: Disable introspection generation
Currently gobject-introspection is badly borked with Meson.

This will need to be reverted.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
f4203b712e build: Rename GSK resource generator script
Maintain the naming convention, since we have similar scripts for GDK
and GTK already.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
4e86d53923 build: Generate the API references (WIP)
Still a work in progress.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
b56f521374 build: Add the appropriate inclusion paths for libgtk 2017-04-28 23:12:52 +01:00
Emmanuele Bassi
63a43b00f2 build: Disable deprecation warnings for input methods 2017-04-28 23:12:52 +01:00
Emmanuele Bassi
24bd93451e docs: Rename files to match type and version
The main GDK API reference index is XML, not SGML.

The overrides file is for GDK 4.x, not 3.x.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
e4e7c85b5f Remove gdkkeysyms-compat.h
The compatibility header was needed after GTK+ 3.0 renamed the key
symbols from `GDK_*` to `GDK_KEY_*` to avoid collisions.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
e060ae3987 build: Add introspection generation
Currently, no platform-specific introspection is generated; there will
be a follow-up commit.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
076786c1c7 build: Use the common linker flags in GDK and GSK
Instead of hard-coding `-Bsymbolic`.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
bf37decf12 gsk: Include the private header
Both gskprivate.c and gskvulkanrenderer.c call `gsk_ensure_resources`
but fail in clude `gskprivate.h`, where the function is declared.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
4b9da5c9b3 build: Use the appropriate linker flags
We need to check if the linker flags we use are available, depending on
the platform, and we need to ensure that the shared library is
versioned appropriately.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
f20d23a3aa build: Bump version and C standard
GTK+ 4.0 uses C99.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
806eb38078 build: Add missing symbol visibility flags
GTK symbols are not visible by default, and only the ones annotated with
_GDK_EXTERN (and wrapper macros) are exported. We need to define
_GDK_EXTERN during the configuration, depending on the platform and
compiler we use.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
8bef62cd7f build: Add compiler warnings and errors
We don't want to build buggy code.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
0421a3cc8a build: Depend on graphene-gobject-1.0
We use the GObject types with Graphene, so we need to check that the
library has been built with them.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
60ec18857f build: Some whitespace cleanups 2017-04-28 23:12:52 +01:00
Emmanuele Bassi
66448b0a66 build: Generate the appropriate GLib versioning checks
The autotools build checks the version of GLib we are depending on in
order to generate the appropriate GLIB_VERSION values for the
min-required/max-allowed defines.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
a7068d931e build: Add the appropriate paths in the configuration header
Instead of injecting them into the C compiler arguments.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
ccae075046 build: Use the appropriate quoting
There's no need for string concatenation.
2017-04-28 23:12:52 +01:00
Emmanuele Bassi
64bcc5b462 build: Do not mix private and public GDK headers
The type generation script inside gtk/ will use the `gdk_headers`
variable, and that must not contain private headers.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
42b408c77f meson: gdk: fix static library names
Fix double lib prefix in filenames (liblibgdk-xyz.a)
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
f5e1a9a1cd meson: build input modules
We have to work around some ordering problems here. We still
manage to keep most of the guts in modules/input/meson.build,
so it's not too ugly overall.

(The autotools build solves this with a 'make -C ../../input/modules'
inside gtk/Makefile, but that's not something we can or want to do.)
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
2354ddd609 meson: check for xinerama 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
c0c2d55274 meson: fix XIAllowTouchEvents check
Need to link against dep/lib to check for function in it. Also
misc fixes to surrounding xi-related checks.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
47106c1513 meson: remove duplicate libm variable
Only need one of libm and mlib
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
53456587db meson: check for more missing config.h defines
Lots of them are unused and can be removed. For others we
add a check.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
29d9fa60b5 meson: simplify function checks
Because we can. We don't need to specify the right header anymore
to check for functions.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
77bc413219 meson: simplify header checks
Remove workaround for gcc bug (Meson does that now), and
construct the right config.h defines for the headers on
the fly instead of listing them in the build file, which
is more error prone.
2017-04-28 23:12:52 +01:00
Matthias Clasen
34f68e1bf3 Set glib min/max versions 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
0884881ea5 meson: fix GETTEXT_PACKAGE 2017-04-28 23:12:52 +01:00
Matthias Clasen
db0cbbe9b5 Don't require glslc for vulkan
The compiled shaders are checked into git.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
73ebfb82b6 meson: move colord checks into cups printbackend
Which is the only user of it. Also add option to enable/disable.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
a2cef835df meson: gtk: set GTK_PRINT_BACKENDS define properly 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
30c0be4a61 meson: modules: add printbackends
The cups checks might not work properly everywhere yet,
since they don't use cups-config and parse the output yet.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
af10f783f2 meson: gtk: don't overwrite top-level cdata variable with local stuff
We need to set the global configuration data written into
config.h from the modules/printbackends meson file.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
5c4e55af21 meson: add po and po-properties 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
1194ab5363 meson: testsuites: tools: add meson build 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
7d07f5fb14 meson: testsuite: reftests: add build defs, but needs more work
Not sure how these are supposed to work yet, we can specify
arguments for running the tests uninstalled as well with test(),
if that helps in any way.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
5d023f233b meson: testsuite: gdk: use array for test definitions 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
198dbc9878 meson: testsuite: gtk: sync with Makefile and add some missing bits
Also use an array. A few tests fail, needs investigation.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
19c5bda322 meson: make sure gsk/gdk generated headers exist for libgtk_dep users
Add back dependencies on libgdk_dep and libsk_dep which are declared
dependencies. We removed this before because these declarations had
link_with: lines that dragged in the static libgdk.a and libgsk.a libs
which are linked into libgtk-4.so anyway and thus shouldn't be used
when linking internal exes/tools against libgtk-4. Remove the static
libs from the declared dependencies and have libgtk link those in
explicitly, so that the declared deps now just provide all the built
dependencies and include dirs and such for declared libgtk_dep users
such as the internal exes/tools, which want all the generated gsk/gdk/gtk
headers to exist before attempting to compile anything against the
gtk+ headers.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
925941289d meson: generate .pc files 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
1123c34c46 meson: gtk: update build file and sync to Makefile 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
0c96d18250 meson: gtk: use gnome.mkenums() and gnome.genmarshal() 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
c445af11b7 meson: gdk, gsk: fix install path of generated files 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
1aa75a1b00 meson: gtk: remove internal static libs from declared gtk dependency
gdk and gsk are no longer separate libs but part of gtk now, so any
Gtk+ user should just link to gtk, there's no need to additionally
link against all those static helper libs that go into the gtk lib.

This means we need to specifically add confinc to include_directories
in more places to make sure the right config.h (i.e. ours) gets
included and not a subproject's like graphene's config.h.

Not dragging in static libs also fixes the issue of all executables
having to be relinked for any and all changes. With this change
it's super-fast now and can be skipped for most changes that don't
touch the external ABI.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
305c0729cb meson: gtk: use array for installed tools definition 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
4c354afaf7 meson: gtk: install headers 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
f5d5a5ce9f meson: gdk: add quartz backend skeleton
Won't even build yet, just put basic bits in place.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
f43f340ec1 meson: gdk: win32: add skeleton bits for win32 backend
Won't even build, configure bits still missing.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
cfd765e525 meson: gdk: wayland: generate private wayland headers first
gdkprivate-wayland.h includes generated wayland client protocol
headers and is included from gdkdisplaymanager.c, so we need to
generate those client protocol headers first also when building
main gdk itself.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
1781fa611b meson: gdk: add Mir backend bits
Completely untested, might not even build.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
315cac442b meson: gdk: build individual backends as static libs
This is how it's done in the autotools build. Also avoids problems
with multiple source files having the same name (gdkeventsource.c).

Also move broadway backend code into broadway subdir.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
b955dc72cd meson: gdk: wayland: move wayland bits into wayland subdir 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
89276d9654 meson: gdk: wayland: use array for protocol file generation 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
0174bd4510 meson: gdk: move x11 bits into x11 subdirectory
Also install headers.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
2132a72d99 meson: gdk: update and sync with Makefiles
Also create gdk.gresource.xml at build-time.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
490e2e4148 meson: demos: disable add_install_script() calls that don't work right yet
Errors out. Might really wants a script and not a binary.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
633e9f13e9 meson: gsk: install public headers 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
d50c5ea3bf meson: gsk: use gnome.mkenums() to generate enum types 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
4f99513b18 meson: gsk: generate gsk.resources.xml 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
1397b72cb1 meson: add vulkan bits 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
0a68fb86d0 meson: examples: update
Mostly style changes. Don't create resource source files
with spaces in them, that's tempting our luck.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
a031a5784b meson: tests: make tests find resources from the source dir
Should probably also do this in the autotools build, since
the same problem exists there as well if we use srcdir != builddir.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
9812edef1a meson: tests: update and sync with Makefiles 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
9606b6cfaf meson: demos: update and sync up with Makefiles 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
7733718b39 meson: use add_project_arguments() instead of add_global_arguments()
So Gtk+ can be used as a subproject.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
cca7b0a145 meson: gtk-demo: update and sync up with Makefile.am 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
f556cfeef3 meson: update list of sources for changes in git master 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
3b34b967ae meson: fix checks for maths and X11 funcs that need the right deps 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
58d1986a5e meson: work around meson/gcc bug detecting linux/* headers 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
07e7e2f1d9 meson: set _GNU_SOURCE project wide
Easier, also means we don't have to define it for
checks. that will only succeed with it defind.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
678baa7916 meson: testsuite: gdk: need to dep on gtk
Almost all of these tests include gtk/gtk.h so we need
to dep on libgtk not just libgdk. Otherwise compilation
fails because graphene.h include can't be found.
2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
1f72eb585c meson: gtk: generate gtk.gresource.xml 2017-04-28 23:12:52 +01:00
Tim-Philipp Müller
3b7e2179b1 meson: gtk: add missing source file 2017-04-28 23:12:51 +01:00
Tim-Philipp Müller
0790b1210c meson: make sure gdk/gdkenumtypes.h is generated for users of libgtk_dep
Add libgdk_dep as dependency to the libgtk_dep declare_dependency(), so
that the generated gdk includes are generated before anything is built
that tries to include gtk headers (such as various tests that don't depend
on gdk directly).
2017-04-28 23:12:51 +01:00
Tim-Philipp Müller
ba7d2ce720 Rename generated gtktypefuncs.c to gtktypefuncs.inc
This is needed for the Meson port, a file name .c that's included
and shouldn't be compiled into an object is difficult to manage
otherwise. And it's not actually a valid .c file anyway.
2017-04-28 23:12:51 +01:00
Tim-Philipp Müller
29318b17be meson: add graphene subproject that can be used as fallback 2017-04-28 23:12:51 +01:00
Timm Bäder
eb58d7efe8 meson: update build files 2017-04-28 23:12:51 +01:00
Timm Bäder
24283016ff meson: Sort input files by name 2017-04-28 23:12:51 +01:00
Timm Bäder
ef4cab7e78 meson: Conditionally check for dependencies 2017-04-28 23:12:51 +01:00
Timm Bäder
d741b8ea57 meson: Check for more libraries 2017-04-28 23:12:51 +01:00
Timm Bäder
cf749ecd6b meson: build some more tests 2017-04-28 23:12:51 +01:00
Timm Bäder
b494dc99cb meson: build tests/visuals 2017-04-28 23:12:51 +01:00
Timm Bäder
16543e07d8 meson: Build gtk utils 2017-04-28 23:12:51 +01:00
Timm Bäder
9b2c1021c3 meson: Install libgtk and libgdk 2017-04-28 23:12:51 +01:00
Timm Bäder
dc97b6152a gtk/meson: Read dirs from options 2017-04-28 23:12:51 +01:00
Timm Bäder
aa4f9f6a2d Build examples 2017-04-28 23:12:51 +01:00
Timm Bäder
b223e1277a examples/drawing: Don't call gtk_main_quit
This is a GtkApplication so it will do the right thing when closing the
window.
2017-04-28 23:12:51 +01:00
Timm Bäder
40aa1c82e5 meson: Build all tests in tests/ 2017-04-28 23:12:51 +01:00
Timm Bäder
3e5451114d meson: Also check for sincos 2017-04-28 23:12:51 +01:00
Timm Bäder
0a3244084a meson.build: Add more required versions
...build tests/ and testsuite/, properly define gtk_version, etc.
2017-04-28 23:12:51 +01:00
Tim-Philipp Müller
f026538192 meson: figure out wayland-protocols pkgdatadir via pkg-config
Instead of hardcoding the location.
2017-04-28 23:12:51 +01:00
Timm Bäder
646a42047b meson: Use -Bsymbolic 2017-04-28 23:12:51 +01:00
Timm Bäder
fc25c60dc5 meson: Require gtkmarshal_h before we build gtk 2017-04-28 23:12:51 +01:00
Timm Bäder
fbb49d4a16 meson: Disable broadway build 2017-04-28 23:12:51 +01:00
Timm Bäder
14af0d5928 meson: Generate demos.h for gtk3-demo 2017-04-28 23:12:51 +01:00
Timm Bäder
bc89c69ff1 meson: Build gtk3-demo 2017-04-28 23:12:51 +01:00
Timm Bäder
c8ba3b8fa5 meson: build gtk/ again 2017-04-28 23:12:51 +01:00
Timm Bäder
959f57d6bb build: Generate wayland protocol files 2017-04-28 23:12:51 +01:00
Timm Bäder
3933421cd3 wayland: Include generated sources from builddir, not srcdir 2017-04-28 23:12:51 +01:00
Timm Bäder
043a0ffcfe gentypefuncs.py: Use python3 2017-04-28 23:12:51 +01:00
Tim-Philipp Müller
c2cc50850e meson: replace gentypefuncs.d with python script 2017-04-28 23:12:51 +01:00
Timm Bäder
6ed39b94cc gtk major version 2017-04-28 23:12:51 +01:00
Timm Bäder
6b85970d84 meson: Use xrandr 2017-04-28 23:12:51 +01:00
Timm Bäder
dc6a8521ec meson: make gtk buildable
x11 only
2017-04-28 23:12:51 +01:00
Timm Bäder
8ad67851c6 meson: Build gtk marshallers
And fix libgtk_dep/libgdk_dep to link_with the shared lib
2017-04-28 23:12:51 +01:00
Timm Bäder
36b8e26624 meson: Add unit test files 2017-04-28 23:12:51 +01:00
Timm Bäder
271d8169e9 gtk: Generate gresources file 2017-04-28 23:12:51 +01:00
Timm Bäder
1ee1a26dfa meson: Add options for x/wayland/broadway backends 2017-04-28 23:12:51 +01:00
Timm Bäder
58fa36dab1 Meson build v2 2017-04-28 23:12:51 +01:00
Timm Bäder
05aba1345f fallback-c89: Include config.h
It holds all the HAVE_<func> definitions.
2017-04-28 23:12:51 +01:00
Emmanuele Bassi
48e96a7ff9 Add Meson build files
Original work by: Jussi Pakkanen <jpakkane@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=769881
2017-04-28 23:12:51 +01:00
Emmanuele Bassi
ab407a760c gdk: Remove GdkX11DisplayManager from the build
We don't instantiate it, and we don't use it any more.
2017-04-28 23:12:51 +01:00
178 changed files with 5179 additions and 12282 deletions

View File

@@ -1,97 +0,0 @@
## Makefile.am for GTK+
include $(top_srcdir)/Makefile.decl
SRC_SUBDIRS = gdk gsk gtk modules demos tests testsuite examples
SUBDIRS = po po-properties $(SRC_SUBDIRS) docs win32
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
EXTRA_DIST += \
autogen.sh \
HACKING \
README \
README.in \
INSTALL \
INSTALL.in \
NEWS.pre-1-0 \
README.commits \
README.win32 \
config.h.win32 \
makefile.msc \
gtk-zip.sh.in \
sanitize-la.sh \
po/README.translators \
po/po2tbl.sed.in \
make-pot
MAINTAINERCLEANFILES = \
$(GITIGNORE_MAINTAINERCLEANFILES_TOPLEVEL) \
$(GITIGNORE_MAINTAINERCLEANFILES_M4_LIBTOOL) \
$(GITIGNORE_MAINTAINERCLEANFILES_MAKEFILE_IN) \
$(srcdir)/m4/gtk-doc.m4 \
$(srcdir)/INSTALL \
$(srcdir)/README \
$(srcdir)/gtk-doc.make \
$(srcdir)/ChangeLog
## Copy .pc files to target-specific names
gtk+-x11-4.0.pc gtk+-win32-4.0.pc gtk+-quartz-4.0.pc gtk+-broadway-4.0.pc gtk+-wayland-4.0.pc gtk+-mir-4.0.pc: gtk+-4.0.pc
rm -f $@ && \
cp gtk+-4.0.pc $@
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = gtk+-4.0.pc gail-4.0.pc
pkgconfig_DATA += ${GDK_BACKENDS:%=gtk+-%-4.0.pc}
if OS_UNIX
pkgconfig_DATA += gtk+-unix-print-4.0.pc
endif
DISTCLEANFILES = \
gtk+-unix-print-4.0.pc \
gtk+-4.0.pc \
gtk+-x11-4.0.pc \
gtk+-win32-4.0.pc \
gtk+-quartz-4.0.pc \
gtk+-broadway-4.0.pc \
gtk+-wayland-4.0.pc \
gtk+-mir-4.0.pc \
gail-4.0.pc \
config.lt
distclean-local:
if test "$(srcdir)" = "."; then :; else \
rm -f ChangeLog; \
fi
ChangeLog:
$(AM_V_GEN) if test -d "$(srcdir)/.git"; then \
(GIT_DIR=$(top_srcdir)/.git $(top_builddir)/build-aux/missing git log GTK_2_16_0^^.. --stat) | fmt --split-only > $@.tmp \
&& mv -f $@.tmp $@ \
|| ($(RM) $@.tmp; \
echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \
(test -f $@ || echo git-log is required to generate this file >> $@)); \
else \
test -f $@ || \
(echo A git checkout and git-log is required to generate ChangeLog >&2 && \
echo A git checkout and git-log is required to generate this file >> $@); \
fi
.PHONY: ChangeLog
uninstall-local:
rm -f $(DESTDIR)$(pkgconfigdir)/gtk+-4.0.pc
AM_DISTCHECK_CONFIGURE_FLAGS = \
--enable-gtk-doc \
--disable-doc-cross-references \
--enable-man \
--disable-maintainer-mode \
--enable-introspection \
--enable-installed-tests
GITIGNORE_TRANSLATION_DIRS = po-properties
GITIGNOREFILES = po-properties/gtk40-properties.pot
-include $(top_srcdir)/git.mk

View File

@@ -1,96 +0,0 @@
# GTK+ - The GIMP Toolkit
GTESTER = gtester -k # in $PATH for non-GLIB packages
GTESTER_REPORT = gtester-report # in $PATH for non-GLIB packages
# initialize variables for unconditional += appending
EXTRA_DIST =
TEST_PROGS =
### testing rules
# Xvfb based test rules
XVFB = Xvfb -ac -noreset -screen 0 1024x768x16
XIDS = 101 102 103 104 105 106 107 197 199 211 223 227 293 307 308 309 310 311 \
491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 \
991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 \
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 = \
echo "Gtk+Tests:INFO: Skipping GUI tests for non-X11 target."
endif
if PLATFORM_WIN32
no_undefined = -no-undefined
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` \
&& { ${XVFB} :$$XID -nolisten tcp -auth /dev/null >/dev/null 2>&1 & \
trap "kill -15 $$! " 0 HUP INT QUIT TRAP USR1 PIPE TERM ; } \
|| { echo "Gtk+Tests:ERROR: Failed to start Xvfb environment for X11 target tests."; exit 1; } \
&& DISPLAY=:$$XID && export DISPLAY
# call as: $(XVFB_START) && someprogram
# test: run all tests in cwd and subdirs
test: test-cwd test-recurse
# test-cwd: run tests in cwd
test-cwd: ${TEST_PROGS}
@$(SKIP_GDKTARGET) || test -z "${TEST_PROGS}" || { \
$(XVFB_START) && { set -e; $(TESTS_ENVIRONMENT) G_TEST_SRCDIR="${abs_srcdir}" G_TEST_BUILDDIR="${abs_builddir}" ${GTESTER} --verbose ${TEST_PROGS}; }; \
}
# test-recurse: run tests in subdirs
test-recurse:
@ for subdir in $(SUBDIRS) ; do \
test "$$subdir" = "." -o "$$subdir" = "po" -o "$$subdir" = "po-properties" || \
( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) test ) || exit $? ; \
done
# test-report: run tests in subdirs and generate report
# perf-report: run tests in subdirs with -m perf and generate report
# full-report: like test-report: with -m perf and -m slow
test-report perf-report full-report: ${TEST_PROGS}
@ ignore_logdir=true ; \
if test -z "$$GTESTER_LOGDIR" ; then \
GTESTER_LOGDIR=`mktemp -d "\`pwd\`/.testlogs-XXXXXX"`; export GTESTER_LOGDIR ; \
ignore_logdir=false ; \
fi ; \
for subdir in $(SUBDIRS) ; do \
test "$$subdir" = "." -o "$$subdir" = "po" -o "$$subdir" = "po-properties" || \
( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
done ; \
$(SKIP_GDKTARGET) || test -z "${TEST_PROGS}" || { \
case $@ in \
test-report) test_options="-k";; \
perf-report) test_options="-k -m=perf";; \
full-report) test_options="-k -m=perf -m=slow";; \
esac ; \
$(XVFB_START) && { \
set -e; \
if test -z "$$GTESTER_LOGDIR" ; then \
G_TEST_SRCDIR="${abs_srcdir}" G_TEST_BUILDDIR="${abs_builddir}" ${GTESTER} --verbose $$test_options -o test-report.xml ${TEST_PROGS} ; \
elif test -n "${TEST_PROGS}" ; then \
G_TEST_SRCDIR="${abs_srcdir}" G_TEST_BUILDDIR="${abs_builddir}" ${GTESTER} --verbose $$test_options -o `mktemp "$$GTESTER_LOGDIR/log-XXXXXX"` ${TEST_PROGS} ; \
fi ; \
}; \
}; \
$$ignore_logdir || { \
echo '<?xml version="1.0"?>' > $@.xml ; \
echo '<report-collection>' >> $@.xml ; \
for lf in `ls -L "$$GTESTER_LOGDIR"/.` ; do \
sed '1,1s/^<?xml\b[^>?]*?>//' <"$$GTESTER_LOGDIR"/"$$lf" >> $@.xml ; \
done ; \
echo >> $@.xml ; \
echo '</report-collection>' >> $@.xml ; \
rm -rf "$$GTESTER_LOGDIR"/ ; \
${GTESTER_REPORT} --version 2>/dev/null 1>&2 ; test "$$?" != 0 || ${GTESTER_REPORT} $@.xml >$@.html ; \
}
.PHONY: test test-cwd test-recurse test-report perf-report full-report
# run make test-cwd as part of make check
check-local: test-cwd

View File

@@ -1,79 +0,0 @@
# autoconf 2.13 / 2.50 compatibility macro
# GLIB_AC_DIVERT_BEFORE_HELP(STUFF)
# ---------------------------------
# Put STUFF early enough so that they are available for $ac_help expansion.
# Handle both classic (<= v2.13) and modern autoconf
AC_DEFUN([GLIB_AC_DIVERT_BEFORE_HELP],
[ifdef([m4_divert_text], [m4_divert_text([NOTICE],[$1])],
[ifdef([AC_DIVERT], [AC_DIVERT([NOTICE],[$1])],
[AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
$1
AC_DIVERT_POP()])])])
# GTK_ADD_LIB(VAR,LIBNAME)
# ---------------------------------
# Helper macro to add a -lBlah to a variable, avoiding repeats
# Note that this needs to be quoted when used in an enclosing macro
AC_DEFUN([GTK_ADD_LIB],
[ case "$$1 " in
*-l$2[[\ \ ]]*) ;;
*) $1="-l$2 $$1" ;;
esac
])
# Checks the location of the XML Catalog
# Usage:
# JH_PATH_XML_CATALOG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
# Defines XMLCATALOG and XML_CATALOG_FILE substitutions
AC_DEFUN([JH_PATH_XML_CATALOG],
[
# check for the presence of the XML catalog
AC_ARG_WITH([xml-catalog],
AC_HELP_STRING([--with-xml-catalog=CATALOG],
[path to xml catalog to use]),,
[with_xml_catalog=/etc/xml/catalog])
jh_found_xmlcatalog=true
XML_CATALOG_FILE="$with_xml_catalog"
AC_SUBST([XML_CATALOG_FILE])
AC_MSG_CHECKING([for XML catalog ($XML_CATALOG_FILE)])
if test -f "$XML_CATALOG_FILE"; then
AC_MSG_RESULT([found])
else
jh_found_xmlcatalog=false
AC_MSG_RESULT([not found])
fi
# check for the xmlcatalog program
AC_PATH_PROG(XMLCATALOG, xmlcatalog, no)
if test "x$XMLCATALOG" = xno; then
jh_found_xmlcatalog=false
fi
if $jh_found_xmlcatalog; then
ifelse([$1],,[:],[$1])
else
ifelse([$2],,[AC_MSG_ERROR([could not find XML catalog])],[$2])
fi
])
# Checks if a particular URI appears in the XML catalog
# Usage:
# JH_CHECK_XML_CATALOG(URI, [FRIENDLY-NAME], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
AC_DEFUN([JH_CHECK_XML_CATALOG],
[
AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl
AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
if $jh_found_xmlcatalog && \
AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
AC_MSG_RESULT([found])
ifelse([$3],,,[$3
])dnl
else
AC_MSG_RESULT([not found])
ifelse([$4],,
[AC_MSG_ERROR([could not find ifelse([$2],,[$1],[$2]) in XML catalog])],
[$4])
fi
])

View File

@@ -1,46 +0,0 @@
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
test -n "$srcdir" || srcdir=`dirname "$0"`
test -n "$srcdir" || srcdir=.
olddir=`pwd`
cd "$srcdir"
mkdir -p m4
GTKDOCIZE=`which gtkdocize`
if test -z $GTKDOCIZE; then
echo "*** No GTK-Doc found, please install it ***"
exit 1
else
gtkdocize || exit $?
fi
PKGCONFIG=`which pkg-config`
if test -z "$PKGCONFIG"; then
echo "*** pkg-config not found, please install it ***"
exit 1
fi
pkg-config --print-errors gobject-introspection-1.0
if [ $? != 0 ]; then
echo "You probably need to install 'libgirepository1.0-dev'"
exit 1
fi
# README and INSTALL are required by automake, but may be deleted by clean
# up rules. to get automake to work, simply touch these here, they will be
# regenerated from their corresponding *.in files by ./configure anyway.
touch README INSTALL
AUTORECONF=`which autoreconf`
if test -z $AUTORECONF; then
echo "*** No autoreconf found, please install it ***"
exit 1
else
autoreconf --force --install --verbose || exit $?
fi
cd "$olddir"
test -n "$NOCONFIGURE" || "$srcdir/configure" "$@"

21
build-aux/meson/post-install.sh Executable file
View File

@@ -0,0 +1,21 @@
#!/bin/sh
gtk_version=$1
gtk_abi_version=$2
gtk_libdir=$3
gtk_datadir=$4
# Package managers set this so we don't need to run
if [ -z "$DESTDIR" ]; then
echo Compiling GSettings schemas...
glib-compile-schemas ${gtk_datadir}/glib-2.0/schemas
echo Updating desktop database...
update-desktop-database -q ${gtk_datadir}/applications
echo Updating icon cache...
gtk-update-icon-cache -q -t -f ${gtk_datadir}/icons/hicolor
echo Updating input method modules cache...
gtk4-query-immodules > ${gtk_libdir}/gtk-${version}/${gtk_abi_version}/immodules.cache
fi

288
config.h.meson Normal file
View File

@@ -0,0 +1,288 @@
/* config.h.in. Generated from configure.ac by autoheader. */
/* always defined to indicate that i18n is enabled */
#mesondefine ENABLE_NLS
/* The prefix for our gettext translation domains. */
#mesondefine GETTEXT_PACKAGE
/* Disable deprecation warnings from glib */
#mesondefine GLIB_DISABLE_DEPRECATION_WARNINGS
/* Define the location where the catalogs will be installed */
#mesondefine GTK_LOCALEDIR
/* Define to 1 if you have the `bind_textdomain_codeset' function. */
#mesondefine HAVE_BIND_TEXTDOMAIN_CODESET
/* define if we have colord */
#mesondefine HAVE_COLORD
/* Define to 1 if you have the <crt_externs.h> header file. */
#mesondefine HAVE_CRT_EXTERNS_H
/* Define to 1 if CUPS 1.6 API is available */
#mesondefine HAVE_CUPS_API_1_6
/* Define to 1 if you have the `dcgettext' function. */
#mesondefine HAVE_DCGETTEXT
/* Define to 1 if you have the declaration of `isinf', and to 0 if you don't.
*/
#mesondefine HAVE_DECL_ISINF
/* Define to 1 if you have the declaration of `isnan', and to 0 if you don't.
*/
#mesondefine HAVE_DECL_ISNAN
/* Define to 1 if you have the <dlfcn.h> header file. */
#mesondefine HAVE_DLFCN_H
/* Define to 1 if you have the <ftw.h> header file. */
#mesondefine HAVE_FTW_H
/* Define to 1 if you have the `getpagesize' function. */
#mesondefine HAVE_GETPAGESIZE
/* Define to 1 if you have the `getresuid' function. */
#mesondefine HAVE_GETRESUID
/* Define if gio-unix is available */
#mesondefine HAVE_GIO_UNIX
/* Define to 1 if you have the `httpGetAuthString' function. */
#mesondefine HAVE_HTTPGETAUTHSTRING
/* Define if cups http_t authstring field is accessible */
#mesondefine HAVE_HTTP_AUTHSTRING
/* Define to 1 if you have the <inttypes.h> header file. */
#mesondefine HAVE_INTTYPES_H
/* Define to 1 if the system has the type `IPrintDialogCallback'. */
#mesondefine HAVE_IPRINTDIALOGCALLBACK
/* Define to 1 if you have the <locale.h> header file. */
#mesondefine HAVE_LOCALE_H
/* Define to 1 if you have the `lstat' function. */
#mesondefine HAVE_LSTAT
/* Define to 1 if you have the `mallinfo' function. */
#mesondefine HAVE_MALLINFO
/* Define to 1 if you have the <memory.h> header file. */
#mesondefine HAVE_MEMORY_H
/* Define to 1 if you have the `mkstemp' function. */
#mesondefine HAVE_MKSTEMP
/* Define to 1 if you have a working `mmap' system call. */
#mesondefine HAVE_MMAP
/* Define to 1 if you have the `nearbyint' function. */
#mesondefine HAVE_NEARBYINT
/* Define to 1 if you have the `posix_fallocate' function. */
#mesondefine HAVE_POSIX_FALLOCATE
/* Have the Xrandr extension library */
#mesondefine HAVE_RANDR
/* Have the Xrandr 1.5 extension library */
#mesondefine HAVE_RANDR15
/* Define to 1 if you have the `rint' function. */
#mesondefine HAVE_RINT
/* Define to 1 if you have the `round' function. */
#mesondefine HAVE_ROUND
/* Define to 1 if you have the `sincos' function. */
#mesondefine HAVE_SINCOS
/* Define to 1 if you have the `log2` function */
#mesondefine HAVE_LOG2
/* Define to 1 if you ahve the `exp2` function */
#mesondefine HAVE_EXP2
/* Define to 1 if you have the <stdint.h> header file. */
#mesondefine HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#mesondefine HAVE_STDLIB_H
/* Define to 1 if you have the <strings.h> header file. */
#mesondefine HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#mesondefine HAVE_STRING_H
/* Define to 1 if you have the <sys/mman.h> header file. */
#mesondefine HAVE_SYS_MMAN_H
/* Define to 1 if you have the <sys/param.h> header file. */
#mesondefine HAVE_SYS_PARAM_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#mesondefine HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/time.h> header file. */
#mesondefine HAVE_SYS_TIME_H
/* Define to 1 if you have the <sys/types.h> header file. */
#mesondefine HAVE_SYS_TYPES_H
/* Define to 1 if you have the <unistd.h> header file. */
#mesondefine HAVE_UNISTD_H
/* Have the XCOMPOSITE X extension */
#mesondefine HAVE_XCOMPOSITE
/* Have the Xcursor library */
#mesondefine HAVE_XCURSOR
/* Have the XDAMAGE X extension */
#mesondefine HAVE_XDAMAGE
/* Have the XFIXES X extension */
#mesondefine HAVE_XFIXES
/* Define to 1 if XFree Xinerama is available */
#mesondefine HAVE_XFREE_XINERAMA
/* Have XGenericEvent */
#mesondefine HAVE_XGENERICEVENTS
/* Define to use XKB extension */
#mesondefine HAVE_XKB
/* Have the SYNC extension library */
#mesondefine HAVE_XSYNC
/* Define to 1 if you have the `_lock_file' function */
#mesondefine HAVE__LOCK_FILE
/* Define to 1 if you have the `flockfile' function */
#mesondefine HAVE_FLOCKFILE
/* Define if _NL_MEASUREMENT_MEASUREMENT is available */
#mesondefine HAVE__NL_MEASUREMENT_MEASUREMENT
/* Define if _NL_PAPER_HEIGHT is available */
#mesondefine HAVE__NL_PAPER_HEIGHT
/* Define if _NL_PAPER_WIDTH is available */
#mesondefine HAVE__NL_PAPER_WIDTH
/* Define if _NL_TIME_FIRST_WEEKDAY is available */
#mesondefine HAVE__NL_TIME_FIRST_WEEKDAY
/* Define to the sub-directory where libtool stores uninstalled libraries. */
#mesondefine LT_OBJDIR
/* Define if <X11/extensions/XIproto.h> needed for xReply */
#mesondefine NEED_XIPROTO_H_FOR_XREPLY
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
#mesondefine NO_MINUS_C_MINUS_O
/* Define to the address where bug reports for this package should be sent. */
#mesondefine PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#mesondefine PACKAGE_NAME
/* Define to the full name and version of this package. */
#mesondefine PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#mesondefine PACKAGE_TARNAME
/* Define to the home page for this package. */
#mesondefine PACKAGE_URL
/* Define to the version of this package. */
#mesondefine PACKAGE_VERSION
/* Use NSBundle functions to determine load paths for libraries, translations,
etc. */
#mesondefine QUARTZ_RELOCATION
/* Define to 1 if you have the ANSI C header files. */
#mesondefine STDC_HEADERS
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# undef _GNU_SOURCE
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# undef _POSIX_PTHREAD_SEMANTICS
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# undef _TANDEM_SOURCE
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# undef __EXTENSIONS__
#endif
/* Define to 1 if XInput 2.0 is available */
#mesondefine XINPUT_2
/* Define to 1 if XInput 2.2 is available */
#mesondefine XINPUT_2_2
/* Define to 1 if the X Window System is missing or not being used. */
#mesondefine X_DISPLAY_MISSING
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
#mesondefine _FILE_OFFSET_BITS
/* defines how to decorate public symbols while building */
#mesondefine _GDK_EXTERN
/* Define for large files, on AIX-style hosts. */
#mesondefine _LARGE_FILES
/* Define to 1 if on MINIX. */
#mesondefine _MINIX
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
#mesondefine _POSIX_1_SOURCE
/* Define to 1 if you need to in order for `stat' and other things to work. */
#mesondefine _POSIX_SOURCE
/* Define to `int' if <sys/types.h> doesn't define. */
#mesondefine gid_t
/* Define to `int' if <sys/types.h> doesn't define. */
#mesondefine uid_t
/* Define to 1 if linux/memfd.h exists */
#mesondefine HAVE_LINUX_MEMFD_H
#mesondefine GTK_SYSCONFDIR
#mesondefine GTK_LOCALEDIR
#mesondefine GTK_DATADIR
#mesondefine GTK_LIBDIR
#mesondefine GTK_PRINT_BACKENDS

View File

@@ -1,337 +0,0 @@
/* config.h.win32.in. Merged from two versions generated by configure for gcc and MSVC. */
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.in by autoheader. */
/* always defined to indicate that i18n is enabled */
#define ENABLE_NLS 1
/* define to enable packagekit */
/* #undef ENABLE_PACKAGEKIT */
/* The prefix for our gettext translation domains. */
#define GETTEXT_PACKAGE "@GETTEXT_PACKAGE@"
/* Disable deprecation warnings from glib */
/* #undef GLIB_DISABLE_DEPRECATION_WARNINGS */
/* Define if debugging is enabled */
#define GTK_COMPILED_WITH_DEBUGGING "yes"
/* Define the location where the catalogs will be installed */
#define GTK_LOCALEDIR "NONE/share/locale"
/* Define to 1 if you have the `bind_textdomain_codeset' function. */
#define HAVE_BIND_TEXTDOMAIN_CODESET 1
/* define if we have colord */
/* #undef HAVE_COLORD */
/* Define to 1 if you have the <crt_externs.h> header file. */
/* #undef HAVE_CRT_EXTERNS_H */
/* Define to 1 if CUPS 1.2 API is available */
/* #undef HAVE_CUPS_API_1_2 */
/* Define to 1 if you have the `dcgettext' function. */
#define HAVE_DCGETTEXT 1
/* Define to 1 if you have the declaration of `isinf', and to 0 if you don't.
*/
#if !defined (_MSC_VER) || (_MSC_VER >= 1800)
#define HAVE_DECL_ISINF 1
#endif
/* Define to 1 if you have the declaration of `isnan', and to 0 if you don't.
*/
#if !defined (_MSC_VER) || (_MSC_VER >= 1800)
#define HAVE_DECL_ISNAN 1
#endif
/* Define to 1 if you have the <dlfcn.h> header file. */
/* #undef HAVE_DLFCN_H */
/* Define to 1 if you have the `exp2' function. */
#if !defined (_MSC_VER) || (_MSC_VER >= 1800)
#define HAVE_EXP2 1
#endif
/* Define to 1 if you have the `flockfile' function. */
#undef HAVE_FLOCKFILE
/* Define to 1 if you have the <ftw.h> header file. */
/* #undef HAVE_FTW_H */
/* Define to 1 if you have the `getpagesize' function. */
#ifndef _MSC_VER
#define HAVE_GETPAGESIZE 1
#else
/* #undef HAVE_GETPAGESIZE */
#endif
/* Define to 1 if you have the `getresuid' function. */
/* #undef HAVE_GETRESUID */
/* Define if the GNU gettext() function is already present or preinstalled. */
#define HAVE_GETTEXT 1
/* Define if gio-unix is available */
/* #undef HAVE_GIO_UNIX */
/* Have GNU ftw */
/* #undef HAVE_GNU_FTW */
/* Define to 1 if you have the `httpGetAuthString' function. */
/* #undef HAVE_HTTPGETAUTHSTRING */
/* Define if cups http_t authstring field is accessible */
/* #undef HAVE_HTTP_AUTHSTRING */
/* Define to 1 if you have the <inttypes.h> header file. */
#if !defined (_MSC_VER) || (_MSC_VER >= 1800)
#define HAVE_INTTYPES_H 1
#else
/* #undef HAVE_INTTYPES_H */
#endif
/* Define to 1 if the system has the type `IPrintDialogCallback'. */
#define HAVE_IPRINTDIALOGCALLBACK 1
/* Define if your <locale.h> file defines LC_MESSAGES. */
/* #undef HAVE_LC_MESSAGES */
/* Define to 1 if you have the `m' library (-lm). */
#ifndef _MSC_VER
#define HAVE_LIBM 1
#endif
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `localtime_r' function. */
/* #undef HAVE_LOCALTIME_R */
/* Define to 1 if you have the `log2' function. */
#if !defined (_MSC_VER) || (_MSC_VER >= 1800)
#define HAVE_LOG2 1
#endif
/* Define to 1 if you have the `lstat' function. */
/* #undef HAVE_LSTAT */
/* Define to 1 if you have the `mallinfo' function. */
/* #undef HAVE_MALLINFO */
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mkstemp' function. */
/* #undef HAVE_MKSTEMP */
/* Define to 1 if you have a working `mmap' system call. */
/* #undef HAVE_MMAP */
/* Define to 1 if nearbyint() is available */
#if !defined (_MSC_VER) || (_MSC_VER >= 1800)
#define HAVE_NEARBYINT 1
#endif
/* Define to 1 if libpapi available */
/* #undef HAVE_PAPI */
/* Define to 1 if you have the <pwd.h> header file. */
/* #undef HAVE_PWD_H */
/* Have the Xrandr extension library */
/* #undef HAVE_RANDR */
/* Define to 1 if rint() is available */
#if !defined (_MSC_VER) || (_MSC_VER >= 1800)
#define HAVE_RINT 1
#endif
/* Define to 1 if round() is available */
#if !defined (_MSC_VER) || (_MSC_VER >= 1800)
#define HAVE_ROUND 1
#endif
/* Define to 1 if sincos() is available */
/* #undef HAVE_SINCOS */
/* Have the sockaddr_un.sun_len member */
/* #undef HAVE_SOCKADDR_UN_SUN_LEN */
/* Define to 1 if solaris xinerama is available */
/* #undef HAVE_SOLARIS_XINERAMA */
/* Define to 1 if you have the <stdint.h> header file. */
#ifndef _MSC_VER
#define HAVE_STDINT_H 1
#else
#if (_MSC_VER >= 1600) /* VS 2010+ ships with stdint.h */
#define HAVE_STDINT_H 1
#endif
/* #undef HAVE_STDINT_H */
#endif
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#ifndef _MSC_VER
#define HAVE_STRINGS_H 1
#endif
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the <sys/mman.h> header file. */
/* #undef HAVE_SYS_MMAN_H */
/* Define to 1 if you have the <sys/param.h> header file. */
/* #undef HAVE_SYS_PARAM_H */
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if sys/sysinfo.h is available */
/* #undef HAVE_SYS_SYSINFO_H */
/* Define to 1 if sys/systeminfo.h is available */
/* #undef HAVE_SYS_SYSTEMINFO_H */
/* Define to 1 if you have the <sys/time.h> header file. */
#ifndef _MSC_VER
#define HAVE_SYS_TIME_H 1
#else /* _MSC_VER */
/* #undef HAVE_SYS_TIME_H */
#endif
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <unistd.h> header file. */
#ifndef _MSC_VER
#define HAVE_UNISTD_H 1
#else
/* #undef HAVE_UNISTD_H */
#endif
/* Have the XCOMPOSITE X extension */
/* #undef HAVE_XCOMPOSITE */
/* Have the Xcursor library */
/* #undef HAVE_XCURSOR */
/* Have the XDAMAGE X extension */
/* #undef HAVE_XDAMAGE */
/* Have the XFIXES X extension */
/* #undef HAVE_XFIXES */
/* Define to 1 if XFree Xinerama is available */
/* #undef HAVE_XFREE_XINERAMA */
/* Have XGenericEvent */
/* #undef HAVE_XGENERICEVENTS */
/* Define to 1 if xinerama is available */
/* #undef HAVE_XINERAMA */
/* Define to use XKB extension */
/* #undef HAVE_XKB */
/* Have the SYNC extension library */
/* #undef HAVE_XSYNC */
/* Define to 1 if you have the `_lock_file' function. */
#define HAVE__LOCK_FILE
/* Define if _NL_MEASUREMENT_MEASUREMENT is available */
/* #undef HAVE__NL_MEASUREMENT_MEASUREMENT */
/* Define if _NL_PAPER_HEIGHT is available */
/* #undef HAVE__NL_PAPER_HEIGHT */
/* Define if _NL_PAPER_WIDTH is available */
/* #undef HAVE__NL_PAPER_WIDTH */
/* Define if _NL_TIME_FIRST_WEEKDAY is available */
/* #undef HAVE__NL_TIME_FIRST_WEEKDAY */
/* Define to 1 if you have the `_NSGetEnviron' function. */
/* #undef HAVE__NSGETENVIRON */
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#define LT_OBJDIR ".libs/"
/* Define if <X11/extensions/XIproto.h> needed for xReply */
/* #undef NEED_XIPROTO_H_FOR_XREPLY */
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
#ifndef _MSC_VER
/* #undef NO_MINUS_C_MINUS_O */
#else
#define NO_MINUS_C_MINUS_O 1
#endif
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B"
/* Define to the full name of this package. */
#define PACKAGE_NAME "gtk+"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "gtk+ @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gtk+"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "@GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@"
/* Use NSBundle functions to determine load paths for libraries, translations,
etc. */
/* #undef QUARTZ_RELOCATION */
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define to 1 if gmodule works and should be used */
#define USE_GMODULE 1
/* Define to 1 if XInput 2.0 is available */
/* #undef XINPUT_2 */
/* Define to 1 if XInput 2.2 is available */
/* #undef XINPUT_2_2 */
/* Define to 1 if the X Window System is missing or not being used. */
/* #undef X_DISPLAY_MISSING */
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
/* # define _DARWIN_USE_64_BIT_INODE 1 */
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* defines how to decorate public symbols while building */
#ifdef _MSC_VER
#define _GDK_EXTERN __declspec (dllexport) extern
#else
#define _GDK_EXTERN __attribute__((visibility("default"))) __declspec (dllexport) extern
#endif
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to `int' if <sys/types.h> doesn't define. */
#define gid_t int
/* Define to `int' if <sys/types.h> doesn't define. */
#define uid_t int

View File

@@ -1,6 +0,0 @@
## Makefile.am for gtk+/demos
include $(top_srcdir)/Makefile.decl
SUBDIRS = gtk-demo widget-factory icon-browser
-include $(top_srcdir)/git.mk

View File

@@ -1,205 +0,0 @@
## Makefile.am for gtk+/demos
include $(top_srcdir)/Makefile.decl
## These should be in the order you want them to appear in the
## demo app, which means alphabetized by demo title, not filename
demos_base = \
application_demo.c \
assistant.c \
builder.c \
button_box.c \
changedisplay.c \
clipboard.c \
colorsel.c \
combobox.c \
css_accordion.c \
css_basics.c \
css_blendmodes.c \
css_multiplebgs.c \
css_pixbufs.c \
css_shadows.c \
cursors.c \
dialog.c \
drawingarea.c \
editable_cells.c \
entry_buffer.c \
entry_completion.c \
event_axes.c \
expander.c \
filtermodel.c \
fishbowl.c \
foreigndrawing.c \
gestures.c \
glarea.c \
headerbar.c \
hypertext.c \
iconview.c \
iconview_edit.c \
images.c \
infobar.c \
links.c \
listbox.c \
flowbox.c \
list_store.c \
markup.c \
menus.c \
modelbutton.c \
overlay.c \
overlay2.c \
panes.c \
pickers.c \
pixbufs.c \
popover.c \
printing.c \
revealer.c \
rotated_text.c \
scale.c \
search_entry.c \
search_entry2.c \
shortcuts.c \
sidebar.c \
sizegroup.c \
spinbutton.c \
spinner.c \
stack.c \
tabs.c \
textmask.c \
textview.c \
textscroll.c \
theming_style_classes.c \
toolpalette.c \
transparent.c \
tree_store.c
demos_opt =
if BUILD_FONT_DEMO
demos_opt += font_features.c
endif
if OS_UNIX
demos_opt += pagesetup.c
endif
demos = $(demos_base) $(demos_opt)
AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-DGDK_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)
DEPS = \
$(top_builddir)/gtk/libgtk-4.la
LDADDS = \
$(top_builddir)/gtk/libgtk-4.la \
$(GTK_DEP_LIBS) \
$(GDK_DEP_LIBS) \
-lm
if BUILD_FONT_DEMO
AM_CPPFLAGS += $(FONTDEMO_CFLAGS)
LDADDS += $(FONTDEMO_LIBS)
endif
bin_PROGRAMS = gtk4-demo gtk4-demo-application
desktopdir = $(datadir)/applications
dist_desktop_DATA = gtk4-demo.desktop
BUILT_SOURCES = demos.h demo_resources.c
EXTRA_DIST += \
data/source.svg \
data/symbolic-source.svg \
demo.gresource.xml \
$(resource_files) \
org.gtk.Demo.gschema.xml \
demos.h.win32
gsettings_SCHEMAS = \
org.gtk.Demo.gschema.xml
@GSETTINGS_RULES@
demos.h: $(demos) geninclude.pl
$(AM_V_GEN) (here=`pwd` ; cd $(srcdir) && $(PERL) $$here/geninclude.pl $(demos)) > demos.h
demos.h.win32: $(demos_base) geninclude.pl
$(AM_V_GEN) (here=`pwd` ; cd $(srcdir) && $(PERL) $$here/geninclude.pl $(demos_base)) > demos.h.win32
nodist_gtk4_demo_SOURCES = demos.h
gtk4_demo_SOURCES = \
$(demos) \
gtkfishbowl.c \
gtkfishbowl.h \
demo_resources.c \
main.c
gtk4_demo_DEPENDENCIES = $(DEPS)
gtk4_demo_LDADD = $(LDADDS)
gtk4_demo_LDFLAGS = -export-dynamic
gtk4_demo_application_SOURCES = \
application.c \
demo_resources.c
gtk4_demo_application_LDADD = $(LDADDS)
resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(builddir)/demo.gresource.xml)
demo_resources.c: demo.gresource.xml $(resource_files)
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) --generate-source $(srcdir)/demo.gresource.xml
iconthemedir = $(datadir)/icons/hicolor
appsicon16dir = $(iconthemedir)/16x16/apps
appsicon22dir = $(iconthemedir)/22x22/apps
appsicon24dir = $(iconthemedir)/24x24/apps
appsicon32dir = $(iconthemedir)/32x32/apps
appsicon48dir = $(iconthemedir)/48x48/apps
appsicon256dir = $(iconthemedir)/256x256/apps
appsiconscalabledir = $(iconthemedir)/scalable/apps
dist_appsicon16_DATA = data/16x16/gtk4-demo.png data/16x16/gtk4-demo-symbolic.symbolic.png
dist_appsicon22_DATA = data/22x22/gtk4-demo.png data/22x22/gtk4-demo-symbolic.symbolic.png
dist_appsicon24_DATA = data/24x24/gtk4-demo.png data/24x24/gtk4-demo-symbolic.symbolic.png
dist_appsicon32_DATA = data/32x32/gtk4-demo.png data/32x32/gtk4-demo-symbolic.symbolic.png
dist_appsicon48_DATA = data/48x48/gtk4-demo.png data/48x48/gtk4-demo-symbolic.symbolic.png
dist_appsicon256_DATA = data/256x256/gtk4-demo.png data/256x256/gtk4-demo-symbolic.symbolic.png
update_icon_cache = $(top_builddir)/gtk/gtk4-update-icon-cache$(EXEEXT) --ignore-theme-index --force
install-data-hook: install-update-icon-cache
uninstall-hook: uninstall-update-icon-cache
install-update-icon-cache:
$(AM_V_at)$(POST_INSTALL)
test -n "$(DESTDIR)" || $(update_icon_cache) "$(iconthemedir)"
uninstall-update-icon-cache:
$(AM_V_at)$(POST_UNINSTALL)
test -n "$(DESTDIR)" || $(update_icon_cache) "$(iconthemedir)"
# ------------------- MSVC Build Items ----------------
MSVCPROJS = gtk4-demo gtk4-demo-application
gtk4_demo_FILES = $(gtk4_demo_SOURCES)
gtk4_demo_EXCLUDES = font_features.c|pagesetup.c
gtk4_demo_application_FILES = $(gtk4_demo_application_SOURCES)
gtk4_demo_application_EXCLUDES = dummy
include $(top_srcdir)/win32/Makefile.msvcproj
dist-hook: \
$(top_builddir)/win32/vs12/gtk4-demo.vcxproj \
$(top_builddir)/win32/vs12/gtk4-demo-application.vcxproj
DISTCLEANFILES = demos.h demos.h.win32
-include $(top_srcdir)/git.mk

View File

@@ -1,164 +0,0 @@
#!@PERL@ -w
print <<EOT;
typedef GtkWidget *(*GDoDemoFunc) (GtkWidget *do_widget);
typedef struct _Demo Demo;
struct _Demo
{
gchar *name;
gchar *title;
gchar *filename;
GDoDemoFunc func;
Demo *children;
};
EOT
for $file (@ARGV) {
my %demo;
($basename = $file) =~ s/\.c$//;
open INFO_FILE, $file or die "Cannot open '$file'\n";
$title = <INFO_FILE>;
$title =~ s@^\s*/\*\s*@@;
$title =~ s@\s*$@@;
close INFO_FILE;
print "GtkWidget *do_$basename (GtkWidget *do_widget);\n";
push @demos, {"name" => $basename, "title" => $title, "file" => $file,
"func" => "do_$basename"};
}
# generate a list of 'parent names'
foreach $href (@demos) {
if ($href->{"title"} =~ m|^([-\w\s]+)/[-\w\s]+$|) {
my $parent_name = $1;
my $do_next = 0;
# parent detected
if (@parents) {
foreach $foo (@parents) {
if ($foo eq $parent_name) {
$do_next = 1;
}
}
if ($do_next) {
next;
}
}
push @parents, $parent_name;
$tmp = (@child_arrays)?($#child_arrays + 1):0;
push @child_arrays, "child$tmp";
push @demos, {"name" => "NULL", "title" => $parent_name, "file" => "NULL",
"func" => "NULL"};
}
}
if (@parents) {
$i = 0;
for ($i = 0; $i <= $#parents; $i++) {
$first = 1;
print "\nDemo ", $child_arrays[$i], "[] = {\n";
$j = 0;
for ($j = 0; $j <= $#demos; $j++) {
$href = $demos[$j];
if (!$demos[$j]) {
next;
}
if ($demos[$j]{"title"} =~ m|^$parents[$i]/([-\w\s]+)$|) {
if ($first) {
$first = 0;
} else {
print ",\n";
}
print qq ( { "$demos[$j]{name}", "$1", "$demos[$j]{file}", $demos[$j]{func}, NULL });
# hack ... ugly
$demos[$j]{"title"} = "foo";
}
}
print ",\n";
print qq ( { NULL } );
print "\n};\n";
}
}
# sort @demos
@demos_old = @demos;
@demos = sort {
$a->{"title"} cmp $b->{"title"};
} @demos_old;
# sort the child arrays
if (@child_arrays) {
for ($i = 0; $i <= $#child_arrays; $i++) {
@foo_old = @{$child_arrays[$i]};
@{$child_arrays[$i]} = sort {
$a->{"title"} cmp $b->{"title"};
} @foo_old;
}
}
# toplevel
print "\nDemo gtk_demos[] = {\n";
$first = 1;
foreach $href (@demos) {
$handled = 0;
# ugly evil hack
if ($href->{title} eq "foo") {
next;
}
if ($first) {
$first = 0;
} else {
print ", \n";
}
if (@parents) {
for ($i = 0; $i <= $#parents; $i++) {
if ($parents[$i] eq $href->{title}) {
if ($href->{file} eq 'NULL') {
print qq ( { NULL, "$href->{title}", NULL, $href->{func}, $child_arrays[$i] });
} else {
print qq ( { "$href->{name}", "$href->{title}", "$href->{file}", $href->{func}, $child_arrays[$i] });
}
$handled = 1;
last;
}
}
}
if ($handled) {
next;
}
print qq ( { "$href->{name}", "$href->{title}", "$href->{file}", $href->{func}, NULL });
}
print ",\n";
print qq ( { NULL } );
print "\n};\n";
exit 0;

108
demos/gtk-demo/geninclude.py Executable file
View File

@@ -0,0 +1,108 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import sys
import re
import os
from collections import *
out_file = sys.argv[1]
in_files = sys.argv[2:]
file_output = """
typedef GtkWidget *(*GDoDemoFunc) (GtkWidget *do_widget);
typedef struct _Demo Demo;
struct _Demo
{
gchar *name;
gchar *title;
gchar *filename;
GDoDemoFunc func;
Demo *children;
};
"""
# Demo = namedtuple('Demo', ['name', 'title', 'file', 'func'])
demos = []
for demo_file in in_files:
filename = demo_file[demo_file.rfind('/')+1:]
demo_name = filename.replace(".c", "")
with open(demo_file, 'r') as f:
title = f.readline().replace("/*", "").strip()
file_output += "GtkWidget *do_" + demo_name + " (GtkWidget *do_widget);\n"
# demos += Demo(name = demo_name,
# title = title,
# file = demo_file,
# func = "do_" + title)
demos.append((demo_name, title, filename, "do_" + demo_name, -1))
# Generate a List of "Parent names"
parents = []
parent_ids = []
parent_index = 0
for demo in demos:
if "/" in demo[1]:
slash_index = demo[1].index('/')
parent_name = demo[1][:slash_index]
do_break = False
# Check for duplicates
if not parent_name in parents:
parents.append(parent_name)
parent_ids.append(parent_index)
demos.append(("NULL", parent_name, "NULL", "NULL", parent_index))
parent_index = parent_index + 1
# For every child with a parent, generate a list of child demos
i = 0
for parent in parents:
id = parent_ids[i]
file_output += "\nDemo child" + str(id) + "[] = {\n"
# iterate over all demos and check if the name starts with the given parent name
for child in demos:
if child[1].startswith(parent + "/"):
title = child[1][child[1].rfind('/') + 1:]
file_output += " { \"" + child[0] + "\", \"" + title + "\", \"" + child[2] + "\", " + child[3] + ", NULL },\n"
file_output += " { NULL }\n};\n"
i = i + 1
# Sort demos by title
demos = sorted(demos, key=lambda x: x[1])
file_output += "\nDemo gtk_demos[] = {\n"
for demo in demos:
# Do not generate one of these for demos with a parent demo
if "/" not in demo[1]:
child_array = "NULL"
name = demo[0];
title = demo[1];
file = demo[2]
if name != "NULL":
name = "\"" + name + "\""
if title != "NULL":
title = "\"" + title + "\""
if file != "NULL":
file = "\"" + file + "\""
if demo[4] != -1:
child_array = "child" + str(demo[4])
file_output += " { " + name + ", " + title + ", " + file + ", " + demo[3] + ", " + child_array + " },\n"
file_output += " { NULL }\n};\n"
ofile = open(out_file, "w")
ofile.write(file_output)
ofile.close()

126
demos/gtk-demo/meson.build Normal file
View File

@@ -0,0 +1,126 @@
# These should be in the order you want them to appear in the
# demo app, which means alphabetized by demo title, not filename
demos = files([
'application_demo.c',
'assistant.c',
'builder.c',
'button_box.c',
'changedisplay.c',
'clipboard.c',
'colorsel.c',
'combobox.c',
'css_accordion.c',
'css_basics.c',
'css_blendmodes.c',
'css_multiplebgs.c',
'css_pixbufs.c',
'css_shadows.c',
'cursors.c',
'dialog.c',
'drawingarea.c',
'editable_cells.c',
'entry_buffer.c',
'entry_completion.c',
'event_axes.c',
'expander.c',
'filtermodel.c',
'fishbowl.c',
'foreigndrawing.c',
'gestures.c',
'glarea.c',
'headerbar.c',
'hypertext.c',
'iconview.c',
'iconview_edit.c',
'images.c',
'infobar.c',
'links.c',
'listbox.c',
'flowbox.c',
'list_store.c',
'markup.c',
'menus.c',
'modelbutton.c',
'overlay.c',
'overlay2.c',
'panes.c',
'pickers.c',
'pixbufs.c',
'popover.c',
'printing.c',
'revealer.c',
'rotated_text.c',
'scale.c',
'search_entry.c',
'search_entry2.c',
'shortcuts.c',
'sidebar.c',
'sizegroup.c',
'spinbutton.c',
'spinner.c',
'stack.c',
'tabs.c',
'textmask.c',
'textview.c',
'textscroll.c',
'theming_style_classes.c',
'toolpalette.c',
'transparent.c',
'tree_store.c',
])
gtkdemo_deps = [ libgtk_dep, ]
if harfbuzz_dep.found() and pangoft_dep.found()
demos += files('font_features.c')
gtkdemo_deps += [ harfbuzz_dep, ]
endif
if os_unix
demos += files('pagesetup.c')
endif
gtkdemo_args = [ '-DGDK_DISABLE_DEPRECATED', '-DGTK_DISABLE_DEPRECATED', ]
demos_h = custom_target('gtk4 demo header',
output: 'demos.h',
input: demos,
command: [ find_program('geninclude.py'), '@OUTPUT@', '@INPUT@' ])
gtkdemo_resources = gnome.compile_resources('gtkdemo_resources',
'demo.gresource.xml',
source_dir: '.')
executable('gtk4-demo',
'main.c', 'gtkfishbowl.c', demos, demos_h, gtkdemo_resources,
c_args: gtkdemo_args,
dependencies: gtkdemo_deps,
include_directories: confinc,
gui_app: true,
install: true)
executable('gtk4-demo-application',
'application.c', gtkdemo_resources,
c_args: gtkdemo_args,
dependencies: gtkdemo_deps,
include_directories: confinc,
gui_app: true,
install: true)
# icons
icontheme_dir = join_paths(gtk_datadir, 'icons/hicolor')
foreach icon_size: [ '16x16', '22x22', '24x24', '32x32', '48x48', '256x256', ]
gtk_demo_icons_dir = join_paths(icontheme_dir, '@0@/apps'.format(icon_size))
install_data('data/@0@/gtk4-demo.png'.format(icon_size),
install_dir: gtk_demo_icons_dir)
install_data('data/@0@/gtk4-demo-symbolic.symbolic.png'.format(icon_size),
install_dir: gtk_demo_icons_dir)
endforeach
# desktop file
install_data('gtk4-demo.desktop', install_dir: gtk_applicationsdir)
# GSettings
install_data('org.gtk.Demo.gschema.xml', install_dir: gtk_schemasdir)
gnome.compile_schemas()

View File

@@ -1,47 +0,0 @@
AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_srcdir)/gdk \
-I$(top_builddir)/gdk \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)
LDADD = \
$(top_builddir)/gtk/libgtk-4.la \
$(GTK_DEP_LIBS)
bin_PROGRAMS = gtk4-icon-browser
desktopdir = $(datadir)/applications
dist_desktop_DATA = gtk4-icon-browser.desktop
gtk4_icon_browser_SOURCES = \
main.c \
iconbrowserapp.c iconbrowserapp.h \
iconbrowserwin.c iconbrowserwin.h \
iconstore.c iconstore.h \
resources.c
BUILT_SOURCES = \
resources.c
resources.c: iconbrowser.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/iconbrowser.gresource.xml)
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $(srcdir)/iconbrowser.gresource.xml \
--target=$@ --sourcedir=$(srcdir) --generate-source
EXTRA_DIST = \
menus.ui \
iconbrowser.gresource.xml \
window.ui
# ------------------- MSVC Build Items ----------------
MSVCPROJS = gtk4-icon-browser
gtk4_icon_browser_FILES = $(gtk4_icon_browser_SOURCES)
gtk4_icon_browser_EXCLUDES = dummy
include $(top_srcdir)/win32/Makefile.msvcproj
dist-hook: $(top_builddir)/win32/vs12/gtk4-icon-browser.vcxproj
-include $(top_srcdir)/git.mk

View File

@@ -0,0 +1,19 @@
iconbrowser_sources = [
'main.c',
'iconbrowserapp.c',
'iconbrowserwin.c',
'iconstore.c'
]
iconbrowser_resources = gnome.compile_resources('iconbrowser_resources',
'iconbrowser.gresource.xml',
source_dir: '.')
executable('gtk4-icon-browser',
iconbrowser_sources, iconbrowser_resources,
dependencies: libgtk_dep,
include_directories: confinc,
gui_app: true,
install: true)
install_data('gtk4-icon-browser.desktop', install_dir: gtk_applicationsdir)

3
demos/meson.build Normal file
View File

@@ -0,0 +1,3 @@
subdir('gtk-demo')
subdir('icon-browser')
subdir('widget-factory')

View File

@@ -1,71 +0,0 @@
include $(top_srcdir)/Makefile.decl
bin_PROGRAMS = gtk4-widget-factory
desktopdir = $(datadir)/applications
dist_desktop_DATA = gtk4-widget-factory.desktop
gtk4_widget_factory_SOURCES = \
widget-factory.c \
widget_factory_resources.c
BUILT_SOURCES = \
widget_factory_resources.c
gtk4_widget_factory_DEPENDENCIES = \
$(top_builddir)/gtk/libgtk-4.la
gtk4_widget_factory_CPPFLAGS = \
-I$(top_srcdir) \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS) \
$(NULL)
gtk4_widget_factory_LDADD = \
$(top_builddir)/gtk/libgtk-4.la \
$(GTK_DEP_LIBS) \
$(NULL)
widget_factory_resources.c: widget-factory.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/widget-factory.gresource.xml)
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) --generate-source $<
iconthemedir = $(datadir)/icons/hicolor
appsicon16dir = $(iconthemedir)/16x16/apps
appsicon22dir = $(iconthemedir)/22x22/apps
appsicon24dir = $(iconthemedir)/24x24/apps
appsicon32dir = $(iconthemedir)/32x32/apps
appsicon48dir = $(iconthemedir)/48x48/apps
appsicon256dir = $(iconthemedir)/256x256/apps
dist_appsicon16_DATA = data/16x16/gtk4-widget-factory.png data/16x16/gtk4-widget-factory-symbolic.symbolic.png
dist_appsicon22_DATA = data/22x22/gtk4-widget-factory.png data/22x22/gtk4-widget-factory-symbolic.symbolic.png
dist_appsicon24_DATA = data/24x24/gtk4-widget-factory.png data/24x24/gtk4-widget-factory-symbolic.symbolic.png
dist_appsicon32_DATA = data/32x32/gtk4-widget-factory.png data/32x32/gtk4-widget-factory-symbolic.symbolic.png
dist_appsicon48_DATA = data/48x48/gtk4-widget-factory.png data/48x48/gtk4-widget-factory-symbolic.symbolic.png
dist_appsicon256_DATA = data/256x256/gtk4-widget-factory.png data/256x256/gtk4-widget-factory-symbolic.symbolic.png
update_icon_cache = $(top_builddir)/gtk/gtk4-update-icon-cache$(EXEEXT) --ignore-theme-index --force
install-data-hook: install-update-icon-cache
uninstall-hook: uninstall-update-icon-cache
install-update-icon-cache:
$(AM_V_at)$(POST_INSTALL)
test -n "$(DESTDIR)" || $(update_icon_cache) "$(iconthemedir)"
uninstall-update-icon-cache:
$(AM_V_at)$(POST_UNINSTALL)
test -n "$(DESTDIR)" || $(update_icon_cache) "$(iconthemedir)"
EXTRA_DIST += \
widget-factory.ui \
widget-factory.css \
menus.ui \
help-overlay.ui \
widget-factory.gresource.xml \
data/source.svg \
data/symbolic-source.svg
-include $(top_srcdir)/git.mk

View File

@@ -0,0 +1,26 @@
# demos/widget-factory
widgetfactory_resources = gnome.compile_resources('widgetfactory_resources',
'widget-factory.gresource.xml',
source_dir: '.')
executable('gtk4-widget-factory',
'widget-factory.c', widgetfactory_resources,
dependencies: libgtk_dep,
include_directories: confinc,
gui_app: true,
install: true)
# desktop file
install_data('gtk4-widget-factory.desktop', install_dir: gtk_applicationsdir)
# icons
icontheme_dir = join_paths(gtk_datadir, 'icons/hicolor')
foreach icon_size : ['16x16', '22x22', '24x24', '32x32', '48x48', '256x256', ]
icons_dir = join_paths(icontheme_dir, '@0@/apps'.format(icon_size))
install_data('data/@0@/gtk4-widget-factory.png'.format(icon_size),
install_dir: icons_dir)
install_data('data/@0@/gtk4-widget-factory-symbolic.symbolic.png'.format(icon_size),
install_dir: icons_dir)
endforeach

View File

@@ -1,20 +0,0 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl
SUBDIRS = reference tools
EXTRA_DIST += \
CODING-STYLE \
developers.txt \
dnd_internals.txt \
focus_tracking.txt \
RELEASE-HOWTO \
sizing-test.txt \
styles.txt \
text_widget_internals.txt \
tree-column-sizing.png \
tree-column-sizing.txt \
widget_geometry.txt \
widget_system.txt
-include $(top_srcdir)/git.mk

View File

@@ -1,8 +0,0 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl
SUBDIRS = gdk gsk gtk
GITIGNOREFILES = */*.1
-include $(top_srcdir)/git.mk

View File

@@ -1,213 +0,0 @@
## Process this file with automake to produce Makefile.in
AUTOMAKE_OPTIONS = 1.6
# The name of the module.
DOC_MODULE=gdk4
# The top-level SGML file.
DOC_MAIN_SGML_FILE=gdk-docs.sgml
# Extra options to supply to gtkdoc-scan
SCAN_OPTIONS=--deprecated-guards=GDK_DISABLE_DEPRECATED \
--ignore-decorators=G_GNUC_WARN_UNUSED_RESULT
# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR=$(top_srcdir)/gdk $(top_srcdir)/gdk/x11
# Used for dependencies
HFILE_GLOB=$(top_srcdir)/gdk/*.h $(top_srcdir)/gdk/x11/gdkx.h
CFILE_GLOB=$(top_srcdir)/gdk/*.c
# Header files to ignore when scanning
IGNORE_HFILES= \
gdkintl.h \
gdkmarshalers.h \
gdkkeysyms.h \
gdkinternals.h \
gdkprivate.h \
gdk-private.h \
gdkapplaunchcontextprivate.h \
gdkcursorprivate.h \
gdkdevicemanagerprivate.h \
gdkdeviceprivate.h \
gdkdisplaymanagerprivate.h \
gdkdisplayprivate.h \
gdkdndprivate.h \
gdkdrawcontextprivate.h \
gdkframeclockprivate.h \
gdkglcontextprivate.h \
gdkkeysprivate.h \
gdkmonitorprivate.h \
gdkscreenprivate.h \
gdkseatdefaultprivate.h \
gdkseatprivate.h \
gdkvisualprivate.h \
gdkvulkancontextprivate.h \
keyname-table.h \
win32 \
x11 \
quartz \
broadway \
wayland
# Extra files to add when scanning
EXTRA_HFILES= \
$(top_srcdir)/gdk/x11/gdkx.h
# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_builddir) \
-I$(top_builddir)/gdk \
$(GTK_DEBUG_FLAGS) \
$(GDK_DEP_CFLAGS)
GTKDOC_LIBS = $(top_builddir)/gtk/libgtk-4.la $(GDK_DEP_LIBS)
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS=--output-format=xml --name-space=gdk
# Extra SGML files that are included by DOC_MAIN_SGML_FILE
content_files = \
version.xml
# Images to copy into HTML directory
HTML_IMAGES = \
images/rotated-text.png \
images/X_cursor.png \
images/arrow.png \
images/based_arrow_down.png \
images/based_arrow_up.png \
images/boat.png \
images/bogosity.png \
images/bottom_left_corner.png \
images/bottom_right_corner.png \
images/bottom_side.png \
images/bottom_tee.png \
images/box_spiral.png \
images/center_ptr.png \
images/circle.png \
images/clock.png \
images/coffee_mug.png \
images/cross.png \
images/cross_reverse.png \
images/crosshair.png \
images/diamond_cross.png \
images/dot.png \
images/dotbox.png \
images/double_arrow.png \
images/draft_large.png \
images/draft_small.png \
images/draped_box.png \
images/exchange.png \
images/fleur.png \
images/gobbler.png \
images/gumby.png \
images/hand1.png \
images/hand2.png \
images/heart.png \
images/icon.png \
images/iron_cross.png \
images/left_ptr.png \
images/left_side.png \
images/left_tee.png \
images/leftbutton.png \
images/ll_angle.png \
images/lr_angle.png \
images/man.png \
images/middlebutton.png \
images/mouse.png \
images/pencil.png \
images/pirate.png \
images/plus.png \
images/question_arrow.png \
images/right_ptr.png \
images/right_side.png \
images/right_tee.png \
images/rightbutton.png \
images/rtl_logo.png \
images/sailboat.png \
images/sb_down_arrow.png \
images/sb_h_double_arrow.png \
images/sb_left_arrow.png \
images/sb_right_arrow.png \
images/sb_up_arrow.png \
images/sb_v_double_arrow.png \
images/shuttle.png \
images/sizing.png \
images/spider.png \
images/spraycan.png \
images/star.png \
images/target.png \
images/tcross.png \
images/top_left_arrow.png \
images/top_left_corner.png \
images/top_right_corner.png \
images/top_side.png \
images/top_tee.png \
images/trek.png \
images/ul_angle.png \
images/umbrella.png \
images/ur_angle.png \
images/watch.png \
images/xterm.png \
images/alias_cursor.png \
images/all_scroll_cursor.png \
images/cell_cursor.png \
images/col_resize_cursor.png \
images/copy_cursor.png \
images/crosshair_cursor.png \
images/default_cursor.png \
images/e_resize_cursor.png \
images/ew_resize_cursor.png \
images/grabbing_cursor.png \
images/grab_cursor.png \
images/hand_cursor.png \
images/context_menu_cursor.png \
images/help_cursor.png \
images/move_cursor.png \
images/ne_resize_cursor.png \
images/nesw_resize_cursor.png \
images/no_drop_cursor.png \
images/not_allowed_cursor.png \
images/n_resize_cursor.png \
images/ns_resize_cursor.png \
images/nw_resize_cursor.png \
images/nwse_resize_cursor.png \
images/pointer_cursor.png \
images/progress_cursor.png \
images/row_resize_cursor.png \
images/se_resize_cursor.png \
images/s_resize_cursor.png \
images/sw_resize_cursor.png \
images/text_cursor.png \
images/vertical_text_cursor.png \
images/wait_cursor.png \
images/w_resize_cursor.png \
images/X_cursor.png \
images/zoom_in_cursor.png \
images/zoom_out_cursor.png
if ENABLE_DOC_CROSS_REFERENCES
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS= \
--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/gobject \
--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/glib \
--extra-dir=$(CAIRO_PREFIX)/share/gtk-doc/html/cairo
endif
include $(top_srcdir)/gtk-doc.make
# Other files to distribute
EXTRA_DIST += version.xml.in
if ENABLE_GTK_DOC
TESTS_ENVIRONMENT = cd $(srcdir) && \
DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
#TESTS = $(GTKDOC_CHECK)
endif
-include $(top_srcdir)/git.mk

View File

@@ -1,5 +1,3 @@
#include <gdk/gdk.h>
gdk_app_launch_context_get_type
gdk_cursor_get_type
gdk_device_get_type

View File

@@ -0,0 +1,172 @@
private_headers = [
'gdkintl.h',
'gdkmarshalers.h',
'gdkkeysyms.h',
'gdkinternals.h',
'gdkprivate.h',
'gdk-private.h',
'gdkapplaunchcontextprivate.h',
'gdkcursorprivate.h',
'gdkdevicemanagerprivate.h',
'gdkdeviceprivate.h',
'gdkdisplaymanagerprivate.h',
'gdkdisplayprivate.h',
'gdkdndprivate.h',
'gdkdrawcontextprivate.h',
'gdkframeclockprivate.h',
'gdkglcontextprivate.h',
'gdkkeysprivate.h',
'gdkmonitorprivate.h',
'gdkscreenprivate.h',
'gdkseatdefaultprivate.h',
'gdkseatprivate.h',
'gdkvisualprivate.h',
'gdkvulkancontextprivate.h',
'keyname-table.h',
'win32',
'x11',
'quartz',
'broadway',
'wayland',
]
images = [
'images/rotated-text.png',
'images/X_cursor.png',
'images/arrow.png',
'images/based_arrow_down.png',
'images/based_arrow_up.png',
'images/boat.png',
'images/bogosity.png',
'images/bottom_left_corner.png',
'images/bottom_right_corner.png',
'images/bottom_side.png',
'images/bottom_tee.png',
'images/box_spiral.png',
'images/center_ptr.png',
'images/circle.png',
'images/clock.png',
'images/coffee_mug.png',
'images/cross.png',
'images/cross_reverse.png',
'images/crosshair.png',
'images/diamond_cross.png',
'images/dot.png',
'images/dotbox.png',
'images/double_arrow.png',
'images/draft_large.png',
'images/draft_small.png',
'images/draped_box.png',
'images/exchange.png',
'images/fleur.png',
'images/gobbler.png',
'images/gumby.png',
'images/hand1.png',
'images/hand2.png',
'images/heart.png',
'images/icon.png',
'images/iron_cross.png',
'images/left_ptr.png',
'images/left_side.png',
'images/left_tee.png',
'images/leftbutton.png',
'images/ll_angle.png',
'images/lr_angle.png',
'images/man.png',
'images/middlebutton.png',
'images/mouse.png',
'images/pencil.png',
'images/pirate.png',
'images/plus.png',
'images/question_arrow.png',
'images/right_ptr.png',
'images/right_side.png',
'images/right_tee.png',
'images/rightbutton.png',
'images/rtl_logo.png',
'images/sailboat.png',
'images/sb_down_arrow.png',
'images/sb_h_double_arrow.png',
'images/sb_left_arrow.png',
'images/sb_right_arrow.png',
'images/sb_up_arrow.png',
'images/sb_v_double_arrow.png',
'images/shuttle.png',
'images/sizing.png',
'images/spider.png',
'images/spraycan.png',
'images/star.png',
'images/target.png',
'images/tcross.png',
'images/top_left_arrow.png',
'images/top_left_corner.png',
'images/top_right_corner.png',
'images/top_side.png',
'images/top_tee.png',
'images/trek.png',
'images/ul_angle.png',
'images/umbrella.png',
'images/ur_angle.png',
'images/watch.png',
'images/xterm.png',
'images/alias_cursor.png',
'images/all_scroll_cursor.png',
'images/cell_cursor.png',
'images/col_resize_cursor.png',
'images/copy_cursor.png',
'images/crosshair_cursor.png',
'images/default_cursor.png',
'images/e_resize_cursor.png',
'images/ew_resize_cursor.png',
'images/grabbing_cursor.png',
'images/grab_cursor.png',
'images/hand_cursor.png',
'images/context_menu_cursor.png',
'images/help_cursor.png',
'images/move_cursor.png',
'images/ne_resize_cursor.png',
'images/nesw_resize_cursor.png',
'images/no_drop_cursor.png',
'images/not_allowed_cursor.png',
'images/n_resize_cursor.png',
'images/ns_resize_cursor.png',
'images/nw_resize_cursor.png',
'images/nwse_resize_cursor.png',
'images/pointer_cursor.png',
'images/progress_cursor.png',
'images/row_resize_cursor.png',
'images/se_resize_cursor.png',
'images/s_resize_cursor.png',
'images/sw_resize_cursor.png',
'images/text_cursor.png',
'images/vertical_text_cursor.png',
'images/wait_cursor.png',
'images/w_resize_cursor.png',
'images/X_cursor.png',
'images/zoom_in_cursor.png',
'images/zoom_out_cursor.png',
]
configure_file(input: 'version.xml.in', output: 'version.xml', configuration: version_conf)
gnome.gtkdoc('gdk4',
main_xml: 'gdk4-docs.xml',
src_dir: [
join_paths(meson.source_root(), 'gdk'),
join_paths(meson.build_root(), 'gdk'),
],
dependencies: libgtk_dep,
gobject_typesfile: join_paths(meson.source_root(), 'docs/reference/gdk/gdk4.types'),
scan_args: [
'--ignore-decorators=_GDK_EXTERN|G_GNUC_WARN_UNUSED_RESULT',
'--ignore-headers=' + ' '.join(private_headers),
],
fixxref_args: [
'--html-dir=@0@'.format(docpath),
'--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')),
'--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')),
'--extra-dir=@0@'.format(join_paths(glib_docpath, 'gio')),
'--extra-dir=@0@'.format(cairo_docpath),
],
html_assets: images,
install: true)

View File

@@ -1,63 +0,0 @@
## Process this file with automake to produce Makefile.in
DOC_MODULE = gsk4
DOC_MAIN_SGML_FILE = gsk-docs.xml
SCAN_OPTIONS = --deprecated-guards=GDK_DISABLE_DEPRECATED \
--ignore-decorators=G_GNUC_WARN_UNUSED_RESULT
DOC_SOURCE_DIR = $(top_srcdir)/gsk
HFILE_GLOB = $(top_srcdir)/gsk/*.h
CFILE_GLOB = $(top_srcdir)/gsk/*.c
IGNORE_HFILES = \
gskcairorendererprivate.h \
gskdebugprivate.h \
gskdriverprivate.h \
gskprofilerprivate.h \
gskglrendererprivate.h \
gskprivate.h \
gskprofilerprivate.h \
gskrendererprivate.h \
gskrendernodeprivate.h \
gskshaderbiulderprivate.h
EXTRA_HFILES =
AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_builddir) \
-I$(top_builddir)/gsk \
$(GTK_DEBUG_FLAGS) \
$(GDK_DEP_CFLAGS)
GTKDOC_LIBS = $(top_builddir)/gtk/libgtk-4.la $(GDK_DEP_LIBS)
MKDB_OPTIONS=--output-format=xml --name-space=gsk
content_files = \
version.xml
HTML_IMAGES =
if ENABLE_DOC_CROSS_REFERENCES
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS= \
--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/gobject \
--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/glib \
--extra-dir=$(CAIRO_PREFIX)/share/gtk-doc/html/cairo
endif
include $(top_srcdir)/gtk-doc.make
# Other files to distribute
EXTRA_DIST += version.xml.in
if ENABLE_GTK_DOC
TESTS_ENVIRONMENT = cd $(srcdir) && \
DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
#TESTS = $(GTKDOC_CHECK)
endif
-include $(top_srcdir)/git.mk

View File

@@ -0,0 +1,60 @@
private_headers = [
'gskcairoblurprivate.h',
'gskcairorendererprivate.h',
'gskdebugprivate.h',
'gskgldriverprivate.h',
'gskglprofilerprivate.h',
'gskglrendererprivate.h',
'gskprivate.h',
'gskprofilerprivate.h',
'gskrendererprivate.h',
'gskrendernodeprivate.h',
'gskroundedrectprivate.h',
'gskshaderbuilderprivate.h',
'gsktextureprivate.h',
'gskvulkanblendpipelineprivate.h',
'gskvulkanborderpipelineprivate.h',
'gskvulkanboxshadowpipelineprivate.h',
'gskvulkanbufferprivate.h',
'gskvulkanclipprivate.h',
'gskvulkancolorpipelineprivate.h',
'gskvulkancommandpoolprivate.h',
'gskvulkaneffectpipelineprivate.h',
'gskvulkanimageprivate.h',
'gskvulkanlineargradientpipelineprivate.h',
'gskvulkanmemoryprivate.h',
'gskvulkanpipelineprivate.h',
'gskvulkanpushconstantsprivate.h',
'gskvulkanrendererprivate.h',
'gskvulkanrenderpassprivate.h',
'gskvulkanrenderprivate.h',
'gskvulkanshaderprivate.h',
]
images = [
]
configure_file(input: 'version.xml.in', output: 'version.xml', configuration: version_conf)
gnome.gtkdoc('gsk4',
main_xml: 'gsk4-docs.xml',
src_dir: [
join_paths(meson.source_root(), 'gsk'),
join_paths(meson.build_root(), 'gsk'),
],
dependencies: libgtk_dep,
gobject_typesfile: join_paths(meson.source_root(), 'docs/reference/gsk/gsk4.types'),
scan_args: [
'--ignore-decorators=_GDK_EXTERN',
'--ignore-headers=' + ' '.join(private_headers),
],
fixxref_args: [
'--html-dir=@0@'.format(docpath),
'--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')),
'--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')),
'--extra-dir=@0@'.format(join_paths(glib_docpath, 'gio')),
'--extra-dir=@0@'.format(cairo_docpath),
'--extra-dir=../gdk',
],
html_assets: images,
install: true)

View File

@@ -1,577 +0,0 @@
## Process this file with automake to produce Makefile.in
AUTOMAKE_OPTIONS = 1.6
# The name of the module.
DOC_MODULE=gtk4
# The top-level SGML file.
DOC_MAIN_SGML_FILE=gtk-docs.sgml
# Extra options to supply to gtkdoc-scan
SCAN_OPTIONS=--deprecated-guards="GTK_ENABLE_BROKEN|GTK_DISABLE_DEPRECATED"
# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR=$(top_srcdir)/gtk
# Used for dependencies
HFILE_GLOB=$(top_srcdir)/gtk/*.h
CFILE_GLOB=$(top_srcdir)/gtk/*.c
# Header files to ignore when scanning
IGNORE_HFILES = \
inspector \
a11y \
gtkaccelgroupprivate.h \
gtkaccelmapprivate.h \
gtkadjustmentprivate.h \
gtkallocatedbitmaskprivate.h \
gtkappchooserprivate.h \
gtkapplicationaccelsprivate.h \
gtkapplicationprivate.h \
gtkbindingsprivate.h \
gtkbitmaskprivate.h \
gtkboxgadgetprivate.h \
gtkboxprivate.h \
gtkbuilderprivate.h \
gtkbuiltiniconprivate.h \
gtkbuttonprivate.h \
gtkcellareaboxcontextprivate.h \
gtkcheckbuttonprivate.h \
gtkclipboardprivate.h \
gtkcolorchooserprivate.h \
gtkcoloreditorprivate.h \
gtkcolorplaneprivate.h \
gtkcolorscaleprivate.h \
gtkcolorswatchprivate.h \
gtkcolorutils.h \
gtkcomboboxprivate.h \
gtkcomposetable.h \
gtkcontainerprivate.h \
gtkcssanimatedstyleprivate.h \
gtkcssanimationprivate.h \
gtkcssarrayvalueprivate.h \
gtkcssbgsizevalueprivate.h \
gtkcssbordervalueprivate.h \
gtkcsscalcvalueprivate.h \
gtkcsscolorvalueprivate.h \
gtkcsscornervalueprivate.h \
gtkcsscustomgadgetprivate.h \
gtkcsscustompropertyprivate.h \
gtkcssdimensionvalueprivate.h \
gtkcsseasevalueprivate.h \
gtkcssenginevalueprivate.h \
gtkcssenumvalueprivate.h \
gtkcssgadgetprivate.h \
gtkcssiconthemevalueprivate.h \
gtkcssimagebuiltinprivate.h \
gtkcssimagecrossfadeprivate.h \
gtkcssimagefallbackprivate.h \
gtkcssimagegradientprivate.h \
gtkcssimageiconthemeprivate.h \
gtkcssimagelinearprivate.h \
gtkcssimageradialprivate.h \
gtkcssimageprivate.h \
gtkcssimagerecolorprivate.h \
gtkcssimagescaledprivate.h \
gtkcssimagesurfaceprivate.h \
gtkcssimageurlprivate.h \
gtkcssimagevalueprivate.h \
gtkcssimagewin32private.h \
gtkcssinheritvalueprivate.h \
gtkcssinitialvalueprivate.h \
gtkcsskeyframesprivate.h \
gtkcsslookupprivate.h \
gtkcssmatcherprivate.h \
gtkcssnodeprivate.h \
gtkcssnodestylecacheprivate.h \
gtkcssnodedeclarationprivate.h \
gtkcssnumbervalueprivate.h \
gtkcsspalettevalueprivate.h \
gtkcsspathnodeprivate.h \
gtkcssparserprivate.h \
gtkcsspositionvalueprivate.h \
gtkcssproviderprivate.h \
gtkcssrepeatvalueprivate.h \
gtkcssrgbavalueprivate.h \
gtkcsssectionprivate.h \
gtkcssselectorprivate.h \
gtkcssshadowsvalueprivate.h \
gtkcssshadowvalueprivate.h \
gtkcssshorthandpropertyprivate.h\
gtkcssstaticstyleprivate.h \
gtkcssstringvalueprivate.h \
gtkcssstylechangeprivate.h \
gtkcssstylefuncsprivate.h \
gtkcssstyleprivate.h \
gtkcssstylepropertyprivate.h \
gtkcsstransformvalueprivate.h \
gtkcsstransientnodeprivate.h \
gtkcsstransitionprivate.h \
gtkcsstypedvalueprivate.h \
gtkcsstypesprivate.h \
gtkcssunsetvalueprivate.h \
gtkcssvalueprivate.h \
gtkcsswidgetnodeprivate.h \
gtkcsswin32sizevalueprivate.h \
gtkdebugupdatesprivate.h \
gtkdialogprivate.h \
gtkdndprivate.h \
gtkentryprivate.h \
gtkeventcontrollerprivate.h \
gtkfilechoosernativeprivate.h \
gtkfilechooserprivate.h \
gtkfilechooserwidgetprivate.h \
gtkfontchooserprivate.h \
gtkgesturedragprivate.h \
gtkgesturelongpressprivate.h \
gtkgesturemultipressprivate.h \
gtkgesturepanprivate.h \
gtkgestureprivate.h \
gtkgesturerotateprivate.h \
gtkgesturesingleprivate.h \
gtkgestureswipeprivate.h \
gtkgesturezoomprivate.h \
gtkheaderbarprivate.h \
gtkhslaprivate.h \
gtkiconprivate.h \
gtkiconhelperprivate.h \
gtkiconthemeprivate.h \
gtkiconviewprivate.h \
gtkimagedefinitionprivate.h \
gtkimageprivate.h \
gtkimcontextsimpleprivate.h \
gtkimmoduleprivate.h \
gtklabelprivate.h \
gtklockbuttonprivate.h \
gtkmagnifierprivate.h \
gtkmenubuttonprivate.h \
gtkmenuitemprivate.h \
gtkmenuprivate.h \
gtkmenushellprivate.h \
gtkmodulesprivate.h \
gtkmountoperationprivate.h \
gtkorientableprivate.h \
gtkpixelcacheprivate.h \
gtkplacessidebarprivate.h \
gtkplacesviewprivate.h \
gtkplacesviewrowprivate.h \
gtkpopoverprivate.h \
gtkprinter-private.h \
gtkprintoperation-private.h \
gtkprivate.h \
gtkprogresstrackerprivate.h \
gtkrangeprivate.h \
gtkrecentchooserprivate.h \
gtkrenderbackgroundprivate.h \
gtkrenderborderprivate.h \
gtkrendericonprivate.h \
gtkroundedboxprivate.h \
gtkscaleprivate.h \
gtksearchengine.h \
gtksearchenginemodel.h \
gtksearchenginequartz.h \
gtksearchenginesimple.h \
gtksearchenginetracker.h \
gtksearchentryprivate.h \
gtkselectionprivate.h \
gtksettingsprivate.h \
gtkshortcutsshortcutprivate.h \
gtkshortcutswindowprivate.h \
gtksidebarrowprivate.h \
gtksizegroup-private.h \
gtksizerequestcacheprivate.h \
gtksnapshotprivate.h \
gtkstyleanimationprivate.h \
gtkstylecascadeprivate.h \
gtkstylecontextprivate.h \
gtkstylepropertyprivate.h \
gtkstyleproviderprivate.h \
gtktextattributes.h \
gtktextattributesprivate.h \
gtktextchildprivate.h \
gtktexthandleprivate.h \
gtktextiterprivate.h \
gtktextmarkprivate.h \
gtktexttagprivate.h \
gtktextviewprivate.h \
gtktogglebuttonprivate.h \
gtktoolbarprivate.h \
gtktoolpaletteprivate.h \
gtktooltipprivate.h \
gtktooltipwindowprivate.h \
gtkutilsprivate.h \
gtktreeprivate.h \
gtkwidgetprivate.h \
gtkwin32themeprivate.h \
gtkwindowprivate.h \
fnmatch.h \
gtkactionmuxer.h \
gtkactionobserver.h \
gtkactionobservable.h \
gtk9slice.h \
gtkanimationdescription.h \
gtkbitmaskprivateimpl.h \
gtkbookmarksmanager.h \
gtkdbusgenerated.c \
gtkdbusgenerated.h \
gtkdebug.h \
gtkactionhelper.h \
gtkdndcursors.h \
gtkfilechooserdefault.h \
gtkfilechooserembed.h \
gtkfilechooserentry.h \
gtkfilechoosersettings.h \
gtkfilechooserutils.h \
gtkfilesystem.h \
gtkfilesystemmodel.h \
gtkfilesystemunix.h \
gtkfilesystemwin32.h \
gtkfontchooserutils.h \
gtkiconcache.h \
gtkiconcachevalidator.h \
gtkiconthemeparser.h \
gtkintl.h \
gtkkeyhash.h \
gtkkineticscrolling.h \
gtkmarshal.h \
gtkmnemonichash.h \
gtkmenutracker.h \
gtkmenutrackeritem.h \
gtkmenusectionbox.h \
gtkmodelmenu.h \
gtkmodelmenuitem.h \
gtkmodifierstyle.h \
gtkpathbar.h \
gtkprintbackend.h \
gtkprinteroption.h \
gtkprinteroptionset.h \
gtkprinteroptionwidget.h \
gtkprinter-private.h \
gtkprintoperation-portal.h \
gtkprint-win32.h \
gtkprintutils.h \
gtkprivate.h \
gtkprivatetypebuiltins.h \
gtkquery.h \
gtkrbtree.h \
gtkrecentchooserdefault.h \
gtkrecentchooserutils.h \
gtksearchengine.h \
gtksearchenginetracker.h \
gtksearchenginesimple.h \
gtksearchenginequartz.h \
gtksequence.h \
gtktextbtree.h \
gtktextbufferserialize.h \
gtktextdisplay.h \
gtktextlayout.h \
gtktextsegment.h \
gtktexttypes.h \
gtktextutil.h \
gtktimeline.h \
gtkthemes.h \
gtktrashmonitor.h \
gtktrayicon.h \
gtktreedatalist.h \
gtktreemenu.h \
gtktypebuiltins.h \
gtkwidgetpathprivate.h \
gtkwindow-decorate.h \
gtkwin32drawprivate.h \
gtkwin32themeprivate.h \
xdgmime \
xembed.h
# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_builddir) \
-I$(top_builddir)/gdk \
-DGTK_ENABLE_BROKEN \
-Wno-deprecated-declarations \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)
CPPFLAGS += \
-UGTK_DISABLE_SINGLE_INCLUDES
GTKDOC_LIBS = \
$(top_builddir)/gtk/libgtk-4.la \
$(GTK_DEP_LIBS)
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS=--output-format=xml --name-space=gtk
MKHTML_OPTIONS="--path=\"$(abs_srcdir):$(top_srcdir)/examples\""
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE)
content_files = \
broadway.xml \
building.sgml \
compiling.sgml \
css-overview.xml \
css-properties.xml \
drawing-model.xml \
getting_started.xml \
glossary.xml \
gtk4-broadwayd.xml \
gtk4-demo-application.xml \
gtk4-demo.xml \
gtk4-icon-browser.xml \
gtk4-widget-factory.xml \
gtk4-builder-tool.xml \
gtk4-encode-symbolic-svg.xml \
gtk4-launch.xml \
gtk4-query-immodules.xml \
gtk4-query-settings.xml \
gtk4-update-icon-cache.xml \
input-handling.xml \
migrating-2to4.xml \
migrating-3to4.xml \
mir.xml \
osx.sgml \
overview.xml \
question_index.sgml \
resources.sgml \
running.sgml \
text_widget.sgml \
tree_widget.sgml \
version.xml \
visual_index.xml \
wayland.xml \
windows.sgml \
x11.sgml
expand_content_files = \
compiling.sgml \
drawing-model.xml \
getting_started.xml \
glossary.xml \
input-handling.xml \
migrating-2to4.xml \
migrating-3to4.xml \
question_index.sgml \
text_widget.sgml \
tree_widget.sgml
# Images to copy into HTML directory
HTML_IMAGES = \
$(srcdir)/images/aboutdialog.png \
$(srcdir)/images/accel-label.png \
$(srcdir)/images/action-bar.png \
$(srcdir)/images/appchooserbutton.png \
$(srcdir)/images/appchooserdialog.png \
$(srcdir)/images/assistant.png \
$(srcdir)/images/box-packing.png \
$(srcdir)/images/box-expand.png \
$(srcdir)/images/button.png \
$(srcdir)/images/check-button.png \
$(srcdir)/images/color-button.png \
$(srcdir)/images/colorchooser.png \
$(srcdir)/images/combo-box.png \
$(srcdir)/images/combo-box-entry.png \
$(srcdir)/images/combo-box-text.png \
$(srcdir)/images/entry.png \
$(srcdir)/images/figure-hierarchical-drawing.png \
$(srcdir)/images/figure-windowed-label.png \
$(srcdir)/images/file-button.png \
$(srcdir)/images/filechooser.png \
$(srcdir)/images/font-button.png \
$(srcdir)/images/fontchooser.png \
$(srcdir)/images/frame.png \
$(srcdir)/images/glarea.png \
$(srcdir)/images/headerbar.png \
$(srcdir)/images/icon-view.png \
$(srcdir)/images/image.png \
$(srcdir)/images/info-bar.png \
$(srcdir)/images/label.png \
$(srcdir)/images/levelbar.png \
$(srcdir)/images/link-button.png \
$(srcdir)/images/list-and-tree.png \
$(srcdir)/images/lock-button.png \
$(srcdir)/images/lockbutton.png \
$(srcdir)/images/lockbutton-locked.png \
$(srcdir)/images/lockbutton-unlocked.png \
$(srcdir)/images/lockbutton-sorry.png \
$(srcdir)/images/menubar.png \
$(srcdir)/images/menu-button.png \
$(srcdir)/images/messagedialog.png \
$(srcdir)/images/multiline-text.png \
$(srcdir)/images/notebook.png \
$(srcdir)/images/panes.png \
$(srcdir)/images/pagesetupdialog.png \
$(srcdir)/images/placessidebar.png \
$(srcdir)/images/popup-anchors.png \
$(srcdir)/images/popup-flip.png \
$(srcdir)/images/popup-slide.png \
$(srcdir)/images/printdialog.png \
$(srcdir)/images/progressbar.png \
$(srcdir)/images/radio-group.png \
$(srcdir)/images/recentchooserdialog.png \
$(srcdir)/images/scales.png \
$(srcdir)/images/scrollbar.png \
$(srcdir)/images/scrolledwindow.png \
$(srcdir)/images/search-bar.png \
$(srcdir)/images/search-entry.png \
$(srcdir)/images/separator.png \
$(srcdir)/images/sidebar.png \
$(srcdir)/images/spinbutton.png \
$(srcdir)/images/spinner.png \
$(srcdir)/images/stack.png \
$(srcdir)/images/stackswitcher.png \
$(srcdir)/images/statusbar.png \
$(srcdir)/images/toggle-button.png \
$(srcdir)/images/toolbar.png \
$(srcdir)/images/toolpalette.png \
$(srcdir)/images/tree-view-coordinates.png \
$(srcdir)/images/volumebutton.png \
$(srcdir)/images/window.png \
$(srcdir)/images/layout-btlr.png \
$(srcdir)/images/layout-btrl.png \
$(srcdir)/images/layout-lrbt.png \
$(srcdir)/images/layout-lrtb.png \
$(srcdir)/images/layout-rlbt.png \
$(srcdir)/images/layout-rltb.png \
$(srcdir)/images/layout-tblr.png \
$(srcdir)/images/layout-tbrl.png \
$(srcdir)/images/widget-hvalign.png \
$(srcdir)/images/window-default.png \
$(srcdir)/images/hello-world.png \
$(srcdir)/images/grid-packing.png \
$(srcdir)/images/drawing.png \
$(srcdir)/images/switch.png \
$(srcdir)/images/linear.png \
$(srcdir)/images/ease.png \
$(srcdir)/images/ease-in-out.png \
$(srcdir)/images/ease-in.png \
$(srcdir)/images/ease-out.png \
$(srcdir)/images/gradient1.png \
$(srcdir)/images/gradient2.png \
$(srcdir)/images/gradient3.png \
$(srcdir)/images/gradient4.png \
$(srcdir)/images/border1.png \
$(srcdir)/images/border2.png \
$(srcdir)/images/border3.png \
$(srcdir)/images/slices.png \
$(srcdir)/images/checks.png \
$(srcdir)/images/options.png \
$(srcdir)/images/arrows.png \
$(srcdir)/images/expanders.png \
$(srcdir)/images/background.png \
$(srcdir)/images/frames.png \
$(srcdir)/images/frame-gap.png \
$(srcdir)/images/sliders.png \
$(srcdir)/images/focus.png \
$(srcdir)/images/handles.png \
$(srcdir)/images/extensions.png \
$(srcdir)/images/bloatpad-osx.png \
$(srcdir)/images/bloatpad-gnome.png \
$(srcdir)/images/bloatpad-xfce.png \
$(srcdir)/images/down-center.png \
$(srcdir)/images/down-end.png \
$(srcdir)/images/down-start.png \
$(srcdir)/images/left-center.png \
$(srcdir)/images/left-end.png \
$(srcdir)/images/left-start.png \
$(srcdir)/images/right-center.png \
$(srcdir)/images/right-end.png \
$(srcdir)/images/right-start.png \
$(srcdir)/images/up-center.png \
$(srcdir)/images/up-end.png \
$(srcdir)/images/up-start.png \
$(srcdir)/images/list-box.png \
$(srcdir)/images/getting-started-app1.png \
$(srcdir)/images/getting-started-app2.png \
$(srcdir)/images/getting-started-app3.png \
$(srcdir)/images/getting-started-app4.png \
$(srcdir)/images/getting-started-app6.png \
$(srcdir)/images/getting-started-app7.png \
$(srcdir)/images/getting-started-app8.png \
$(srcdir)/images/getting-started-app9.png \
$(srcdir)/images/getting-started-app10.png \
$(srcdir)/images/exampleapp.png \
$(srcdir)/images/flow-box.png \
$(srcdir)/images/inspector.png \
$(srcdir)/images/gedit-shortcuts.png \
$(srcdir)/images/clocks-shortcuts.png \
$(srcdir)/images/builder-shortcuts.png
if ENABLE_DOC_CROSS_REFERENCES
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=--extra-dir=../gdk/html \
--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/gobject \
--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/glib \
--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/gio \
--extra-dir=$(ATK_PREFIX)/share/gtk-doc/html/atk \
--extra-dir=$(PANGO_PREFIX)/share/gtk-doc/html/pango \
--extra-dir=$(CAIRO_PREFIX)/share/gtk-doc/html/cairo
endif
include $(top_srcdir)/gtk-doc.make
# Other files to distribute
EXTRA_DIST += version.xml.in gtk4.types.in
########################################################################
man_MANS = \
gtk4-broadwayd.1 \
gtk4-builder-tool.1 \
gtk4-demo.1 \
gtk4-demo-application.1 \
gtk4-encode-symbolic-svg.1 \
gtk4-icon-browser.1 \
gtk4-launch.1 \
gtk4-query-immodules.1 \
gtk4-query-settings.1 \
gtk4-update-icon-cache.1 \
gtk4-widget-factory.1
if ENABLE_MAN
XSLTPROC_FLAGS = \
--nonet \
--stringparam man.output.quietly 1 \
--stringparam funcsynopsis.style ansi \
--stringparam man.th.extra1.suppress 1 \
--stringparam man.authors.section.enabled 0 \
--stringparam man.copyright.section.enabled 0
.xml.1:
$(AM_V_GEN) $(XSLTPROC) $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
dist-local-check-mans-enabled:
if grep "Man generation disabled" $(man_MANS) >/dev/null; then $(RM) $(man_MANS); fi
else
$(man_MANS):
echo Man generation disabled. Creating dummy $@. Configure with --enable-man to enable it.
echo Man generation disabled. Remove this file, configure with --enable-man, and rebuild > $@
dist-local-check-mans-enabled:
echo "*** --enable-man must be used in order to make dist"
false
endif
MAINTAINERCLEANFILES = $(man_MANS) $(BUILT_SOURCES)
EXTRA_DIST += $(man_MANS)
if ENABLE_GTK_DOC
TESTS_ENVIRONMENT = cd $(srcdir) && \
DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
#TESTS = $(GTKDOC_CHECK)
endif
dist-hook-local: dist-local-check-mans-enabled all-local
gtk-docs-clean: clean
cd $(srcdir) && rm -rf xml html
-include $(top_srcdir)/git.mk

View File

@@ -0,0 +1,47 @@
private_headers = [
]
images = [
]
configure_file(input: 'version.xml.in', output: 'version.xml', configuration: version_conf)
types_conf = configuration_data()
if os_win32
types_conf.set('DISABLE_ON_W32', '%')
else
types_conf.set('DISABLE_ON_W32', '')
endif
if os_darwin
types_conf.set('DISABLE_ON_QUARTZ', '%')
else
types_conf.set('DISABLE_ON_QUARTZ', '')
endif
configure_file(input: 'gtk4.types.in', output: 'gtk4.types', configuration: types_conf)
gnome.gtkdoc('gtk4',
main_xml: 'gtk4-docs.xml',
src_dir: [
join_paths(meson.source_root(), 'gtk'),
join_paths(meson.build_root(), 'gtk'),
],
dependencies: libgtk_dep,
gobject_typesfile: 'gtk4.types',
scan_args: [
'--ignore-decorators=_GDK_EXTERN|G_GNUC_WARN_UNUSED_RESULT',
'--ignore-headers=' + ' '.join(private_headers),
],
fixxref_args: [
'--html-dir=@0@'.format(docpath),
'--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')),
'--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')),
'--extra-dir=@0@'.format(join_paths(glib_docpath, 'gio')),
'--extra-dir=@0@'.format(cairo_docpath),
'--extra-dir=@0@'.format(gdkpixbuf_docpath),
'--extra-dir=../gdk',
'--extra-dir=../gsk',
],
html_assets: images,
install: true)

View File

@@ -0,0 +1,17 @@
glib_prefix = dependency('glib-2.0').get_pkgconfig_variable('prefix')
glib_docpath = join_paths(glib_prefix, 'share', 'gtk-doc', 'html')
cairo_prefix = dependency('cairo-gobject').get_pkgconfig_variable('prefix')
cairo_docpath = join_paths(cairo_prefix, 'share', 'gtk-doc', 'html', 'cairo')
gdkpixbuf_prefix = dependency('gdk-pixbuf-2.0').get_pkgconfig_variable('prefix')
gdkpixbuf_docpath = join_paths(gdkpixbuf_prefix, 'share', 'gtk-doc', 'html', 'gdk-pixbuf')
docpath = join_paths(gtk_datadir, 'gtk-doc', 'html')
version_conf = configuration_data()
version_conf.set('GTK_VERSION', meson.project_version())
subdir('gdk')
subdir('gsk')
subdir('gtk')

View File

@@ -1,45 +0,0 @@
include $(top_srcdir)/Makefile.decl
AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-I$(top_srcdir)/gdk \
-I$(top_srcdir)/gdk/x11 \
-I$(top_srcdir)/tests \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)
DEPS = \
$(top_builddir)/gtk/libgtk-4.la
LDADDS = \
$(top_builddir)/gtk/libgtk-4.la \
$(top_builddir)/gdk/libgdk-4.la \
$(top_builddir)/tests/gtkgears.o \
$(GTK_DEP_LIBS) \
$(GDK_DEP_LIBS) \
-lm
if USE_X11
noinst_PROGRAMS = \
doc-shooter
endif
doc_shooter_DEPENDENCIES = $(DEPS)
doc_shooter_LDADD = $(LDADDS)
doc_shooter_SOURCES = \
shadow.c \
shadow.h \
shooter.c \
widgets.c \
widgets.h
clean-local:
for file in *.png; do \
case "$$file" in \
folder.png|gnome.png) ;; \
*) rm -f $$file ;; \
esac ; \
done
-include $(top_srcdir)/git.mk

12
docs/tools/meson.build Normal file
View File

@@ -0,0 +1,12 @@
if x11_enabled
doc_shooter_sources = [
'shadow.c',
'shooter.c',
'widgets.c',
'../../tests/gtkgears.c',
]
doc_shooter = executable('doc-shooter', doc_shooter_sources,
include_directories: [ confinc, gdkinc, gtkinc, testinc, ],
dependencies: libgtk_dep)
endif

View File

@@ -1,34 +0,0 @@
SUBDIRS = \
bp \
application1 application2 application3 \
application4 application5 application6 \
application7 application8 application9 \
application10
AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_srcdir)/gdk \
-I$(top_builddir)/gdk \
-DGDK_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)
LDADD = \
$(top_builddir)/gtk/libgtk-4.la \
$(GTK_DEP_LIBS)
noinst_PROGRAMS = \
hello-world \
window-default \
plugman \
sunny \
action-namespace \
grid-packing \
drawing \
builder \
search-bar
EXTRA_DIST = builder.ui
-include $(top_srcdir)/git.mk

View File

@@ -1,19 +0,0 @@
GTK_CFLAGS = \
-I$(top_srcdir) \
$(GTK_DEP_CFLAGS)
GTK_LIBS = \
$(top_builddir)/gtk/libgtk-4.la \
$(GTK_DEP_LIBS)
noinst_PROGRAMS = exampleapp
exampleapp_CFLAGS = $(GTK_CFLAGS)
exampleapp_LDADD = $(GTK_LIBS)
exampleapp_SOURCES = \
main.c \
exampleapp.c exampleapp.h \
exampleappwin.c exampleappwin.h
-include $(top_srcdir)/git.mk

View File

@@ -0,0 +1,3 @@
executable('exampleapp',
'exampleapp.c', 'exampleappwin.c', 'main.c',
dependencies: libgtk_dep)

View File

@@ -1,48 +0,0 @@
GTK_CFLAGS = \
-I$(top_srcdir) \
$(GTK_DEP_CFLAGS)
GTK_LIBS = \
$(top_builddir)/gtk/libgtk-4.la \
$(GTK_DEP_LIBS)
noinst_PROGRAMS = exampleapp
exampleapp_CFLAGS = $(GTK_CFLAGS)
exampleapp_LDADD = $(GTK_LIBS)
exampleapp_SOURCES = \
main.c \
exampleapp.c exampleapp.h \
exampleappwin.c exampleappwin.h \
exampleappprefs.c exampleappprefs.h \
resources.c
BUILT_SOURCES = \
resources.c \
gschemas.compiled
resources.c: exampleapp.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/exampleapp.gresource.xml)
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $(srcdir)/exampleapp.gresource.xml \
--target=$@ --sourcedir=$(srcdir) --generate-source
gsettings_SCHEMAS = \
org.gtk.exampleapp.gschema.xml
@GSETTINGS_RULES@
gschemas.compiled: org.gtk.exampleapp.gschema.xml
$(GLIB_COMPILE_SCHEMAS) .
EXTRA_DIST = \
window.ui \
app-menu.ui \
prefs.ui \
gears-menu.ui \
exampleapp.gresource.xml \
org.gtk.exampleapp.gschema.xml
CLEANFILES = \
gschemas.compiled
-include $(top_srcdir)/git.mk

View File

@@ -0,0 +1,14 @@
app10_resources = gnome.compile_resources('exampleapp10 resources',
'exampleapp.gresource.xml',
source_dir: '.')
app10_schemas = gnome.compile_schemas()
executable('exampleapp10',
'main.c',
'exampleapp.c',
'exampleappwin.c',
'exampleappprefs.c',
app10_resources,
app10_schemas,
dependencies: libgtk_dep)

View File

@@ -1,30 +0,0 @@
GTK_CFLAGS = \
-I$(top_srcdir) \
$(GTK_DEP_CFLAGS)
GTK_LIBS = \
$(top_builddir)/gtk/libgtk-4.la \
$(GTK_DEP_LIBS)
noinst_PROGRAMS = exampleapp
exampleapp_CFLAGS = $(GTK_CFLAGS)
exampleapp_LDADD = $(GTK_LIBS)
exampleapp_SOURCES = \
main.c \
exampleapp.c exampleapp.h \
exampleappwin.c exampleappwin.h \
resources.c
BUILT_SOURCES = resources.c
resources.c: exampleapp.gresource.xml window.ui
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $(srcdir)/exampleapp.gresource.xml \
--target=$@ --sourcedir=$(srcdir) --generate-source
EXTRA_DIST = \
window.ui \
exampleapp.gresource.xml
-include $(top_srcdir)/git.mk

View File

@@ -0,0 +1,7 @@
app2_resources = gnome.compile_resources('exampleapp2_resources',
'exampleapp.gresource.xml',
source_dir: '.')
executable('exampleapp2',
'exampleapp.c', 'exampleappwin.c', 'main.c', app2_resources,
dependencies: libgtk_dep)

View File

@@ -1,30 +0,0 @@
GTK_CFLAGS = \
-I$(top_srcdir) \
$(GTK_DEP_CFLAGS)
GTK_LIBS = \
$(top_builddir)/gtk/libgtk-4.la \
$(GTK_DEP_LIBS)
noinst_PROGRAMS = exampleapp
exampleapp_CFLAGS = $(GTK_CFLAGS)
exampleapp_LDADD = $(GTK_LIBS)
exampleapp_SOURCES = \
main.c \
exampleapp.c exampleapp.h \
exampleappwin.c exampleappwin.h \
resources.c
BUILT_SOURCES = resources.c
resources.c: exampleapp.gresource.xml window.ui
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $(srcdir)/exampleapp.gresource.xml \
--target=$@ --sourcedir=$(srcdir) --generate-source
EXTRA_DIST = \
window.ui \
exampleapp.gresource.xml
-include $(top_srcdir)/git.mk

View File

@@ -0,0 +1,7 @@
app3_resources = gnome.compile_resources('exampleapp3_resources',
'exampleapp.gresource.xml',
source_dir: '.')
executable('exampleapp3',
'exampleapp.c', 'exampleappwin.c', 'main.c', app3_resources,
dependencies: libgtk_dep)

View File

@@ -1,31 +0,0 @@
GTK_CFLAGS = \
-I$(top_srcdir) \
$(GTK_DEP_CFLAGS)
GTK_LIBS = \
$(top_builddir)/gtk/libgtk-4.la \
$(GTK_DEP_LIBS)
noinst_PROGRAMS = exampleapp
exampleapp_CFLAGS = $(GTK_CFLAGS)
exampleapp_LDADD = $(GTK_LIBS)
exampleapp_SOURCES = \
main.c \
exampleapp.c exampleapp.h \
exampleappwin.c exampleappwin.h \
resources.c
BUILT_SOURCES = resources.c
resources.c: exampleapp.gresource.xml window.ui app-menu.ui
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $(srcdir)/exampleapp.gresource.xml \
--target=$@ --sourcedir=$(srcdir) --generate-source
EXTRA_DIST = \
window.ui \
app-menu.ui \
exampleapp.gresource.xml
-include $(top_srcdir)/git.mk

View File

@@ -0,0 +1,7 @@
app4_resources = gnome.compile_resources('exampleapp4_resources',
'exampleapp.gresource.xml',
source_dir: '.')
executable('exampleapp4',
'exampleapp.c', 'exampleappwin.c', 'main.c', app4_resources,
dependencies: libgtk_dep)

View File

@@ -1,45 +0,0 @@
GTK_CFLAGS = \
-I$(top_srcdir) \
$(GTK_DEP_CFLAGS)
GTK_LIBS = \
$(top_builddir)/gtk/libgtk-4.la \
$(GTK_DEP_LIBS)
noinst_PROGRAMS = exampleapp
exampleapp_CFLAGS = $(GTK_CFLAGS)
exampleapp_LDADD = $(GTK_LIBS)
exampleapp_SOURCES = \
main.c \
exampleapp.c exampleapp.h \
exampleappwin.c exampleappwin.h \
resources.c
BUILT_SOURCES = \
resources.c \
gschemas.compiled
resources.c: exampleapp.gresource.xml window.ui app-menu.ui
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $(srcdir)/exampleapp.gresource.xml \
--target=$@ --sourcedir=$(srcdir) --generate-source
gsettings_SCHEMAS = \
org.gtk.exampleapp.gschema.xml
@GSETTINGS_RULES@
gschemas.compiled: org.gtk.exampleapp.gschema.xml
$(GLIB_COMPILE_SCHEMAS) .
EXTRA_DIST = \
window.ui \
app-menu.ui \
exampleapp.gresource.xml \
org.gtk.exampleapp.gschema.xml
CLEANFILES = \
gschemas.compiled
-include $(top_srcdir)/git.mk

View File

@@ -0,0 +1,9 @@
app5_resources = gnome.compile_resources('exampleapp5_resources',
'exampleapp.gresource.xml',
source_dir: '.')
app5_schemas = gnome.compile_schemas()
executable('exampleapp5',
'exampleapp.c', 'exampleappwin.c', 'main.c', app5_resources, app5_schemas,
dependencies: libgtk_dep)

View File

@@ -1,47 +0,0 @@
GTK_CFLAGS = \
-I$(top_srcdir) \
$(GTK_DEP_CFLAGS)
GTK_LIBS = \
$(top_builddir)/gtk/libgtk-4.la \
$(GTK_DEP_LIBS)
noinst_PROGRAMS = exampleapp
exampleapp_CFLAGS = $(GTK_CFLAGS)
exampleapp_LDADD = $(GTK_LIBS)
exampleapp_SOURCES = \
main.c \
exampleapp.c exampleapp.h \
exampleappwin.c exampleappwin.h \
exampleappprefs.c exampleappprefs.h \
resources.c
BUILT_SOURCES = \
resources.c \
gschemas.compiled
resources.c: exampleapp.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/exampleapp.gresource.xml)
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $(srcdir)/exampleapp.gresource.xml \
--target=$@ --sourcedir=$(srcdir) --generate-source
gsettings_SCHEMAS = \
org.gtk.exampleapp.gschema.xml
@GSETTINGS_RULES@
gschemas.compiled: org.gtk.exampleapp.gschema.xml
$(GLIB_COMPILE_SCHEMAS) .
EXTRA_DIST = \
window.ui \
app-menu.ui \
prefs.ui \
exampleapp.gresource.xml \
org.gtk.exampleapp.gschema.xml
CLEANFILES = \
gschemas.compiled
-include $(top_srcdir)/git.mk

View File

@@ -0,0 +1,14 @@
app6_resources = gnome.compile_resources('exampleapp6_resources',
'exampleapp.gresource.xml',
source_dir: '.')
app6_schemas = gnome.compile_schemas()
executable('exampleapp6',
'exampleapp.c',
'exampleappwin.c',
'main.c',
'exampleappprefs.c',
app6_resources,
app6_schemas,
dependencies: libgtk_dep)

View File

@@ -1,47 +0,0 @@
GTK_CFLAGS = \
-I$(top_srcdir) \
$(GTK_DEP_CFLAGS)
GTK_LIBS = \
$(top_builddir)/gtk/libgtk-4.la \
$(GTK_DEP_LIBS)
noinst_PROGRAMS = exampleapp
exampleapp_CFLAGS = $(GTK_CFLAGS)
exampleapp_LDADD = $(GTK_LIBS)
exampleapp_SOURCES = \
main.c \
exampleapp.c exampleapp.h \
exampleappwin.c exampleappwin.h \
exampleappprefs.c exampleappprefs.h \
resources.c
BUILT_SOURCES = \
resources.c \
gschemas.compiled
resources.c: exampleapp.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/exampleapp.gresource.xml)
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $(srcdir)/exampleapp.gresource.xml \
--target=$@ --sourcedir=$(srcdir) --generate-source
gsettings_SCHEMAS = \
org.gtk.exampleapp.gschema.xml
@GSETTINGS_RULES@
gschemas.compiled: org.gtk.exampleapp.gschema.xml
$(GLIB_COMPILE_SCHEMAS) .
EXTRA_DIST = \
window.ui \
app-menu.ui \
prefs.ui \
exampleapp.gresource.xml \
org.gtk.exampleapp.gschema.xml
CLEANFILES = \
gschemas.compiled
-include $(top_srcdir)/git.mk

View File

@@ -0,0 +1,14 @@
app7_resources = gnome.compile_resources('exampleapp7_resources',
'exampleapp.gresource.xml',
source_dir: '.')
app7_schemas = gnome.compile_schemas()
executable('exampleapp7',
'main.c',
'exampleapp.c',
'exampleappwin.c',
'exampleappprefs.c',
app7_resources,
app7_schemas,
dependencies: libgtk_dep)

View File

@@ -1,48 +0,0 @@
GTK_CFLAGS = \
-I$(top_srcdir) \
$(GTK_DEP_CFLAGS)
GTK_LIBS = \
$(top_builddir)/gtk/libgtk-4.la \
$(GTK_DEP_LIBS)
noinst_PROGRAMS = exampleapp
exampleapp_CFLAGS = $(GTK_CFLAGS)
exampleapp_LDADD = $(GTK_LIBS)
exampleapp_SOURCES = \
main.c \
exampleapp.c exampleapp.h \
exampleappwin.c exampleappwin.h \
exampleappprefs.c exampleappprefs.h \
resources.c
BUILT_SOURCES = \
resources.c \
gschemas.compiled
resources.c: exampleapp.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/exampleapp.gresource.xml)
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $(srcdir)/exampleapp.gresource.xml \
--target=$@ --sourcedir=$(srcdir) --generate-source
gsettings_SCHEMAS = \
org.gtk.exampleapp.gschema.xml
@GSETTINGS_RULES@
gschemas.compiled: org.gtk.exampleapp.gschema.xml
$(GLIB_COMPILE_SCHEMAS) .
EXTRA_DIST = \
window.ui \
app-menu.ui \
prefs.ui \
gears-menu.ui \
exampleapp.gresource.xml \
org.gtk.exampleapp.gschema.xml
CLEANFILES = \
gschemas.compiled
-include $(top_srcdir)/git.mk

View File

@@ -0,0 +1,14 @@
app8_resources = gnome.compile_resources('exampleapp8 resources',
'exampleapp.gresource.xml',
source_dir: '.')
app8_schemas = gnome.compile_schemas()
executable('exampleapp8',
'main.c',
'exampleapp.c',
'exampleappwin.c',
'exampleappprefs.c',
app8_resources,
app8_schemas,
dependencies: libgtk_dep)

View File

@@ -1,48 +0,0 @@
GTK_CFLAGS = \
-I$(top_srcdir) \
$(GTK_DEP_CFLAGS)
GTK_LIBS = \
$(top_builddir)/gtk/libgtk-4.la \
$(GTK_DEP_LIBS)
noinst_PROGRAMS = exampleapp
exampleapp_CFLAGS = $(GTK_CFLAGS)
exampleapp_LDADD = $(GTK_LIBS)
exampleapp_SOURCES = \
main.c \
exampleapp.c exampleapp.h \
exampleappwin.c exampleappwin.h \
exampleappprefs.c exampleappprefs.h \
resources.c
BUILT_SOURCES = \
resources.c \
gschemas.compiled
resources.c: exampleapp.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/exampleapp.gresource.xml)
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $(srcdir)/exampleapp.gresource.xml \
--target=$@ --sourcedir=$(srcdir) --generate-source
gsettings_SCHEMAS = \
org.gtk.exampleapp.gschema.xml
@GSETTINGS_RULES@
gschemas.compiled: org.gtk.exampleapp.gschema.xml
$(GLIB_COMPILE_SCHEMAS) .
EXTRA_DIST = \
window.ui \
app-menu.ui \
prefs.ui \
gears-menu.ui \
exampleapp.gresource.xml \
org.gtk.exampleapp.gschema.xml
CLEANFILES = \
gschemas.compiled
-include $(top_srcdir)/git.mk

View File

@@ -0,0 +1,14 @@
app9_resources = gnome.compile_resources('exampleapp9_resources',
'exampleapp.gresource.xml',
source_dir: '.')
app9_schemas = gnome.compile_schemas()
executable('exampleapp9',
'main.c',
'exampleapp.c',
'exampleappwin.c',
'exampleappprefs.c',
app9_resources,
app9_schemas,
dependencies: libgtk_dep)

View File

@@ -1,32 +0,0 @@
AM_CPPFLAGS = \
-DSRCDIR=\"$(abs_srcdir)\" \
-I$(top_srcdir) \
-I$(top_srcdir)/gdk \
-I$(top_builddir)/gdk \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)
LDADD = \
$(top_builddir)/gtk/libgtk-4.la \
$(top_builddir)/gdk/libgdk-4.la \
$(GTK_DEP_LIBS)
noinst_PROGRAMS = bloatpad
bloatpad_SOURCES = bloatpad.c
nodist_bloatpad_SOURCES = bloatpad-gresources.c
resource_files = \
bloatpad.gresources.xml \
gtk/menus.ui \
gtk/help-overlay.ui
bloatpad-gresources.c: $(resource_files)
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) --generate-source $<
CLEANFILES = bloatpad-gresources.c
EXTRA_DIST = $(resource_files)
-include $(top_srcdir)/git.mk

5
examples/bp/meson.build Normal file
View File

@@ -0,0 +1,5 @@
bp_resources = gnome.compile_resources('bloatpad_resources',
'bloatpad.gresources.xml',
source_dir: '.')
executable('bloatpad', 'bloatpad.c', bp_resources, dependencies: libgtk_dep)

View File

@@ -1,4 +1,5 @@
#include <gtk/gtk.h>
#include <glib/gstdio.h>
static void
print_hello (GtkWidget *widget,
@@ -15,6 +16,10 @@ main (int argc,
GObject *window;
GObject *button;
#ifdef GTK_SRCDIR
g_chdir (GTK_SRCDIR);
#endif
gtk_init ();
/* Construct a GtkBuilder instance and load our UI description */

View File

@@ -125,8 +125,6 @@ close_window (void)
{
if (surface)
cairo_surface_destroy (surface);
gtk_main_quit ();
}
static void

34
examples/meson.build Normal file
View File

@@ -0,0 +1,34 @@
examples = [
'builder',
'drawing',
'grid-packing',
'hello-world',
'plugman',
'search-bar',
'sunny',
'window-default',
]
foreach ex : examples
# TODO: name clash with testsuite/gtk/builder, rename one of the two
example_name = ex == 'builder' ? 'builder_example' : ex
executable(example_name, '@0@.c'.format(ex),
c_args: [
'-DGDK_DISABLE_DEPRECATED',
'-DGTK_DISABLE_DEPRECATED',
'-DGTK_SRCDIR="@0@"'.format(meson.current_source_dir()),
],
dependencies: libgtk_dep)
endforeach
subdir('bp')
subdir('application1')
subdir('application2')
subdir('application3')
subdir('application4')
subdir('application5')
subdir('application6')
subdir('application7')
subdir('application8')
subdir('application9')
subdir('application10')

View File

@@ -1,548 +0,0 @@
## Makefile.am for gtk+/gdk
include $(top_srcdir)/Makefile.decl
-include $(INTROSPECTION_MAKEFILE)
INTROSPECTION_GIRS =
INTROSPECTION_SCANNER_ENV = \
CC="$(CC)"
INTROSPECTION_SCANNER_ARGS = \
--add-include-path=../gdk \
--warn-all
INTROSPECTION_COMPILER_ARGS = \
--includedir=$(srcdir) \
--includedir=.
SUBDIRS = $(GDK_BACKENDS) .
DIST_SUBDIRS = win32 x11 quartz broadway wayland mir
CLEANFILES =
EXTRA_DIST += \
keynames.txt \
keynames-translate.txt \
keyname-table.h \
gdkkeynames.c \
gen-keyname-table.pl \
gdkconfig.h.win32 \
gdkconfig.h.win32_vulkan \
gdkkeysyms-update.pl \
gdkmarshalers.list \
gdkwindowimpl.h \
makefile.msc \
gdkenumtypes.c.template \
gdkenumtypes.h.template \
gdkversionmacros.h.in
GDK_CFLAGS_DEFINES = \
-DG_LOG_DOMAIN=\"Gdk\" \
-DG_LOG_USE_STRUCTURED=1 \
-DGDK_COMPILATION
AM_CPPFLAGS = \
$(GDK_CFLAGS_DEFINES) \
-I$(top_builddir) \
-I$(top_builddir)/gdk \
-I$(top_srcdir) \
$(GTK_DEBUG_FLAGS) \
$(GDK_DEP_CFLAGS)
#
# setup source file variables
#
#
# GDK header files for public installation (non-generated)
#
#
gdk_public_h_sources = \
gdk.h \
gdk-autocleanup.h \
gdkapplaunchcontext.h \
gdkcairo.h \
gdkcursor.h \
gdkdevice.h \
gdkdevicepad.h \
gdkdevicetool.h \
gdkdevicemanager.h \
gdkdisplay.h \
gdkdisplaymanager.h \
gdkdnd.h \
gdkdrawcontext.h \
gdkdrawingcontext.h \
gdkevents.h \
gdkframetimings.h \
gdkglcontext.h \
gdkkeys.h \
gdkkeysyms.h \
gdkkeysyms-compat.h \
gdkmain.h \
gdkmonitor.h \
gdkpango.h \
gdkframeclock.h \
gdkpixbuf.h \
gdkprivate.h \
gdkproperty.h \
gdkrectangle.h \
gdkrgba.h \
gdkscreen.h \
gdkseat.h \
gdkselection.h \
gdkthreads.h \
gdktypes.h \
gdkvisual.h \
gdkvulkancontext.h \
gdkwindow.h
gdk_h_sources = \
$(gdk_public_h_sources)
gdk_private_headers = \
gdk-private.h \
gdkapplaunchcontextprivate.h \
gdkcursorprivate.h \
gdkdevicemanagerprivate.h \
gdkdeviceprivate.h \
gdkdevicepadprivate.h \
gdkdevicetoolprivate.h \
gdkdisplaymanagerprivate.h \
gdkdisplayprivate.h \
gdkdndprivate.h \
gdkdrawcontextprivate.h \
gdkdrawingcontextprivate.h \
gdkframeclockidle.h \
gdkframeclockprivate.h \
gdkglcontextprivate.h \
gdkmonitorprivate.h \
gdkscreenprivate.h \
gdkseatprivate.h \
gdkseatdefaultprivate.h \
gdkinternals.h \
gdkintl.h \
gdkkeysprivate.h \
gdkvisualprivate.h \
gdkvulkancontextprivate.h \
gdkx.h
gdk_c_sources = \
gdk.c \
gdkapplaunchcontext.c \
gdkcairo.c \
gdkcursor.c \
gdkdeprecated.c \
gdkdevice.c \
gdkdevicepad.c \
gdkdevicetool.c \
gdkdevicemanager.c \
gdkdisplay.c \
gdkdisplaymanager.c \
gdkdnd.c \
gdkdrawcontext.c \
gdkdrawingcontext.c \
gdkevents.c \
gdkframetimings.c \
gdkgl.c \
gdkglcontext.c \
gdkglobals.c \
gdkkeys.c \
gdkkeyuni.c \
gdkmonitor.c \
gdkframeclock.c \
gdkframeclockidle.c \
gdkpango.c \
gdkpixbuf-drawable.c \
gdkproperty.c \
gdkrectangle.c \
gdkrgba.c \
gdkscreen.c \
gdkseat.c \
gdkseatdefault.c \
gdkselection.c \
gdkvisual.c \
gdkvulkancontext.c \
gdkwindow.c \
gdkwindowimpl.c
gdk_built_sources = \
gdkenumtypes.h \
gdkenumtypes.c \
gdkmarshalers.h \
gdkmarshalers.c \
gdkresources.h \
gdkresources.c \
gdkversionmacros.h
#
# setup GDK sources and their dependencies
#
gdkincludedir = $(includedir)/gtk-4.0/gdk
gdkinclude_HEADERS = $(gdk_public_h_sources)
nodist_gdkinclude_HEADERS = gdkconfig.h gdkenumtypes.h gdkversionmacros.h
deprecatedincludedir = $(includedir)/gtk-4.0/gdk/deprecated
deprecatedinclude_HEADERS = $(deprecated_h_sources)
common_sources = \
$(gdk_private_headers) \
$(gdk_c_sources) \
gdkenumtypes.c \
gdkmarshalers.c \
gdkmarshalers.h \
gdkresources.h \
gdkresources.c
libgdk_4_la_SOURCES = $(common_sources)
libgdk_4_la_CFLAGS = $(AM_CFLAGS) $(GTK_WARN_CFLAGS) $(GDK_HIDDEN_VISIBILITY_CFLAGS)
libgdk_4_la_LIBADD = $(GDK_DEP_LIBS) $(SHM_LIBS)
libgdk_4_la_LDFLAGS = $(LDADD)
if USE_X11
libgdk_4_la_LIBADD += x11/libgdk-x11.la
endif # USE_X11
if USE_QUARTZ
libgdk_4_la_CFLAGS += -xobjective-c
libgdk_4_la_LIBADD += quartz/libgdk-quartz.la
endif # USE_QUARTZ
if USE_WIN32
libgdk_4_la_LIBADD += win32/libgdk-win32.la
endif # USE_WIN32
if USE_BROADWAY
libgdk_4_la_LIBADD += broadway/libgdk-broadway.la
endif # USE_BROADWAY
if USE_WAYLAND
libgdk_4_la_LIBADD += wayland/libgdk-wayland.la
endif
if USE_MIR
libgdk_4_la_LIBADD += mir/libgdk-mir.la
endif
if HAVE_INTROSPECTION
introspection_files = \
$(filter-out gdkkeysyms-compat.h, $(gdk_h_sources)) \
$(gdk_c_sources) \
gdkenumtypes.c \
gdkenumtypes.h
Gdk-noinst-4.0.gir: libgdk-4.la Makefile
Gdk_noinst_4_0_gir_SCANNERFLAGS = \
--c-include="gdk/gdk.h"
Gdk_noinst_4_0_gir_INCLUDES = Gio-2.0 GdkPixbuf-2.0 Pango-1.0 cairo-1.0
Gdk_noinst_4_0_gir_LIBS = libgdk-4.la
Gdk_noinst_4_0_gir_FILES = $(introspection_files)
Gdk_noinst_4_0_gir_CFLAGS = $(AM_CPPFLAGS)
Gdk_noinst_4_0_gir_EXPORT_PACKAGES = gdk-4.0
INTROSPECTION_GIRS += Gdk-noinst-4.0.gir
if OS_WIN32
Gdk_noinst_4_0_gir_CFLAGS += -I$(srcdir)/win32 -I$(srcdir)
endif
if USE_X11
x11_introspection_files = \
x11/gdkapplaunchcontext-x11.c \
x11/gdkasync.c \
x11/gdkcursor-x11.c \
x11/gdkdevice-core-x11.c \
x11/gdkdevicemanager-core-x11.c \
x11/gdkdevicemanager-x11.c \
x11/gdkdevicemanager-xi2.c \
x11/gdkdevice-xi2.c \
x11/gdkdisplay-x11.c \
x11/gdkdisplaymanager-x11.c \
x11/gdkdnd-x11.c \
x11/gdkeventsource.c \
x11/gdkeventtranslator.c \
x11/gdkgeometry-x11.c \
x11/gdkkeys-x11.c \
x11/gdkmain-x11.c \
x11/gdkproperty-x11.c \
x11/gdkscreen-x11.c \
x11/gdkselection-x11.c \
x11/gdksettings.c \
x11/gdkvisual-x11.c \
x11/gdkwindow-x11.c \
x11/gdkxftdefaults.c \
x11/gdkxid.c \
x11/xsettings-client.c \
x11/gdkx.h \
x11/gdkx11applaunchcontext.h \
x11/gdkx11cursor.h \
x11/gdkx11device.h \
x11/gdkx11device-core.h \
x11/gdkx11device-xi2.h \
x11/gdkx11devicemanager.h \
x11/gdkx11devicemanager-core.h \
x11/gdkx11devicemanager-xi2.h \
x11/gdkx11display.h \
x11/gdkx11displaymanager.h \
x11/gdkx11dnd.h \
x11/gdkx11keys.h \
x11/gdkx11property.h \
x11/gdkx11screen.h \
x11/gdkx11selection.h \
x11/gdkx11utils.h \
x11/gdkx11visual.h \
x11/gdkx11window.h
GdkX11-noinst-4.0.gir: libgdk-4.la Gdk-noinst-4.0.gir Makefile
GdkX11_noinst_4_0_gir_SCANNERFLAGS = \
--identifier-prefix=Gdk \
--c-include="gdk/gdkx.h" \
--include-uninstalled=$(top_builddir)/gdk/Gdk-noinst-4.0.gir
GdkX11_noinst_4_0_gir_INCLUDES = Gio-2.0 GdkPixbuf-2.0 Pango-1.0 xlib-2.0
GdkX11_noinst_4_0_gir_LIBS = libgdk-4.la
GdkX11_noinst_4_0_gir_FILES = $(x11_introspection_files)
GdkX11_noinst_4_0_gir_CFLAGS = $(AM_CPPFLAGS) -L$(top_builddir)/gdk
GdkX11_noinst_4_0_gir_EXPORT_PACKAGES = gdk-x11-4.0
INTROSPECTION_GIRS += GdkX11-noinst-4.0.gir
endif # USE_X11
w32_introspection_files = \
win32/gdkcursor-win32.c \
win32/gdkdevicemanager-win32.c \
win32/gdkdevice-virtual.c \
win32/gdkdevice-win32.c \
win32/gdkdevice-wintab.c \
win32/gdkdisplaymanager-win32.c \
win32/gdkdisplay-win32.c \
win32/gdkdnd-win32.c \
win32/gdkevents-win32.c \
win32/gdkgeometry-win32.c \
win32/gdkglobals-win32.c \
win32/gdkkeys-win32.c \
win32/gdkmain-win32.c \
win32/gdkproperty-win32.c \
win32/gdkscreen-win32.c \
win32/gdkselection-win32.c \
win32/gdkwin32.h \
win32/gdkwin32cursor.h \
win32/gdkwin32display.h \
win32/gdkwin32displaymanager.h \
win32/gdkwin32dnd.h \
win32/gdkwin32id.c \
win32/gdkwin32keys.h \
win32/gdkwin32misc.h \
win32/gdkwin32screen.h \
win32/gdkwin32window.h \
win32/gdkwindow-win32.c
if OS_WIN32
GdkWin32-noinst-4.0.gir: libgdk-4.la Gdk-noinst-4.0.gir Makefile
GdkWin32_noinst_4_0_gir_SCANNERFLAGS = \
--identifier-prefix=Gdk \
--c-include="gdk/gdkwin32.h" \
--include-uninstalled=$(top_builddir)/gdk/Gdk-noinst-4.0.gir
GdkWin32_noinst_4_0_gir_INCLUDES = Gio-2.0 GdkPixbuf-2.0 Pango-1.0
GdkWin32_noinst_4_0_gir_LIBS = libgdk-4.la
GdkWin32_noinst_4_0_gir_FILES = $(w32_introspection_files)
GdkWin32_noinst_4_0_gir_CFLAGS = $(AM_CPPFLAGS) -L$(top_builddir)/gdk -I$(srcdir)/win32 -I$(srcdir)
INTROSPECTION_GIRS += GdkWin32-noinst-4.0.gir
endif # OS_WIN32
noinst_DATA = $(INTROSPECTION_GIRS)
CLEANFILES += $(INTROSPECTION_GIRS)
endif # HAVE_INTROSPECTION
if OS_WIN32
gdk.def: libgdk-4.la
echo "LIBRARY libgdk-$(GTK_MAJOR_VERSION)-@LT_CURRENT_MINUS_AGE@" >$@
echo "EXPORTS" >>$@
objdump -p .libs/libgdk-$(GTK_MAJOR_VERSION)-@LT_CURRENT_MINUS_AGE@.dll | sed -n -e 's/\t\[\s\+\([0-9]\+\)\]\s\([A-Za-z_][A-Za-z0-9_]\)/\2/p' >>$@
install-def-file: gdk.def
mkdir -p $(DESTDIR)$(libdir)
$(INSTALL) gdk.def $(DESTDIR)$(libdir)/gdk-win32-4.0.def
uninstall-def-file:
-rm $(DESTDIR)$(libdir)/gdk-win32-4.0.def
else
install-def-file:
uninstall-def-file:
endif
if MS_LIB_AVAILABLE
noinst_DATA = gdk-win32-$(GTK_API_VERSION).lib
gdk-win32-$(GTK_API_VERSION).lib: libgdk-4.la gdk.def
lib -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgdk-win32-$(GTK_API_VERSION)-@LT_CURRENT_MINUS_AGE@.dll -def:gdk.def -out:$@
install-ms-lib:
mkdir -p $(DESTDIR)$(libdir)
$(INSTALL) gdk-win32-$(GTK_API_VERSION).lib $(DESTDIR)$(libdir)
uninstall-ms-lib:
-rm $(DESTDIR)$(libdir)/gdk-win32-$(GTK_API_VERSION).lib
else
install-ms-lib:
uninstall-ms-lib:
endif
noinst_LTLIBRARIES = libgdk-4.la
MAINTAINERCLEANFILES = $(gdk_built_sources) stamp-gdkenumtypes.h
EXTRA_DIST += \
$(gdk_built_sources) \
fallback-c89.c
install-exec-hook:
if DISABLE_EXPLICIT_DEPS
$(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/libgdk-4.la
endif
BUILT_SOURCES = \
$(gdk_built_sources) \
gdkconfig.h
gdkenumtypes.h: stamp-gdkenumtypes.h
@true
stamp-gdkenumtypes.h: $(gdk_h_sources) gdkenumtypes.h.template
$(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) --template gdkenumtypes.h.template \
$(gdk_h_sources) ) >> xgen-geth \
&& (cmp -s xgen-geth gdkenumtypes.h || cp xgen-geth gdkenumtypes.h ) \
&& rm -f xgen-geth \
&& echo timestamp > $(@F)
gdkenumtypes.c: $(gdk_h_sources) gdkenumtypes.c.template
$(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) --template gdkenumtypes.c.template \
$(gdk_h_sources) ) > xgen-getc \
&& cp xgen-getc gdkenumtypes.c \
&& rm -f xgen-getc
#
# Marshaller generation
#
gdkmarshalers.h: gdkmarshalers.list
$(AM_V_GEN) $(GLIB_GENMARSHAL) \
--prefix=_gdk_marshal \
--header \
$(srcdir)/gdkmarshalers.list > gdkmarshalers-h.tmp \
&& mv gdkmarshalers-h.tmp gdkmarshalers.h \
|| ( rm -f gdkmarshalers-h.tmp && exit 1)
gdkmarshalers.c: gdkmarshalers.list
$(AM_V_GEN) $(GLIB_GENMARSHAL) \
--prefix=_gdk_marshal \
--body \
$(srcdir)/gdkmarshalers.list > gdkmarshalers-c.tmp \
&& mv gdkmarshalers-c.tmp gdkmarshalers.c \
|| ( rm -f gdkmarshalers-c.tmp && exit 1 )
gdkconfig.h: stamp-gc-h
$(AM_V_GEN) if test -f gdkconfig.h; then :; \
else rm -f stamp-gc-h; $(MAKE) stamp-gc-h; fi
stamp-gc-h: $(top_builddir)/config.status
$(AM_V_at) cd $(top_builddir) && $(SHELL) ./config.status gdk/gdkconfig.h \
&& echo timestamp > gdk/$(@F)
#
# Resources
#
glsl_sources := $(wildcard $(srcdir)/resources/glsl/*.glsl)
gdk.gresource.xml: Makefile.am
$(AM_V_GEN) echo "<?xml version='1.0' encoding='UTF-8'?>" > $@; \
echo "<gresources>" >> $@; \
echo " <gresource prefix='/org/gtk/libgdk'>" >> $@; \
for f in $(glsl_sources); do \
n=`basename $$f`; \
echo " <file alias='glsl/$$n'>resources/glsl/$$n</file>" >> $@; \
done; \
echo " </gresource>" >> $@; \
echo "</gresources>" >> $@;
EXTRA_DIST += $(glsl_sources)
CLEANFILES += gdk.gresource.xml
resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(builddir)/gdk.gresource.xml)
gdkresources.h: gdk.gresource.xml
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $< --target=$@ \
--sourcedir=$(srcdir) --c-name _gdk --generate-header --manual-register
gdkresources.c: gdk.gresource.xml $(resource_files)
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $< --target=$@ \
--sourcedir=$(srcdir) --c-name _gdk --generate-source --manual-register
# ------------------- MSVC Build Items ----------------
MSVCPROJS = gdk-4
gdk_4_FILES = $(libgdk_4_la_SOURCES)
gdk_4_EXCLUDES = dummy
gdk_4_HEADERS_DIR = $(gdkincludedir)
gdk_4_HEADERS_INST = \
$(gdkinclude_HEADERS) \
$(deprecatedinclude_HEADERS) \
$(nodist_gdkinclude_HEADERS)
gdk_4_HEADERS_EXCLUDES = dummy
include $(top_srcdir)/win32/Makefile.msvcproj
if HAVE_INTROSPECTION
# Introspection Items for MSVC
MSVC_INTROSPECT_GIRS = Gdk-4.0.gir GdkWin32-4.0.gir
BASE_MSVC_GIR_CFLAGS = \
$(GDK_CFLAGS_DEFINES) \
-I../.. -I../../gdk -I.../../gdk/win32
INTROSPECTION_INTERMEDIATE_ITEMS = \
$(top_builddir)/win32/Gdk-4.0.gir.msvc.introspect \
$(top_builddir)/win32/Gdk_4_0_gir_list \
$(top_builddir)/win32/GdkWin32-4.0.gir.msvc.introspect \
$(top_builddir)/win32/GdkWin32_4_0_gir_list
Gdk_4_0_gir_MSVC_FILES = $(introspection_files)
Gdk_4_0_gir_MSVC_EXPORT_PACKAGES = $(Gdk_noinst_4_0_gir_EXPORT_PACKAGES)
Gdk_4_0_gir_MSVC_INCLUDE_GIRS = $(Gdk_noinst_4_0_gir_INCLUDES)
Gdk_4_0_gir_MSVC_LIBS = gtk-4
Gdk_4_0_gir_MSVC_CFLAGS = $(BASE_MSVC_GIR_CFLAGS)
Gdk_4_0_gir_MSVC_SCANNERFLAGS = $(Gdk_noinst_4_0_gir_SCANNERFLAGS)
GdkWin32_4_0_gir_MSVC_FILES = $(w32_introspection_files)
GdkWin32_4_0_gir_MSVC_INCLUDE_GIRS = $(GdkWin32_noinst_4_0_gir_INCLUDES)
GdkWin32_4_0_gir_MSVC_LIBS = $(Gdk_4_0_gir_MSVC_LIBS)
GdkWin32_4_0_gir_MSVC_CFLAGS = $(BASE_MSVC_GIR_CFLAGS)
GdkWin32_4_0_gir_MSVC_SCANNERFLAGS = \
--identifier-prefix=Gdk \
--c-include="gdk/gdkwin32.h" \
--include-uninstalled=./Gdk-4.0.gir
include $(top_srcdir)/win32/Makefile.msvc-introspection
else
INTROSPECTION_INTERMEDIATE_ITEMS =
endif
dist-hook: \
$(top_builddir)/win32/vs12/gdk-4.vcxproj \
$(top_builddir)/win32/vs12/gdk-4.vs12.headers \
$(INTROSPECTION_INTERMEDIATE_ITEMS)
DISTCLEANFILES = gdkconfig.h stamp-gc-h
install-data-local: install-ms-lib install-def-file
uninstall-local: uninstall-ms-lib uninstall-def-file
rm -f $(DESTDIR)$(configexecincludedir)/gdkconfig.h
# if srcdir!=builddir, clean out maintainer-clean files from builddir
# this allows dist to pass.
distclean-local:
if test $(srcdir) != .; then \
rm -f $(MAINTAINERCLEANFILES); \
fi
.PHONY: files
files:
@files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
echo $$p; \
done
-include $(top_srcdir)/git.mk

View File

@@ -1,107 +0,0 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl
NULL =
libgdkincludedir = $(includedir)/gtk-4.0/gdk
libgdkbroadwayincludedir = $(includedir)/gtk-4.0/gdk/broadway
AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"Gdk\" \
-DG_LOG_USE_STRUCTURED=1 \
-DGDK_COMPILATION \
-I$(top_srcdir) \
-I$(top_srcdir)/gdk \
-I$(top_builddir)/gdk \
$(GDK_HIDDEN_VISIBILITY_CFLAGS) \
$(GTK_DEBUG_FLAGS) \
$(GDK_DEP_CFLAGS)
LDADDS = $(GDK_DEP_LIBS) -lrt
noinst_LTLIBRARIES = libgdk-broadway.la
bin_PROGRAMS = gtk4-broadwayd
libgdkinclude_HEADERS = \
gdkbroadway.h
libgdkbroadwayinclude_HEADERS = \
gdkbroadwaydisplay.h \
gdkbroadwaywindow.h \
gdkbroadwaycursor.h \
gdkbroadwaymonitor.h
EXTRA_DIST += toarray.pl
clienthtml.h: client.html
$(AM_V_GEN) $(PERL) $(srcdir)/toarray.pl client_html $(srcdir)/client.html > $@
EXTRA_DIST += client.html
broadwayjs.h: broadway.js rawinflate.min.js
$(AM_V_GEN) $(PERL) $(srcdir)/toarray.pl broadway_js $(srcdir)/broadway.js $(srcdir)/rawinflate.min.js > $@
EXTRA_DIST += broadway.js rawinflate.min.js
# built headers that don't get installed
broadway_built_private_headers = \
clienthtml.h \
broadwayjs.h
broadway_built_sources = \
${broadway_built_private_headers}
libgdk_broadway_la_SOURCES = \
${broadway_built_private_headers}\
gdkcursor-broadway.c \
gdkdevice-broadway.h \
gdkdevice-broadway.c \
gdkdevicemanager-broadway.h \
gdkdevicemanager-broadway.c \
gdkdisplay-broadway.c \
gdkdisplay-broadway.h \
gdkdnd-broadway.c \
gdkeventsource.c \
gdkeventsource.h \
gdkglobals-broadway.c \
gdkkeys-broadway.c \
gdkmonitor-broadway.c \
gdkmonitor-broadway.h \
gdkproperty-broadway.c \
gdkscreen-broadway.c \
gdkscreen-broadway.h \
gdkselection-broadway.c \
gdkwindow-broadway.c \
gdkwindow-broadway.h \
gdkprivate-broadway.h \
gdkbroadway-server.h \
gdkbroadway-server.c
if OS_UNIX
libgdk_broadway_la_LIBADD = \
$(SHM_LIBS) \
$(NULL)
endif
gtk4_broadwayd_SOURCES = \
broadway-protocol.h \
broadwayd.c \
broadway-server.h \
broadway-server.c \
broadway-buffer.c \
broadway-buffer.h \
broadway-output.h \
broadway-output.c
if OS_WIN32
gtk4_broadwayd_LDADD = $(GDK_DEP_LIBS) -lws2_32
else
gtk4_broadwayd_LDADD = $(GDK_DEP_LIBS) @SHM_LIBS@
endif
MAINTAINERCLEANFILES = $(broadway_built_sources)
EXTRA_DIST += $(broadway_built_sources)
BUILT_SOURCES = $(broadway_built_sources)
-include $(top_srcdir)/git.mk

68
gdk/broadway/meson.build Normal file
View File

@@ -0,0 +1,68 @@
gdk_broadway_sources = files([
'broadway-buffer.c',
'broadway-output.c',
'broadway-server.c',
'broadwayd.c',
'gdkbroadway-server.c',
'gdkcursor-broadway.c',
'gdkdevice-broadway.c',
'gdkdevicemanager-broadway.c',
'gdkdisplay-broadway.c',
'gdkdnd-broadway.c',
'gdkeventsource.c',
'gdkglobals-broadway.c',
'gdkkeys-broadway.c',
'gdkmonitor-broadway.c',
'gdkproperty-broadway.c',
'gdkscreen-broadway.c',
'gdkselection-broadway.c',
'gdkwindow-broadway.c',
])
gdk_broadway_public_headers = [
'gdkbroadwaydisplay.h',
'gdkbroadwaywindow.h',
'gdkbroadwaycursor.h',
'gdkbroadwaymonitor.h',
]
# Broadway backend headers aren't installed it seems
#install_headers(gdk_broadway_public_headers, subdir: 'gtk-4.0/gdk/broadway/')
#install_headers('gdkbroadway.h', subdir: 'gtk-4.0/gdk/')
gdk_broadway_deps = [shmlib]
libgdk_broadway = static_library('gdk-broadway',
gdk_broadway_sources, gdkconfig, gdkenum_h,
include_directories: [confinc, gdkinc],
c_args: [
'-DGDK_COMPILATION',
'-DG_LOG_DOMAIN="Gdk"',
'-DG_LOG_USE_STRUCTURED=1',
] + common_cflags,
link_args: common_ldflags,
dependencies: [gdk_deps, gdk_broadway_deps])
# gtk4-broadwayd
broadwayd_syslib = os_win32 ? find_library('ws2_32') : shmlib
clienthtml_h = custom_target('clienthtml.h',
input : 'client.html',
output : 'clienthtml.h',
command : [find_program('toarray.pl'), 'client_html', '@INPUT@'],
capture : true)
broadwayjs_h = custom_target('broadwayjs.h',
input : ['broadway.js', 'rawinflate.min.js'],
output : 'broadwayjs.h',
command : [find_program('toarray.pl'), 'broadway_js', '@INPUT0@', '@INPUT1@'],
capture : true)
executable('gtk4-broadwayd',
clienthtml_h, broadwayjs_h,
'broadwayd.c', 'broadway-server.c', 'broadway-buffer.c', 'broadway-output.c',
include_directories: [confinc, gdkinc],
c_args: ['-DGDK_COMPILATION', '-DG_LOG_DOMAIN="Gdk"', '-DG_LOG_USE_STRUCTURED=1', ],
dependencies : [broadwayd_syslib, gdk_deps],
install : true)

22
gdk/gdkconfig.h.meson Normal file
View File

@@ -0,0 +1,22 @@
#ifndef __GDKCONFIG_H__
#define __GDKCONFIG_H__
#if !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
#error "Only <gdk/gdk.h> can be included directly."
#endif
#include <glib.h>
G_BEGIN_DECLS
#mesondefine GDK_WINDOWING_X11
#mesondefine GDK_WINDOWING_BROADWAY
#mesondefine GDK_WINDOWING_WAYLAND
#mesondefine GDK_WINDOWING_MIR
#mesondefine GDK_RENDERING_VULKAN
G_END_DECLS
#endif /* __GDKCONFIG_H__ */

File diff suppressed because it is too large Load Diff

View File

@@ -56,9 +56,6 @@ die "Could not open file keysymdef.h: $!\n" unless open(IN_KEYSYMDEF, "<:utf8",
# Output: gtk+/gdk/gdkkeysyms.h
die "Could not open file gdkkeysyms.h: $!\n" unless open(OUT_GDKKEYSYMS, ">:utf8", "gdkkeysyms.h");
# Output: gtk+/gdk/gdkkeysyms-compat.h
die "Could not open file gdkkeysyms-compat.h: $!\n" unless open(OUT_GDKKEYSYMS_COMPAT, ">:utf8", "gdkkeysyms-compat.h");
my $LICENSE_HEADER= <<EOF;
/* GDK - The GIMP Drawing Kit
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
@@ -81,7 +78,6 @@ my $LICENSE_HEADER= <<EOF;
EOF
print OUT_GDKKEYSYMS $LICENSE_HEADER;
print OUT_GDKKEYSYMS_COMPAT $LICENSE_HEADER;
print OUT_GDKKEYSYMS<<EOF;
@@ -104,20 +100,6 @@ print OUT_GDKKEYSYMS<<EOF;
#define __GDK_KEYSYMS_H__
EOF
print OUT_GDKKEYSYMS_COMPAT<<EOF;
/*
* Compatibility version of gdkkeysyms.h.
*
* In GTK3, keysyms changed to have a KEY_ prefix. This is a compatibility header
* your application can include to gain access to the old names as well. Consider
* porting to the new names instead.
*/
#ifndef __GDK_KEYSYMS_COMPAT_H__
#define __GDK_KEYSYMS_COMPAT_H__
EOF
while (<IN_KEYSYMDEF>)
@@ -136,11 +118,8 @@ while (<IN_KEYSYMDEF>)
my $element = $keysymelements[1];
my $binding = $element;
$binding =~ s/^XK_/GDK_KEY_/g;
my $compat_binding = $element;
$compat_binding =~ s/^XK_/GDK_/g;
printf OUT_GDKKEYSYMS "#define %s 0x%03x\n", $binding, hex($keysymelements[2]);
printf OUT_GDKKEYSYMS_COMPAT "#define %s 0x%03x\n", $compat_binding, hex($keysymelements[2]);
}
close IN_KEYSYMDEF;
@@ -178,11 +157,8 @@ while (<IN_XF86KEYSYM>)
my $element = $keysymelements[1];
my $binding = $element;
$binding =~ s/^XF86XK_/GDK_KEY_/g;
my $compat_binding = $element;
$compat_binding =~ s/^XF86XK_/GDK_/g;
printf OUT_GDKKEYSYMS "#define %s 0x%03x\n", $binding, hex($keysymelements[2]);
printf OUT_GDKKEYSYMS_COMPAT "#define %s 0x%03x\n", $compat_binding, hex($keysymelements[2]);
}
close IN_XF86KEYSYM;
@@ -193,9 +169,4 @@ print OUT_GDKKEYSYMS<<EOF;
#endif /* __GDK_KEYSYMS_H__ */
EOF
print OUT_GDKKEYSYMS_COMPAT<<EOF;
#endif /* __GDK_KEYSYMS_COMPAT_H__ */
EOF
printf "We just finished converting keysymdef.h to gdkkeysyms.h and gdkkeysyms-compat.h\nThank you\n";
printf "We just finished converting keysymdef.h to gdkkeysyms.h\nThank you\n";

View File

@@ -0,0 +1,33 @@
#!/usr/bin/env python3
#
# Generate gdk.gresources.xml
#
# Usage: gen-gdk-gresources-xml SRCDIR_GDK [OUTPUT-FILE]
import os, sys
srcdir = sys.argv[1]
xml = '''<?xml version='1.0' encoding='UTF-8'?>
<gresources>
<gresource prefix='/org/gtk/libgdk'>
'''
def get_files(subdir,extension):
return sorted(filter(lambda x: x.endswith((extension)), os.listdir(os.path.join(srcdir,subdir))))
for f in get_files('resources/glsl', '.glsl'):
xml += ' <file alias=\'glsl/{0}\'>resources/glsl/{0}</file>\n'.format(f)
xml += '''
</gresource>
</gresources>'''
if len(sys.argv) > 2:
outfile = sys.argv[2]
f = open(outfile, 'w')
f.write(xml)
f.close()
else:
print(xml)

View File

@@ -1,174 +0,0 @@
## Makefile for building the GDK DLL with Microsoft C
## Use: nmake -f makefile.msc
## You must first build the Win32-dependent sources in the win32 subdirectory.
## There is no install target, you have to decide where and
## how to install for yourself.
TOP = ..\..
!INCLUDE $(TOP)/glib/build/win32/make.msc
# Location of the Wintab toolkit. Downloadable from http://www.pointing.com.
# definition should possibly go to build/win32/module.def, too.
!IFNDEF WTKIT
WTKIT = $(TOP)\wtkit126
!ENDIF
###############################################################
# Nothing much configurable below
# overwrite version?
GTK_VER=3.0
!IFNDEF PERL
PERL = perl
!ENDIF
INCLUDES = -FImsvc_recommended_pragmas.h \
-I . -I .. \
$(GLIB_CFLAGS) $(PANGO_CFLAGS) $(CAIRO_CFLAGS) $(GDK_PIXBUF_CFLAGS) \
DEFINES = \
-DHAVE_CONFIG_H \
-DGDK_VERSION=\"$(GTK_VER)\" \
-DG_LOG_DOMAIN=\"Gdk\" \
-DGDK_COMPILATION -DG_LOG_DOMAIN=\"Gdk\"
EXTRALIBS = \
$(WTKIT)\lib\i386\wntab32x.lib \
$(GLIB_LIBS) $(GDK_PIXBUF_LIBS) \
$(CAIRO_LIBS) $(CAIRO_GOBJECT_LIBS) \
$(PANGOWIN32_LIBS) $(PANGOCAIRO_LIBS) $(INTL_LIBS)
gdk-win32-backend :
cd win32
nmake -nologo -f makefile.msc
cd ..
all: \
..\config.h \
gdkconfig.h \
gdkenumtypes.h \
gdkenumtypes.c \
gdkmarshalers.h \
gdkmarshalers.c \
gdk-win32-backend \
libgdk-win32-$(GTK_VER)-0.dll \
# testgdk.exe \
# gdk-win32-$(GTK_VER)s.lib \
# gdk-x11-$(GTK_VER).dll \
gdk_OBJECTS = \
gdk.obj \
gdkapplaunchcontext.obj \
gdkcairo.obj \
gdkcolor.obj \
gdkcursor.obj \
gdkdevice.obj \
gdkdevicemanager.obj \
gdkdisplay.obj \
gdkdisplaymanager.obj \
gdkdnd.obj \
gdkenumtypes.obj \
gdkevents.obj \
gdkglobals.obj \
gdkkeynames.obj \
gdkkeys.obj \
gdkkeyuni.obj \
gdkmarshalers.obj \
gdkpango.obj \
gdkpixbuf-drawable.obj \
gdkrectangle.obj \
gdkrgba.obj \
gdkscreen.obj \
gdkselection.obj \
gdkvisual.obj \
gdkwindow.obj \
gdkwindowimpl.obj \
gdk_public_h_sources = \
gdk.h \
gdkapplaunchcontext.h \
gdkcairo.h \
gdkcolor.h \
gdkcursor.h \
gdkdevice.h \
gdkdevicemanager.h \
gdkdisplay.h \
gdkdisplaymanager.h \
gdkdnd.h \
gdkevents.h \
gdkkeys.h \
gdkkeysyms.h \
gdkkeysyms-compat.h \
gdkmain.h \
gdkpango.h \
gdkpixbuf.h \
gdkprivate.h \
gdkproperty.h \
gdkrectangle.h \
gdkrgba.h \
gdkscreen.h \
gdkselection.h \
gdktestutils.h \
gdkthreads.h \
gdktypes.h \
gdkvisual.h \
gdkwindow.h
# private marshalers
gdkmarshalers.h : gdkmarshalers.list
$(GLIB)\gobject\glib-genmarshal --prefix=_gdk_marshal gdkmarshalers.list --header >>gdkmarshalers.h
gdkmarshalers.c : gdkmarshalers.list
$(GLIB)\gobject\glib-genmarshal --prefix=_gdk_marshal gdkmarshalers.list --body >gdkmarshalers.c
gdkenumtypes.h: $(gdk_public_h_sources) gdkenumtypes.h.template
$(PERL) $(GLIB)\gobject\glib-mkenums --template gdkenumtypes.h.template \
$(gdk_public_h_sources) > gdkenumtypes.h
gdkenumtypes.c: $(gdk_public_h_sources) gdkenumtypes.c.template
$(PERL) $(GLIB)\gobject\glib-mkenums --template gdkenumtypes.c.template \
$(gdk_public_h_sources) > gdkenumtypes.c
..\config.h : ..\config.h.win32
copy ..\config.h.win32 ..\config.h
gdkconfig.h : gdkconfig.h.win32
copy gdkconfig.h.win32 gdkconfig.h
gdk.def: gdk.symbols
echo EXPORTS > gdk.def
cl /EP -DG_OS_WIN32 -DGDK_WINDOWING_WIN32 \
-DG_GNUC_CONST= \
gdk.symbols >> gdk.def
# /force /verbose:lib
libgdk-win32-$(GTK_VER)-0.dll : $(gdk_OBJECTS) gdk.def win32\gdk-win32.lib
$(CC) $(CFLAGS) -LD -Fe$@ $(gdk_OBJECTS) win32\gdk-win32.lib $(EXTRALIBS) \
gdi32.lib user32.lib imm32.lib shell32.lib ole32.lib uuid.lib win32\gdk.res \
$(LDFLAGS) /implib:gdk-win32-$(GTK_VER).lib /def:gdk.def
gdk-win32-$(GTK_VER)s.lib : $(gdk_OBJECTS)
lib /out:gdk-win32-$(GTK_VER)s.lib $(gdk_OBJECTS) win32\gdk-win32.lib
gdk-x11-$(GTK_VER).dll : $(gdk_OBJECTS) gdk.def x11\gdk-x11.lib
$(CC) $(CFLAGS) -LD -Fegdk-x11-$(GTK_VER).dll $(gdk_OBJECTS) \
$(PANGO)\pango\pangox-$(PANGO_VER).lib \
x11\gdk-x11.lib $(X11_LIBS) $(EXTRALIBS) user32.lib $(LDFLAGS) /def:gdk.def
testgdk.exe : libgdk-win32-$(GTK_VER)-0.dll testgdk.obj
$(CC) -Fetestgdk.exe testgdk.obj gdk-win32-$(GTK_VER).lib $(EXTRALIBS) $(LDFLAGS)
clean::
cd win32
nmake -f makefile.msc clean
cd ..
del gdkmarshalers.c
del gdkmarshalers.h
del *.dll
del *.obj
del *.lib
del *.err
del *.res

220
gdk/meson.build Normal file
View File

@@ -0,0 +1,220 @@
gdk_public_sources = files([
'gdk.c',
'gdkapplaunchcontext.c',
'gdkcairo.c',
'gdkcursor.c',
'gdkdeprecated.c',
'gdkdevice.c',
'gdkdevicemanager.c',
'gdkdevicepad.c',
'gdkdevicetool.c',
'gdkdisplay.c',
'gdkdisplaymanager.c',
'gdkdnd.c',
'gdkdrawcontext.c',
'gdkdrawingcontext.c',
'gdkevents.c',
'gdkframeclock.c',
'gdkframeclockidle.c',
'gdkframetimings.c',
'gdkgl.c',
'gdkglcontext.c',
'gdkglobals.c',
'gdkkeys.c',
'gdkkeyuni.c',
'gdkmonitor.c',
'gdkpango.c',
'gdkpixbuf-drawable.c',
'gdkproperty.c',
'gdkrectangle.c',
'gdkrgba.c',
'gdkscreen.c',
'gdkseat.c',
'gdkseatdefault.c',
'gdkselection.c',
'gdkvisual.c',
'gdkvulkancontext.c',
'gdkwindow.c',
'gdkwindowimpl.c',
])
gdk_public_headers = files([
'gdk-autocleanup.h',
'gdk.h',
'gdkapplaunchcontext.h',
'gdkcairo.h',
'gdkcursor.h',
'gdkdevice.h',
'gdkdevicemanager.h',
'gdkdevicepad.h',
'gdkdevicetool.h',
'gdkdisplay.h',
'gdkdisplaymanager.h',
'gdkdnd.h',
'gdkdrawingcontext.h',
'gdkevents.h',
'gdkframeclock.h',
'gdkframetimings.h',
'gdkglcontext.h',
'gdkkeys.h',
'gdkkeysyms.h',
'gdkmain.h',
'gdkmonitor.h',
'gdkpango.h',
'gdkpixbuf.h',
'gdkprivate.h',
'gdkproperty.h',
'gdkrectangle.h',
'gdkrgba.h',
'gdkscreen.h',
'gdkseat.h',
'gdkselection.h',
'gdkthreads.h',
'gdktypes.h',
'gdkvisual.h',
'gdkwindow.h',
])
install_headers(gdk_public_headers, subdir: 'gtk-4.0/gdk/')
gdk_sources = gdk_public_sources
gdk_private_h_sources = files([
'gdkdevicetoolprivate.h',
'gdkdrawingcontextprivate.h',
'gdkmonitorprivate.h',
'gdkprivate.h',
'gdkseatdefaultprivate.h',
])
gdk_gresource_xml = configure_file(output : 'gdk.gresource.xml',
input : 'gen-gdk-gresources-xml.py',
command : [find_program('gen-gdk-gresources-xml.py'),
meson.current_source_dir(), '@OUTPUT@'])
gdkresources = gnome.compile_resources('gdkresources',
gdk_gresource_xml,
source_dir: '.',
c_name: '_gdk',
extra_args: '--manual-register')
gdk_headers = gdk_public_headers
gdk_enums = gnome.mkenums('gdkenumtypes',
sources: gdk_public_headers,
c_template : 'gdkenumtypes.c.template',
h_template : 'gdkenumtypes.h.template',
install_dir : 'include/gtk-4.0/gdk',
install_header : true)
gdkenum_h = gdk_enums[1]
gdk_marshalers = gnome.genmarshal('gdkmarshalers',
sources : 'gdkmarshalers.list',
prefix : '_gdk_marshal',
valist_marshallers : true)
gdkmarshal_h = gdk_marshalers[1]
gdkconfig_cdata = configuration_data()
gdkconfig_cdata.set('GDK_WINDOWING_X11', x11_enabled)
gdkconfig_cdata.set('GDK_WINDOWING_WAYLAND', wayland_enabled)
gdkconfig_cdata.set('GDK_WINDOWING_BROADWAY', broadway_enabled)
gdkconfig_cdata.set('GDK_WINDOWING_MIR', mir_enabled)
gdkconfig_cdata.set('GDK_RENDERING_VULKAN', have_vulkan)
gdkconfig = configure_file(
input : 'gdkconfig.h.meson',
output : 'gdkconfig.h',
configuration : gdkconfig_cdata,
install_dir: 'include/gtk-4.0/gdk/')
gdkversion_cdata = configuration_data()
gdkversion_cdata.set('GTK_MAJOR_VERSION', gtk_major_version)
gdkversion_cdata.set('GTK_MINOR_VERSION', gtk_minor_version)
gdkversion_cdata.set('GTK_MICRO_VERSION', gtk_micro_version)
gdkversionmacros = configure_file(
input : 'gdkversionmacros.h.in',
output : 'gdkversionmacros.h',
configuration: gdkversion_cdata,
install_dir: 'include/gtk-4.0/gdk/')
gdkinc = include_directories('.')
xinc = include_directories('x11')
wlinc = include_directories('.')
gdk_gen_headers = [gdkenum_h, gdkmarshal_h, gdkconfig, gdkversionmacros]
gdk_deps = [
libm,
pixbuf_dep,
cairo_dep,
pango_dep,
cairogobj_dep,
glib_dep,
epoxy_dep,
fontconfig_dep,
giounix_dep,
pangocairo_dep,
vulkan_lib
]
# add generated gdk sources
gdk_sources += [
gdkconfig,
gdk_enums,
gdk_marshalers,
gdkresources,
gdkversionmacros,
gdk_private_h_sources,
gdk_public_headers
]
if wayland_enabled or broadway_enabled
if cc.has_function('shm_open', name : 'shm_open() in libc')
shmlib = []
elif cc.has_function('shm_open', args : '-lrt', name : 'shm_open() in librt')
shmlib = cc.find_library('rt')
else
shmlib = []
endif
endif
gdk_backends = []
gdk_backends_gen_headers = [] # non-public generated headers
foreach backend : ['broadway', 'mir', 'quartz', 'wayland', 'win32', 'x11']
if get_variable('@0@_enabled'.format(backend))
subdir(backend)
gdk_deps += get_variable('gdk_@0@_deps'.format(backend))
gdk_backends += get_variable('libgdk_@0@'.format(backend))
# Special-case this for now to work around Meson bug with get_variable()
# fallback being an empty array, or any array (#1481)
if backend == 'wayland'
gdk_backends_gen_headers += get_variable('gdk_@0@_gen_headers'.format(backend))
endif
endif
endforeach
# FIXME: might have to add '-xobjective-c' to c_args for quartz backend?
libgdk = static_library('gdk',
sources: [gdk_sources, gdk_backends_gen_headers, gdkconfig],
dependencies: gdk_deps,
include_directories: [confinc, xinc, wlinc],
c_args: [
'-DGDK_COMPILATION',
'-DG_LOG_DOMAIN="Gdk"',
'-DG_LOG_USE_STRUCTURED=1',
] + common_cflags,
link_whole: gdk_backends,
link_args: common_ldflags)
# We don't have link_with: to internal static libs here on purpose, just
# list the dependencies and generated headers and such, for use in the
# "public" libgtk_dep used by internal executables.
libgdk_dep = declare_dependency(
sources: ['gdk.h', gdkconfig, gdkenum_h],
depends: gdk_sources,
include_directories: [confinc, xinc, wlinc],
dependencies: gdk_deps)

View File

@@ -1,42 +0,0 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl
libgdkincludedir = $(includedir)/gtk-4.0/gdk
libgdkmirincludedir = $(includedir)/gtk-4.0/gdk/mir
AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"Gdk\" \
-DG_LOG_USE_STRUCTURED=1 \
-DGDK_COMPILATION \
-I$(top_srcdir) \
-I$(top_srcdir)/gdk \
-I$(top_builddir)/gdk \
$(GDK_HIDDEN_VISIBILITY_CFLAGS) \
$(GTK_DEBUG_FLAGS) \
$(GDK_DEP_CFLAGS)
LDADDS = $(GDK_DEP_LIBS)
noinst_LTLIBRARIES = \
libgdk-mir.la
libgdk_mir_la_SOURCES = \
gdkmircursor.c \
gdkmirdevicemanager.c \
gdkmirdisplay.c \
gdkmireventsource.c \
gdkmirglcontext.c \
gdkmirkeyboard.c \
gdkmirkeymap.c \
gdkmirpointer.c \
gdkmirscreen.c \
gdkmirwindow.c \
gdkmirwindowimpl.c \
gdkmir-debug.c \
gdkmir-private.h \
gdkmir.h
libgdkinclude_HEADERS = \
gdkmir.h
-include $(top_srcdir)/git.mk

31
gdk/mir/meson.build Normal file
View File

@@ -0,0 +1,31 @@
gdk_mir_sources = files([
'gdkmircursor.c',
'gdkmirdevicemanager.c',
'gdkmirdisplay.c',
'gdkmireventsource.c',
'gdkmirglcontext.c',
'gdkmirkeyboard.c',
'gdkmirkeymap.c',
'gdkmirpointer.c',
'gdkmirscreen.c',
'gdkmirwindow.c',
'gdkmirwindowimpl.c',
'gdkmir-debug.c',
])
#gdk_mir_public_headers = []
#install_headers(gdk_mir_public_headers, subdir: 'gtk-4.0/gdk/mir/')
install_headers('gdkmir.h', subdir: 'gtk-4.0/gdk/')
gdk_mir_deps = [
mirclient_dep,
mircookie_dep,
libcontent_hub_glib_dep,
]
libgdk_mir = static_library('gdk-mir',
gdk_mir_sources, gdkconfig, gdkenum_h,
include_directories: [confinc, gdkinc],
c_args: ['-DGDK_COMPILATION', '-DG_LOG_DOMAIN="Gdk"'],
dependencies: [gdk_deps, gdk_mir_deps])

View File

@@ -1,72 +0,0 @@
include $(top_srcdir)/Makefile.decl
libgdkincludedir = $(includedir)/gtk-4.0/gdk
libgdkquartzincludedir = $(includedir)/gtk-4.0/gdk/quartz
AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"Gdk\" \
-DG_LOG_USE_STRUCTURED=1 \
-DGDK_COMPILATION \
-I$(top_srcdir) \
-I$(top_srcdir)/gdk \
-I$(top_builddir)/gdk \
$(GDK_HIDDEN_VISIBILITY_CFLAGS) \
$(GTK_DEBUG_FLAGS) \
$(GDK_DEP_CFLAGS) \
"-xobjective-c"
LDADDS = $(GDK_DEP_LIBS)
noinst_LTLIBRARIES = libgdk-quartz.la
libgdk_quartz_la_SOURCES = \
GdkQuartzView.c \
GdkQuartzView.h \
GdkQuartzNSWindow.c \
GdkQuartzNSWindow.h \
gdkcursor-quartz.c \
gdkdevice-core-quartz.c \
gdkdevicemanager-core-quartz.c \
gdkdevicemanager-core-quartz.h \
gdkdisplay-quartz.c \
gdkdisplay-quartz.h \
gdkdisplaymanager-quartz.c \
gdkdnd-quartz.c \
gdkdnd-quartz.h \
gdkevents-quartz.c \
gdkeventloop-quartz.c \
gdkglcontext-quartz.c \
gdkglcontext-quartz.h \
gdkglobals-quartz.c \
gdkkeys-quartz.c \
gdkmonitor-quartz.c \
gdkmonitor-quartz.h \
gdkprivate-quartz.h \
gdkproperty-quartz.c \
gdkquartz.h \
gdkscreen-quartz.c \
gdkscreen-quartz.h \
gdkselection-quartz.c \
gdkutils-quartz.c \
gdkwindow-quartz.c \
gdkwindow-quartz.h \
xcursors.h
libgdkinclude_HEADERS = \
gdkquartz.h
libgdkquartzinclude_HEADERS = \
gdkquartzcursor.h \
gdkquartzdevice-core.h \
gdkquartzdevicemanager-core.h \
gdkquartzdisplay.h \
gdkquartzdisplaymanager.h \
gdkquartzdnd.h \
gdkquartzkeys.h \
gdkquartzmonitor.h \
gdkquartzscreen.h \
gdkquartzutils.h \
gdkquartzwindow.h
-include $(top_srcdir)/git.mk

46
gdk/quartz/meson.build Normal file
View File

@@ -0,0 +1,46 @@
# FIXME: do we need to do an add_language() for objective-c here?
gdk_quartz_sources = files([
'GdkQuartzView.c',
'GdkQuartzNSWindow.c',
'gdkcursor-quartz.c',
'gdkdevice-core-quartz.c',
'gdkdevicemanager-core-quartz.c',
'gdkdisplay-quartz.c',
'gdkdisplaymanager-quartz.c',
'gdkdnd-quartz.c',
'gdkevents-quartz.c',
'gdkeventloop-quartz.c',
'gdkglcontext-quartz.c',
'gdkglobals-quartz.c',
'gdkkeys-quartz.c',
'gdkproperty-quartz.c',
'gdkscreen-quartz.c',
'gdkselection-quartz.c',
'gdkutils-quartz.c',
'gdkwindow-quartz.c',
])
gdk_quartz_public_headers = files([
'gdkquartzcursor.h',
'gdkquartzdevice-core.h',
'gdkquartzdevicemanager-core.h',
'gdkquartzdisplay.h',
'gdkquartzdisplaymanager.h',
'gdkquartzdnd.h',
'gdkquartzkeys.h',
'gdkquartzscreen.h',
'gdkquartzutils.h',
'gdkquartzwindow.h',
])
install_headers(gdk_quartz_public_headers, subdir: 'gtk-4.0/gdk/quartz/')
install_headers('gdkquartz.h', subdir: 'gtk-4.0/gdk/')
gdk_quartz_deps = [ # FIXME
]
libgdk_quartz = static_library('gdk-quartz',
gdk_quartz_sources, gdkconfig, gdkenum_h,
include_directories: [confinc, gdkinc],
c_args: ['-DGDK_COMPILATION', '-DG_LOG_DOMAIN="Gdk"', '-xobjective-c'],
dependencies: [gdk_deps, gdk_quartz_deps])

View File

@@ -1,107 +0,0 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl
libgdkincludedir = $(includedir)/gtk-4.0/gdk
libgdkwaylandincludedir = $(includedir)/gtk-4.0/gdk/wayland
AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"Gdk\" \
-DG_LOG_USE_STRUCTURED=1 \
-DGDK_COMPILATION \
-I$(top_srcdir) \
-I$(top_srcdir)/gdk \
-I$(top_builddir)/gdk \
$(GDK_HIDDEN_VISIBILITY_CFLAGS) \
$(GTK_DEBUG_FLAGS) \
$(GDK_DEP_CFLAGS)
LDADDS = $(GDK_DEP_LIBS) $(SHM_LIBS)
noinst_LTLIBRARIES = \
libgdk-wayland.la
BUILT_SOURCES = \
pointer-gestures-unstable-v1-client-protocol.h \
pointer-gestures-unstable-v1-protocol.c \
xdg-shell-unstable-v6-client-protocol.h \
xdg-shell-unstable-v6-protocol.c \
xdg-foreign-unstable-v1-client-protocol.h \
xdg-foreign-unstable-v1-protocol.c \
gtk-primary-selection-client-protocol.h \
gtk-primary-selection-protocol.c \
tablet-unstable-v2-client-protocol.h \
tablet-unstable-v2-protocol.c \
gtk-shell-client-protocol.h \
gtk-shell-protocol.c
nodist_libgdk_wayland_la_SOURCES = \
$(BUILT_SOURCES)
DISTCLEANFILES = \
$(BUILT_SOURCES)
libgdk_wayland_la_SOURCES = \
gdkapplaunchcontext-wayland.c \
gdkcursor-wayland.c \
gdkdevice-wayland.c \
gdkdisplay-wayland.c \
gdkdisplay-wayland.h \
gdkdnd-wayland.c \
gdkeventsource.c \
gdkkeys-wayland.c \
gdkglcontext-wayland.c \
gdkglcontext-wayland.h \
gdkmonitor-wayland.c \
gdkmonitor-wayland.h \
gdkscreen-wayland.c \
gdkseat-wayland.h \
gdkselection-wayland.c \
gdkvulkancontext-wayland.c \
gdkvulkancontext-wayland.h \
gdkwindow-wayland.c \
gdkwayland.h \
gdkprivate-wayland.h \
wm-button-layout-translation.c \
wm-button-layout-translation.h
libgdkinclude_HEADERS = \
gdkwayland.h
libgdkwaylandinclude_HEADERS = \
gdkwaylanddevice.h \
gdkwaylanddisplay.h \
gdkwaylandglcontext.h \
gdkwaylandmonitor.h \
gdkwaylandselection.h \
gdkwaylandwindow.h
.SECONDEXPANSION:
define protostability
$(shell echo $1 | sed 's/.*\(\<unstable\>\|\<stable\>\).*/\1/')
endef
define protoname
$(shell echo $1 | sed 's/\([a-z\-]\+\)-[a-z]\+-v[0-9]\+/\1/')
endef
%-protocol.c : $(WAYLAND_PROTOCOLS_DATADIR)/$$(call protostability,$$*)/$$(call protoname,$$*)/$$*.xml
$(AM_V_GEN)$(WAYLAND_SCANNER) code < $< > $@
$(AM_V_GEN)$(SED) -i -e 's/WL_EXPORT //' $@
%-client-protocol.h : $(WAYLAND_PROTOCOLS_DATADIR)/$$(call protostability,$$*)/$$(call protoname,$$*)/$$*.xml
$(AM_V_GEN)$(WAYLAND_SCANNER) client-header < $< > $@
%-protocol.c : $(srcdir)/protocol/%.xml
$(AM_V_GEN)$(WAYLAND_SCANNER) code < $< > $@
$(AM_V_GEN)$(SED) -i -e 's/WL_EXPORT //' $@
%-server-protocol.h : $(srcdir)/protocol/%.xml
$(AM_V_GEN)$(WAYLAND_SCANNER) server-header < $< > $@
%-client-protocol.h : $(srcdir)/protocol/%.xml
$(AM_V_GEN)$(WAYLAND_SCANNER) client-header < $< > $@
EXTRA_DIST += \
protocol/gtk-primary-selection.xml \
protocol/gtk-shell.xml
-include $(top_srcdir)/git.mk

View File

@@ -45,10 +45,10 @@
#include "gdkglcontext-wayland.h"
#include "gdkvulkancontext-wayland.h"
#include "gdkwaylandmonitor.h"
#include "pointer-gestures-unstable-v1-client-protocol.h"
#include <wayland/pointer-gestures-unstable-v1-client-protocol.h>
#include "tablet-unstable-v2-client-protocol.h"
#include "xdg-shell-unstable-v6-client-protocol.h"
#include "xdg-foreign-unstable-v1-client-protocol.h"
#include <wayland/xdg-shell-unstable-v6-client-protocol.h>
#include <wayland/xdg-foreign-unstable-v1-client-protocol.h>
/**
* SECTION:wayland_interaction

View File

@@ -32,7 +32,7 @@
#include "gdkinternals.h"
#include "gdkdeviceprivate.h"
#include "gdkprivate-wayland.h"
#include "xdg-shell-unstable-v6-client-protocol.h"
#include <wayland/xdg-shell-unstable-v6-client-protocol.h>
#include <stdlib.h>
#include <stdio.h>
@@ -3253,9 +3253,9 @@ gdk_wayland_window_fullscreen_on_monitor (GdkWindow *window, gint monitor)
{
GdkWindowImplWayland *impl = GDK_WINDOW_IMPL_WAYLAND (window->impl);
GdkScreen *screen = gdk_window_get_screen (window);
struct wl_output *fullscreen_output =
struct wl_output *fullscreen_output =
_gdk_wayland_screen_get_wl_output (screen, monitor);
if (GDK_WINDOW_DESTROYED (window))
return;
@@ -3293,7 +3293,7 @@ static void
gdk_wayland_window_unfullscreen (GdkWindow *window)
{
GdkWindowImplWayland *impl = GDK_WINDOW_IMPL_WAYLAND (window->impl);
if (GDK_WINDOW_DESTROYED (window))
return;

45
gdk/wayland/genprotocolfiles.py Executable file
View File

@@ -0,0 +1,45 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import sys
import re
import shutil
import subprocess
scanner = sys.argv[1]
in_file = sys.argv[2]
out_file = sys.argv[3]
#TODO: We can infer this optinon from the name of the output file!
option = sys.argv[4]
pc = subprocess.Popen([scanner, option, in_file, out_file], stdout=subprocess.PIPE)
(stdo, _) = pc.communicate()
if pc.returncode != 0:
sys.exit(pc.returncode)
# Now read the generated file again and remove all WL_EXPORTs
content = ""
with open(out_file, 'r') as content_file:
content = content_file.read()
content = content.replace('WL_EXPORT ', '')
ofile = open(out_file, 'w')
ofile.write(content)
ofile.close()
# unstable = False
# if "unstable" in out_file:
# unstable = True
# if out_file.endswith("-protocol.c"):
# print("protocol source")
# elif out_file.endswith("-client-protocol.h"):
# print("client protocol header")
# elif out_file.endswith("-server-protocol.h"):
# print("server protocol header")
# else:
# print("ERROR: '",out_file,"' is not a valid output file")

104
gdk/wayland/meson.build Normal file
View File

@@ -0,0 +1,104 @@
gdk_wayland_sources = files([
'gdkapplaunchcontext-wayland.c',
'gdkcursor-wayland.c',
'gdkdevice-wayland.c',
'gdkdisplay-wayland.c',
'gdkdnd-wayland.c',
'gdkeventsource.c',
'gdkglcontext-wayland.c',
'gdkkeys-wayland.c',
'gdkmonitor-wayland.c',
'gdkscreen-wayland.c',
'gdkselection-wayland.c',
'gdkvulkancontext-wayland.c',
'gdkwindow-wayland.c',
'wm-button-layout-translation.c',
])
gdk_wayland_public_headers = files([
'gdkwaylanddevice.h',
'gdkwaylanddisplay.h',
'gdkwaylandglcontext.h',
'gdkwaylandmonitor.h',
'gdkwaylandselection.h',
'gdkwaylandwindow.h'
])
install_headers(gdk_wayland_public_headers, subdir: 'gtk-4.0/gdk/wayland/')
install_headers('gdkwayland.h', subdir: 'gtk-4.0/gdk/')
gdk_wayland_deps = [
shmlib,
xkbdep,
wlclientdep,
wlprotocolsdep,
wlcursordep,
wlegldep,
]
# wayland protocols
proto_dir = dependency('wayland-protocols').get_pkgconfig_variable('pkgdatadir')
assert(proto_dir != '', 'Could not get pkgdatadir from wayland-protocols.pc')
wayland_scanner = find_program('wayland-scanner')
genprotocols = find_program('genprotocolfiles.py')
# Format:
# - protocol name
# - protocol stability ('stable' or 'unstable')
# - protocol version (if stability is 'unstable')
proto_sources = [
['gtk-shell', 'stable', ],
['gtk-primary-selection', 'stable', ],
['pointer-gestures', 'unstable', 'v1', ],
['xdg-shell', 'unstable', 'v6', ],
['xdg-foreign', 'unstable', 'v1', ],
['tablet', 'unstable', 'v2', ],
]
gdk_wayland_gen_headers = []
foreach p: proto_sources
proto_name = p.get(0)
proto_stability = p.get(1)
if proto_stability == 'stable'
output_base = proto_name
input = 'protocol/@0@.xml'.format(proto_name)
else
proto_version = p.get(2)
output_base = '@0@-@1@-@2@'.format(proto_name, proto_stability, proto_version)
input = join_paths(proto_dir, '@0@/@1@/@2@.xml'.format(proto_stability, proto_name, output_base))
endif
gdk_wayland_gen_headers += custom_target('@0@ client header'.format(output_base),
input: input,
output: '@0@-client-protocol.h'.format(output_base),
command: [
genprotocols,
wayland_scanner,
'@INPUT@', '@OUTPUT@',
'client-header',
])
gdk_wayland_sources += custom_target('@0@ source'.format(output_base),
input: input,
output: '@0@-protocol.c'.format(output_base),
command: [
genprotocols,
wayland_scanner,
'@INPUT@', '@OUTPUT@',
'code',
])
endforeach
libgdk_wayland = static_library('gdk-wayland',
gdk_wayland_sources, gdk_wayland_gen_headers, gdkconfig, gdkenum_h,
include_directories: [ confinc, gdkinc, ],
c_args: [
'-DGDK_COMPILATION',
'-DG_LOG_DOMAIN="Gdk"',
'-DG_LOG_USE_STRUCTURED=1',
] + common_cflags,
link_args: common_ldflags,
dependencies: [ gdk_deps, gdk_wayland_deps, ])

View File

@@ -1,108 +0,0 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl
libgdkincludedir = $(includedir)/gtk-4.0/gdk
libgdkwin32includedir = $(includedir)/gtk-4.0/gdk/win32
AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"Gdk\" \
-DG_LOG_USE_STRUCTURED=1 \
-DINSIDE_GDK_WIN32 \
-I$(top_srcdir) \
-I$(top_srcdir)/gdk \
-I$(top_builddir)/gdk \
$(GDK_HIDDEN_VISIBILITY_CFLAGS) \
$(GTK_DEBUG_FLAGS) \
$(GDK_DEP_CFLAGS) \
$(GDK_WIN32_EXTRA_CFLAGS) \
-DGDK_COMPILATION
LDADDS = $(GDK_DEP_LIBS)
noinst_LTLIBRARIES = libgdk-win32.la
SUBDIRS=rc
EXTRA_DIST += \
bdfcursor.c \
makefile.msc
libgdk_win32_la_SOURCES = \
gdkcursor-win32.c \
gdkdevicemanager-win32.c \
gdkdevicemanager-win32.h \
gdkdevice-virtual.c \
gdkdevice-virtual.h \
gdkdevice-win32.c \
gdkdevice-win32.h \
gdkdevice-wintab.c \
gdkdevice-wintab.h \
gdkdisplay-win32.c \
gdkdisplay-win32.h \
gdkdisplaymanager-win32.c \
gdkdnd-win32.c \
gdkevents-win32.c \
gdkgeometry-win32.c \
gdkglcontext-win32.c \
gdkglcontext-win32.h \
gdkglobals-win32.c \
gdkkeys-win32.c \
gdkmain-win32.c \
gdkmonitor-win32.c \
gdkmonitor-win32.h \
gdkprivate-win32.h \
gdkproperty-win32.c \
gdkscreen-win32.c \
gdkselection-win32.c \
gdkvulkancontext-win32.c \
gdkvulkancontext-win32.h \
gdkwin32cursor.h \
gdkwin32display.h \
gdkwin32displaymanager.h \
gdkwin32dnd.h \
gdkwin32glcontext.h \
gdkwin32.h \
gdkwin32id.c \
gdkwin32keys.h \
gdkwin32monitor.h \
gdkwin32screen.h \
gdkwin32window.h \
gdkwindow-win32.c \
gdkwindow-win32.h \
pktdef.h \
wintab.h \
xcursors.h
libgdkinclude_HEADERS = \
gdkwin32.h
libgdkwin32include_HEADERS = \
gdkwin32cursor.h \
gdkwin32display.h \
gdkwin32displaymanager.h\
gdkwin32dnd.h \
gdkwin32glcontext.h \
gdkwin32keys.h \
gdkwin32misc.h \
gdkwin32monitor.h \
gdkwin32screen.h \
gdkwin32window.h
# ------------------- MSVC Build Items ----------------
MSVCPROJS = gdk4-win32
gdk4_win32_FILES = $(libgdk_win32_la_SOURCES)
gdk4_win32_EXCLUDES = dummy
gdk4_win32_HEADERS_DIR = $(libgdkwin32includedir)
gdk4_win32_HEADERS_INST = $(libgdkwin32include_HEADERS)
gdk4_win32_HEADERS_EXCLUDES = dummy
include $(top_srcdir)/win32/Makefile.msvcproj
dist-hook: \
$(top_builddir)/win32/vs12/gdk4-win32.vcxproj \
$(top_builddir)/win32/vs12/gdk4-win32.vs12.headers
-include $(top_srcdir)/git.mk

View File

@@ -1,70 +0,0 @@
## Makefile for building the GDK DLL with Microsoft C
## Use: nmake -f makefile.msc
################################################################
# Nothing much configurable below
TOP = ../../..
!INCLUDE $(TOP)/glib/build/win32/make.msc
# Location of the Wintab toolkit. Downloadable from http://www.pointing.com.
# definition should possibly go to build/win32/module.def, too.
!IFNDEF WTKIT
WTKIT = $(TOP)\wtkit126
!ENDIF
GTK_VER=3.0
DEFINES = \
-DHAVE_CONFIG_H -DINSIDE_GDK_WIN32 -DGDK_VERSION=\"$(GTK_VER)\" \
-DGDK_COMPILATION -DG_LOG_DOMAIN=\"Gdk\"
INCLUDES = -FImsvc_recommended_pragmas.h \
-I. -I.. -I..\.. $(GLIB_CFLAGS) $(PANGO_CFLAGS) $(CAIRO_CFLAGS) \
$(GDK_PIXBUF_CFLAGS) -I$(WTKIT)\include -I$(GLIB) \
all: \
..\..\config.h \
..\gdkconfig.h \
gdk-win32.lib \
gdk.res
gdk_win32_OBJECTS = \
gdkcursor-win32.obj \
gdkdevice-win32.obj \
gdkdevice-wintab.obj \
gdkdevicemanager-win32.obj \
gdkdnd-win32.obj \
gdkdisplay-win32.obj \
gdkdisplaymanager-win32.obj \
gdkevents-win32.obj \
gdkgeometry-win32.obj \
gdkglobals-win32.obj \
gdkinput.obj \
gdkkeys-win32.obj \
gdkmain-win32.obj \
gdkproperty-win32.obj \
gdkscreen-win32.obj \
gdkselection-win32.obj \
gdktestutils-win32.obj \
gdkwin32id.obj \
gdkwindow-win32.obj
..\..\config.h : ..\..\config.h.win32
copy ..\..\config.h.win32 ..\..\config.h
..\gdkconfig.h : ..\gdkconfig.h.win32
copy ..\gdkconfig.h.win32 ..\gdkconfig.h
gdk.res : rc\gdk.rc
rc -DBUILDNUMBER=0 -r -fo gdk.res rc\gdk.rc
gdk-win32.lib : $(gdk_win32_OBJECTS)
lib -out:gdk-win32.lib $(gdk_win32_OBJECTS)
clean::
del *.obj
del *.lib
del *.err
del *.res

50
gdk/win32/meson.build Normal file
View File

@@ -0,0 +1,50 @@
gdk_win32_sources = files([
'gdkcursor-win32.c',
'gdkdevicemanager-win32.c',
'gdkdevice-virtual.c',
'gdkdevice-win32.c',
'gdkdevice-wintab.c',
'gdkdisplay-win32.c',
'gdkdisplaymanager-win32.c',
'gdkdnd-win32.c',
'gdkevents-win32.c',
'gdkgeometry-win32.c',
'gdkglcontext-win32.c',
'gdkglobals-win32.c',
'gdkkeys-win32.c',
'gdkmain-win32.c',
'gdkmonitor-win32.c',
'gdkproperty-win32.c',
'gdkscreen-win32.c',
'gdkselection-win32.c',
'gdkvulkancontext-win32.c',
'gdkwin32cursor.h',
'gdkwin32display.h',
'gdkwin32id.c',
'gdkwindow-win32.c',
])
gdk_win32_public_headers = files([
'gdkwin32cursor.h',
'gdkwin32display.h',
'gdkwin32displaymanager.h',
'gdkwin32dnd.h',
'gdkwin32glcontext.h',
'gdkwin32keys.h',
'gdkwin32misc.h',
'gdkwin32monitor.h',
'gdkwin32screen.h',
'gdkwin32window.h',
])
install_headers(gdk_win32_public_headers, subdir: 'gtk-4.0/gdk/win32/')
install_headers('gdkwin32.h', subdir: 'gtk-4.0/gdk/')
gdk_win32_deps = [ # FIXME
]
libgdk_win32 = static_library('gdk-win32',
gdk_win32_sources, gdkconfig, gdkenum_h,
include_directories: [confinc, gdkinc],
c_args: ['-DGDK_COMPILATION', '-DG_LOG_DOMAIN="Gdk"', '-DINSIDE_GDK_WIN32'],
dependencies: [gdk_deps, gdk_win32_deps])

View File

@@ -1,5 +0,0 @@
include $(top_srcdir)/Makefile.decl
EXTRA_DIST += gtk.ico
-include $(top_srcdir)/git.mk

View File

@@ -1,96 +0,0 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl
libgdkincludedir = $(includedir)/gtk-4.0/gdk
libgdkx11includedir = $(includedir)/gtk-4.0/gdk/x11
AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"Gdk\" \
-DG_LOG_USE_STRUCTURED=1 \
-DGDK_COMPILATION \
-I$(top_srcdir) \
-I$(top_srcdir)/gdk \
-I$(top_builddir)/gdk \
$(GDK_HIDDEN_VISIBILITY_CFLAGS) \
$(GTK_DEBUG_FLAGS) \
$(GDK_DEP_CFLAGS)
LDADDS = $(GDK_DEP_LIBS)
noinst_LTLIBRARIES = libgdk-x11.la
libgdk_x11_la_SOURCES = \
MwmUtil.h \
gdkapplaunchcontext-x11.c \
gdkasync.c \
gdkasync.h \
gdkcursor-x11.c \
gdkdevice-core-x11.c \
gdkdevice-xi2.c \
gdkdevicemanager-core-x11.c \
gdkdevicemanager-x11.c \
gdkdevicemanager-xi2.c \
gdkdevicemanagerprivate-core.h \
gdkdisplaymanager-x11.c \
gdkdisplay-x11.c \
gdkdisplay-x11.h \
gdkdnd-x11.c \
gdkeventsource.c \
gdkeventsource.h \
gdkeventtranslator.c \
gdkeventtranslator.h \
gdkgeometry-x11.c \
gdkglcontext-x11.c \
gdkglcontext-x11.h \
gdkkeys-x11.c \
gdkmain-x11.c \
gdkmonitor-x11.c \
gdkmonitor-x11.h \
gdkproperty-x11.c \
gdkscreen-x11.c \
gdkscreen-x11.h \
gdkselection-x11.c \
gdkvisual-x11.c \
gdkvulkancontext-x11.c \
gdkvulkancontext-x11.h \
gdkwindow-x11.c \
gdkwindow-x11.h \
gdkxftdefaults.c \
gdkxid.c \
gdkx.h \
gdkprivate-x11.h \
xsettings-client.h \
xsettings-client.c
libgdkinclude_HEADERS = \
gdkx.h
libgdkx11include_HEADERS = \
gdkx-autocleanups.h \
gdkx11applaunchcontext.h \
gdkx11cursor.h \
gdkx11device.h \
gdkx11device-core.h \
gdkx11device-xi2.h \
gdkx11devicemanager.h \
gdkx11devicemanager-core.h \
gdkx11devicemanager-xi2.h \
gdkx11display.h \
gdkx11displaymanager.h \
gdkx11dnd.h \
gdkx11glcontext.h \
gdkx11keys.h \
gdkx11monitor.h \
gdkx11property.h \
gdkx11screen.h \
gdkx11selection.h \
gdkx11utils.h \
gdkx11visual.h \
gdkx11window.h
# We need to include all these C files here since the conditionals
# don't seem to be correctly expanded for the dist files.
EXTRA_DIST += \
gdksettings.c
-include $(top_srcdir)/git.mk

View File

@@ -1,61 +0,0 @@
/* GDK - The GIMP Drawing Kit
* gdkdisplaymanager-x11.c
*
* Copyright 2010 Red Hat, Inc.
*
* Author: Matthias clasen
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
#include "config.h"
#include "gdkx11displaymanager.h"
#include "gdkdisplaymanagerprivate.h"
#include "gdkdisplay-x11.h"
#include "gdkprivate-x11.h"
#include "gdkinternals.h"
struct _GdkX11DisplayManager
{
GdkDisplayManager parent;
};
struct _GdkX11DisplayManagerClass
{
GdkDisplayManagerClass parent_class;
};
G_DEFINE_TYPE (GdkX11DisplayManager, gdk_x11_display_manager, GDK_TYPE_DISPLAY_MANAGER)
static void
gdk_x11_display_manager_init (GdkX11DisplayManager *manager)
{
}
static void
gdk_x11_display_manager_finalize (GObject *object)
{
g_error ("A GdkX11DisplayManager object was finalized. This should not happen");
G_OBJECT_CLASS (gdk_x11_display_manager_parent_class)->finalize (object);
}
static void
gdk_x11_display_manager_class_init (GdkX11DisplayManagerClass *class)
{
GObjectClass *object_class = G_OBJECT_CLASS (class);
object_class->finalize = gdk_x11_display_manager_finalize;
}

View File

@@ -28,7 +28,6 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DeviceManagerCore, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DeviceManagerXI2, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DeviceXI2, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Display, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DisplayManager, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DragContext, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11GLContext, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Keymap, g_object_unref)

View File

@@ -41,7 +41,6 @@
#include <gdk/x11/gdkx11devicemanager-core.h>
#include <gdk/x11/gdkx11devicemanager-xi2.h>
#include <gdk/x11/gdkx11display.h>
#include <gdk/x11/gdkx11displaymanager.h>
#include <gdk/x11/gdkx11dnd.h>
#include <gdk/x11/gdkx11glcontext.h>
#include <gdk/x11/gdkx11keys.h>

View File

@@ -1,48 +0,0 @@
/* GDK - The GIMP Drawing Kit
* Copyright (C) 2010 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __GDK_X11_DISPLAY_MANAGER_H__
#define __GDK_X11_DISPLAY_MANAGER_H__
#if !defined (__GDKX_H_INSIDE__) && !defined (GDK_COMPILATION)
#error "Only <gdk/gdkx.h> can be included directly."
#endif
#include <gdk/gdk.h>
G_BEGIN_DECLS
#ifdef GDK_COMPILATION
typedef struct _GdkX11DisplayManager GdkX11DisplayManager;
#else
typedef GdkDisplayManager GdkX11DisplayManager;
#endif
typedef struct _GdkX11DisplayManagerClass GdkX11DisplayManagerClass;
#define GDK_TYPE_X11_DISPLAY_MANAGER (gdk_x11_display_manager_get_type())
#define GDK_X11_DISPLAY_MANAGER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_DISPLAY_MANAGER, GdkX11DisplayManager))
#define GDK_X11_DISPLAY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_DISPLAY_MANAGER, GdkX11DisplayManagerClass))
#define GDK_IS_X11_DISPLAY_MANAGER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_DISPLAY_MANAGER))
#define GDK_IS_X11_DISPLAY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_DISPLAY_MANAGER))
#define GDK_X11_DISPLAY_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_DISPLAY_MANAGER, GdkX11DisplayManagerClass))
GDK_AVAILABLE_IN_ALL
GType gdk_x11_display_manager_get_type (void);
G_END_DECLS
#endif /* __GDK_X11_DISPLAY_MANAGER_H__ */

79
gdk/x11/meson.build Normal file
View File

@@ -0,0 +1,79 @@
# Note: gdksettings.c gets included from xsettings-client.c, do not add here
gdk_x11_sources = files([
'gdkapplaunchcontext-x11.c',
'gdkasync.c',
'gdkcursor-x11.c',
'gdkdevice-core-x11.c',
'gdkdevice-xi2.c',
'gdkdevicemanager-core-x11.c',
'gdkdevicemanager-x11.c',
'gdkdevicemanager-xi2.c',
'gdkdisplay-x11.c',
'gdkdnd-x11.c',
'gdkeventsource.c',
'gdkeventtranslator.c',
'gdkgeometry-x11.c',
'gdkglcontext-x11.c',
'gdkkeys-x11.c',
'gdkmain-x11.c',
'gdkmonitor-x11.c',
'gdkproperty-x11.c',
'gdkscreen-x11.c',
'gdkselection-x11.c',
'gdkvisual-x11.c',
'gdkvulkancontext-x11.c',
'gdkwindow-x11.c',
'gdkxftdefaults.c',
'gdkxid.c',
'xsettings-client.c',
])
gdk_x11_public_headers = files([
'gdkx-autocleanups.h',
'gdkx11applaunchcontext.h',
'gdkx11cursor.h',
'gdkx11device-core.h',
'gdkx11device-xi2.h',
'gdkx11device.h',
'gdkx11devicemanager-core.h',
'gdkx11devicemanager-xi2.h',
'gdkx11devicemanager.h',
'gdkx11display.h',
'gdkx11dnd.h',
'gdkx11glcontext.h',
'gdkx11keys.h',
'gdkx11monitor.h',
'gdkx11property.h',
'gdkx11screen.h',
'gdkx11selection.h',
'gdkx11utils.h',
'gdkx11visual.h',
'gdkx11window.h',
])
install_headers(gdk_x11_public_headers, subdir: 'gtk-4.0/gdk/x11/')
install_headers('gdkx.h', subdir: 'gtk-4.0/gdk/')
gdk_x11_deps = [
xrender_dep,
xi_dep,
xext_dep,
x11_dep,
xcursor_dep,
xdamage_dep,
xfixes_dep,
xcomposite_dep,
xrandr_dep,
xinerama_dep,
]
libgdk_x11 = static_library('gdk-x11',
gdk_x11_sources, gdkconfig, gdkenum_h,
include_directories: [ confinc, gdkinc, ],
c_args: [
'-DGDK_COMPILATION',
'-DG_LOG_DOMAIN="Gdk"',
'-DG_LOG_USE_STRUCTURED=1',
] + common_cflags,
link_args: common_ldflags,
dependencies: [ gdk_deps, gdk_x11_deps, ])

334
git.mk
View File

@@ -1,334 +0,0 @@
# git.mk
#
# Copyright 2009, Red Hat, Inc.
# Copyright 2010,2011,2012,2013 Behdad Esfahbod
# Written by Behdad Esfahbod
#
# Copying and distribution of this file, with or without modification,
# is permitted in any medium without royalty provided the copyright
# notice and this notice are preserved.
#
# The latest version of this file can be downloaded from:
# https://raw.github.com/behdad/git.mk/master/git.mk
# Bugs, etc, should be reported upstream at:
# https://github.com/behdad/git.mk
#
# To use in your project, import this file in your git repo's toplevel,
# then do "make -f git.mk". This modifies all Makefile.am files in
# your project to -include git.mk. Remember to add that line to new
# Makefile.am files you create in your project, or just rerun the
# "make -f git.mk".
#
# This enables automatic .gitignore generation. If you need to ignore
# more files, add them to the GITIGNOREFILES variable in your Makefile.am.
# But think twice before doing that. If a file has to be in .gitignore,
# chances are very high that it's a generated file and should be in one
# of MOSTLYCLEANFILES, CLEANFILES, DISTCLEANFILES, or MAINTAINERCLEANFILES.
#
# The only case that you need to manually add a file to GITIGNOREFILES is
# when remove files in one of mostlyclean-local, clean-local, distclean-local,
# or maintainer-clean-local make targets.
#
# Note that for files like editor backup, etc, there are better places to
# ignore them. See "man gitignore".
#
# If "make maintainer-clean" removes the files but they are not recognized
# by this script (that is, if "git status" shows untracked files still), send
# me the output of "git status" as well as your Makefile.am and Makefile for
# the directories involved and I'll diagnose.
#
# For a list of toplevel files that should be in MAINTAINERCLEANFILES, see
# Makefile.am.sample in the git.mk git repo.
#
# Don't EXTRA_DIST this file. It is supposed to only live in git clones,
# not tarballs. It serves no useful purpose in tarballs and clutters the
# build dir.
#
# This file knows how to handle autoconf, automake, libtool, gtk-doc,
# gnome-doc-utils, yelp.m4, mallard, intltool, gsettings, dejagnu, appdata,
# appstream.
#
# This makefile provides the following targets:
#
# - all: "make all" will build all gitignore files.
# - gitignore: makes all gitignore files in the current dir and subdirs.
# - .gitignore: make gitignore file for the current dir.
# - gitignore-recurse: makes all gitignore files in the subdirs.
#
# KNOWN ISSUES:
#
# - Recursive configure doesn't work as $(top_srcdir)/git.mk inside the
# submodule doesn't find us. If you have configure.{in,ac} files in
# subdirs, add a proxy git.mk file in those dirs that simply does:
# "include $(top_srcdir)/../git.mk". Add more ..'s to your taste.
# And add those files to git. See vte/gnome-pty-helper/git.mk for
# example.
#
###############################################################################
# Variables user modules may want to add to toplevel MAINTAINERCLEANFILES:
###############################################################################
#
# Most autotools-using modules should be fine including this variable in their
# toplevel MAINTAINERCLEANFILES:
GITIGNORE_MAINTAINERCLEANFILES_TOPLEVEL = \
$(srcdir)/aclocal.m4 \
$(srcdir)/autoscan.log \
$(srcdir)/configure.scan \
`AUX_DIR=$(srcdir)/$$(cd $(top_srcdir); $(AUTOCONF) --trace 'AC_CONFIG_AUX_DIR:$$1' ./configure.ac); \
test "x$$AUX_DIR" = "x$(srcdir)/" && AUX_DIR=$(srcdir); \
for x in \
ar-lib \
compile \
config.guess \
config.sub \
config.rpath \
depcomp \
install-sh \
ltmain.sh \
missing \
mkinstalldirs \
test-driver \
ylwrap \
; do echo "$$AUX_DIR/$$x"; done` \
`cd $(top_srcdir); $(AUTOCONF) --trace 'AC_CONFIG_HEADERS:$$1' ./configure.ac | \
head -n 1 | while read f; do echo "$(srcdir)/$$f.in"; done`
#
# All modules should also be fine including the following variable, which
# removes automake-generated Makefile.in files:
GITIGNORE_MAINTAINERCLEANFILES_MAKEFILE_IN = \
`cd $(top_srcdir); $(AUTOCONF) --trace 'AC_CONFIG_FILES:$$1' ./configure.ac | \
while read f; do \
case $$f in Makefile|*/Makefile) \
test -f "$(srcdir)/$$f.am" && echo "$(srcdir)/$$f.in";; esac; \
done`
#
# Modules that use libtool and use AC_CONFIG_MACRO_DIR() may also include this,
# though it's harmless to include regardless.
GITIGNORE_MAINTAINERCLEANFILES_M4_LIBTOOL = \
`MACRO_DIR=$(srcdir)/$$(cd $(top_srcdir); $(AUTOCONF) --trace 'AC_CONFIG_MACRO_DIR:$$1' ./configure.ac); \
if test "x$$MACRO_DIR" != "x$(srcdir)/"; then \
for x in \
libtool.m4 \
ltoptions.m4 \
ltsugar.m4 \
ltversion.m4 \
lt~obsolete.m4 \
; do echo "$$MACRO_DIR/$$x"; done; \
fi`
###############################################################################
# Default rule is to install ourselves in all Makefile.am files:
###############################################################################
git-all: git-mk-install
git-mk-install:
@echo "Installing git makefile"
@any_failed=; \
find "`test -z "$(top_srcdir)" && echo . || echo "$(top_srcdir)"`" -name Makefile.am | while read x; do \
if grep 'include .*/git.mk' $$x >/dev/null; then \
echo "$$x already includes git.mk"; \
else \
failed=; \
echo "Updating $$x"; \
{ cat $$x; \
echo ''; \
echo '-include $$(top_srcdir)/git.mk'; \
} > $$x.tmp || failed=1; \
if test x$$failed = x; then \
mv $$x.tmp $$x || failed=1; \
fi; \
if test x$$failed = x; then : else \
echo "Failed updating $$x"; >&2 \
any_failed=1; \
fi; \
fi; done; test -z "$$any_failed"
.PHONY: git-all git-mk-install
###############################################################################
# Actual .gitignore generation:
###############################################################################
$(srcdir)/.gitignore: Makefile.am $(top_srcdir)/git.mk
@echo "git.mk: Generating $@"
@{ \
if test "x$(DOC_MODULE)" = x -o "x$(DOC_MAIN_SGML_FILE)" = x; then :; else \
for x in \
$(DOC_MODULE)-decl-list.txt \
$(DOC_MODULE)-decl.txt \
tmpl/$(DOC_MODULE)-unused.sgml \
"tmpl/*.bak" \
xml html \
; do echo "/$$x"; done; \
FLAVOR=$$(cd $(top_srcdir); $(AUTOCONF) --trace 'GTK_DOC_CHECK:$$2' ./configure.ac); \
case $$FLAVOR in *no-tmpl*) echo /tmpl;; esac; \
fi; \
if test "x$(DOC_MODULE)$(DOC_ID)" = x -o "x$(DOC_LINGUAS)" = x; then :; else \
for lc in $(DOC_LINGUAS); do \
for x in \
$(if $(DOC_MODULE),$(DOC_MODULE).xml) \
$(DOC_PAGES) \
$(DOC_INCLUDES) \
; do echo "/$$lc/$$x"; done; \
done; \
for x in \
$(_DOC_OMF_ALL) \
$(_DOC_DSK_ALL) \
$(_DOC_HTML_ALL) \
$(_DOC_MOFILES) \
$(DOC_H_FILE) \
"*/.xml2po.mo" \
"*/*.omf.out" \
; do echo /$$x; done; \
fi; \
if test "x$(HELP_ID)" = x -o "x$(HELP_LINGUAS)" = x; then :; else \
for lc in $(HELP_LINGUAS); do \
for x in \
$(HELP_FILES) \
"$$lc.stamp" \
"$$lc.mo" \
; do echo "/$$lc/$$x"; done; \
done; \
fi; \
if test "x$(gsettings_SCHEMAS)" = x; then :; else \
for x in \
$(gsettings_SCHEMAS:.xml=.valid) \
$(gsettings__enum_file) \
; do echo "/$$x"; done; \
fi; \
if test "x$(appdata_XML)" = x; then :; else \
for x in \
$(appdata_XML:.xml=.valid) \
; do echo "/$$x"; done; \
fi; \
if test "x$(appstream_XML)" = x; then :; else \
for x in \
$(appstream_XML:.xml=.valid) \
; do echo "/$$x"; done; \
fi; \
for tdir in po $(GITIGNORE_TRANSLATION_DIRS); do \
if test -f "$(srcdir)/$$tdir/Makefile.in.in"; then \
for x in \
$$tdir/Makefile.in.in \
$$tdir/Makefile.in.in~ \
$$tdir/Makefile.in \
$$tdir/Makefile \
$$tdir/Makevars.template \
$$tdir/POTFILES \
$$tdir/Rules-quot \
$$tdir/stamp-it \
$$tdir/stamp-po \
$$tdir/.intltool-merge-cache \
"$$tdir/*.gmo" \
"$$tdir/*.header" \
"$$tdir/*.mo" \
"$$tdir/*.sed" \
"$$tdir/*.sin" \
$$tdir/$(GETTEXT_PACKAGE).pot \
; do echo "/$$x"; done; \
fi; \
for x in \
ABOUT-NLS \
intltool-extract.in \
intltool-merge.in \
intltool-update.in \
; do echo "/$$x"; done; \
done; \
if test -f $(srcdir)/configure; then \
for x in \
autom4te.cache \
configure \
config.h \
stamp-h1 \
libtool \
config.lt \
; do echo "/$$x"; done; \
fi; \
if test "x$(DEJATOOL)" = x; then :; else \
for x in \
$(DEJATOOL) \
; do echo "/$$x.sum"; echo "/$$x.log"; done; \
echo /site.exp; \
fi; \
if test "x$(am__dirstamp)" = x; then :; else \
echo "$(am__dirstamp)"; \
fi; \
if test "x$(LTCOMPILE)" = x -a "x$(LTCXXCOMPILE)" = x -a "x$(GTKDOC_RUN)" = x; then :; else \
for x in \
"*.lo" \
".libs" "_libs" \
; do echo "$$x"; done; \
fi; \
for x in \
.gitignore \
$(GITIGNOREFILES) \
$(CLEANFILES) \
$(PROGRAMS) $(check_PROGRAMS) $(EXTRA_PROGRAMS) \
$(LIBRARIES) $(check_LIBRARIES) $(EXTRA_LIBRARIES) \
$(LTLIBRARIES) $(check_LTLIBRARIES) $(EXTRA_LTLIBRARIES) \
so_locations \
$(MOSTLYCLEANFILES) \
$(TEST_LOGS) \
$(TEST_LOGS:.log=.trs) \
$(TEST_SUITE_LOG) \
"*.gcda" \
"*.gcno" \
$(DISTCLEANFILES) \
$(am__CONFIG_DISTCLEAN_FILES) \
$(CONFIG_CLEAN_FILES) \
TAGS ID GTAGS GRTAGS GSYMS GPATH tags \
"*.tab.c" \
$(MAINTAINERCLEANFILES) \
$(BUILT_SOURCES) \
$(patsubst %.vala,%.c,$(filter %.vala,$(SOURCES))) \
$(filter %_vala.stamp,$(DIST_COMMON)) \
$(filter %.vapi,$(DIST_COMMON)) \
$(filter $(addprefix %,$(notdir $(patsubst %.vapi,%.h,$(filter %.vapi,$(DIST_COMMON))))),$(DIST_COMMON)) \
Makefile \
Makefile.in \
"*.orig" \
"*.rej" \
"*.bak" \
"*~" \
".*.sw[nop]" \
".dirstamp" \
; do echo "/$$x"; done; \
for x in \
"*.$(OBJEXT)" \
$(DEPDIR) \
; do echo "$$x"; done; \
} | \
sed "s@^/`echo "$(srcdir)" | sed 's/\(.\)/[\1]/g'`/@/@" | \
sed 's@/[.]/@/@g' | \
LC_ALL=C sort | uniq > $@.tmp && \
mv $@.tmp $@;
all: $(srcdir)/.gitignore gitignore-recurse-maybe
gitignore: $(srcdir)/.gitignore gitignore-recurse
gitignore-recurse-maybe:
@for subdir in $(DIST_SUBDIRS); do \
case " $(SUBDIRS) " in \
*" $$subdir "*) :;; \
*) test "$$subdir" = . -o -e "$$subdir/.git" || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) gitignore || echo "Skipping $$subdir");; \
esac; \
done
gitignore-recurse:
@for subdir in $(DIST_SUBDIRS); do \
test "$$subdir" = . -o -e "$$subdir/.git" || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) gitignore || echo "Skipping $$subdir"); \
done
maintainer-clean: gitignore-clean
gitignore-clean:
-rm -f $(srcdir)/.gitignore
.PHONY: gitignore-clean gitignore gitignore-recurse gitignore-recurse-maybe

View File

@@ -1,334 +0,0 @@
include $(top_srcdir)/Makefile.decl
GSK_CFLAG_DEFINES = \
-DG_LOG_DOMAIN=\"Gsk\" \
-DG_LOG_USE_STRUCTURED=1 \
-DGSK_COMPILATION
AM_CPPFLAGS = \
$(GSK_CFLAG_DEFINES) \
-I$(top_srcdir) \
-I$(top_srcdir)/gdk \
-I$(top_builddir) \
-I$(top_builddir)/gsk \
$(GTK_DEBUG_FLAGS) \
$(GTK_WARN_FLAGS) \
$(GSK_DEP_CFLAGS)
BUILT_SOURCES =
CLEANFILES =
DISTCLEANFILES =
noinst_LTLIBRARIES =
if HAVE_VULKAN
gsk_private_vulkan_source_h = \
gskvulkanblendpipelineprivate.h \
gskvulkanborderpipelineprivate.h \
gskvulkanboxshadowpipelineprivate.h \
gskvulkanbufferprivate.h \
gskvulkanclipprivate.h \
gskvulkancolorpipelineprivate.h \
gskvulkancommandpoolprivate.h \
gskvulkaneffectpipelineprivate.h \
gskvulkanimageprivate.h \
gskvulkanlineargradientpipelineprivate.h \
gskvulkanmemoryprivate.h \
gskvulkanpipelineprivate.h \
gskvulkanpushconstantsprivate.h \
gskvulkanrenderprivate.h \
gskvulkanrendererprivate.h \
gskvulkanrenderpassprivate.h \
gskvulkanshaderprivate.h
gsk_private_vulkan_source_c = \
gskvulkanblendpipeline.c \
gskvulkanborderpipeline.c \
gskvulkanboxshadowpipeline.c \
gskvulkanbuffer.c \
gskvulkanclip.c \
gskvulkancolorpipeline.c \
gskvulkancommandpool.c \
gskvulkaneffectpipeline.c \
gskvulkanlineargradientpipeline.c \
gskvulkanimage.c \
gskvulkanmemory.c \
gskvulkanpipeline.c \
gskvulkanpushconstants.c \
gskvulkanrender.c \
gskvulkanrenderer.c \
gskvulkanrenderpass.c \
gskvulkanshader.c
gsk_private_vulkan_include_shaders = \
resources/vulkan/clip.frag.glsl \
resources/vulkan/clip.vert.glsl \
resources/vulkan/constants.glsl \
resources/vulkan/rounded-rect.glsl
gsk_private_vulkan_fragment_shaders = \
resources/vulkan/blend.frag \
resources/vulkan/border.frag \
resources/vulkan/color.frag \
resources/vulkan/color-matrix.frag \
resources/vulkan/inset-shadow.frag \
resources/vulkan/linear.frag \
resources/vulkan/outset-shadow.frag
gsk_private_vulkan_vertex_shaders = \
resources/vulkan/blend.vert \
resources/vulkan/border.vert \
resources/vulkan/color.vert \
resources/vulkan/color-matrix.vert \
resources/vulkan/inset-shadow.vert \
resources/vulkan/linear.vert \
resources/vulkan/outset-shadow.vert
gsk_private_vulkan_shaders = \
$(gsk_private_vulkan_fragment_shaders) \
$(gsk_private_vulkan_vertex_shaders)
gsk_private_vulkan_compiled_shaders = \
$(gsk_private_vulkan_fragment_shaders:.frag=.frag.spv) \
$(gsk_private_vulkan_vertex_shaders:.vert=.vert.spv) \
$(gsk_private_vulkan_fragment_shaders:.frag=-clip.frag.spv) \
$(gsk_private_vulkan_vertex_shaders:.vert=-clip.vert.spv) \
$(gsk_private_vulkan_fragment_shaders:.frag=-clip-rounded.frag.spv) \
$(gsk_private_vulkan_vertex_shaders:.vert=-clip-rounded.vert.spv)
endif
gsk_public_source_h = \
gskenums.h \
gskrenderer.h \
gskrendernode.h \
gskroundedrect.h \
gsktexture.h \
gsktypes.h
gsk_private_source_h = \
$(gsk_private_vulkan_source_h) \
gskcairoblurprivate.h \
gskcairorendererprivate.h \
gskdebugprivate.h \
gskgldriverprivate.h \
gskglprofilerprivate.h \
gskglrendererprivate.h \
gskprivate.h \
gskprofilerprivate.h \
gskrendererprivate.h \
gskrendernodeprivate.h \
gskroundedrectprivate.h \
gskshaderbuilderprivate.h \
gsktextureprivate.h
gsk_private_source_shaders = \
resources/glsl/blend.fs.glsl \
resources/glsl/blend.vs.glsl \
resources/glsl/blit.fs.glsl \
resources/glsl/blit.vs.glsl \
resources/glsl/color.vs.glsl \
resources/glsl/color.fs.glsl \
resources/glsl/es2_common.fs.glsl \
resources/glsl/es2_common.vs.glsl \
resources/glsl/gl3_common.fs.glsl \
resources/glsl/gl3_common.vs.glsl \
resources/glsl/gl_common.fs.glsl \
resources/glsl/gl_common.vs.glsl
gsk_public_source_c = \
gskrenderer.c \
gskrendernode.c \
gskrendernodeimpl.c \
gskroundedrect.c \
gsktexture.c
gsk_private_source_c = \
$(gsk_private_vulkan_source_c) \
gskcairoblur.c \
gskcairorenderer.c \
gskdebug.c \
gskgldriver.c \
gskglprofiler.c \
gskglrenderer.c \
gskprivate.c \
gskprofiler.c \
gskshaderbuilder.c
gsk_built_source_h = \
gskenumtypes.h \
gskresources.h
gsk_built_source_c = \
gskenumtypes.c \
gskresources.c
all_sources = \
$(gsk_public_source_h) \
$(gsk_public_source_c) \
$(gsk_private_source_h) \
$(gsk_private_source_c)
BUILT_SOURCES += $(gsk_built_source_h) $(gsk_built_source_c) gsk.resources.xml
gskenumtypes.h: $(gsk_public_source_h) gskenumtypes.h.template
$(AM_V_GEN) $(GLIB_MKENUMS) --template $(filter %.template,$^) $(filter-out %.template,$^) > \
gskenumtypes.h.tmp && \
mv gskenumtypes.h.tmp gskenumtypes.h
gskenumtypes.c: $(gsk_public_source_h) gskenumtypes.c.template
$(AM_V_GEN) $(GLIB_MKENUMS) --template $(filter %.template,$^) $(filter-out %.template,$^) > \
gskenumtypes.c.tmp && \
mv gskenumtypes.c.tmp gskenumtypes.c
EXTRA_DIST += gskenumtypes.h.template gskenumtypes.c.template
DISTCLEANFILES += gskenumtypes.h gskenumtypes.c
resource_files = \
$(gsk_private_source_shaders) \
$(gsk_private_vulkan_compiled_shaders) \
$(gsk_private_vulkan_shaders)
resources/vulkan/%-clip-rounded.frag.spv: resources/vulkan/%.frag
@if test -z "$(GLSLC)"; then echo "Missing glslc. See https://github.com/google/shaderc"; exit 1; fi
$(AM_V_GEN) $(GLSLC) -fshader-stage=fragment -DCLIP_ROUNDED_RECT -o $@.tmp $< && mv $@.tmp $@
resources/vulkan/%-clip-rounded.vert.spv: resources/vulkan/%.vert
@if test -z "$(GLSLC)"; then echo "Missing glslc. See https://github.com/google/shaderc"; exit 1; fi
$(AM_V_GEN) $(GLSLC) -fshader-stage=vertex -DCLIP_ROUNDED_RECT -o $@.tmp $< && mv $@.tmp $@
resources/vulkan/%-clip.frag.spv: resources/vulkan/%.frag
@if test -z "$(GLSLC)"; then echo "Missing glslc. See https://github.com/google/shaderc"; exit 1; fi
$(AM_V_GEN) $(GLSLC) -fshader-stage=fragment -DCLIP_RECT -o $@.tmp $< && mv $@.tmp $@
resources/vulkan/%-clip.vert.spv: resources/vulkan/%.vert
@if test -z "$(GLSLC)"; then echo "Missing glslc. See https://github.com/google/shaderc"; exit 1; fi
$(AM_V_GEN) $(GLSLC) -fshader-stage=vertex -DCLIP_RECT -o $@.tmp $< && mv $@.tmp $@
resources/vulkan/%.frag.spv: resources/vulkan/%.frag
@if test -z "$(GLSLC)"; then echo "Missing glslc. See https://github.com/google/shaderc"; exit 1; fi
$(AM_V_GEN) $(GLSLC) -fshader-stage=fragment -DCLIP_NONE -o $@.tmp $< && mv $@.tmp $@
resources/vulkan/%.vert.spv: resources/vulkan/%.vert
@if test -z "$(GLSLC)"; then echo "Missing glslc. See https://github.com/google/shaderc"; exit 1; fi
$(AM_V_GEN) $(GLSLC) -fshader-stage=vertex -DCLIP_NONE -o $@.tmp $< && mv $@.tmp $@
gsk.resources.xml: Makefile.am
$(AM_V_GEN) echo "<?xml version='1.0' encoding='UTF-8'?>" > $@; \
echo "<gresources>" >> $@; \
echo " <gresource prefix='/org/gtk/libgsk'>" >> $@; \
for f in $(gsk_private_source_shaders); do \
n=`basename $$f`; \
echo " <file alias='glsl/$$n'>resources/glsl/$$n</file>" >> $@; \
done; \
for f in $(gsk_private_vulkan_compiled_shaders); do \
n=`basename $$f`; \
echo " <file alias='vulkan/$$n'>resources/vulkan/$$n</file>" >> $@; \
done; \
for f in $(gsk_private_vulkan_shaders); do \
n=`basename $$f`; \
echo " <file alias='vulkan/$$n'>resources/vulkan/$$n</file>" >> $@; \
done; \
echo " </gresource>" >> $@; \
echo "</gresources>" >> $@
gskresources.h: gsk.resources.xml $(resource_files)
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $< \
--target=$@ --sourcedir=$(srcdir) --c-name _gsk --generate-header --manual-register
gskresources.c: gsk.resources.xml $(resource_files)
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $< \
--target=$@ --sourcedir=$(srcdir) --c-name _gsk --generate-source --manual-register
EXTRA_DIST += $(resource_files) $(gsk_private_vulkan_include_shaders)
CLEANFILES += gsk.resources.xml
DISTCLEANFILES += gskresources.h gskresources.c
libgsk_4_la_SOURCES = $(all_sources)
nodist_libgsk_4_la_SOURCES = $(gsk_built_source_h) $(gsk_built_source_c)
libgsk_4_la_CFLAGS = $(AM_CFLAGS) $(GDK_HIDDEN_VISIBILITY_CFLAGS)
libgsk_4_la_LIBADD = $(GSK_DEP_LIBS) $(top_builddir)/gdk/libgdk-4.la
noinst_LTLIBRARIES += libgsk-4.la
gskincludedir = $(includedir)/gtk-4.0/gsk
gskinclude_HEADERS = $(gsk_public_source_h) gskenumtypes.h gsk.h
-include $(INTROSPECTION_MAKEFILE)
INTROSPECTION_GIRS =
INTROSPECTION_SCANNER_ENV = CC="$(CC)"
INTROSPECTION_SCANNER_ARGS = \
--add-include-path=../gdk \
--add-include-path=../gsk \
--warn-all
INTROSPECTION_COMPILER_ARGS = \
--includedir=$(srcdir) \
--includedir=. \
--includedir=../gdk
if HAVE_INTROSPECTION
introspection_files = $(gsk_public_source_h) $(gsk_public_source_c)
Gsk-noinst-4.0.gir: libgsk-4.la Makefile
Gsk_noinst_4_0_gir_SCANNERFLAGS = \
--add-include-path=$(top_builddir)/gdk \
--include-uninstalled=$(top_builddir)/gdk/Gdk-noinst-4.0.gir \
--c-include="gsk/gsk.h"
Gsk_noinst_4_0_gir_LIBS = libgsk-4.la
Gsk_noinst_4_0_gir_FILES = $(introspection_files)
Gsk_noinst_4_0_gir_CFLAGS = $(AM_CPPFLAGS) $(GDK_HIDDEN_VISIBILITY_CFLAGS)
Gsk_noinst_4_0_gir_EXPORT_PACKAGES = gsk-4.0
Gsk_noinst_4_0_gir_INCLUDES = GObject-2.0 cairo-1.0 Graphene-1.0
INTROSPECTION_GIRS += Gsk-noinst-4.0.gir
noinst_DATA = $(INTROSPECTION_GIRS)
CLEANFILES += $(INTROSPECTION_GIRS)
endif
# ------------------- MSVC Build Items ----------------
MSVCPROJS = gsk-4
gsk_4_FILES = $(all_sources) $(gsk_built_source_c)
gsk_4_EXCLUDES = gskvulkan*.c
gsk_4_HEADERS_DIR = $(gskincludedir)
gsk_4_HEADERS_INST = $(gskinclude_HEADERS)
gsk_4_HEADERS_EXCLUDES = dummy
include $(top_srcdir)/win32/Makefile.msvcproj
$(top_builddir)/win32/gsk.enum.headers: Makefile $(gsk_public_source_h)
-$(RM) $(top_builddir)/win32/gsk.enum.headers
for F in $(gsk_public_source_h); do \
case $$F in \
*.h) \
echo $$F' ^'>>$(top_builddir)/win32/gsk.enum.headers \
;; \
esac \
done
if HAVE_INTROSPECTION
# Introspection Items for MSVC
MSVC_INTROSPECT_GIRS = Gsk-4.0.gir
BASE_MSVC_GIR_CFLAGS = \
$(GSK_CFLAG_DEFINES) \
-I../.. -I../../gdk -I.../../gsk
INTROSPECTION_INTERMEDIATE_ITEMS = \
$(top_builddir)/win32/Gsk-4.0.gir.msvc.introspect \
$(top_builddir)/win32/Gsk_4_0_gir_list \
$(top_builddir)/win32/gsk.enum.headers
Gsk_4_0_gir_MSVC_FILES = $(introspection_files)
Gsk_4_0_gir_MSVC_EXPORT_PACKAGES = $(Gsk_noinst_4_0_gir_EXPORT_PACKAGES)
Gsk_4_0_gir_MSVC_INCLUDE_GIRS = $(Gsk_noinst_4_0_gir_INCLUDES)
Gsk_4_0_gir_MSVC_LIBS = gtk-4
Gsk_4_0_gir_MSVC_CFLAGS = $(BASE_MSVC_GIR_CFLAGS)
Gsk_4_0_gir_MSVC_SCANNERFLAGS = \
--add-include-path=. \
--include-uninstalled=../gdk/Gdk-4.0.gir
include $(top_srcdir)/win32/Makefile.msvc-introspection
else
INTROSPECTION_INTERMEDIATE_ITEMS =
endif
dist-hook: \
$(top_builddir)/win32/vs12/gsk-4.vcxproj \
$(top_builddir)/win32/vs12/gsk-4.vs12.headers \
$(top_builddir)/win32/gsk.enum.headers \
$(INTROSPECTION_INTERMEDIATE_ITEMS)
-include $(top_srcdir)/git.mk

View File

@@ -0,0 +1,52 @@
#!/usr/bin/env python3
#
# Generate gsk.resources.xml
#
# Usage: gen-gsk-gresources-xml OUTPUT-FILE [INPUT-FILE1] [INPUT-FILE2] ...
import os, sys
source_shaders = []
vulkan_compiled_shaders = []
vulkan_shaders = []
for f in sys.argv[2:]:
if f.endswith('.glsl'):
source_shaders.append(f)
elif f.endswith('.spv'):
vulkan_compiled_shaders.append(f)
elif f.endswith('.frag') or f.endswith('.vert'):
vulkan_shaders.append(f)
else:
sys.exit(-1) # FIXME: error message
xml = '''<?xml version='1.0' encoding='UTF-8'?>
<gresources>
<gresource prefix='/org/gtk/libgsk'>
'''
for f in source_shaders:
xml += ' <file alias=\'glsl/{0}\'>resources/glsl/{0}</file>\n'.format(os.path.basename(f))
xml += '\n'
for f in vulkan_compiled_shaders:
xml += ' <file alias=\'vulkan/{0}\'>resources/vulkan/{0}</file>\n'.format(os.path.basename(f))
xml += '\n'
for f in vulkan_shaders:
xml += ' <file alias=\'vulkan/{0}\'>resources/vulkan/{0}</file>\n'.format(os.path.basename(f))
xml += '''
</gresource>
</gresources>'''
if len(sys.argv) > 1 and sys.argv[1] != '-':
outfile = sys.argv[1]
f = open(outfile, 'w')
f.write(xml)
f.close()
else:
print(xml)

View File

@@ -1,4 +1,5 @@
#include "gskresources.h"
#include "gskprivate.h"
static gpointer
register_resources (gpointer data)

View File

@@ -1,5 +1,7 @@
#include "config.h"
#include "gskprivate.h"
#include "gskvulkanrenderprivate.h"
#include "gskrendererprivate.h"

182
gsk/meson.build Normal file
View File

@@ -0,0 +1,182 @@
gsk_private_source_shaders = [
'resources/glsl/blend.fs.glsl',
'resources/glsl/blend.vs.glsl',
'resources/glsl/blit.fs.glsl',
'resources/glsl/blit.vs.glsl',
'resources/glsl/es2_common.fs.glsl',
'resources/glsl/es2_common.vs.glsl',
'resources/glsl/gl3_common.fs.glsl',
'resources/glsl/gl3_common.vs.glsl',
'resources/glsl/gl_common.fs.glsl',
'resources/glsl/gl_common.vs.glsl',
]
gsk_public_sources = files([
'gskrenderer.c',
'gskrendernode.c',
'gskrendernodeimpl.c',
'gskroundedrect.c',
'gsktexture.c',
])
gsk_private_sources = files([
'gskcairoblur.c',
'gskcairorenderer.c',
'gskdebug.c',
'gskgldriver.c',
'gskglprofiler.c',
'gskglrenderer.c',
'gskprivate.c',
'gskprofiler.c',
'gskshaderbuilder.c',
])
gsk_public_headers = files([
'gskenums.h',
'gskrenderer.h',
'gskrendernode.h',
'gskroundedrect.h',
'gsktexture.h',
'gsktypes.h',
])
install_headers(gsk_public_headers, 'gsk.h', subdir: 'gtk-4.0/gsk')
gsk_private_vulkan_shaders = []
gsk_private_vulkan_compiled_shaders = []
if have_vulkan
gsk_private_sources += files([
'gskvulkanblendpipeline.c',
'gskvulkanborderpipeline.c',
'gskvulkanboxshadowpipeline.c',
'gskvulkanbuffer.c',
'gskvulkanclip.c',
'gskvulkancolorpipeline.c',
'gskvulkancommandpool.c',
'gskvulkaneffectpipeline.c',
'gskvulkanlineargradientpipeline.c',
'gskvulkanimage.c',
'gskvulkanmemory.c',
'gskvulkanpipeline.c',
'gskvulkanpushconstants.c',
'gskvulkanrender.c',
'gskvulkanrenderer.c',
'gskvulkanrenderpass.c',
'gskvulkanshader.c',
])
# FIXME: what's up with these?
# gsk_private_vulkan_include_shaders = [
# 'resources/vulkan/clip.frag.glsl',
# 'resources/vulkan/clip.vert.glsl',
# 'resources/vulkan/constants.glsl',
# 'resources/vulkan/rounded-rect.glsl',
# ]
gsk_private_vulkan_fragment_shaders = [
'resources/vulkan/blend.frag',
'resources/vulkan/border.frag',
'resources/vulkan/color.frag',
'resources/vulkan/color-matrix.frag',
'resources/vulkan/inset-shadow.frag',
'resources/vulkan/linear.frag',
'resources/vulkan/outset-shadow.frag',
]
gsk_private_vulkan_vertex_shaders = [
'resources/vulkan/blend.vert',
'resources/vulkan/border.vert',
'resources/vulkan/color.vert',
'resources/vulkan/color-matrix.vert',
'resources/vulkan/inset-shadow.vert',
'resources/vulkan/linear.vert',
'resources/vulkan/outset-shadow.vert',
]
gsk_private_vulkan_shaders += gsk_private_vulkan_fragment_shaders
gsk_private_vulkan_shaders += gsk_private_vulkan_vertex_shaders
glslc = find_program('glslc', required: false)
foreach shader: gsk_private_vulkan_shaders
basefn = shader.split('.').get(0)
suffix = shader.split('.').get(1)
stage_arg = suffix == 'frag' ? '-fshader-stage=fragment' : '-fshader-stage=vertex'
spv_shader = '@0@.@1@.spv'.format(basefn, suffix)
if glslc.found()
compiled_shader = custom_target(spv_shader,
input: shader,
output: spv_shader,
command: [
glslc,
stage_arg,
'-DCLIP_NONE',
'-o', '@OUTPUT@'
])
endif
gsk_private_vulkan_compiled_shaders += spv_shader
gsk_private_vulkan_compiled_shaders += '@0@-clip.@1@.spv'.format(basefn, suffix)
gsk_private_vulkan_compiled_shaders += '@0@-clip-rounded.@1@.spv'.format(basefn, suffix)
endforeach
endif # have_vulkan
gsk_resources_xml = configure_file(output: 'gsk.resources.xml',
input: 'gen-gsk-gresources-xml.py',
command: [
find_program('gen-gsk-gresources-xml.py'),
'@OUTPUT@',
gsk_private_source_shaders,
gsk_private_vulkan_compiled_shaders,
gsk_private_vulkan_shaders
])
# FIXME: do we need this variable?
gsk_sources = gsk_public_sources + gsk_private_sources
gsk_enums = gnome.mkenums('gskenumtypes',
sources: gsk_public_headers,
c_template: 'gskenumtypes.c.template',
h_template: 'gskenumtypes.h.template',
install_dir: join_paths(gtk_includedir, 'gtk-4.0/gsk'),
install_header: true)
gskenum_h = gsk_enums[1]
gskresources = gnome.compile_resources('gskresources',
gsk_resources_xml,
source_dir: '.',
c_name: '_gsk',
extra_args: [ '--manual-register', ])
gsk_gen_headers = [ gskenum_h, ]
gsk_deps = [
graphene_dep,
pango_dep,
cairo_dep,
pixbuf_dep,
libgdk_dep,
]
libgsk = static_library('gsk',
sources: [ gsk_sources, gsk_enums, gskresources, ],
dependencies: gsk_deps,
include_directories: [ confinc, ],
c_args: [
'-DGSK_COMPILATION',
'-DG_LOG_DOMAIN="Gsk"',
'-DG_LOG_STRUCTURED=1',
] + common_cflags,
link_with: libgdk,
link_args: common_ldflags)
# We don't have link_with: to internal static libs here on purpose, just
# list the dependencies and generated headers and such, for use in the
# "public" libgtk_dep used by internal executables.
libgsk_dep = declare_dependency(depends: gsk_sources,
include_directories: [ confinc, ],
sources: [ gskenum_h, gskresources, ],
dependencies: libgdk_dep)

View File

@@ -1,62 +0,0 @@
#!/bin/sh
# Build zipfiles for GTK on Win32
ZIP=/tmp/gtk+-@GTK_VERSION@.zip
DEVZIP=/tmp/gtk+-dev-@GTK_VERSION@.zip
SHORTAPIVERSION=`echo @GTK_API_VERSION@ | tr -d '.'`
APIVERSIONMAJOR=`echo @GTK_API_VERSION@ | sed -e 's/\..*//'`
cd @prefix@
mkdir -p share/doc/gtk+-@GTK_VERSION@
cp -p @abs_srcdir@/COPYING share/doc/gtk+-@GTK_VERSION@
mkdir -p share/doc/gtk+-dev-@GTK_VERSION@
cp -p @abs_srcdir@/COPYING share/doc/gtk+-dev-@GTK_VERSION@
rm $ZIP
zip $ZIP -@ <<EOF
etc/gtk-@GTK_API_VERSION@/gtkrc
etc/gtk-@GTK_API_VERSION@/im-multipress.conf
bin/libgdk-win32-@GTK_API_VERSION@-@LT_CURRENT_MINUS_AGE@.dll
bin/libgtk-win32-@GTK_API_VERSION@-@LT_CURRENT_MINUS_AGE@.dll
bin/gtk-query-immodules-@GTK_API_VERSION@.exe
lib/gtk-@GTK_API_VERSION@/3.0.0/loaders.cache
lib/gtk-@GTK_API_VERSION@/3.0.0/immodules.cache
EOF
zip $ZIP lib/gtk-@GTK_API_VERSION@/@GTK_BINARY_VERSION@/loaders/*.dll lib/gtk-@GTK_API_VERSION@/@GTK_BINARY_VERSION@/immodules/*.dll lib/gtk-@GTK_API_VERSION@/@GTK_BINARY_VERSION@/engines/*.dll
zip $ZIP share/themes/Raleigh/gtk-@GTK_API_VERSION@/gtkrc
zip $ZIP share/themes/Default/gtk-@GTK_API_VERSION@-key/gtkrc
zip $ZIP share/themes/Emacs/gtk-@GTK_API_VERSION@-key/gtkrc
zip $ZIP share/themes/MS-Windows/gtk-@GTK_API_VERSION@/gtkrc
zip $ZIP share/locale/*/LC_MESSAGES/gtk${SHORTAPIVERSION}.mo
zip $ZIP share/locale/*/LC_MESSAGES/gtk${SHORTAPIVERSION}-properties.mo
zip -r -D $ZIP share/doc/gtk+-@GTK_VERSION@
rm $DEVZIP
zip -r -D $DEVZIP -@ <<EOF
include/gtk-@GTK_API_VERSION@
include/gail-1.0
bin/gtk-builder-convert
bin/gtk${APIVERSIONMAJOR}-demo.exe
bin/gtk-update-icon-cache.exe
share/man
lib/libgdk-win32-@GTK_API_VERSION@.dll.a
lib/gdk-win32-@GTK_API_VERSION@.lib
lib/libgtk-win32-@GTK_API_VERSION@.dll.a
lib/gtk-win32-@GTK_API_VERSION@.lib
lib/gailutil.lib
lib/gtk-@GTK_API_VERSION@/include
lib/pkgconfig
share/aclocal
share/gtk-@GTK_API_VERSION@
share/gtk-doc
EOF
zip -r $DEVZIP share/doc/gtk+-dev-@GTK_VERSION@

File diff suppressed because it is too large Load Diff

110
gtk/a11y/meson.build Normal file
View File

@@ -0,0 +1,110 @@
a11y_sources = files([
'gtkaccessibility.c',
'gtkaccessibilityutil.c',
'gtkbooleancellaccessible.c',
'gtkbuttonaccessible.c',
'gtkcellaccessible.c',
'gtkcellaccessibleparent.c',
'gtkcheckmenuitemaccessible.c',
'gtkcolorswatchaccessible.c',
'gtkcomboboxaccessible.c',
'gtkcontaineraccessible.c',
'gtkcontainercellaccessible.c',
'gtkentryaccessible.c',
'gtkexpanderaccessible.c',
'gtkflowboxaccessible.c',
'gtkflowboxchildaccessible.c',
'gtkframeaccessible.c',
'gtkiconviewaccessible.c',
'gtkimageaccessible.c',
'gtkimagecellaccessible.c',
'gtklabelaccessible.c',
'gtklevelbaraccessible.c',
'gtklinkbuttonaccessible.c',
'gtklistboxaccessible.c',
'gtklistboxrowaccessible.c',
'gtklockbuttonaccessible.c',
'gtkmenuaccessible.c',
'gtkmenubuttonaccessible.c',
'gtkmenuitemaccessible.c',
'gtkmenushellaccessible.c',
'gtknotebookaccessible.c',
'gtknotebookpageaccessible.c',
'gtkpanedaccessible.c',
'gtkpopoveraccessible.c',
'gtkprogressbaraccessible.c',
'gtkradiobuttonaccessible.c',
'gtkradiomenuitemaccessible.c',
'gtkrangeaccessible.c',
'gtkrenderercellaccessible.c',
'gtkscaleaccessible.c',
'gtkscalebuttonaccessible.c',
'gtkscrolledwindowaccessible.c',
'gtkspinbuttonaccessible.c',
'gtkspinneraccessible.c',
'gtkstackaccessible.c',
'gtkstatusbaraccessible.c',
'gtkswitchaccessible.c',
'gtktextcellaccessible.c',
'gtktextviewaccessible.c',
'gtktogglebuttonaccessible.c',
'gtktoplevelaccessible.c',
'gtktreeviewaccessible.c',
'gtkwidgetaccessible.c',
'gtkwindowaccessible.c',
])
a11y_headers = files([
'gtk-a11y-autocleanups.h',
'gtkbooleancellaccessible.h',
'gtkbuttonaccessible.h',
'gtkcellaccessible.h',
'gtkcellaccessibleparent.h',
'gtkcheckmenuitemaccessible.h',
'gtkcomboboxaccessible.h',
'gtkcontaineraccessible.h',
'gtkcontainercellaccessible.h',
'gtkentryaccessible.h',
'gtkexpanderaccessible.h',
'gtkflowboxaccessible.h',
'gtkflowboxchildaccessible.h',
'gtkframeaccessible.h',
'gtkiconviewaccessible.h',
'gtkimageaccessible.h',
'gtkimagecellaccessible.h',
'gtklabelaccessible.h',
'gtklevelbaraccessible.h',
'gtklinkbuttonaccessible.h',
'gtklistboxaccessible.h',
'gtklistboxrowaccessible.h',
'gtklockbuttonaccessible.h',
'gtkmenuaccessible.h',
'gtkmenubuttonaccessible.h',
'gtkmenuitemaccessible.h',
'gtkmenushellaccessible.h',
'gtknotebookaccessible.h',
'gtknotebookpageaccessible.h',
'gtkpanedaccessible.h',
'gtkpopoveraccessible.h',
'gtkprogressbaraccessible.h',
'gtkradiobuttonaccessible.h',
'gtkradiomenuitemaccessible.h',
'gtkrangeaccessible.h',
'gtkrenderercellaccessible.h',
'gtkscaleaccessible.h',
'gtkscalebuttonaccessible.h',
'gtkscrolledwindowaccessible.h',
'gtkspinbuttonaccessible.h',
'gtkspinneraccessible.h',
'gtkstackaccessible.h',
'gtkstatusbaraccessible.h',
'gtkswitchaccessible.h',
'gtktextcellaccessible.h',
'gtktextviewaccessible.h',
'gtktogglebuttonaccessible.h',
'gtktoplevelaccessible.h',
'gtktreeviewaccessible.h',
'gtkwidgetaccessible.h',
'gtkwindowaccessible.h',
])
install_headers(a11y_headers, subdir : 'gtk-4.0/gtk/a11y')

View File

@@ -0,0 +1,5 @@
gtk_deprecated_sources = files([])
gtk_deprecated_headers = files([])
install_headers(gtk_deprecated_headers, subdir: 'gtk-4.0/gtk/deprecated/')

View File

@@ -18,7 +18,8 @@
*/
#include <math.h>
#include "config.h"
/* Workaround for round() for non-GCC/non-C99 compilers */
#ifndef HAVE_ROUND
static inline double

View File

@@ -0,0 +1,90 @@
#!/usr/bin/env python3
#
# Generate gtk.gresources.xml
#
# Usage: gen-gtk-gresources-xml SRCDIR_GTK [OUTPUT-FILE]
import os, sys
srcdir = sys.argv[1]
xml = '''<?xml version='1.0' encoding='UTF-8'?>
<gresources>
<gresource prefix='/org/gtk/libgtk'>
'''
def get_files(subdir,extension):
return sorted(filter(lambda x: x.endswith((extension)), os.listdir(os.path.join(srcdir,subdir))))
xml += '''
<file>theme/Adwaita/gtk.css</file>
<file>theme/Adwaita/gtk-dark.css</file>
<file>theme/Adwaita/gtk-contained.css</file>
<file>theme/Adwaita/gtk-contained-dark.css</file>
'''
for f in get_files('theme/Adwaita/assets', '.png'):
xml += ' <file preprocess=\'to-pixdata\'>theme/Adwaita/assets/{0}</file>\n'.format(f)
xml += '\n'
for f in get_files('theme/Adwaita/assets', '.svg'):
xml += ' <file>theme/Adwaita/assets/{0}</file>\n'.format(f)
xml += '''
<file>theme/HighContrast/gtk.css</file>
<file alias='theme/HighContrastInverse/gtk.css'>theme/HighContrast/gtk-inverse.css</file>
<file>theme/HighContrast/gtk-contained.css</file>
<file>theme/HighContrast/gtk-contained-inverse.css</file>
'''
for f in get_files('theme/HighContrast/assets', '.png'):
xml += ' <file preprocess=\'to-pixdata\'>theme/HighContrast/assets/{0}</file>\n'.format(f)
xml += '\n'
for f in get_files('theme/HighContrast/assets', '.svg'):
xml += ' <file>theme/HighContrast/assets/{0}</file>\n'.format(f)
xml += '''
<file>theme/win32/gtk-win32-base.css</file>
<file>theme/win32/gtk.css</file>
'''
for f in get_files('cursor', '.png'):
xml += ' <file>cursor/{0}</file>\n'.format(f)
xml += '\n'
for f in get_files('gesture', '.symbolic.png'):
xml += ' <file alias=\'icons/64x64/actions/{0}\'>gesture/{0}</file>\n'.format(f)
xml += '\n'
for f in get_files('ui', '.ui'):
xml += ' <file preprocess=\'xml-stripblanks\'>ui/{0}</file>\n'.format(f)
xml += '\n'
for s in ['16x16', '22x22', '24x24', '32x32', '48x48']:
for c in ['actions', 'status']:
icons_dir = 'icons/{0}/{1}'.format(s,c)
if os.path.exists(os.path.join(srcdir,icons_dir)):
for f in get_files(icons_dir, '.png'):
xml += ' <file>icons/{0}/{1}/{2}</file>\n'.format(s,c,f)
for f in get_files('inspector', '.ui'):
xml += ' <file preprocess=\'xml-stripblanks\'>inspector/{0}</file>\n'.format(f)
xml += '''
<file>inspector/logo.png</file>
</gresource>
</gresources>'''
if len(sys.argv) > 2:
outfile = sys.argv[2]
f = open(outfile, 'w')
f.write(xml)
f.close()
else:
print(xml)

Some files were not shown because too many files have changed in this diff Show More