[gnome-builder/wip/build-cleanup: 2/2] build: modernize build system



commit 4acdc414bcc0e0fd9382a318dcc8961bff8a9db0
Author: Christian Hergert <christian hergert me>
Date:   Wed Apr 29 03:00:56 2015 -0700

    build: modernize build system
    
    This cleans up a bunch of the experiment that was in place before. While
    non-recursive, it was incredibly painful to manage.
    
    This does a more traditional, recursive automake setup. We can go back
    to non-recursive, but I'm not sure it's worth the effort with all the
    namespace issues.

 .gitignore                                         |   53 --
 AUTHORS                                            |   20 +-
 Makefile.am                                        |   98 ++-
 autogen.sh                                         |   55 +-
 build/autotools/.gitignore                         |    8 -
 build/autotools/autoconf.d/.gitignore              |   10 -
 build/autotools/autoconf.d/10_basic.post-config    |    4 -
 build/autotools/autoconf.d/20_debug.post-config    |    6 -
 .../autoconf.d/30_command_line_options.pre-am      |   41 --
 build/autotools/autoconf.d/50_appstream.post-lt    |    1 -
 build/autotools/autoconf.d/50_debug.post-am        |    1 -
 build/autotools/autoconf.d/50_dependencies.post-am |   33 -
 build/autotools/autoconf.d/50_glibtest.post-am     |    1 -
 build/autotools/autoconf.d/50_gsettings.post-lt    |    1 -
 build/autotools/autoconf.d/50_ltversion.post-lt    |    5 -
 .../autoconf.d/50_maintainer_flags.post-am         |   24 -
 build/autotools/autoconf.d/50_progs.post-am        |    3 -
 build/autotools/autoconf.d/50_silent_rules.post-am |    1 -
 build/autotools/autoconf.d/50_tracing.post-am      |    1 -
 build/autotools/autoconf.d/50_versions.pre-ac      |    7 -
 build/autotools/autoconf.d/60_clang.pre-am         |   32 -
 build/autotools/autoconf.d/60_gcc.pre-am           |    9 -
 build/autotools/autoconf.d/60_sunpro_c.pre-am      |    8 -
 build/autotools/autoconf.d/print_config.m4         |    9 -
 build/autotools/autoconf.d/setup_libtool.m4        |    5 -
 build/autotools/autogen.d/git-submodule.sh         |    4 -
 build/autotools/automake/AutomakeDocs.mk           |    3 -
 build/autotools/automake/ChangeLog.mk              |   10 -
 build/autotools/automake/Defaults.mk               |    3 -
 build/autotools/m4/.gitignore                      |    1 -
 build/autotools/m4/appstream-xml.m4                |   86 ---
 build/autotools/m4/ax_append_compile_flags.m4      |   65 --
 build/autotools/m4/ax_append_flag.m4               |   71 --
 build/autotools/m4/ax_check_compile_flag.m4        |   74 --
 build/autotools/m4/ax_require_defined.m4           |   37 -
 build/autotools/m4/glibtests.m4                    |   29 -
 build/autotools/m4/introspection.m4                |   96 ---
 configure.ac                                       |  346 ++++++++--
 data/.gitignore                                    |    4 -
 data/Makefile.am                                   |   29 +
 data/data.mk                                       |   28 -
 data/gsettings.mk                                  |   22 -
 data/gsettings/Makefile.am                         |   15 +
 ...xml.in => org.gnome.builder.editor.gschema.xml} |    0
 ... org.gnome.builder.editor.language.gschema.xml} |    0
 ... => org.gnome.builder.experimental.gschema.xml} |    0
 ...schema.xml.in => org.gnome.builder.gschema.xml} |    0
 ... => org.gnome.builder.project-tree.gschema.xml} |    0
 data/icons/Makefile.am                             |    2 +
 data/style-schemes/Makefile.am                     |   10 +
 git.mk                                             |  333 +++++++++
 .../autotools/automake/glib-tap.mk => glib-tap.mk  |    0
 libide/.gitignore                                  |    2 -
 libide/Makefile.am                                 |  729 ++++++++++----------
 libide/autotools/ide-autotools-project-miner.c     |    2 +-
 libide/autotools/ide-makecache.c                   |    8 +-
 libide/clang/ide-clang-completion-item.c           |    2 +-
 libide/clang/ide-clang-service.c                   |    4 +-
 libide/editorconfig/libeditorconfig/Makefile.am    |   33 +-
 libide/ide-back-forward-list.c                     |    4 +-
 libide/{ide-debug.h => ide-debug.h.in}             |   18 +-
 libide/ide-project.c                               |    2 +-
 libide/ide-source-view-movements.c                 |    2 +-
 libide/ide-source-view.c                           |    6 +-
 libide/ide-unsaved-files.c                         |    2 +-
 po/POTFILES.in                                     |   46 +-
 shared/Makefile.am                                 |   24 +
 {cut-n-paste => shared}/fuzzy.c                    |    0
 {cut-n-paste => shared}/fuzzy.h                    |    0
 {cut-n-paste => shared}/trie.c                     |    0
 {cut-n-paste => shared}/trie.h                     |    0
 src/Makefile.am                                    |  254 +++++++
 src/editor/gb-source-formatter.c                   |  351 ----------
 src/editor/gb-source-formatter.h                   |   63 --
 src/editor/gb-source-highlight-menu.c              |   83 ---
 src/editor/gb-source-highlight-menu.h              |   30 -
 src/gnome-builder.mk                               |  256 -------
 src/resources/editor/uncrustify/uncrustify.c.cfg   |  129 ----
 src/resources/gnome-builder.gresource.xml          |    2 -
 src/util/gb-version.h.in                           |   36 -
 tests/Makefile.am                                  |  104 +++
 tests/tests.h                                      |    7 -
 tests/tests.mk                                     |  105 ---
 tools/Makefile.am                                  |   62 +-
 84 files changed, 1629 insertions(+), 2441 deletions(-)
---
diff --git a/AUTHORS b/AUTHORS
index 0afaceb..ebe0418 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,25 +1,41 @@
+# Generated by Makefile. Do not edit.
+
 Alexander Larsson
 Alexandre Franke
+Antoine Jacoutot
+burningTyger
 Carlos Soriano
 Christian Hergert
 Cosimo Cecchi
+David King
 Dimitris Zenios
+Elad Alfassa
+Erick Pérez Castellanos
 Fabiano Fidêncio
+Florian
 Florian Bäuerle
 Florian Müllner
+Garrett Regier
+Giovanni Campagna
 Hashem Nasarat
-Hylke Bons
+Ignacio Casal Quinteiro
 Igor Gnatenko
 Jakub Steiner
 Jasper St. Pierre
 Jonathon Jongsma
+Lars Uebernickel
+Marek Černocký
 Mathieu Bridon
 Megh Parikh
 Michael Catanzaro
-Pete Travis
+Paolo Borelli
+Patrick Griffis
+Piotr Drąg
 Ray Strode
 Roberto Majadas
 Sebastien Lafargue
+Timm Bäder
 Ting-Wei Lan
 Trinh Anh Ngoc
 Yosef Or Boczko
+zilla hmt im
diff --git a/Makefile.am b/Makefile.am
index d59bd1c..f9fcabd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,47 +1,89 @@
-include build/autotools/automake/glib-tap.mk
-include build/autotools/automake/Defaults.mk
-include build/autotools/automake/ChangeLog.mk
-include build/autotools/automake/AutomakeDocs.mk
+ACLOCAL_AMFLAGS = -I build-aux ${ACLOCAL_FLAGS}
 
-ACLOCAL_AMFLAGS = -I build/autotools/m4 ${ACLOCAL_FLAGS}
-
-AM_CPPFLAGS =
-AM_LDFLAGS =
-
-include libide/Makefile.am
-include src/gnome-builder.mk
-include tools/Makefile.am
-include data/data.mk
-include data/gsettings.mk
-include tests/tests.mk
-
-# XXX: Not happy about this, need to come up with a good way to do
-# icon installation that doesn't require subdirs.
-SUBDIRS = . data/icons po
+SUBDIRS = . shared libide src data po tools tests
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = $(top_builddir)/data/libide-1.0.pc
 
-EXTRA_DIST += \
-       tap-driver.sh \
-       tap-test
-
 INTLTOOL_FILES = \
        intltool-extract.in \
        intltool-merge.in \
        intltool-update.in \
        $(NULL)
 
-EXTRA_DIST += \
+EXTRA_DIST = \
        $(INTLTOOL_FILES) \
        AUTHORS \
-       build/autotools/m4/introspection.m4 \
+       tap-driver.sh \
+       tap-test \
        $(NULL)
 
-DISTCHECK_CONFIGURE_FLAGS = --enable-introspection
+DISTCLEANFILES = \
+       intltool-extract \
+       intltool-merge \
+       intltool-update \
+       po/.intltool-merge-cache
+
+DISTCHECK_CONFIGURE_FLAGS = \
+       --enable-introspection \
+       --enable-gtk-doc \
+       --disable-tracing \
+       --enable-appstream-util \
+       $(NULL)
+
+GITIGNOREFILES = \
+       *.o \
+       aclocal.m4 \
+       build-aux \
+       ChangeLog \
+       config \
+       config.h.in \
+       gtk-doc.m4 \
+       gtk-doc.make \
+       INSTALL \
+       $(NULL)
+
+AUTHORS:
+       @if test -d "$(srcdir)/.git"; \
+       then \
+               echo Creating $@ && \
+               ( cd "$(top_srcdir)" && \
+                 echo '# Generated by Makefile. Do not edit.'; echo; \
+                 git log --no-merges --pretty=format:"%an" libide src \
+                 | sort | uniq ) > $  tmp \
+               && mv -f $  tmp $@ \
+               || ( rm -f $  tmp ; \
+                    echo Failed to generate $@ >&2 ); \
+       fi
+
+dist-hook:
+       @if test -d "$(srcdir)/.git"; \
+       then \
+               echo Creating ChangeLog && \
+               ( cd "$(top_srcdir)" && \
+                 echo '# Generated by Makefile. Do not edit.'; echo; \
+                 $(top_srcdir)/missing --run git log --stat ) > ChangeLog.tmp \
+               && mv -f ChangeLog.tmp $(top_distdir)/ChangeLog \
+               || ( rm -f ChangeLog.tmp ; \
+                    echo Failed to generate ChangeLog >&2 ); \
+       else \
+               echo A git clone is required to generate a ChangeLog >&2; \
+       fi
+
+.PHONY: AUTHORS
+
+run:
+       GI_TYPELIB_PATH=libide \
+       $(LIBTOOL) --mode=execute gdb --args src/gnome-builder
 
 debug:
-       G_DEBUG=fatal-criticals $(LIBTOOL) --mode=execute gdb --args gnome-builder test.c
+       GI_TYPELIB_PATH=libide \
+       G_DEBUG=fatal-criticals \
+       $(LIBTOOL) --mode=execute gdb --args src/gnome-builder
 
 valgrind:
-       G_DEBUG=fatal-criticals $(LIBTOOL) --mode=execute valgrind gnome-builder test.c
+       GI_TYPELIB_PATH=libide \
+       G_DEBUG=fatal-criticals \
+       $(LIBTOOL) --mode=execute valgrind src/gnome-builder
+
+-include $(top_srcdir)/git.mk
diff --git a/autogen.sh b/autogen.sh
index 0c267f4..3c6e5f9 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,44 +1,25 @@
 #!/bin/sh
+# Run this to generate all the initial makefiles, etc.
 
-#
-# Run this to generate all of the initial configure scripts and Makefiles.
-#
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
 
