| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
This is useful for people who are not building from Git but still want
to avoid Autotools.
See: https://mail.gnome.org/archives/desktop-devel-list/2017-April/msg00091.html
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
See <http://mesonbuild.com/> for information about Meson.
Remaining issues:
* There's no `make dist` equivalent. We currently produce release
tarballs containing the output files of the Vala compiler. We need
to think through whether we can stop doing that. Shipping the
generated .c files does make the Vala preprocessor useless so
it would be good if we can stop.
* The Firefox, Thunderbird, Evolution and Nautilus plugins are not
built
* https://github.com/mesonbuild/meson/issues/671 -- means we can't
depend on tracker_common_dep in most places and have to manually
set link_with, include_directories and sources instead.
* https://github.com/mesonbuild/meson/issues/1469 -- without this we
have to install generated Vala headers using a script
* https://github.com/mesonbuild/meson/issues/1229 -- means adding
the #include guard to libtracker-sparql/tracker-generated-no-checks.h
is a pain
* The test suite has some spurious failures.
Here's a rough speed comparison.
Meson:
time sh -c 'meson .. --prefix=/opt/tracker-meson -D bash_completion=/opt/tracker-meson/share/bash-completion -Dsystemd_user_services=/opt/tracker-meson/lib/systemd/user -Ddbus_services=/opt/tracker-meson/share/dbus-1/services && ninja-build -j 4 && ninja-build install'
real 1m8.194s
user 2m16.962s
sys 0m20.532s
Autotools:
time sh -c './configure --prefix=/opt/tracker-autotools --with-bash-completion-dir=/opt/tracker-autotools/share/bash-completion --with-session-bus-services-dir=/opt/tracker-autotools/share/dbus-1/services --disable-nautilus-extension && make -j 4 && make install'
real 2m37.750s
user 4m37.214s
sys 0m54.806s
Plus 30+ seconds of ./autogen.sh first.
Note that Meson builds may fail if your source tree has generated files
from an Autotools build in there. If you see errors about duplicate
definitions, first try cleaning your source tree (use `git clean -dfx`,
but make sure you commit any work first!!)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We imported Makefile.decl from glib when it was using Subversion, a long time
ago. The script had a few issues (like running all unit tests twice on make
distcheck) and needed to be updated.
I've stolen a latest version from GLib's glib.mk and also their m4 macros
which are required to make this all work too.
This gives us the advantage of defining installable and uninstallable test
cases as well as test data, scripts and other useful stuff.
The debug output also looks quite good.
And distcheck passes :)
|
| |
|
|
|
|
|
|
| |
Calling g_thread_init with GLib 2.31 requires explicit dependency on
gthread-2.0. However, g_type_init initializes threads since GLib 2.24,
so it is no longer needed.
|
|
|
|
|
|
|
|
|
| |
Plugin loading in threads may be problematic in certain environments.
As we do not currently support external plugins anyway, this changes
libtracker-bus and libtracker-direct to be part of libtracker-sparql.
This will also slightly improve initialization performance.
Fixes NB#241659.
|
|
|
|
| |
Also standardise the width to 55 characters (unless line is longer)
|
| |
|
| |
|
|
|
|
|
|
|
| |
This required fixing the Vala generated files using --includedir and
also some tests/utils.
NOTE: At this point make distcheck passes with these changes
|
|
|
|
| |
instead
|
| |
|
| |
|
| |
|
| |
|
|
|