-# Switch to the source directory to initialize autoconf.
-olddir=`pwd`
-test -n "${srcdir}" || srcdir=`dirname "$0"`
-test -n "${srcdir}" || srcdir=.
-cd "${srcdir}"
-
-# Load all of our autogen scripts for various features.
-for script in build/autotools/autogen.d/*.sh; do
-    . "${script}"
-done
-
-# Discover the location of autoconf.
-AUTORECONF=`which autoreconf`
-if test -z "${AUTORECONF}"; then
-    echo "*** No autoreconf found, please install it ***"
+(test -f $srcdir/src/main.c) || {
+    echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
+    echo " top-level gnome-news directory"
     exit 1
-fi
-
-# Generate m4 sub-configure scripts for inclusion by configure.ac.
-for group in ac am config lt output print; do
-    for mode in pre post; do
-        FILE="build/autotools/autoconf.d/${mode}-${group}.m4"
-        cat build/autotools/autoconf.d/*.${mode}-${group} 2>/dev/null> ${FILE}
-    done
-done
+}
 
-# Run autoconf to build configure.
-intltoolize --automake --copy
-autoreconf --force --install --verbose -I build/autotools ${ACLOCAL_FLAGS} || exit $?
-
-# Remove that pesky autom4te.cache
-rm -rf autom4te.cache
+which gnome-autogen.sh || {
+    echo "You need to install gnome-common from the GNOME git"
+    exit 1
+}
 
-# Return to the original directory.
-cd "$olddir"
+touch ChangeLog
+touch INSTALL
 
-# Unless NOCONFIGURE is set, run configure too.
-test -n "$NOCONFIGURE" || "$srcdir/configure" "$@"
+REQUIRED_AUTOCONF_VERSION=2.59
+REQUIRED_AUTOMAKE_VERSION=1.9
+REQUIRED_INTLTOOL_VERSION=0.40.0
+REQUIRED_PKG_CONFIG_VERSION=0.22
+. gnome-autogen.sh
diff --git a/configure.ac b/configure.ac
index 92a12a0..da66c6a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,99 +1,325 @@
 AC_PREREQ([2.69])
 
-m4_define([project_name],[gnome-builder])
-m4_define([project_major_version],[3])
-m4_define([project_minor_version],[16])
-m4_define([project_micro_version],[3])
-m4_define([project_interface_age],[0])
-m4_define([project_bugreport_url],
+
+dnl ***********************************************************************
+dnl Define Versioning Information
+dnl ***********************************************************************
+m4_define([builder_major_version],[3])
+m4_define([builder_minor_version],[16])
+m4_define([builder_micro_version],[3])
+m4_define([builder_version],[builder_major_version.builder_minor_version.builder_micro_version])
+m4_define([builder_interface_age],[0])
+m4_define([builder_bugreport_url],
          [https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-builder])
+m4_define([builder_debug_default],
+          [m4_if(m4_eval(builder_minor_version % 2), [1], [yes], [minimum])])
+
 
-# Initialize autoconf and things that go with it.
-m4_include([build/autotools/autoconf.d/pre-ac.m4])
-AC_INIT([project_name],[project_version],[project_bugreport_url])
-AC_CONFIG_MACRO_DIRS([build/autotools/m4])
-AC_CONFIG_AUX_DIR([build/autotools])
-AC_SUBST(ACLOCAL_AMFLAGS, "-I build/autotools")
+dnl ***********************************************************************
+dnl Initialize Autoconf
+dnl ***********************************************************************
+AC_INIT([gnome-builder],[builder_version],[news_bugreport_url])
 AC_CONFIG_HEADERS([config.h])
-m4_include([build/autotools/autoconf.d/post-ac.m4])
+AC_CONFIG_SRCDIR([src/main.c])
+AC_CONFIG_MACRO_DIR([build-aux])
+AC_CONFIG_AUX_DIR([build-aux])
+AC_SUBST(ACLOCAL_AMFLAGS, "-I build-aux")
+
+
+dnl ***********************************************************************
+dnl Make Version Info Available to .in Files
+dnl ***********************************************************************
+MAJOR_VERSION=builder_major_version
+MINOR_VERSION=builder_minor_version
+MICRO_VERSION=builder_micro_version
+AC_SUBST(MAJOR_VERSION)
+AC_SUBST(MINOR_VERSION)
+AC_SUBST(MICRO_VERSION)
+
 
-# Initialize gettext
+dnl ***********************************************************************
+dnl Initialize Automake
+dnl ***********************************************************************
+AM_SILENT_RULES([yes])
+AM_INIT_AUTOMAKE([foreign subdir-objects tar-ustar no-dist-gzip dist-xz])
+AM_MAINTAINER_MODE([enable])
+
+
+dnl ***********************************************************************
+dnl Internationalization
+dnl ***********************************************************************
 IT_PROG_INTLTOOL([0.50.1])
 GETTEXT_PACKAGE=AC_PACKAGE_TARNAME
 AC_SUBST(GETTEXT_PACKAGE)
-AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["$GETTEXT_PACKAGE"],
-                   [GETTEXT package name])
+AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["$GETTEXT_PACKAGE"], [GETTEXT package name])
 AM_GLIB_GNU_GETTEXT
 
-# Initlize libtool and things that go with it.
-m4_include([build/autotools/autoconf.d/pre-lt.m4])
-m4_include([build/autotools/autoconf.d/setup_libtool.m4])
-LT_INIT
-m4_include([build/autotools/autoconf.d/post-lt.m4])
-
-# Initialize automake and things that go with it.
-# We would put AM initialization in a file but autoreconf requires it.
-m4_include([build/autotools/autoconf.d/pre-am.m4])
-AM_INIT_AUTOMAKE([foreign subdir-objects tar-ustar no-dist-gzip dist-xz])
-AM_MAINTAINER_MODE([enable])
-m4_include([build/autotools/autoconf.d/post-am.m4])
 
+dnl ***********************************************************************
+dnl Check for Required Programs
+dnl ***********************************************************************
 AC_PROG_CC
 AM_PROG_CC_C_O
+AC_PROG_INSTALL
 AC_PROG_CXX
+AC_PATH_PROG([GLIB_GENMARSHAL], [glib-genmarshal])
+AC_PATH_PROG([GLIB_MKENUMS], [glib-mkenums])
+AC_PATH_PROG([GLIB_COMPILE_RESOURCES], [glib-compile-resources])
+AM_PATH_GLIB_2_0
 AC_HEADER_STDC
 
-LT_PREREQ([2.2.0])
+
+dnl ***********************************************************************
+dnl Find Path of GNU Make
+dnl ***********************************************************************
+AC_CHECK_PROG([GMAKE], [gmake], [gmake], [make])
+AC_DEFINE_UNQUOTED([GNU_MAKE_NAME], ["$GMAKE"], [Name of GNU make on this system])
+
+
+dnl ***********************************************************************
+dnl Setup Debug and Tracing Support
+dnl ***********************************************************************
+AC_ARG_ENABLE(tracing,
+              AS_HELP_STRING([--enable-tracing=@<:@no/yes@:>@],
+                             [add extra debugging information @<:@default=no@:>@]),
+              ,
+              enable_tracing=no)
+AS_IF([test "x$enable_tracing" = "xyes"],[enable_debug=yes ENABLE_TRACING=1],[ENABLE_TRACING=0])
+AC_SUBST(ENABLE_TRACING)
+
+AC_ARG_ENABLE(debug,
+              AS_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
+                             [turn on debugging @<:@default=builder_debug_default@:>@]),
+              ,
+              enable_debug=builder_debug_default)
+AS_CASE(["x$enable_debug"],
+        [yes],[
+            ENABLE_DEBUG=1
+        ],
+        [minimum],[
+            ENABLE_DEBUG=1
+            DEBUG_CFLAGS="$DEBUG_CFLAGS -DG_DISABLE_CAST_CHECKS"
+        ],
+        [no],[
+            DEBUG_CFLAGS="$DEBUG_CFLAGS -DG_DISABLE_ASSERT"
+            DEBUG_CFLAGS="$DEBUG_CFLAGS -DG_DISABLE_CHECKS"
+            DEBUG_CFLAGS="$DEBUG_CFLAGS -DG_DISABLE_CAST_CHECKS"
+        ],
+        [])
+AC_SUBST(DEBUG_CFLAGS)
+
+
+dnl ***********************************************************************
+dnl Check for Required Packages
+dnl ***********************************************************************
+m4_define([gtk_required_version], [3.16.1])
+m4_define([glib_required_version], [2.44.0])
+m4_define([gtksourceview_required_version], [3.16.1])
+m4_define([ggit_required_version], [0.22.6])
+m4_define([gjs_required_version], [1.42.0])
+m4_define([pygobject_required_version], [3.0.0])
+m4_define([devhelp_required_version], [3.16.0])
+
+PKG_CHECK_MODULES(BUILDER, [gtk+-3.0 >= gtk_required_version
+                            gio-2.0 >= glib_required_version
+                            gtksourceview-3.0 >= gtksourceview_required_version
+                            libdevhelp-3.0 >= devhelp_required_version
+                            libgit2-glib-1.0 >= ggit_required_version])
+
+PKG_CHECK_MODULES(LIBIDE,  [gio-2.0 >= glib_required_version
+                            gio-unix-2.0 >= glib_required_version
+                            gtksourceview-3.0 >= gtksourceview_required_version
+                            libdevhelp-3.0 >= devhelp_required_version
+                            libgit2-glib-1.0 >= ggit_required_version
+                            gjs-1.0 >= gjs_required_version
+                            gjs-internals-1.0 >= gjs_required_version
+                            pygobject-3.0 >= pygobject_required_version])
+
+PKG_CHECK_MODULES(SHARED,  [glib-2.0 >= glib_required_version])
+
+
+dnl ***********************************************************************
+dnl Check for Clang, Required for C/C++ Diagnostics
+dnl ***********************************************************************
+AC_CHECK_PROGS([LLVM_CONFIG], [llvm-config-3.5 llvm-config35 llvm-config], [])
+AS_IF([test "x$LLVM_CONFIG" = "x"],[
+       AC_MSG_ERROR([Failed to locate the llvm-config program. Please install llvm-devel.])
+])
+CLANG_INCLUDEDIR=`$LLVM_CONFIG --includedir`
+CLANG_CFLAGS="-I$CLANG_INCLUDEDIR"
+CLANG_LDFLAGS=`$LLVM_CONFIG --ldflags`
+AC_SUBST([CLANG_INCLUDEDIR])
+AC_SUBST([CLANG_CFLAGS])
+AC_SUBST([CLANG_LDFLAGS])
+CPPFLAGS_SAVE=${CPPFLAGS}
+CPPFLAGS=-I${CLANG_INCLUDEDIR}
+AC_CHECK_HEADER([clang-c/Index.h], [], [
+    AC_MSG_ERROR([Failed to locage clang-c/Index.h. Please install clang-devel.])
+])
+CPPFLAGS=${CPPFLAGS_SAVE}
+
+
+dnl ***********************************************************************
+dnl Check for Required Python
+dnl ***********************************************************************
+AC_PATH_TOOL(PYTHON3_CONFIG, "python3-config")
+if test -z "${PYTHON3_CONFIG}"; then
+  AC_MSG_ERROR([Failed to locate python3-config.])
+fi
+LIBIDE_CFLAGS="${LIBIDE_CFLAGS} `${PYTHON3_CONFIG} --cflags`"
+LIBIDE_LIBS="${LIBIDE_LIBS} `${PYTHON3_CONFIG} --libs`"
+LIBIDE_LDFLAGS="${LIBIDE_LDFLAGS} `${PYTHON3_CONFIG} --ldflags`"
+
+
+dnl ***********************************************************************
+dnl Initialize Libtool
+dnl ***********************************************************************
+LT_PREREQ([2.2])
 LT_INIT
 
+
+
+dnl ***********************************************************************
+dnl Additional C Compiler Flags
+dnl ***********************************************************************
 AX_APPEND_COMPILE_FLAGS([ \
        -Wall \
-       -Wextra \
-       -Wno-unused-parameter \
-       -Wno-sign-compare \
-       -Wno-missing-field-initializers \
-       -Wnested-externs \
-       -Wpointer-arith \
-       -Winit-self \
+       -Wcast-align \
        -Wdeclaration-after-statement \
+       -Wempty-body \
        -Werror=format-security \
        -Werror=format=2 \
+       -Wextra \
+       -Wformat \
+       -Wformat-nonliteral \
+       -Wformat-security \
+       -Winit-self \
+       -Wmissing-include-dirs \
+       -Wnested-externs \
+       -Wno-missing-field-initializers \
+       -Wno-sign-compare \
+       -Wno-strict-aliasing \
+       -Wno-uninitialized \
+       -Wno-unused-parameter \
+       -Wpointer-arith \
+       -Wredundant-decls \
+       -Wreturn-type \
+       -Wshadow \
+       -Wswitch-default \
+       -Wswitch-enum \
+       -Wundef \
+       -Wuninitialized \
 ])
-
 AC_C_CONST
 
-# If we are using gtk-doc, enable it.
-# We would put this in a file but gtkdocize requires it.
-m4_ifdef([GTK_DOC_CHECK],[
+
+dnl ***********************************************************************
+dnl Desktop Settings Support
+dnl ***********************************************************************
+GLIB_GSETTINGS
+
+
+dnl ***********************************************************************
+dnl Setup Introspection
+dnl ***********************************************************************
+GOBJECT_INTROSPECTION_CHECK([1.30.0])
+
+
+dnl ***********************************************************************
+dnl GLib Unit Testing Support
+dnl ***********************************************************************
+GLIB_TESTS
+
+
+dnl ***********************************************************************
+dnl Support for gtk-doc Documentation Engine
+dnl ***********************************************************************
 GTK_DOC_CHECK
-])
 
-MAJOR_VERSION=project_major_version
-MINOR_VERSION=project_minor_version
-MICRO_VERSION=project_micro_version
 
-AC_SUBST(MAJOR_VERSION)
-AC_SUBST(MINOR_VERSION)
-AC_SUBST(MICRO_VERSION)
+dnl ***********************************************************************
+dnl Rules for Generating AppStream Information
+dnl ***********************************************************************
+APPSTREAM_XML
+
+
+dnl ***********************************************************************
+dnl Setup Various Compiler Optimizations
+dnl ***********************************************************************
+AC_MSG_CHECKING([whether to enable optimized builds])
+AC_ARG_ENABLE(optimizations, 
+              AC_HELP_STRING([--enable-optimizations],
+                             [turn on build-time optimizations [default=yes]]),
+              [enable_optimizations=$enableval],
+              [AS_IF([test "x$enable_debug" = "xyes"],
+                    [enable_optimizations="no"],
+                    [enable_optimizations="yes"])])
+AC_MSG_RESULT([$enable_optimizations])
+AC_ARG_ENABLE(lto,
+              AC_HELP_STRING([--enable-lto],
+                             [turn on link time optimizations [default=no]]),
+              [enable_lto=$enableval],
+              [enable_lto=no])
+OPTIMIZE_CFLAGS=""
+OPTIMIZE_LDFLAGS=""
+# Enable -Bsymbolic
+AS_IF([test "$enable_optimizations" != "no"],
+      [AX_CHECK_LINK_FLAG([-Wl,-Bsymbolic],
+                          [OPTIMIZE_LDFLAGS="$OPTIMIZE_LDFLAGS -Wl,-Bsymbolic"])])
+# Enable Link-Time-Optimization
+AS_IF([test "$enable_lto" = "yes"],
+      [AS_IF([test "$c_compiler" = "gcc"],
+             [
+                 AX_CHECK_COMPILE_FLAG([-flto], [OPTIMIZE_CFLAGS="$OPTIMIZE_CFLAGS -flto"])
+                 AX_CHECK_LINK_FLAG([-flto], [OPTIMIZE_LDFLAGS="$OPTIMIZE_LDFLAGS -flto"])
+             ],
+             [AC_MSG_WARN([LTO is not yet available on your compiler.])])])
+AC_SUBST(OPTIMIZE_CFLAGS)
+AC_SUBST(OPTIMIZE_LDFLAGS)
+
 
-# Define our known config files.
+dnl ***********************************************************************
+dnl Process .in Files
+dnl ***********************************************************************
 AC_CONFIG_FILES([
        Makefile
-       src/util/gb-version.h
+
+       libide/ide-debug.h
+       libide/Makefile
+
+       data/Makefile
+       data/gsettings/Makefile
        data/icons/Makefile
        data/libide-1.0.pc
-       data/gsettings/org.gnome.builder.gschema.xml
-       data/gsettings/org.gnome.builder.editor.gschema.xml
-       data/gsettings/org.gnome.builder.editor.language.gschema.xml
-       data/gsettings/org.gnome.builder.experimental.gschema.xml
-       data/gsettings/org.gnome.builder.project-tree.gschema.xml
+       data/style-schemes/Makefile
+
        po/Makefile.in
-])
 
-# Last change to configure things and write configuration files.
-m4_include([build/autotools/autoconf.d/pre-output.m4])
+       shared/Makefile
+
+       src/Makefile
+
+       tests/Makefile
+
+       tools/Makefile
+])
 AC_OUTPUT
-m4_include([build/autotools/autoconf.d/post-output.m4])
 
-# Print configuration information.
-m4_include([build/autotools/autoconf.d/print_config.m4])
+
+echo ""
+echo " ${PACKAGE} - ${VERSION}"
+echo ""
+echo " Options"
+echo ""
+echo "  Prefix ............................... : ${prefix}"
+echo "  Libdir ............................... : ${libdir}"
+echo "  Optimized Build ...................... : ${enable_optimizations}"
+echo "  Link-Time-Optimization ............... : ${enable_lto}"
+echo ""
+echo " Development Options"
+echo ""
+echo "  Enable Debug ......................... : ${enable_debug}"
+echo "  Enable Tracing ....................... : ${enable_tracing}"
+echo "  Build API reference ...................: ${enable_gtk_doc}"
+echo "  Enable Test Suite .....................: ${enable_glibtest}"
+echo ""
diff --git a/data/Makefile.am b/data/Makefile.am
new file mode 100644
index 0000000..ad78522
--- /dev/null
+++ b/data/Makefile.am
@@ -0,0 +1,29 @@
+SUBDIRS = gsettings icons style-schemes .
+
+
+appdatadir = $(datadir)/appdata
+appdata_DATA = org.gnome.Builder.appdata.xml
+
+# Desktop launcher and description file.
+desktopdir = $(datadir)/applications
+desktop_DATA = org.gnome.Builder.desktop
+
+# D-Bus service file.
+servicedir = $(datadir)/dbus-1/services
+service_in_files = org.gnome.Builder.service.in
+service_DATA = $(service_in_files:.service.in=.service)
+
+org.gnome.Builder.service: org.gnome.Builder.service.in
+       $(AM_V_GEN)     \
+               [ -d $(@D) ] || $(mkdir_p) $(@D) ; \
+               sed -e "s|\ bindir\@|$(bindir)|" $< > $  tmp && mv $  tmp $@
+
+EXTRA_DIST = \
+       $(appdata_DATA) \
+       $(desktop_DATA) \
+       $(service_in_files) \
+       $(NULL)
+
+CLEANFILES = $(service_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/data/gsettings/Makefile.am b/data/gsettings/Makefile.am
new file mode 100644
index 0000000..fc35210
--- /dev/null
+++ b/data/gsettings/Makefile.am
@@ -0,0 +1,15 @@
+gsettings_SCHEMAS = \
+       org.gnome.builder.gschema.xml \
+       org.gnome.builder.editor.gschema.xml \
+       org.gnome.builder.editor.language.gschema.xml \
+       org.gnome.builder.experimental.gschema.xml \
+       org.gnome.builder.project-tree.gschema.xml \
+       $(NULL)
+
+.PRECIOUS: $(gsettings_SCHEMAS)
+
+ GSETTINGS_RULES@
+
+EXTRA_DIST = $(gsettings_SCHEMAS)
+
+-include $(top_srcdir)/git.mk
diff --git a/data/gsettings/org.gnome.builder.editor.gschema.xml.in 
b/data/gsettings/org.gnome.builder.editor.gschema.xml
similarity index 100%
rename from data/gsettings/org.gnome.builder.editor.gschema.xml.in
rename to data/gsettings/org.gnome.builder.editor.gschema.xml
diff --git a/data/gsettings/org.gnome.builder.editor.language.gschema.xml.in 
b/data/gsettings/org.gnome.builder.editor.language.gschema.xml
similarity index 100%
rename from data/gsettings/org.gnome.builder.editor.language.gschema.xml.in
rename to data/gsettings/org.gnome.builder.editor.language.gschema.xml
diff --git a/data/gsettings/org.gnome.builder.experimental.gschema.xml.in 
b/data/gsettings/org.gnome.builder.experimental.gschema.xml
similarity index 100%
rename from data/gsettings/org.gnome.builder.experimental.gschema.xml.in
rename to data/gsettings/org.gnome.builder.experimental.gschema.xml
diff --git a/data/gsettings/org.gnome.builder.gschema.xml.in b/data/gsettings/org.gnome.builder.gschema.xml
similarity index 100%
rename from data/gsettings/org.gnome.builder.gschema.xml.in
rename to data/gsettings/org.gnome.builder.gschema.xml
diff --git a/data/gsettings/org.gnome.builder.project-tree.gschema.xml.in 
b/data/gsettings/org.gnome.builder.project-tree.gschema.xml
similarity index 100%
rename from data/gsettings/org.gnome.builder.project-tree.gschema.xml.in
rename to data/gsettings/org.gnome.builder.project-tree.gschema.xml
diff --git a/data/icons/Makefile.am b/data/icons/Makefile.am
index 7ef6d6b..6f911ef 100644
--- a/data/icons/Makefile.am
+++ b/data/icons/Makefile.am
@@ -45,3 +45,5 @@ update-icon-cache:
                echo "*** Icon cache not updated.  After (un)install, run this:"; \
                echo "***   $(gtk_update_icon_cache)"; \
        fi
+
+-include $(top_srcdir)/git.mk
diff --git a/data/style-schemes/Makefile.am b/data/style-schemes/Makefile.am
new file mode 100644
index 0000000..9df6148
--- /dev/null
+++ b/data/style-schemes/Makefile.am
@@ -0,0 +1,10 @@
+styledir = $(datadir)/gtksourceview-3.0/styles/
+
+style_DATA = \
+       builder.xml \
+       builder-dark.xml \
+       $(NULL)
+
+EXTRA_DIST = $(style_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/git.mk b/git.mk
new file mode 100644
index 0000000..9d4bf25
--- /dev/null
+++ b/git.mk
@@ -0,0 +1,333 @@
+# git.mk, a small Makefile to autogenerate .gitignore files
+# for autotools-based projects.
+#
+# 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:
+GIT_MK_URL = https://raw.githubusercontent.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 \
+               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"
+
+git-mk-update:
+       wget $(GIT_MK_URL) -O $(top_srcdir)/git.mk
+
+.PHONY: git-all git-mk-install git-mk-update
+
+
+
+###############################################################################
+# 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; \
+               if test -f $(srcdir)/po/Makefile.in.in; then \
+                       for x in \
+                               po/Makefile.in.in \
+                               po/Makefile.in.in~ \
+                               po/Makefile.in \
+                               po/Makefile \
+                               po/Makevars.template \
+                               po/POTFILES \
+                               po/Rules-quot \
+                               po/stamp-it \
+                               po/.intltool-merge-cache \
+                               "po/*.gmo" \
+                               "po/*.header" \
+                               "po/*.mo" \
+                               "po/*.sed" \
+                               "po/*.sin" \
+                               po/$(GETTEXT_PACKAGE).pot \
+                               intltool-extract.in \
+                               intltool-merge.in \
+                               intltool-update.in \
+                       ; do echo "/$$x"; done; \
+               fi; \
+               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) \
+                       $(TESTS:=.test) \
+                       "*.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
diff --git a/build/autotools/automake/glib-tap.mk b/glib-tap.mk
similarity index 100%
rename from build/autotools/automake/glib-tap.mk
rename to glib-tap.mk
diff --git a/libide/Makefile.am b/libide/Makefile.am
index 661c2b6..baf8aa0 100644
--- a/libide/Makefile.am
+++ b/libide/Makefile.am
@@ -1,338 +1,333 @@
-include libide/editorconfig/libeditorconfig/Makefile.am
+include editorconfig/libeditorconfig/Makefile.am
 
-lib_LTLIBRARIES += libide-1.0.la
+lib_LTLIBRARIES = libide-1.0.la
 
 libide_1_0_la_public_sources = \
-       libide/autotools/ide-autotools-build-system.c \
-       libide/autotools/ide-autotools-build-system.h \
-       libide/autotools/ide-autotools-build-task.c \
-       libide/autotools/ide-autotools-build-task.h \
-       libide/autotools/ide-autotools-builder.c \
-       libide/autotools/ide-autotools-builder.h \
-       libide/autotools/ide-autotools-project-miner.c \
-       libide/autotools/ide-autotools-project-miner.h \
-       libide/c/ide-c-indenter.c \
-       libide/c/ide-c-indenter.h \
-       libide/c/ide-c-language.c \
-       libide/c/ide-c-language.h \
-       libide/clang/ide-clang-diagnostic-provider.c \
-       libide/clang/ide-clang-diagnostic-provider.h \
-       libide/clang/ide-clang-highlighter.c \
-       libide/clang/ide-clang-highlighter.h \
-       libide/clang/ide-clang-private.h \
-       libide/clang/ide-clang-service.c \
-       libide/clang/ide-clang-service.h \
-       libide/clang/ide-clang-symbol-resolver.c \
-       libide/clang/ide-clang-symbol-resolver.h \
-       libide/clang/ide-clang-translation-unit.c \
-       libide/clang/ide-clang-translation-unit.h \
-       libide/devhelp/ide-devhelp-search-provider.c \
-       libide/devhelp/ide-devhelp-search-provider.h \
-       libide/devhelp/ide-devhelp-search-result.c \
-       libide/devhelp/ide-devhelp-search-result.h \
-       libide/directory/ide-directory-build-system.c \
-       libide/directory/ide-directory-build-system.h \
-       libide/directory/ide-directory-vcs.c \
-       libide/directory/ide-directory-vcs.h \
-       libide/editorconfig/ide-editorconfig-file-settings.c \
-       libide/editorconfig/ide-editorconfig-file-settings.h \
-       libide/git/ide-git-remote-callbacks.c \
-       libide/git/ide-git-remote-callbacks.h \
-       libide/git/ide-git-search-provider.c \
-       libide/git/ide-git-search-provider.h \
-       libide/git/ide-git-search-result.c \
-       libide/git/ide-git-search-result.h \
-       libide/git/ide-git-vcs.c \
-       libide/git/ide-git-vcs.h \
-       libide/gjs/ide-gjs-script.cpp \
-       libide/gjs/ide-gjs-script.h \
-       libide/gsettings/ide-gsettings-file-settings.c \
-       libide/gsettings/ide-gsettings-file-settings.h \
-       libide/html/ide-html-completion-provider.c \
-       libide/html/ide-html-completion-provider.h \
-       libide/html/ide-html-language.c \
-       libide/html/ide-html-language.h \
-       libide/ide-back-forward-item.c \
-       libide/ide-back-forward-item.h \
-       libide/ide-back-forward-list.c \
-       libide/ide-back-forward-list.h \
-       libide/ide-buffer-change-monitor.c \
-       libide/ide-buffer-change-monitor.h \
-       libide/ide-buffer-manager.c \
-       libide/ide-buffer-manager.h \
-       libide/ide-buffer.c \
-       libide/ide-buffer.h \
-       libide/ide-build-result.c \
-       libide/ide-build-result.h \
-       libide/ide-build-system.c \
-       libide/ide-build-system.h \
-       libide/ide-builder.c \
-       libide/ide-builder.h \
-       libide/ide-context.c \
-       libide/ide-context.h \
-       libide/ide-debugger.c \
-       libide/ide-debugger.h \
-       libide/ide-deployer.c \
-       libide/ide-deployer.h \
-       libide/ide-device-manager.c \
-       libide/ide-device-manager.h \
-       libide/ide-device-provider.c \
-       libide/ide-device-provider.h \
-       libide/ide-device.c \
-       libide/ide-device.h \
-       libide/ide-diagnostic-provider.c \
-       libide/ide-diagnostic-provider.h \
-       libide/ide-diagnostic.c \
-       libide/ide-diagnostic.h \
-       libide/ide-diagnostician.c \
-       libide/ide-diagnostician.h \
-       libide/ide-diagnostics.c \
-       libide/ide-diagnostics.h \
-       libide/ide-executable.c \
-       libide/ide-executable.h \
-       libide/ide-executer.c \
-       libide/ide-executer.h \
-       libide/ide-file-settings.c \
-       libide/ide-file-settings.h \
-       libide/ide-file.c \
-       libide/ide-file.h \
-       libide/ide-fixit.c \
-       libide/ide-fixit.h \
-       libide/ide-global.h \
-       libide/ide-highlight-index.c \
-       libide/ide-highlight-index.h \
-       libide/ide-highlighter.c \
-       libide/ide-highlighter.h \
-       libide/ide-indent-style.c \
-       libide/ide-indent-style.h \
-       libide/ide-indenter.c \
-       libide/ide-indenter.h \
-       libide/ide-language.c \
-       libide/ide-language.h \
-       libide/ide-log.c \
-       libide/ide-log.h \
-       libide/ide-macros.h \
-       libide/ide-object.c \
-       libide/ide-object.h \
-       libide/ide-pattern-spec.c \
-       libide/ide-pattern-spec.h \
-       libide/ide-process.c \
-       libide/ide-process.h \
-       libide/ide-progress.c \
-       libide/ide-progress.h \
-       libide/ide-project-file.c \
-       libide/ide-project-file.h \
-       libide/ide-project-files.c \
-       libide/ide-project-files.h \
-       libide/ide-project-info.c \
-       libide/ide-project-info.h \
-       libide/ide-project-item.c \
-       libide/ide-project-item.h \
-       libide/ide-project-miner.c \
-       libide/ide-project-miner.h \
-       libide/ide-project.c \
-       libide/ide-project.h \
-       libide/ide-recent-projects.c \
-       libide/ide-recent-projects.h \
-       libide/ide-refactory.c \
-       libide/ide-refactory.h \
-       libide/ide-script-manager.c \
-       libide/ide-script-manager.h \
-       libide/ide-script.c \
-       libide/ide-script.h \
-       libide/ide-search-context.c \
-       libide/ide-search-context.h \
-       libide/ide-search-engine.c \
-       libide/ide-search-engine.h \
-       libide/ide-search-provider.c \
-       libide/ide-search-provider.h \
-       libide/ide-search-result.c \
-       libide/ide-search-result.h \
-       libide/ide-service.c \
-       libide/ide-service.h \
-       libide/ide-source-location.c \
-       libide/ide-source-location.h \
-        libide/ide-source-map.c \
-        libide/ide-source-map.h \
-       libide/ide-source-range.c \
-       libide/ide-source-range.h \
-       libide/ide-source-snippet-chunk.c \
-       libide/ide-source-snippet-chunk.h \
-       libide/ide-source-snippet-context.c \
-       libide/ide-source-snippet-context.h \
-       libide/ide-source-snippet.c \
-       libide/ide-source-snippet.h \
-       libide/ide-source-snippets-manager.c \
-       libide/ide-source-snippets-manager.h \
-       libide/ide-source-snippets.c \
-       libide/ide-source-snippets.h \
-       libide/ide-source-view-mode.c \
-       libide/ide-source-view-mode.h \
-       libide/ide-source-view.c \
-       libide/ide-source-view.h \
-       libide/ide-symbol-resolver.c \
-       libide/ide-symbol-resolver.h \
-       libide/ide-symbol.c \
-       libide/ide-symbol.h \
-       libide/ide-target.c \
-       libide/ide-target.h \
-       libide/ide-test-case.c \
-       libide/ide-test-case.h \
-       libide/ide-test-suite.c \
-       libide/ide-test-suite.h \
-        libide/ide-thread-pool.c \
-        libide/ide-thread-pool.h \
-       libide/ide-types.h \
-       libide/ide-unsaved-file.c \
-       libide/ide-unsaved-file.h \
-       libide/ide-unsaved-files.c \
-       libide/ide-unsaved-files.h \
-       libide/ide-vcs.c \
-       libide/ide-vcs.h \
-       libide/ide.c \
-       libide/ide.h \
-       libide/local/ide-local-device.c \
-       libide/local/ide-local-device.h \
-       libide/mingw/ide-mingw-device.c \
-       libide/mingw/ide-mingw-device.h \
-       libide/mingw/ide-mingw-device-provider.c \
-       libide/mingw/ide-mingw-device-provider.h \
-       libide/pygobject/ide-pygobject-script.c \
-       libide/pygobject/ide-pygobject-script.h \
-       libide/python/ide-python-indenter.c \
-       libide/python/ide-python-indenter.h \
-       libide/python/ide-python-format-provider.c \
-       libide/python/ide-python-format-provider.h \
-       libide/python/ide-python-language.c \
-       libide/python/ide-python-language.h \
-       libide/theatrics/ide-animation.c \
-       libide/theatrics/ide-animation.h \
-       libide/vala/ide-vala-language.c \
-       libide/vala/ide-vala-language.h \
-       libide/xml/ide-xml-indenter.c \
-       libide/xml/ide-xml-indenter.h \
-       libide/xml/ide-xml-language.c \
-       libide/xml/ide-xml-language.h \
+       autotools/ide-autotools-build-system.c \
+       autotools/ide-autotools-build-system.h \
+       autotools/ide-autotools-build-task.c \
+       autotools/ide-autotools-build-task.h \
+       autotools/ide-autotools-builder.c \
+       autotools/ide-autotools-builder.h \
+       autotools/ide-autotools-project-miner.c \
+       autotools/ide-autotools-project-miner.h \
+       c/ide-c-indenter.c \
+       c/ide-c-indenter.h \
+       c/ide-c-language.c \
+       c/ide-c-language.h \
+       clang/ide-clang-diagnostic-provider.c \
+       clang/ide-clang-diagnostic-provider.h \
+       clang/ide-clang-highlighter.c \
+       clang/ide-clang-highlighter.h \
+       clang/ide-clang-private.h \
+       clang/ide-clang-service.c \
+       clang/ide-clang-service.h \
+       clang/ide-clang-symbol-resolver.c \
+       clang/ide-clang-symbol-resolver.h \
+       clang/ide-clang-translation-unit.c \
+       clang/ide-clang-translation-unit.h \
+       devhelp/ide-devhelp-search-provider.c \
+       devhelp/ide-devhelp-search-provider.h \
+       devhelp/ide-devhelp-search-result.c \
+       devhelp/ide-devhelp-search-result.h \
+       directory/ide-directory-build-system.c \
+       directory/ide-directory-build-system.h \
+       directory/ide-directory-vcs.c \
+       directory/ide-directory-vcs.h \
+       editorconfig/ide-editorconfig-file-settings.c \
+       editorconfig/ide-editorconfig-file-settings.h \
+       git/ide-git-remote-callbacks.c \
+       git/ide-git-remote-callbacks.h \
+       git/ide-git-search-provider.c \
+       git/ide-git-search-provider.h \
+       git/ide-git-search-result.c \
+       git/ide-git-search-result.h \
+       git/ide-git-vcs.c \
+       git/ide-git-vcs.h \
+       gjs/ide-gjs-script.cpp \
+       gjs/ide-gjs-script.h \
+       gsettings/ide-gsettings-file-settings.c \
+       gsettings/ide-gsettings-file-settings.h \
+       html/ide-html-completion-provider.c \
+       html/ide-html-completion-provider.h \
+       html/ide-html-language.c \
+       html/ide-html-language.h \
+       ide-back-forward-item.c \
+       ide-back-forward-item.h \
+       ide-back-forward-list.c \
+       ide-back-forward-list.h \
+       ide-buffer-change-monitor.c \
+       ide-buffer-change-monitor.h \
+       ide-buffer-manager.c \
+       ide-buffer-manager.h \
+       ide-buffer.c \
+       ide-buffer.h \
+       ide-build-result.c \
+       ide-build-result.h \
+       ide-build-system.c \
+       ide-build-system.h \
+       ide-builder.c \
+       ide-builder.h \
+       ide-context.c \
+       ide-context.h \
+       ide-debugger.c \
+       ide-debugger.h \
+       ide-deployer.c \
+       ide-deployer.h \
+       ide-device-manager.c \
+       ide-device-manager.h \
+       ide-device-provider.c \
+       ide-device-provider.h \
+       ide-device.c \
+       ide-device.h \
+       ide-diagnostic-provider.c \
+       ide-diagnostic-provider.h \
+       ide-diagnostic.c \
+       ide-diagnostic.h \
+       ide-diagnostician.c \
+       ide-diagnostician.h \
+       ide-diagnostics.c \
+       ide-diagnostics.h \
+       ide-executable.c \
+       ide-executable.h \
+       ide-executer.c \
+       ide-executer.h \
+       ide-file-settings.c \
+       ide-file-settings.h \
+       ide-file.c \
+       ide-file.h \
+       ide-fixit.c \
+       ide-fixit.h \
+       ide-global.h \
+       ide-highlight-index.c \
+       ide-highlight-index.h \
+       ide-highlighter.c \
+       ide-highlighter.h \
+       ide-indent-style.c \
+       ide-indent-style.h \
+       ide-indenter.c \
+       ide-indenter.h \
+       ide-language.c \
+       ide-language.h \
+       ide-log.c \
+       ide-log.h \
+       ide-macros.h \
+       ide-object.c \
+       ide-object.h \
+       ide-pattern-spec.c \
+       ide-pattern-spec.h \
+       ide-process.c \
+       ide-process.h \
+       ide-progress.c \
+       ide-progress.h \
+       ide-project-file.c \
+       ide-project-file.h \
+       ide-project-files.c \
+       ide-project-files.h \
+       ide-project-info.c \
+       ide-project-info.h \
+       ide-project-item.c \
+       ide-project-item.h \
+       ide-project-miner.c \
+       ide-project-miner.h \
+       ide-project.c \
+       ide-project.h \
+       ide-recent-projects.c \
+       ide-recent-projects.h \
+       ide-refactory.c \
+       ide-refactory.h \
+       ide-script-manager.c \
+       ide-script-manager.h \
+       ide-script.c \
+       ide-script.h \
+       ide-search-context.c \
+       ide-search-context.h \
+       ide-search-engine.c \
+       ide-search-engine.h \
+       ide-search-provider.c \
+       ide-search-provider.h \
+       ide-search-result.c \
+       ide-search-result.h \
+       ide-service.c \
+       ide-service.h \
+       ide-source-location.c \
+       ide-source-location.h \
+       ide-source-range.c \
+       ide-source-range.h \
+       ide-source-snippet-chunk.c \
+       ide-source-snippet-chunk.h \
+       ide-source-snippet-context.c \
+       ide-source-snippet-context.h \
+       ide-source-snippet.c \
+       ide-source-snippet.h \
+       ide-source-snippets-manager.c \
+       ide-source-snippets-manager.h \
+       ide-source-snippets.c \
+       ide-source-snippets.h \
+       ide-source-view-mode.c \
+       ide-source-view-mode.h \
+       ide-source-view.c \
+       ide-source-view.h \
+       ide-symbol-resolver.c \
+       ide-symbol-resolver.h \
+       ide-symbol.c \
+       ide-symbol.h \
+       ide-target.c \
+       ide-target.h \
+       ide-test-case.c \
+       ide-test-case.h \
+       ide-test-suite.c \
+       ide-test-suite.h \
+       ide-types.h \
+       ide-unsaved-file.c \
+       ide-unsaved-file.h \
+       ide-unsaved-files.c \
+       ide-unsaved-files.h \
+       ide-vcs.c \
+       ide-vcs.h \
+       ide.c \
+       ide.h \
+       local/ide-local-device.c \
+       local/ide-local-device.h \
+       mingw/ide-mingw-device-provider.c \
+       mingw/ide-mingw-device-provider.h \
+       mingw/ide-mingw-device.c \
+       mingw/ide-mingw-device.h \
+       pygobject/ide-pygobject-script.c \
+       pygobject/ide-pygobject-script.h \
+       python/ide-python-format-provider.c \
+       python/ide-python-format-provider.h \
+       python/ide-python-indenter.c \
+       python/ide-python-indenter.h \
+       python/ide-python-language.c \
+       python/ide-python-language.h \
+       theatrics/ide-animation.c \
+       theatrics/ide-animation.h \
+       vala/ide-vala-language.c \
+       vala/ide-vala-language.h \
+       xml/ide-xml-indenter.c \
+       xml/ide-xml-indenter.h \
+       xml/ide-xml-language.c \
+       xml/ide-xml-language.h \
+        ide-source-map.c \
+        ide-source-map.h \
+        ide-thread-pool.c \
+        ide-thread-pool.h \
        $(NULL)
 
 libide_1_0_la_SOURCES = \
        $(libide_1_0_la_public_sources) \
-       cut-n-paste/fuzzy.c \
-       cut-n-paste/fuzzy.h \
-       cut-n-paste/trie.c \
-       cut-n-paste/trie.h \
-       libide/autotools/ide-makecache.c \
-       libide/autotools/ide-makecache.h \
-       libide/autotools/ide-makecache-target.c \
-       libide/autotools/ide-makecache-target.h \
-       libide/c/c-parse-helper.c \
-       libide/c/c-parse-helper.h \
-       libide/c/ide-c-format-provider.c \
-       libide/c/ide-c-format-provider.h \
-       libide/clang/ide-clang-completion-item.c \
-       libide/clang/ide-clang-completion-item.h \
-       libide/clang/ide-clang-completion-provider.c \
-       libide/clang/ide-clang-completion-provider.h \
-       libide/ide-debug.h \
-       libide/editorconfig/editorconfig-glib.c \
-       libide/editorconfig/editorconfig-glib.h \
-       libide/gca/gca-diagnostics.c \
-       libide/gca/gca-diagnostics.h \
-       libide/gca/gca-service.c \
-       libide/gca/gca-service.h \
-       libide/gca/gca-structs.c \
-       libide/gca/gca-structs.h \
-       libide/gca/ide-gca-diagnostic-provider.c \
-       libide/gca/ide-gca-diagnostic-provider.h \
-       libide/gca/ide-gca-service.c \
-       libide/gca/ide-gca-service.h \
-       libide/gca/ide-gca-service.h \
-       libide/gconstructor.h \
-       libide/git/ide-git-buffer-change-monitor.c \
-       libide/git/ide-git-buffer-change-monitor.h \
-       libide/git/ide-git-search-index.c \
-       libide/git/ide-git-search-index.h \
-       libide/gsettings/ide-language-defaults.c \
-       libide/gsettings/ide-language-defaults.h \
-       libide/ide-async-helper.c \
-       libide/ide-async-helper.h \
-       libide/ide-battery-monitor.c \
-       libide/ide-battery-monitor.h \
-       libide/ide-highlight-engine.c \
-       libide/ide-highlight-engine.h \
-       libide/ide-internal.h \
-       libide/ide-line-change-gutter-renderer.c \
-       libide/ide-line-change-gutter-renderer.h \
-       libide/ide-line-diagnostics-gutter-renderer.c \
-       libide/ide-line-diagnostics-gutter-renderer.h \
-       libide/ide-ref-ptr.c \
-       libide/ide-ref-ptr.h \
-       libide/ide-search-reducer.c \
-       libide/ide-search-reducer.h \
-       libide/ide-source-iter.c \
-       libide/ide-source-iter.h \
-       libide/ide-source-snippet-completion-item.c \
-       libide/ide-source-snippet-completion-item.h \
-       libide/ide-source-snippet-completion-provider.c \
-       libide/ide-source-snippet-completion-provider.h \
-       libide/ide-source-snippet-parser.c \
-       libide/ide-source-snippet-parser.h \
-       libide/ide-source-snippet-private.h \
-       libide/ide-source-view-capture.c \
-       libide/ide-source-view-capture.h \
-       libide/ide-source-view-movements.c \
-       libide/ide-source-view-movements.h \
-       libide/ide-vcs-uri.c \
-       libide/ide-vcs-uri.h \
-       libide/ide-vim-iter.c \
-       libide/ide-vim-iter.h \
-       libide/modelines/modeline-parser.c \
-       libide/modelines/modeline-parser.h \
-       libide/tasks/ide-load-directory-task.c \
-       libide/tasks/ide-load-directory-task.h \
-       libide/theatrics/ide-box-theatric.c \
-       libide/theatrics/ide-box-theatric.h \
-       libide/theatrics/ide-frame-source.c \
-       libide/theatrics/ide-frame-source.h \
-       libide/util/ide-cairo.c \
-       libide/util/ide-cairo.h \
-       libide/util/ide-doc-seq.c \
-       libide/util/ide-doc-seq.h \
-       libide/util/ide-pango.c \
-       libide/util/ide-pango.h \
-       libide/util/ide-rgba.c \
-       libide/util/ide-rgba.h \
+       autotools/ide-makecache-target.c \
+       autotools/ide-makecache-target.h \
+       autotools/ide-makecache.c \
+       autotools/ide-makecache.h \
+       c/c-parse-helper.c \
+       c/c-parse-helper.h \
+       c/ide-c-format-provider.c \
+       c/ide-c-format-provider.h \
+       clang/ide-clang-completion-item.c \
+       clang/ide-clang-completion-item.h \
+       clang/ide-clang-completion-provider.c \
+       clang/ide-clang-completion-provider.h \
+       editorconfig/editorconfig-glib.c \
+       editorconfig/editorconfig-glib.h \
+       gca/gca-diagnostics.c \
+       gca/gca-diagnostics.h \
+       gca/gca-service.c \
+       gca/gca-service.h \
+       gca/gca-structs.c \
+       gca/gca-structs.h \
+       gca/ide-gca-diagnostic-provider.c \
+       gca/ide-gca-diagnostic-provider.h \
+       gca/ide-gca-service.c \
+       gca/ide-gca-service.h \
+       gca/ide-gca-service.h \
+       gconstructor.h \
+       git/ide-git-buffer-change-monitor.c \
+       git/ide-git-buffer-change-monitor.h \
+       git/ide-git-search-index.c \
+       git/ide-git-search-index.h \
+       gsettings/ide-language-defaults.c \
+       gsettings/ide-language-defaults.h \
+       ide-async-helper.c \
+       ide-async-helper.h \
+       ide-battery-monitor.c \
+       ide-battery-monitor.h \
+       ide-debug.h \
+       ide-highlight-engine.c \
+       ide-highlight-engine.h \
+       ide-internal.h \
+       ide-line-change-gutter-renderer.c \
+       ide-line-change-gutter-renderer.h \
+       ide-line-diagnostics-gutter-renderer.c \
+       ide-line-diagnostics-gutter-renderer.h \
+       ide-ref-ptr.c \
+       ide-ref-ptr.h \
+       ide-search-reducer.c \
+       ide-search-reducer.h \
+       ide-source-iter.c \
+       ide-source-iter.h \
+       ide-source-snippet-completion-item.c \
+       ide-source-snippet-completion-item.h \
+       ide-source-snippet-completion-provider.c \
+       ide-source-snippet-completion-provider.h \
+       ide-source-snippet-parser.c \
+       ide-source-snippet-parser.h \
+       ide-source-snippet-private.h \
+       ide-source-view-capture.c \
+       ide-source-view-capture.h \
+       ide-source-view-movements.c \
+       ide-source-view-movements.h \
+       ide-vcs-uri.c \
+       ide-vcs-uri.h \
+       ide-vim-iter.c \
+       ide-vim-iter.h \
+       modelines/modeline-parser.c \
+       modelines/modeline-parser.h \
+       tasks/ide-load-directory-task.c \
+       tasks/ide-load-directory-task.h \
+       theatrics/ide-box-theatric.c \
+       theatrics/ide-box-theatric.h \
+       theatrics/ide-frame-source.c \
+       theatrics/ide-frame-source.h \
+       util/ide-cairo.c \
+       util/ide-cairo.h \
+       util/ide-doc-seq.c \
+       util/ide-doc-seq.h \
+       util/ide-pango.c \
+       util/ide-pango.h \
+       util/ide-rgba.c \
+       util/ide-rgba.h \
        $(NULL)
 
 libide_1_0_la_includes = \
        -I$(top_builddir)/libide \
-       -I$(top_srcdir)/cut-n-paste \
-       -I$(top_srcdir)/libide \
-       -I$(top_srcdir)/libide/autotools \
-       -I$(top_srcdir)/libide/c \
-       -I$(top_srcdir)/libide/clang \
-       -I$(top_srcdir)/libide/devhelp \
-       -I$(top_srcdir)/libide/directory \
-       -I$(top_srcdir)/libide/fuzzy \
-       -I$(top_srcdir)/libide/gca \
-       -I$(top_srcdir)/libide/editorconfig \
-       -I$(top_srcdir)/libide/editorconfig/libeditorconfig \
-       -I$(top_srcdir)/libide/git \
-       -I$(top_srcdir)/libide/gjs \
-       -I$(top_srcdir)/libide/gsettings \
-       -I$(top_srcdir)/libide/html \
-       -I$(top_srcdir)/libide/local \
-       -I$(top_srcdir)/libide/mingw \
-       -I$(top_srcdir)/libide/modelines \
-       -I$(top_srcdir)/libide/pygobject \
-       -I$(top_srcdir)/libide/python \
-       -I$(top_srcdir)/libide/resources \
-       -I$(top_srcdir)/libide/tasks \
-       -I$(top_srcdir)/libide/theatrics \
-       -I$(top_srcdir)/libide/trie \
-       -I$(top_srcdir)/libide/util \
-       -I$(top_srcdir)/libide/vala \
-       -I$(top_srcdir)/libide/xml \
+       -I$(top_srcdir)/shared \
+       -I$(srcdir) \
+       -I$(srcdir)/autotools \
+       -I$(srcdir)/c \
+       -I$(srcdir)/clang \
+       -I$(srcdir)/devhelp \
+       -I$(srcdir)/directory \
+       -I$(srcdir)/editorconfig \
+       -I$(srcdir)/editorconfig/libeditorconfig \
+       -I$(srcdir)/gca \
+       -I$(srcdir)/git \
+       -I$(srcdir)/gjs \
+       -I$(srcdir)/gsettings \
+       -I$(srcdir)/html \
+       -I$(srcdir)/local \
+       -I$(srcdir)/mingw \
+       -I$(srcdir)/modelines \
+       -I$(srcdir)/pygobject \
+       -I$(srcdir)/python \
+       -I$(srcdir)/resources \
+       -I$(srcdir)/tasks \
+       -I$(srcdir)/theatrics \
+       -I$(srcdir)/util \
+       -I$(srcdir)/vala \
+       -I$(srcdir)/xml \
+       $(DEBUG_CFLAGS) \
        $(CLANG_CFLAGS) \
        $(NULL)
 
@@ -345,15 +340,18 @@ libide_1_0_la_CFLAGS = \
        $(AM_CFLAGS) \
        $(LIBIDE_CFLAGS) \
        $(libide_1_0_la_includes) \
+       $(OPTIMIZE_CFLAGS) \
        $(NULL)
 
 libide_1_0_la_CXXFLAGS = \
        $(AM_CXXFLAGS) \
        $(LIBIDE_CFLAGS) \
        $(libide_1_0_la_includes) \
+       $(OPTIMIZE_CFLAGS) \
        $(NULL)
 
 libide_1_0_la_LDFLAGS = \
+       $(OPTIMIZE_LDFLAGS) \
        -avoid-version \
        -no-undefined \
        -export-symbols-regex '^ide_.*' \
@@ -365,59 +363,52 @@ libide_1_0_la_LIBADD = \
        -lclang \
        -lm \
        libeditorconfig.la \
+       $(top_builddir)/shared/libshared.la \
        $(NULL)
 
-if ENABLE_TRACING
-else
-AM_CPPFLAGS += -DIDE_DISABLE_TRACING
-endif
-
-if ENABLE_DEBUG
-else
-AM_CPPFLAGS += -DIDE_DISABLE_DEBUG
-endif
-
 libide_1_0_la_type_headers = \
-       libide/ide-buffer.h \
-       libide/ide-diagnostic.h \
-       libide/ide-highlighter.h \
-       libide/ide-source-view.h \
-        libide/ide-thread-pool.h \
+       ide-buffer.h \
+       ide-diagnostic.h \
+       ide-highlighter.h \
+       ide-source-view.h \
+        ide-thread-pool.h \
        $(NULL)
 
 libide_1_0_la_built_sources = \
-       libide/resources/ide-resources.c \
-       libide/resources/ide-resources.h \
-       libide/ide-enums.c \
-       libide/ide-enums.h \
+       resources/ide-resources.c \
+       resources/ide-resources.h \
+       ide-enums.c \
+       ide-enums.h \
        $(NULL)
 
-libide_resource_files = $(shell glib-compile-resources --sourcedir=$(top_srcdir)/libide/resources 
--generate-dependencies $(top_srcdir)/libide/resources/libide.gresource.xml)
-libide/resources/ide-resources.c: libide/resources/libide.gresource.xml $(libide_resource_files)
-       $(AM_V_GEN)glib-compile-resources --target=$@ --sourcedir=$(top_srcdir)/libide/resources 
--generate-source --c-name ide $(top_srcdir)/libide/resources/libide.gresource.xml
-libide/resources/ide-resources.h: libide/resources/libide.gresource.xml $(libide_resource_files)
-       $(AM_V_GEN)glib-compile-resources --target=$@ --sourcedir=$(top_srcdir)/libide/resources 
--generate-header --c-name ide $(top_srcdir)/libide/resources/libide.gresource.xml
+resource_files = $(shell glib-compile-resources --sourcedir=$(srcdir)/resources --generate-dependencies 
$(srcdir)/resources/libide.gresource.xml)
+resources/ide-resources.c: resources/libide.gresource.xml $(resource_files)
+       $(AM_V_GEN)glib-compile-resources --target=$@ --sourcedir=$(srcdir)/resources --generate-source 
--c-name ide $(srcdir)/resources/libide.gresource.xml
+resources/ide-resources.h: resources/libide.gresource.xml $(resource_files)
+       $(AM_V_GEN)glib-compile-resources --target=$@ --sourcedir=$(srcdir)/resources --generate-header 
--c-name ide $(srcdir)/resources/libide.gresource.xml
 
-libide/ide-enums.h: $(libide_1_0_la_type_headers) libide/ide-enums.h.template
-       $(AM_V_GEN) ( cd $(srcdir) && glib-mkenums --template libide/ide-enums.h.template 
$(libide_1_0_la_type_headers) ) > libide/ide-enums.h.tmp
-       @ mv libide/ide-enums.h.tmp libide/ide-enums.h
-libide/ide-enums.c: $(libide_1_0_la_type_headers) libide/ide-enums.c.template
-       $(AM_V_GEN) ( cd $(srcdir) && glib-mkenums --template libide/ide-enums.c.template 
$(libide_1_0_la_type_headers) ) > libide/ide-enums.c.tmp
-       @ mv libide/ide-enums.c.tmp libide/ide-enums.c
+ide-enums.h: $(libide_1_0_la_type_headers) ide-enums.h.template
+       $(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) --template ide-enums.h.template 
$(libide_1_0_la_type_headers) ) > ide-enums.h.tmp
+       @ mv ide-enums.h.tmp ide-enums.h
+ide-enums.c: $(libide_1_0_la_type_headers) ide-enums.c.template
+       $(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) --template ide-enums.c.template 
$(libide_1_0_la_type_headers) ) > ide-enums.c.tmp
+       @ mv ide-enums.c.tmp ide-enums.c
 
 nodist_libide_1_0_la_SOURCES = \
        $(libide_1_0_la_built_sources) \
        $(NULL)
 
-BUILT_SOURCES += $(libide_1_0_la_built_sources)
+BUILT_SOURCES = $(libide_1_0_la_built_sources)
 
-DISTCLEANFILES += $(libide_1_0_la_built_sources)
+DISTCLEANFILES = $(libide_1_0_la_built_sources)
 
-EXTRA_DIST += \
-       $(libide_resource_files) \
-       libide/resources/libide.gresource.xml \
-       libide/ide-enums.c.template \
-       libide/ide-enums.h.template \
+CLEANFILES =
+
+EXTRA_DIST = \
+       $(resource_files) \
+       resources/libide.gresource.xml \
+       ide-enums.c.template \
+       ide-enums.h.template \
        $(libide_1_0_la_built_sources) \
        $(NULL)
 
@@ -425,14 +416,14 @@ EXTRA_DIST += \
 -include $(INTROSPECTION_MAKEFILE)
 
 INTROSPECTION_GIRS =
-INTROSPECTION_SCANNER_ARGS = --add-include-path=$(top_srcdir)/libide --warn-all
-INTROSPECTION_COMPILER_ARGS = --includedir=$(top_srcdir)/libide
+INTROSPECTION_SCANNER_ARGS = --add-include-path=$(srcdir) --warn-all
+INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
 
 if HAVE_INTROSPECTION
 introspection_sources = \
        $(libide_1_0_la_public_sources) \
-       libide/ide-enums.c \
-       libide/ide-enums.h \
+       ide-enums.c \
+       ide-enums.h \
        $(NULL)
 
 Ide-1.0.gir: libide-1.0.la
@@ -454,3 +445,11 @@ typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
 
 CLEANFILES += $(gir_DATA) $(typelib_DATA)
 endif
+
+GITIGNOREFILES = \
+       **/.deps \
+       **/*.o \
+       **/*.deps \
+       $(NULL)
+
+-include $(top_srcdir)/git.mk
diff --git a/libide/autotools/ide-autotools-project-miner.c b/libide/autotools/ide-autotools-project-miner.c
index b4ce48e..6a104c8 100644
--- a/libide/autotools/ide-autotools-project-miner.c
+++ b/libide/autotools/ide-autotools-project-miner.c
@@ -116,7 +116,7 @@ ide_autotools_project_miner_mine_directory (IdeAutotoolsProjectMiner *self,
   if (depth == MAX_MINE_DEPTH)
     return;
 
-#ifndef IDE_DISABLE_TRACE
+#ifdef IDE_ENABLE_TRACE
   {
     g_autofree gchar *uri = NULL;
 
diff --git a/libide/autotools/ide-makecache.c b/libide/autotools/ide-makecache.c
index 503153d..1dc76d7 100644
--- a/libide/autotools/ide-makecache.c
+++ b/libide/autotools/ide-makecache.c
@@ -336,7 +336,7 @@ ide_makecache_get_file_targets_searched (IdeMakecache *self,
   targets = g_ptr_array_new_with_free_func ((GDestroyNotify)ide_makecache_target_free);
   found = g_hash_table_new (ide_makecache_target_hash, ide_makecache_target_equal);
 
-#ifndef IDE_DISABLE_TRACE
+#ifdef IDE_ENABLE_TRACE
   {
     gchar *fmtsize;
 
@@ -391,7 +391,7 @@ ide_makecache_get_file_targets_searched (IdeMakecache *self,
 
   if (targets->len > 0)
     {
-#ifndef IDE_DISABLE_TRACE
+#ifdef IDE_ENABLE_TRACE
       {
         GString *str;
         gsize i;
@@ -955,7 +955,7 @@ ide_makecache_get_file_flags_worker (GTask        *task,
       g_ptr_array_add (argv, "CXX="FAKE_CXX);
       g_ptr_array_add (argv, NULL);
 
-#ifndef IDE_DISABLE_TRACE
+#ifdef IDE_ENABLE_TRACE
       {
         gchar *cmdline;
 
@@ -1170,7 +1170,7 @@ ide_makecache_new_for_makefile_async (IdeContext          *context,
   g_return_if_fail (G_IS_FILE (makefile));
   g_return_if_fail (!cancellable || G_IS_CANCELLABLE (cancellable));
 
-#ifndef IDE_DISABLE_TRACE
+#ifdef IDE_ENABLE_TRACE
   {
     g_autofree gchar *path = g_file_get_path (makefile);
     IDE_TRACE_MSG ("Generating makecache for %s", path);
diff --git a/libide/clang/ide-clang-completion-item.c b/libide/clang/ide-clang-completion-item.c
index 4fcfe8a..ca8afd1 100644
--- a/libide/clang/ide-clang-completion-item.c
+++ b/libide/clang/ide-clang-completion-item.c
@@ -547,7 +547,7 @@ ide_clang_completion_item_get_typed_text (IdeClangCompletionItem *self)
       return g_strdup ("");
     }
 
-#ifndef IDE_DISABLE_TRACE
+#ifdef IDE_ENABLE_TRACE
   {
     enum CXCompletionChunkKind kind;
     unsigned num_chunks;
diff --git a/libide/clang/ide-clang-service.c b/libide/clang/ide-clang-service.c
index 4533d4c..7fc8992 100644
--- a/libide/clang/ide-clang-service.c
+++ b/libide/clang/ide-clang-service.c
@@ -290,7 +290,7 @@ ide_clang_service_parse_worker (GTask        *task,
     {
     case CXError_Success:
       index = ide_clang_service_build_index (self, tu, request);
-#ifndef IDE_DISABLE_TRACE
+#ifdef IDE_ENABLE_TRACE
       ide_highlight_index_dump (index);
 #endif
       break;
@@ -374,7 +374,7 @@ ide_clang_service__get_build_flags_cb (GObject      *object,
 
   request->command_line_args = argv;
 
-#ifndef IDE_DISABLE_TRACE
+#ifdef IDE_ENABLE_TRACE
   {
     gchar *cflags;
 
diff --git a/libide/editorconfig/libeditorconfig/Makefile.am b/libide/editorconfig/libeditorconfig/Makefile.am
index 79e6133..6246946 100644
--- a/libide/editorconfig/libeditorconfig/Makefile.am
+++ b/libide/editorconfig/libeditorconfig/Makefile.am
@@ -1,20 +1,20 @@
-noinst_LTLIBRARIES += libeditorconfig.la
+noinst_LTLIBRARIES = libeditorconfig.la
 
 libeditorconfig_la_SOURCES = \
-       libide/editorconfig/libeditorconfig/editorconfig.c \
-       libide/editorconfig/libeditorconfig/misc.c \
-       libide/editorconfig/libeditorconfig/ini.c \
-       libide/editorconfig/libeditorconfig/ec_glob.c \
-       libide/editorconfig/libeditorconfig/editorconfig_handle.c \
-       libide/editorconfig/libeditorconfig/editorconfig_handle.h \
-       libide/editorconfig/libeditorconfig/editorconfig/editorconfig_handle.h \
-       libide/editorconfig/libeditorconfig/editorconfig/editorconfig.h \
-       libide/editorconfig/libeditorconfig/global.h \
-       libide/editorconfig/libeditorconfig/ec_glob.h \
-       libide/editorconfig/libeditorconfig/utarray.h \
-       libide/editorconfig/libeditorconfig/editorconfig.h \
-       libide/editorconfig/libeditorconfig/misc.h \
-       libide/editorconfig/libeditorconfig/ini.h \
+       editorconfig/libeditorconfig/editorconfig.c \
+       editorconfig/libeditorconfig/misc.c \
+       editorconfig/libeditorconfig/ini.c \
+       editorconfig/libeditorconfig/ec_glob.c \
+       editorconfig/libeditorconfig/editorconfig_handle.c \
+       editorconfig/libeditorconfig/editorconfig_handle.h \
+       editorconfig/libeditorconfig/editorconfig/editorconfig_handle.h \
+       editorconfig/libeditorconfig/editorconfig/editorconfig.h \
+       editorconfig/libeditorconfig/global.h \
+       editorconfig/libeditorconfig/ec_glob.h \
+       editorconfig/libeditorconfig/utarray.h \
+       editorconfig/libeditorconfig/editorconfig.h \
+       editorconfig/libeditorconfig/misc.h \
+       editorconfig/libeditorconfig/ini.h \
        $(NULL)
 
 libeditorconfig_la_LIBADD = \
@@ -22,8 +22,7 @@ libeditorconfig_la_LIBADD = \
        $(NULL)
 
 libeditorconfig_la_CFLAGS = \
-       -I$(top_srcdir) \
-       -I$(top_srcdir)/libide/editorconfig/libeditorconfig \
+       -I$(srcdir)/editorconfig/libeditorconfig \
        -D_GNU_SOURCE \
        -DHAVE_STRCASECMP \
        -DHAVE_STRICMP \
diff --git a/libide/ide-back-forward-list.c b/libide/ide-back-forward-list.c
index 7f380b9..549eeb8 100644
--- a/libide/ide-back-forward-list.c
+++ b/libide/ide-back-forward-list.c
@@ -627,7 +627,7 @@ _ide_back_forward_list_save_async (IdeBackForwardList  *self,
   g_assert (G_IS_FILE (file));
   g_assert (!cancellable || G_IS_CANCELLABLE (cancellable));
 
-#ifndef IDE_DISABLE_TRACE
+#ifdef IDE_ENABLE_TRACE
   {
     g_autofree gchar *path = NULL;
 
@@ -796,7 +796,7 @@ _ide_back_forward_list_load_async (IdeBackForwardList  *self,
   g_assert (G_IS_FILE (file));
   g_assert (!cancellable || G_IS_CANCELLABLE (cancellable));
 
-#ifndef IDE_DISABLE_TRACE
+#ifdef IDE_ENABLE_TRACE
   {
     g_autofree gchar *path = NULL;
 
diff --git a/libide/ide-debug.h b/libide/ide-debug.h.in
similarity index 92%
rename from libide/ide-debug.h
rename to libide/ide-debug.h.in
index 54767f9..9f82fad 100644
--- a/libide/ide-debug.h
+++ b/libide/ide-debug.h.in
@@ -1,4 +1,4 @@
-/* ide-debug.h
+/* ide-debug.h.in
  *
  * Copyright (C) 2015 Christian Hergert <christian hergert me>
  *
@@ -23,18 +23,18 @@
 
 G_BEGIN_DECLS
 
-#ifndef G_LOG_LEVEL_TRACE
-# define G_LOG_LEVEL_TRACE (1 << G_LOG_LEVEL_USER_SHIFT)
+#ifndef IDE_ENABLE_TRACING
+# define IDE_ENABLE_TRACING @ENABLE_TRACING@
+#endif
+#if IDE_ENABLE_TRACING != 1
+# undef IDE_ENABLE_TRACING
 #endif
 
-#ifndef IDE_DISABLE_DEBUG
-# define IDE_DEBUG(...)                                                \
-   g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, ##__VA_ARGS__)
-#else
-# define IDE_DEBUG(...)
+#ifndef G_LOG_LEVEL_TRACE
+# define G_LOG_LEVEL_TRACE (1 << G_LOG_LEVEL_USER_SHIFT)
 #endif
 
-#ifndef IDE_DISABLE_TRACE
+#ifdef IDE_ENABLE_TRACE
 # define IDE_TRACE_MSG(fmt, ...)                                       \
    g_log(G_LOG_DOMAIN, G_LOG_LEVEL_TRACE, "  MSG: %s():%d: "fmt,       \
          G_STRFUNC, __LINE__, ##__VA_ARGS__)
diff --git a/libide/ide-project.c b/libide/ide-project.c
index 716191a..02e2f44 100644
--- a/libide/ide-project.c
+++ b/libide/ide-project.c
@@ -423,7 +423,7 @@ ide_project_rename_file_worker (GTask        *task,
   workdir = ide_vcs_get_working_directory (vcs);
   path = g_file_get_relative_path (workdir, op->new_file);
 
-#ifndef IDE_DISABLE_TRACE
+#ifdef IDE_ENABLE_TRACE
   {
     gchar *old_path = g_file_get_uri (op->orig_file);
     gchar *new_path = g_file_get_uri (op->new_file);
diff --git a/libide/ide-source-view-movements.c b/libide/ide-source-view-movements.c
index 433543f..2d65a11 100644
--- a/libide/ide-source-view-movements.c
+++ b/libide/ide-source-view-movements.c
@@ -1255,7 +1255,7 @@ _ide_source_view_apply_movement (IdeSourceView         *self,
 
   g_return_if_fail (IDE_IS_SOURCE_VIEW (self));
 
-#ifndef IDE_DISABLE_TRACE
+#ifdef IDE_ENABLE_TRACE
   {
     GEnumValue *enum_value;
     GEnumClass *enum_class;
diff --git a/libide/ide-source-view.c b/libide/ide-source-view.c
index 4928b40..ff2fdfd 100644
--- a/libide/ide-source-view.c
+++ b/libide/ide-source-view.c
@@ -1994,7 +1994,7 @@ ide_source_view_do_mode (IdeSourceView *self,
       gboolean handled;
       gboolean remove = FALSE;
 
-#ifndef IDE_DISABLE_TRACE
+#ifdef IDE_ENABLE_TRACE
       {
         gunichar ch = 0;
         gchar *name = NULL;
@@ -3101,7 +3101,7 @@ ide_source_view_real_set_mode (IdeSourceView         *self,
   if (!priv->buffer)
     IDE_EXIT;
 
-#ifndef IDE_DISABLE_TRACE
+#ifdef IDE_ENABLE_TRACE
   {
     const gchar *old_mode = "null";
 
@@ -4484,7 +4484,7 @@ ide_source_view_goto_definition_symbol_cb (GObject      *object,
 
   if (srcloc != NULL)
     {
-#ifndef IDE_DISABLE_TRACE
+#ifdef IDE_ENABLE_TRACE
       guint line = ide_source_location_get_line (srcloc);
       guint line_offset = ide_source_location_get_line_offset (srcloc);
       IdeFile *file = ide_source_location_get_file (srcloc);
diff --git a/libide/ide-unsaved-files.c b/libide/ide-unsaved-files.c
index 0bf43c7..03082fb 100644
--- a/libide/ide-unsaved-files.c
+++ b/libide/ide-unsaved-files.c
@@ -621,7 +621,7 @@ ide_unsaved_files_get_unsaved_file (IdeUnsavedFiles *self,
 
   g_return_val_if_fail (IDE_IS_UNSAVED_FILES (self), NULL);
 
-#ifndef IDE_DISABLE_TRACE
+#ifdef IDE_ENABLE_TRACE
   {
     gchar *path;
 
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 23f84b1..8b46469 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,10 +1,4 @@
-cut-n-paste/trie.c
-[type: gettext/gsettings]data/gsettings/org.gnome.builder.editor.gschema.xml.in
-[type: gettext/gsettings]data/gsettings/org.gnome.builder.editor.language.gschema.xml.in
-[type: gettext/gsettings]data/gsettings/org.gnome.builder.experimental.gschema.xml.in
 [type: gettext/glade]data/gtk/menus.ui
-data/style-schemes/builder-dark.xml
-data/style-schemes/builder.xml
 [type: gettext/glade]data/ui/gb-command-bar.ui
 [type: gettext/glade]data/ui/gb-devhelp-view.ui
 [type: gettext/glade]data/ui/gb-editor-frame.ui
@@ -28,9 +22,15 @@ data/style-schemes/builder.xml
 [type: gettext/glade]data/ui/gb-search-display-row.ui
 [type: gettext/glade]data/ui/gb-view-stack.ui
 [type: gettext/glade]data/ui/gb-workbench.ui
-libide/autotools/ide-autotools-builder.c
+[type: gettext/gsettings]data/gsettings/org.gnome.builder.editor.gschema.xml
+[type: gettext/gsettings]data/gsettings/org.gnome.builder.editor.language.gschema.xml
+[type: gettext/gsettings]data/gsettings/org.gnome.builder.experimental.gschema.xml
+[type: gettext/gsettings]data/gsettings/org.gnome.builder.project-tree.gschema.xml
+data/style-schemes/builder-dark.xml
+data/style-schemes/builder.xml
 libide/autotools/ide-autotools-build-system.c
 libide/autotools/ide-autotools-build-task.c
+libide/autotools/ide-autotools-builder.c
 libide/autotools/ide-autotools-project-miner.c
 libide/autotools/ide-makecache.c
 libide/c/ide-c-format-provider.c
@@ -55,52 +55,53 @@ libide/gsettings/ide-gsettings-file-settings.c
 libide/gsettings/ide-language-defaults.c
 libide/ide-back-forward-item.c
 libide/ide-back-forward-list.c
-libide/ide-buffer.c
 libide/ide-buffer-change-monitor.c
 libide/ide-buffer-manager.c
-libide/ide-builder.c
+libide/ide-buffer.c
 libide/ide-build-result.c
 libide/ide-build-system.c
-libide/ide.c
+libide/ide-builder.c
 libide/ide-context.c
-libide/ide-device.c
 libide/ide-device-manager.c
 libide/ide-device-provider.c
-libide/ide-file.c
+libide/ide-device.c
 libide/ide-file-settings.c
+libide/ide-file.c
 libide/ide-highlight-engine.c
 libide/ide-language.c
 libide/ide-object.c
 libide/ide-progress.c
-libide/ide-project.c
 libide/ide-project-file.c
 libide/ide-project-info.c
 libide/ide-project-item.c
+libide/ide-project.c
 libide/ide-recent-projects.c
-libide/ide-script.c
 libide/ide-script-manager.c
+libide/ide-script.c
 libide/ide-search-result.c
 libide/ide-service.c
 libide/ide-source-map.c
-libide/ide-source-snippet.c
 libide/ide-source-snippet-chunk.c
 libide/ide-source-snippet-completion-item.c
 libide/ide-source-snippet-completion-provider.c
 libide/ide-source-snippet-parser.c
+libide/ide-source-snippet.c
 libide/ide-source-snippets-manager.c
-libide/ide-source-view.c
 libide/ide-source-view-capture.c
 libide/ide-source-view-mode.c
+libide/ide-source-view.c
+libide/ide.c
 libide/mingw/ide-mingw-device-provider.c
 libide/pygobject/ide-pygobject-script.c
 libide/python/ide-python-format-provider.c
 libide/tasks/ide-load-directory-task.c
 libide/theatrics/ide-animation.c
 libide/theatrics/ide-box-theatric.c
+shared/trie.c
 src/app/gb-application-actions.c
 src/app/gb-application.c
-src/commands/gb-command-bar.c
 src/commands/gb-command-bar-item.c
+src/commands/gb-command-bar.c
 src/commands/gb-command-gaction.c
 src/commands/gb-command-provider.c
 src/commands/gb-command-result.c
@@ -116,7 +117,6 @@ src/editor/gb-editor-settings-widget.c
 src/editor/gb-editor-view-actions.c
 src/editor/gb-editor-view.c
 src/editor/gb-editor-workspace.c
-src/editor/gb-source-formatter.c
 src/gd/gd-tagged-entry.c
 src/gedit/gedit-menu-stack-switcher.c
 src/html/gb-html-document.c
@@ -124,27 +124,27 @@ src/html/gb-html-view.c
 src/keybindings/gb-keybindings.c
 src/main.c
 src/nautilus/nautilus-floating-bar.c
-src/preferences/gb-preferences-page.c
 src/preferences/gb-preferences-page-editor.c
 src/preferences/gb-preferences-page-experimental.c
 src/preferences/gb-preferences-page-git.c
 src/preferences/gb-preferences-page-keybindings.c
+src/preferences/gb-preferences-page.c
 src/preferences/gb-preferences-switch.c
 src/project-tree/gb-new-file-popover.c
 src/project-tree/gb-project-tree-builder.c
 src/project-tree/gb-rename-file-popover.c
 src/scrolledwindow/gb-scrolled-window.c
 src/search/gb-search-box.c
-src/search/gb-search-display.c
 src/search/gb-search-display-group.c
 src/search/gb-search-display-row.c
+src/search/gb-search-display.c
 src/tree/gb-tree-builder.c
-src/tree/gb-tree.c
 src/tree/gb-tree-node.c
+src/tree/gb-tree.c
 src/util/gb-file-manager.c
 src/util/gb-glib.c
-src/views/gb-view.c
 src/views/gb-view-stack.c
+src/views/gb-view.c
 src/vim/gb-vim.c
 src/workbench/gb-workbench-actions.c
 src/workbench/gb-workbench.c
@@ -153,7 +153,7 @@ tools/ide-build.c
 tools/ide-list-build-flags.c
 tools/ide-list-devices.c
 tools/ide-list-diagnostics.c
-tools/ide-list-files.c
 tools/ide-list-file-settings.c
+tools/ide-list-files.c
 tools/ide-mine-projects.c
 tools/ide-search.c
diff --git a/shared/Makefile.am b/shared/Makefile.am
new file mode 100644
index 0000000..8e56da2
--- /dev/null
+++ b/shared/Makefile.am
@@ -0,0 +1,24 @@
+noinst_LTLIBRARIES = libshared.la
+
+libshared_la_SOURCES = \
+       trie.c \
+       trie.h \
+       fuzzy.c \
+       fuzzy.h \
+       $(NULL)
+
+libshared_la_CFLAGS = \
+       $(DEBUG_CFLAGS) \
+       $(OPTIMIZE_CFLAGS) \
+       $(SHARED_CFLAGS) \
+       $(NULL)
+
+libshared_la_LIBADD = \
+       $(SHARED_LIBADD) \
+       $(NULL)
+
+libshared_la_LDFLAGS = \
+       $(OPTIMIZE_LDFLAGS) \
+       $(NULL)
+
+-include $(top_srcdir)/git.mk
diff --git a/cut-n-paste/fuzzy.c b/shared/fuzzy.c
similarity index 100%
rename from cut-n-paste/fuzzy.c
rename to shared/fuzzy.c
diff --git a/cut-n-paste/fuzzy.h b/shared/fuzzy.h
similarity index 100%
rename from cut-n-paste/fuzzy.h
rename to shared/fuzzy.h
diff --git a/cut-n-paste/trie.c b/shared/trie.c
similarity index 100%
rename from cut-n-paste/trie.c
rename to shared/trie.c
diff --git a/cut-n-paste/trie.h b/shared/trie.h
similarity index 100%
rename from cut-n-paste/trie.h
rename to shared/trie.h
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644
index 0000000..25c4d8b
--- /dev/null
+++ b/src/Makefile.am
@@ -0,0 +1,254 @@
+bin_PROGRAMS = gnome-builder
+
+noinst_LTLIBRARIES = libgnome-builder.la
+
+libgnome_builder_la_SOURCES = \
+       $(gnome_builder_built_sources) \
+       app/gb-application-actions.c \
+       app/gb-application-actions.h \
+       app/gb-application-credits.h \
+       app/gb-application-private.h \
+       app/gb-application.c \
+       app/gb-application.h \
+       commands/gb-command-bar-item.c \
+       commands/gb-command-bar-item.h \
+       commands/gb-command-bar.c \
+       commands/gb-command-bar.h \
+       commands/gb-command-gaction-provider.c \
+       commands/gb-command-gaction-provider.h \
+       commands/gb-command-gaction.c \
+       commands/gb-command-gaction.h \
+       commands/gb-command-manager.c \
+       commands/gb-command-manager.h \
+       commands/gb-command-provider.c \
+       commands/gb-command-provider.h \
+       commands/gb-command-result.c \
+       commands/gb-command-result.h \
+       commands/gb-command-vim-provider.c \
+       commands/gb-command-vim-provider.h \
+       commands/gb-command-vim.c \
+       commands/gb-command-vim.h \
+       commands/gb-command.c \
+       commands/gb-command.h \
+       devhelp/gb-devhelp-document.c \
+       devhelp/gb-devhelp-document.h \
+       devhelp/gb-devhelp-view.c \
+       devhelp/gb-devhelp-view.h \
+       dialogs/gb-new-project-dialog.c \
+       dialogs/gb-new-project-dialog.h \
+       dialogs/gb-projects-dialog.c \
+       dialogs/gb-projects-dialog.h \
+       dialogs/gb-recent-project-row.c \
+       dialogs/gb-recent-project-row.h \
+       documents/gb-document.c \
+       documents/gb-document.h \
+       editor/gb-editor-document.c \
+       editor/gb-editor-document.h \
+       editor/gb-editor-frame-actions.c \
+       editor/gb-editor-frame-actions.h \
+       editor/gb-editor-frame-private.h \
+       editor/gb-editor-frame.c \
+       editor/gb-editor-frame.h \
+       editor/gb-editor-map-bin.c \
+       editor/gb-editor-map-bin.h \
+       editor/gb-editor-settings-widget.c \
+       editor/gb-editor-settings-widget.h \
+       editor/gb-editor-tweak-widget.c \
+       editor/gb-editor-tweak-widget.h \
+       editor/gb-editor-view-actions.c \
+       editor/gb-editor-view-actions.h \
+       editor/gb-editor-view-private.h \
+       editor/gb-editor-view.c \
+       editor/gb-editor-view.h \
+       editor/gb-editor-workspace-actions.c \
+       editor/gb-editor-workspace-actions.h \
+       editor/gb-editor-workspace-private.h \
+       editor/gb-editor-workspace.c \
+       editor/gb-editor-workspace.h \
+       gd/gd-tagged-entry.c \
+       gd/gd-tagged-entry.h \
+       gedit/gedit-close-button.c \
+       gedit/gedit-close-button.h \
+       gedit/gedit-menu-stack-switcher.c \
+       gedit/gedit-menu-stack-switcher.h \
+       html/gb-html-document.c \
+       html/gb-html-document.h \
+       html/gb-html-view.c \
+       html/gb-html-view.h \
+       keybindings/gb-keybindings.c \
+       keybindings/gb-keybindings.h \
+       nautilus/nautilus-floating-bar.c \
+       nautilus/nautilus-floating-bar.h \
+       preferences/gb-preferences-page-editor.c \
+       preferences/gb-preferences-page-editor.h \
+       preferences/gb-preferences-page-experimental.c \
+       preferences/gb-preferences-page-experimental.h \
+       preferences/gb-preferences-page-git.c \
+       preferences/gb-preferences-page-git.h \
+       preferences/gb-preferences-page-keybindings.c \
+       preferences/gb-preferences-page-keybindings.h \
+       preferences/gb-preferences-page-language.c \
+       preferences/gb-preferences-page-language.h \
+       preferences/gb-preferences-page.c \
+       preferences/gb-preferences-page.h \
+       preferences/gb-preferences-switch.c \
+       preferences/gb-preferences-switch.h \
+       preferences/gb-preferences-window.c \
+       preferences/gb-preferences-window.h \
+       project-tree/gb-new-file-popover.c \
+       project-tree/gb-new-file-popover.h \
+       project-tree/gb-project-tree-actions.c \
+       project-tree/gb-project-tree-actions.h \
+       project-tree/gb-project-tree-builder.c \
+       project-tree/gb-project-tree-builder.h \
+       project-tree/gb-project-tree-private.h \
+       project-tree/gb-project-tree.c \
+       project-tree/gb-project-tree.h \
+       project-tree/gb-rename-file-popover.c \
+       project-tree/gb-rename-file-popover.h \
+       scrolledwindow/gb-scrolled-window.c \
+       scrolledwindow/gb-scrolled-window.h \
+       search/gb-search-box.c \
+       search/gb-search-box.h \
+       search/gb-search-display-group.c \
+       search/gb-search-display-group.h \
+       search/gb-search-display-row.c \
+       search/gb-search-display-row.h \
+       search/gb-search-display.c \
+       search/gb-search-display.h \
+       support/gb-support.c \
+       support/gb-support.h \
+       tree/gb-tree-builder.c \
+       tree/gb-tree-builder.h \
+       tree/gb-tree-node.c \
+       tree/gb-tree-node.h \
+       tree/gb-tree.c \
+       tree/gb-tree.h \
+       util/gb-cairo.c \
+       util/gb-cairo.h \
+       util/gb-dnd.c \
+       util/gb-dnd.h \
+       util/gb-file-manager.c \
+       util/gb-file-manager.h \
+       util/gb-gdk.c \
+       util/gb-gdk.h \
+       util/gb-glib.c \
+       util/gb-glib.h \
+       util/gb-gtk.c \
+       util/gb-gtk.h \
+       util/gb-pango.c \
+       util/gb-pango.h \
+       util/gb-rgba.c \
+       util/gb-rgba.h \
+       util/gb-string.c \
+       util/gb-string.h \
+       util/gb-widget.c \
+       util/gb-widget.h \
+       views/gb-view-grid.c \
+       views/gb-view-grid.h \
+       views/gb-view-stack-actions.c \
+       views/gb-view-stack-actions.h \
+       views/gb-view-stack-private.h \
+       views/gb-view-stack.c \
+       views/gb-view-stack.h \
+       views/gb-view.c \
+       views/gb-view.h \
+       vim/gb-vim.c \
+       vim/gb-vim.h \
+       workbench/gb-workbench-actions.c \
+       workbench/gb-workbench-actions.h \
+       workbench/gb-workbench-private.h \
+       workbench/gb-workbench-types.h \
+       workbench/gb-workbench.c \
+       workbench/gb-workbench.h \
+       workbench/gb-workspace.c \
+       workbench/gb-workspace.h \
+        css/gb-css-provider.c \
+        css/gb-css-provider.h \
+        util/gb-settings.c \
+        util/gb-settings.h \
+       $(NULL)
+
+libgnome_builder_la_LIBADD = \
+       $(BUILDER_LIBS) \
+       $(OPTIMIZE_LDFLAGS) \
+       $(top_builddir)/libide/libide-1.0.la \
+       $(top_builddir)/shared/libshared.la \
+       -lm
+
+libgnome_builder_la_CFLAGS = \
+       -DPACKAGE_DATADIR="\"${datadir}\"" \
+       -DPACKAGE_LOCALE_DIR=\""${datadir}/locale"\" \
+       $(BUILDER_CFLAGS) \
+       $(DEBUG_CFLAGS) \
+       $(OPTIMIZE_CFLAGS) \
+       -I$(builddir)/resources \
+       -I$(builddir)/util \
+       -I$(srcdir)/app \
+       -I$(srcdir)/commands \
+       -I$(srcdir)/css \
+       -I$(srcdir)/devhelp \
+       -I$(srcdir)/dialogs \
+       -I$(srcdir)/documents \
+       -I$(srcdir)/editor \
+       -I$(srcdir)/gd \
+       -I$(srcdir)/gedit \
+       -I$(srcdir)/html \
+       -I$(srcdir)/keybindings \
+       -I$(srcdir)/nautilus \
+       -I$(srcdir)/preferences \
+       -I$(srcdir)/project-tree \
+       -I$(srcdir)/resources \
+       -I$(srcdir)/scrolledwindow \
+       -I$(srcdir)/search \
+       -I$(srcdir)/support \
+       -I$(srcdir)/tree \
+       -I$(srcdir)/util \
+       -I$(srcdir)/views \
+       -I$(srcdir)/vim \
+       -I$(srcdir)/workbench \
+       -I$(top_builddir)/libide \
+       -I$(top_srcdir)/shared \
+       -I$(top_srcdir)/libide \
+       $(NULL)
+
+gnome_builder_SOURCES = main.c
+gnome_builder_CFLAGS = $(libgnome_builder_la_CFLAGS)
+gnome_builder_LDADD = \
+       $(top_builddir)/libide/libide-1.0.la \
+       libgnome-builder.la \
+       $(NULL)
+
+# XXX: Workaround for now, need to find a more automated way to do this
+# in how we build projects inside of Builder.
+gnome_builder_built_sources = \
+       resources/gb-resources.c \
+       resources/gb-resources.h \
+       $(NULL)
+
+resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir)/resources --generate-dependencies 
$(srcdir)/resources/gnome-builder.gresource.xml)
+resources/gb-resources.c: resources/gnome-builder.gresource.xml $(resource_files)
+       $(AM_V_GEN)$(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir)/resources --generate-source 
--c-name gb $(srcdir)/resources/gnome-builder.gresource.xml
+resources/gb-resources.h: resources/gnome-builder.gresource.xml $(resource_files)
+       $(AM_V_GEN)$(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir)/resources --generate-header 
--c-name gb $(srcdir)/resources/gnome-builder.gresource.xml
+
+nodist_gnome_builder_SOURCES = \
+       $(gnome_builder_built_sources) \
+       $(NULL)
+
+BUILT_SOURCES = $(gnome_builder_built_sources)
+
+EXTRA_DIST = \
+       $(resource_files) \
+       resources/gnome-builder.gresource.xml \
+       $(gnome_builder_built_sources) \
+       $(NULL)
+
+DISTCLEANFILES = $(gnome_builder_built_sources)
+
+GITIGNOREFILES = \
+       **/.deps \
+       **/.o \
+       $(NULL)
+
+-include $(top_srcdir)/git.mk
diff --git a/src/resources/gnome-builder.gresource.xml b/src/resources/gnome-builder.gresource.xml
index c202e7f..eb4547c 100644
--- a/src/resources/gnome-builder.gresource.xml
+++ b/src/resources/gnome-builder.gresource.xml
@@ -3,8 +3,6 @@
   <gresource prefix="/org/gnome/builder">
     <file alias="css/markdown.css">../../data/css/markdown.css</file>
 
-    <file>editor/uncrustify/uncrustify.c.cfg</file>
-
     <file alias="gtk/menus.ui">../../data/gtk/menus.ui</file>
 
     <!-- Scalable icons all go into actions/ since gtk+ will ignore our directory scheme -->
diff --git a/tests/Makefile.am b/tests/Makefile.am
new file mode 100644
index 0000000..15c4275
--- /dev/null
+++ b/tests/Makefile.am
@@ -0,0 +1,104 @@
+include $(top_srcdir)/glib-tap.mk
+
+
+tests_cflags = \
+       -I$(top_srcdir)/libide \
+       -I$(top_builddir)/libide \
+       $(DEBUG_CFLAGS) \
+       $(LIBIDE_CFLAGS) \
+       -DTEST_DATA_DIR="\"$(srcdir)/data\"" \
+       -DBUILDDIR="\"$(builddir)\"" \
+       $(NULL)
+
+tests_libs = \
+       $(LIBIDE_LIBS) \
+       $(top_builddir)/libide/libide-1.0.la \
+       $(NULL)
+
+
+TESTS += test-ide-context
+noinst_PROGRAMS += test-ide-context
+test_ide_context_SOURCES = test-ide-context.c
+test_ide_context_CFLAGS = $(tests_cflags)
+test_ide_context_LDADD = $(tests_libs)
+
+
+TESTS += test-ide-back-forward-list
+noinst_PROGRAMS += test-ide-back-forward-list
+test_ide_back_forward_list_SOURCES = test-ide-back-forward-list.c
+test_ide_back_forward_list_CFLAGS = $(tests_cflags)
+test_ide_back_forward_list_LDADD = $(tests_libs)
+
+
+TESTS += test-ide-buffer-manager
+noinst_PROGRAMS += test-ide-buffer-manager
+test_ide_buffer_manager_SOURCES = test-ide-buffer-manager.c
+test_ide_buffer_manager_CFLAGS = $(tests_cflags)
+test_ide_buffer_manager_LDADD = $(tests_libs)
+
+
+TESTS += test-ide-buffer
+noinst_PROGRAMS += test-ide-buffer
+test_ide_buffer_SOURCES = test-ide-buffer.c
+test_ide_buffer_CFLAGS = $(tests_cflags)
+test_ide_buffer_LDADD = $(tests_libs)
+
+
+TESTS += test-ide-file-settings
+noinst_PROGRAMS += test-ide-file-settings
+test_ide_file_settings_SOURCES = test-ide-file-settings.c
+test_ide_file_settings_CFLAGS = $(tests_cflags)
+test_ide_file_settings_LDADD = $(tests_libs)
+
+
+TESTS += test-ide-indenter
+noinst_PROGRAMS += test-ide-indenter
+test_ide_indenter_SOURCES = test-ide-indenter.c
+test_ide_indenter_CFLAGS = $(tests_cflags)
+test_ide_indenter_LDADD = $(tests_libs)
+
+
+TESTS += test-ide-vcs-uri
+noinst_PROGRAMS += test-ide-vcs-uri
+test_ide_vcs_uri_SOURCES = test-ide-vcs-uri.c
+test_ide_vcs_uri_CFLAGS = $(tests_cflags)
+test_ide_vcs_uri_LDADD = $(tests_libs)
+
+
+TESTS += test-c-parse-helper
+noinst_PROGRAMS += test-c-parse-helper
+test_c_parse_helper_SOURCES = test-c-parse-helper.c
+test_c_parse_helper_CFLAGS = \
+       $(tests_cflags) \
+       -include $(top_srcdir)/libide/c/c-parse-helper.c \
+       -include $(top_srcdir)/libide/c/c-parse-helper.h \
+       $(NULL)
+test_c_parse_helper_LDADD = $(tests_libs)
+
+
+TESTS += test-vim
+noinst_PROGRAMS += test-vim
+test_vim_SOURCES = test-vim.c
+test_vim_CFLAGS = \
+       $(tests_cflags) \
+       -I$(top_srcdir)/src/resources \
+       -I$(top_builddir)/src/resources \
+       $(NULL)
+test_vim_LDADD = \
+       $(tests_libs) \
+       $(top_builddir)/src/libgnome-builder.la \
+       $(NULL)
+
+
+noinst_PROGRAMS += test-ide-source-view
+test_ide_source_view_SOURCES = test-ide-source-view.c
+test_ide_source_view_CFLAGS = $(tests_cflags)
+test_ide_source_view_LDADD = $(tests_libs)
+
+
+EXTRA_DIST += \
+       data/project1/configure.ac \
+       data/project1/.editorconfig \
+       $(NULL)
+
+-include $(top_srcdir)/git.mk
diff --git a/tools/Makefile.am b/tools/Makefile.am
index e9abfad..917aedb 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -1,40 +1,54 @@
+noinst_PROGRAMS =
+
+tools_cflags = \
+       -I$(top_srcdir)/libide \
+       -I$(top_builddir)/libide \
+       $(LIBIDE_CFLAGS) \
+       $(NULL)
+
+tools_libs = \
+       $(LIBIDE_LIBS) \
+       $(top_builddir)/libide/libide-1.0.la \
+       $(NULL)
 
 noinst_PROGRAMS += ide-build
-ide_build_SOURCES = tools/ide-build.c
-ide_build_CFLAGS = $(libide_1_0_la_CFLAGS)
-ide_build_LDADD = libide-1.0.la $(LIBIDE_LIBS)
+ide_build_SOURCES = ide-build.c
+ide_build_CFLAGS = $(tools_cflags)
+ide_build_LDADD = $(tools_libs)
 
 noinst_PROGRAMS += ide-list-build-flags
-ide_list_build_flags_SOURCES = tools/ide-list-build-flags.c
-ide_list_build_flags_CFLAGS = $(libide_1_0_la_CFLAGS)
-ide_list_build_flags_LDADD = libide-1.0.la $(LIBIDE_LIBS)
+ide_list_build_flags_SOURCES = ide-list-build-flags.c
+ide_list_build_flags_CFLAGS = $(tools_cflags)
+ide_list_build_flags_LDADD = $(tools_libs)
 
 noinst_PROGRAMS += ide-list-file-settings
-ide_list_file_settings_SOURCES = tools/ide-list-file-settings.c
-ide_list_file_settings_CFLAGS = $(libide_1_0_la_CFLAGS)
-ide_list_file_settings_LDADD = libide-1.0.la $(LIBIDE_LIBS)
+ide_list_file_settings_SOURCES = ide-list-file-settings.c
+ide_list_file_settings_CFLAGS = $(tools_cflags)
+ide_list_file_settings_LDADD = $(tools_libs)
 
 noinst_PROGRAMS += ide-list-devices
-ide_list_devices_SOURCES = tools/ide-list-devices.c
-ide_list_devices_CFLAGS = $(libide_1_0_la_CFLAGS)
-ide_list_devices_LDADD = libide-1.0.la $(LIBIDE_LIBS)
+ide_list_devices_SOURCES = ide-list-devices.c
+ide_list_devices_CFLAGS = $(tools_cflags)
+ide_list_devices_LDADD = $(tools_libs)
 
 noinst_PROGRAMS += ide-list-diagnostics
-ide_list_diagnostics_SOURCES = tools/ide-list-diagnostics.c
-ide_list_diagnostics_CFLAGS = $(libide_1_0_la_CFLAGS)
-ide_list_diagnostics_LDADD = libide-1.0.la $(LIBIDE_LIBS)
+ide_list_diagnostics_SOURCES = ide-list-diagnostics.c
+ide_list_diagnostics_CFLAGS = $(tools_cflags)
+ide_list_diagnostics_LDADD = $(tools_libs)
 
 noinst_PROGRAMS += ide-list-files
-ide_list_files_SOURCES = tools/ide-list-files.c
-ide_list_files_CFLAGS = $(libide_1_0_la_CFLAGS)
-ide_list_files_LDADD = libide-1.0.la $(LIBIDE_LIBS)
+ide_list_files_SOURCES = ide-list-files.c
+ide_list_files_CFLAGS = $(tools_cflags)
+ide_list_files_LDADD = $(tools_libs)
 
 noinst_PROGRAMS += ide-search
-ide_search_SOURCES = tools/ide-search.c
-ide_search_CFLAGS = $(libide_1_0_la_CFLAGS)
-ide_search_LDADD = libide-1.0.la $(LIBIDE_LIBS)
+ide_search_SOURCES = ide-search.c
+ide_search_CFLAGS = $(tools_cflags)
+ide_search_LDADD = $(tools_libs)
 
 noinst_PROGRAMS += ide-mine-projects
-ide_mine_projects_SOURCES = tools/ide-mine-projects.c
-ide_mine_projects_CFLAGS = $(libide_1_0_la_CFLAGS)
-ide_mine_projects_LDADD = libide-1.0.la $(LIBIDE_LIBS)
+ide_mine_projects_SOURCES = ide-mine-projects.c
+ide_mine_projects_CFLAGS = $(tools_cflags)
+ide_mine_projects_LDADD = $(tools_libs)
+
+-include $(top_srcdir)/git.mk



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]