diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 3508cbc..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,59 +0,0 @@
-# Test suite logs
-*.log
-
-# Code Coverage
-*.gcda
-*.gcno
-*.trs
-*-coverage*
-
-# CC / CXX Compiler
-*.ii
-*.i
-*.o
-*.s
-
-# Libtool
-*.la
-*.lo
-
-# Autotools
-.deps
-.dirstamp
-.libs
-/aclocal.m4
-/aminclude_static.am
-/autom4te.cache
-/build-aux
-/confdefs.h
-/config.h
-/config.h.in
-/config.h.in~
-/config.log
-/config.status
-/configure
-/m4
-/libtool
-Makefile
-Makefile.in
-/stamp-h1
-
-# Custom generated files
-/src/sdeventplus.pc
-
-# Output binaries
-/example/delayed_echo
-/example/follow
-/example/heartbeat
-/example/heartbeat_timer
-/test/clock
-/test/event
-/test/exception
-/test/internal/utils
-/test/source/base
-/test/source/child
-/test/source/event
-/test/source/io
-/test/source/signal
-/test/source/time
-/test/utility/timer
diff --git a/Makefile.am b/Makefile.am
deleted file mode 100644
index e27fbe8..0000000
--- a/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-ACLOCAL_AMFLAGS = -I m4
-
-# Ignore system headers
-CODE_COVERAGE_IGNORE_PATTERN = '/include/*' '/usr/include/*' '$(includedir)/*'
-# Ignore the real implementation sources for sd_event
-CODE_COVERAGE_IGNORE_PATTERN += \
-    '$(abs_builddir)/src/sdeventplus/internal/sdevent.*'
-export CODE_COVERAGE_IGNORE_PATTERN
-
-CODE_COVERAGE_LCOV_SHOPTS = $(CODE_COVERAGE_LCOV_SHOPTS_DEFAULT)
-# Use our configuration file for lcov
-CODE_COVERAGE_LCOV_SHOPTS += --config-file $(abs_srcdir)/.lcovrc
-export CODE_COVERAGE_LCOV_SHOPTS
-
-CODE_COVERAGE_LCOV_OPTIONS = $(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT)
-# Use our configuration file for lcov
-CODE_COVERAGE_LCOV_OPTIONS += --config-file $(abs_srcdir)/.lcovrc
-export CODE_COVERAGE_LCOV_OPTIONS
-
-CODE_COVERAGE_LCOV_RMOPTS = $(CODE_COVERAGE_LCOV_RMOPTS_DEFAULT)
-# Use our configuration file for lcov
-CODE_COVERAGE_LCOV_RMOPTS += --config-file $(abs_srcdir)/.lcovrc
-export CODE_COVERAGE_LCOV_RMOPTS
-
-CODE_COVERAGE_GENHTML_OPTIONS = $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT)
-# Use our configuration file for genhtml
-CODE_COVERAGE_GENHTML_OPTIONS += --config-file $(abs_srcdir)/.lcovrc
-# Don't generate the absolute path for each file in the HTML output
-CODE_COVERAGE_GENHTML_OPTIONS += --prefix $(abs_srcdir) --prefix $(abs_builddir)
-export CODE_COVERAGE_GENHTML_OPTIONS
-
-if AUTOCONF_CODE_COVERAGE_2019_01_06
-include $(top_srcdir)/aminclude_static.am
-clean-local: code-coverage-clean
-distclean-local: code-coverage-dist-clean
-else
-@CODE_COVERAGE_RULES@
-endif
-
-export AM_CPPFLAGS = -I$(abs_builddir)/src -I$(abs_srcdir)/src \
-                     $(SYSTEMD_CFLAGS) $(STDPLUS_CFLAGS) \
-                     $(CODE_COVERAGE_CPPFLAGS)
-export AM_CFLAGS = $(CODE_COVERAGE_CFLAGS)
-export AM_CXXFLAGS = $(CODE_COVERAGE_CXXFLAGS)
-
-export COMMON_LIBS = $(SYSTEMD_LIBS) $(STDPLUS_LIBS) $(CODE_COVERAGE_LIBS)
-export SDEVENTPLUS_LIBS = $(abs_builddir)/src/libsdeventplus.la $(COMMON_LIBS)
-
-
-EXTRA_DIST = LICENSE MAINTAINERS README.md
-SUBDIRS = src example test
diff --git a/bootstrap.sh b/bootstrap.sh
deleted file mode 100755
index 30ef75a..0000000
--- a/bootstrap.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-set -e
-set -x
-autoreconf -v -f -i
diff --git a/configure.ac b/configure.ac
deleted file mode 100644
index a933bb2..0000000
--- a/configure.ac
+++ /dev/null
@@ -1,168 +0,0 @@
-# Initialization
-AC_PREREQ([2.69])
-AC_INIT([sdeventplus], [0.1], [https://github.com/openbmc/sdeventplus/issues])
-AC_LANG([C++])
-AC_CONFIG_HEADERS([config.h])
-AC_CONFIG_MACRO_DIRS([m4])
-AC_CONFIG_AUX_DIR([build-aux])
-AM_INIT_AUTOMAKE([nostdinc foreign subdir-objects -Wall -Wno-portability -Werror dist-xz tar-ustar])
-AM_SILENT_RULES([yes])
-
-# Make sure the default CFLAGS of `-O2 -g` don't override CODE_COVERAGE_CFLAGS
-# It is important that this comes before AC_PROG_C{C,XX}, as we are attempting
-# to stop them from populating default CFLAGS and CXXFLAGS.
-AS_IF([test "x$enable_tests" = "xno"], [enable_code_coverage=no])
-AS_IF([test "x$enable_code_coverage" != "xno"], [
-    AS_IF([test "x${CXXFLAGS+set}" != "xset"], [
-        AC_SUBST(CXXFLAGS, [""])
-    ])
-    AS_IF([test "x${CFLAGS+set}" != "xset"], [
-        AC_SUBST(CFLAGS, [""])
-    ])
-])
-
-# Checks for programs.
-AC_PROG_CXX
-AC_PROG_CC
-AM_PROG_AR
-AC_PROG_INSTALL
-AC_PROG_MAKE_SET
-
-# Checks for libtool
-LT_INIT
-
-# Make sure the pkgconfigdata is configured for automake
-PKG_INSTALLDIR
-
-# Checks for typedefs, structures, and compiler characteristics.
-AX_CXX_COMPILE_STDCXX([17], [noext], [mandatory])
-AX_APPEND_COMPILE_FLAGS([-Wall -Wextra -Wpedantic], [CFLAGS])
-AX_APPEND_COMPILE_FLAGS([-Wall -Wextra -Wpedantic], [CXXFLAGS])
-
-# We require stdplus unconditionally
-AX_PKG_CHECK_MODULES([STDPLUS], [stdplus])
-
-# We require systemd unconditionally
-AX_PKG_CHECK_MODULES([SYSTEMD], [libsystemd >= 218])
-
-AX_SAVE_FLAGS_WITH_PREFIX(OLD, [CPPFLAGS])
-AX_APPEND_COMPILE_FLAGS([$SYSTEMD_CFLAGS], [CPPFLAGS])
-AC_CHECK_HEADERS([systemd/sd-event.h], [], [
-    AC_MSG_ERROR([Could not find systemd/sd-event.h])
-])
-AX_RESTORE_FLAGS_WITH_PREFIX(OLD, [CPPFLAGS])
-
-AX_SAVE_FLAGS_WITH_PREFIX(OLD, [LDFLAGS])
-AX_APPEND_COMPILE_FLAGS([$SYSTEMD_LIBS], [LDFLAGS])
-AC_CHECK_LIB([systemd], [sd_event_default], [], [
-    AC_MSG_ERROR([Could not find sd_event_default in libsystemd])
-])
-AX_RESTORE_FLAGS_WITH_PREFIX(OLD, [LDFLAGS])
-
-# Make it possible for users to choose to disable examples
-AC_ARG_ENABLE([examples], AC_HELP_STRING([--disable-examples],
-                                         [Build example programs]))
-AM_CONDITIONAL([BUILD_EXAMPLES], [test "x$enable_examples" != "xno"])
-
-# Make it possible for users to choose if they want test support
-# explicitly or not at all
-AC_ARG_ENABLE([tests], AC_HELP_STRING([--disable-tests],
-                                      [Build test cases]))
-
-# Check/set gtest specific functions.
-AS_IF([test "x$enable_tests" != "xno"], [
-    PKG_CHECK_MODULES([GTEST], [gtest], [], [true])
-    PKG_CHECK_MODULES([GMOCK], [gmock], [], [true])
-    AX_PTHREAD
-
-    AX_SAVE_FLAGS_WITH_PREFIX(OLD, [CPPFLAGS])
-    AX_APPEND_COMPILE_FLAGS([$GTEST_CFLAGS], [CPPFLAGS])
-    AC_LANG_PUSH([C++])
-    AC_CHECK_HEADERS([gtest/gtest.h], [
-        AS_IF([test "x$GTEST_CFLAGS" = "x"], [
-            AS_IF([test "x$PTHREAD_CFLAGS" = "x"], [
-                AX_APPEND_COMPILE_FLAGS(["-DGTEST_HAS_PTHREAD=0"], [GTEST_CFLAGS])
-            ], [
-                AX_APPEND_COMPILE_FLAGS(["-DGTEST_HAS_PTHREAD=1"], [GTEST_CFLAGS])
-                AX_APPEND_COMPILE_FLAGS([$PTHREAD_CFLAGS], [GTEST_CFLAGS])
-            ])
-        ])
-    ], [
-        AS_IF([test "x$enable_tests" = "xyes"], [
-            AC_MSG_ERROR([Testing enabled but could not find gtest/gtest.h])
-        ])
-    ])
-    AC_LANG_POP([C++])
-    AX_RESTORE_FLAGS_WITH_PREFIX(OLD, [CPPFLAGS])
-
-    AX_SAVE_FLAGS_WITH_PREFIX(OLD, [CPPFLAGS])
-    AX_APPEND_COMPILE_FLAGS([$GMOCK_CFLAGS], [CPPFLAGS])
-    AC_LANG_PUSH([C++])
-    AC_CHECK_HEADERS([gmock/gmock.h], [], [
-        AS_IF([test "x$enable_tests" = "xyes"], [
-            AC_MSG_ERROR([Testing enabled but could not find gmock/gmock.h])
-        ])
-    ])
-    AC_LANG_POP([C++])
-    AX_RESTORE_FLAGS_WITH_PREFIX(OLD, [CPPFLAGS])
-
-    AX_SAVE_FLAGS_WITH_PREFIX(OLD, [LDFLAGS])
-    AX_APPEND_COMPILE_FLAGS([$GTEST_LIBS], [LDFLAGS])
-    AC_CHECK_LIB([gtest], [main], [
-        AS_IF([test "x$GTEST_LIBS" = "x"], [
-            AX_APPEND_COMPILE_FLAGS([-lgtest], [GTEST_LIBS])
-        ])
-    ], [
-        AS_IF([test "x$enable_tests" = "xyes"], [
-            AC_MSG_ERROR([Testing enabled but couldn't find gtest libs])
-        ])
-    ])
-    AX_RESTORE_FLAGS_WITH_PREFIX(OLD, [LDFLAGS])
-
-    AX_SAVE_FLAGS_WITH_PREFIX(OLD, [LDFLAGS])
-    AX_APPEND_COMPILE_FLAGS([$GMOCK_LIBS], [LDFLAGS])
-    AC_CHECK_LIB([gmock], [main], [
-        AS_IF([test "x$GMOCK_LIBS" = "x"], [
-            AX_APPEND_COMPILE_FLAGS([-lgmock], [GMOCK_LIBS])
-        ])
-    ], [
-        AS_IF([test "x$enable_tests" = "xyes"], [
-            AC_MSG_ERROR([Testing enabled but couldn't find gmock libs])
-        ])
-    ])
-    AX_RESTORE_FLAGS_WITH_PREFIX(OLD, [LDFLAGS])
-])
-
-# Check for valgrind
-AS_IF([test "x$enable_tests" = "xno"], [enable_valgrind=no])
-m4_foreach([vgtool], [valgrind_tool_list],
-    [AX_VALGRIND_DFLT(vgtool, [off])])
-AX_VALGRIND_DFLT([memcheck], [on])
-AX_VALGRIND_CHECK
-AM_EXTRA_RECURSIVE_TARGETS([check-valgrind])
-m4_foreach([vgtool], [valgrind_tool_list],
-    [AM_EXTRA_RECURSIVE_TARGETS([check-valgrind-]vgtool)])
-
-# Code coverage
-AX_CODE_COVERAGE
-AS_IF([test "x$CODE_COVERAGE_ENABLED" = "xyes"], [
-    AX_APPEND_COMPILE_FLAGS([-DHAVE_GCOV], [CODE_COVERAGE_CPPFLAGS])
-])
-m4_ifdef([_AX_CODE_COVERAGE_RULES],
-    [AM_CONDITIONAL(AUTOCONF_CODE_COVERAGE_2019_01_06, [true])],
-    [AM_CONDITIONAL(AUTOCONF_CODE_COVERAGE_2019_01_06, [false])])
-AX_ADD_AM_MACRO_STATIC([])
-
-# Append -Werror after doing autoconf compiler checks
-# Otherwise some perfectly valid checks can fail and cause our
-# final configuratin to be broken.
-AC_ARG_ENABLE([werror], AC_HELP_STRING([--disable-werror], [Whether to automatically add -Werror CFLAGS]))
-AS_IF([test "x$enable_tests" != "xno"], [
-    AX_APPEND_COMPILE_FLAGS([-Werror], [CFLAGS])
-    AX_APPEND_COMPILE_FLAGS([-Werror], [CXXFLAGS])
-])
-
-# Create configured output
-AC_CONFIG_FILES([Makefile example/Makefile src/Makefile test/Makefile])
-AC_CONFIG_FILES([src/sdeventplus.pc])
-AC_OUTPUT
diff --git a/example/Makefile.am b/example/Makefile.am
deleted file mode 100644
index c9a96fc..0000000
--- a/example/Makefile.am
+++ /dev/null
@@ -1,21 +0,0 @@
-noinst_PROGRAMS =
-
-if BUILD_EXAMPLES
-
-noinst_PROGRAMS += delayed_echo
-delayed_echo_SOURCES = delayed_echo.cpp
-delayed_echo_LDADD = $(SDEVENTPLUS_LIBS)
-
-noinst_PROGRAMS += follow
-follow_SOURCES = follow.cpp
-follow_LDADD = $(SDEVENTPLUS_LIBS)
-
-noinst_PROGRAMS += heartbeat
-heartbeat_SOURCES = heartbeat.cpp
-heartbeat_LDADD = $(SDEVENTPLUS_LIBS) $(STDPLUS_LIBS)
-
-noinst_PROGRAMS += heartbeat_timer
-heartbeat_timer_SOURCES = heartbeat_timer.cpp
-heartbeat_timer_LDADD = $(SDEVENTPLUS_LIBS) $(STDPLUS_LIBS)
-
-endif
diff --git a/src/Makefile.am b/src/Makefile.am
deleted file mode 100644
index 40e3c89..0000000
--- a/src/Makefile.am
+++ /dev/null
@@ -1,42 +0,0 @@
-nobase_include_HEADERS =
-pkgconfig_DATA = sdeventplus.pc
-lib_LTLIBRARIES = libsdeventplus.la
-libsdeventplus_la_SOURCES =
-libsdeventplus_la_LIBADD = $(COMMON_LIBS)
-
-nobase_include_HEADERS += sdeventplus/clock.hpp
-libsdeventplus_la_SOURCES += sdeventplus/clock.cpp
-
-nobase_include_HEADERS += sdeventplus/event.hpp
-libsdeventplus_la_SOURCES += sdeventplus/event.cpp
-
-nobase_include_HEADERS += sdeventplus/exception.hpp
-libsdeventplus_la_SOURCES += sdeventplus/exception.cpp
-
-nobase_include_HEADERS += sdeventplus/internal/sdevent.hpp
-libsdeventplus_la_SOURCES += sdeventplus/internal/sdevent.cpp
-
-nobase_include_HEADERS += sdeventplus/internal/utils.hpp
-
-nobase_include_HEADERS += sdeventplus/source/base.hpp
-libsdeventplus_la_SOURCES += sdeventplus/source/base.cpp
-
-nobase_include_HEADERS += sdeventplus/source/child.hpp
-libsdeventplus_la_SOURCES += sdeventplus/source/child.cpp
-
-nobase_include_HEADERS += sdeventplus/source/event.hpp
-libsdeventplus_la_SOURCES += sdeventplus/source/event.cpp
-
-nobase_include_HEADERS += sdeventplus/source/io.hpp
-libsdeventplus_la_SOURCES += sdeventplus/source/io.cpp
-
-nobase_include_HEADERS += sdeventplus/source/signal.hpp
-libsdeventplus_la_SOURCES += sdeventplus/source/signal.cpp
-
-nobase_include_HEADERS += sdeventplus/source/time.hpp
-libsdeventplus_la_SOURCES += sdeventplus/source/time.cpp
-
-nobase_include_HEADERS += sdeventplus/test/sdevent.hpp
-
-nobase_include_HEADERS += sdeventplus/utility/timer.hpp
-libsdeventplus_la_SOURCES += sdeventplus/utility/timer.cpp
diff --git a/src/sdeventplus.pc.in b/src/sdeventplus.pc.in
deleted file mode 100644
index 91f946c..0000000
--- a/src/sdeventplus.pc.in
+++ /dev/null
@@ -1,12 +0,0 @@
-prefix=@prefix@
-exec_prefix=@prefix@
-libdir=@libdir@
-includedir=@includedir@
-
-Name: sdeventplus
-Description: C++ systemd event wrapper
-Version: @VERSION@
-Requires: @AX_PACKAGE_REQUIRES@
-Requires.private: @AX_PACKAGE_REQUIRES_PRIVATE@
-Cflags: -I${includedir}
-Libs: -L${libdir} -lsdeventplus
diff --git a/test/Makefile.am b/test/Makefile.am
deleted file mode 100644
index 76a82b8..0000000
--- a/test/Makefile.am
+++ /dev/null
@@ -1,62 +0,0 @@
-@VALGRIND_CHECK_RULES@
-
-gtest_cppflags = $(AM_CPPFLAGS) $(GTEST_CFLAGS) $(GMOCK_CFLAGS)
-gtest_ldadd = $(SDEVENTPLUS_LIBS) $(GTEST_LIBS) $(GMOCK_LIBS) -lgmock_main
-
-check_PROGRAMS =
-TESTS = $(check_PROGRAMS)
-
-check_PROGRAMS += clock
-clock_SOURCES = clock.cpp
-clock_CPPFLAGS = $(gtest_cppflags)
-clock_LDADD = $(gtest_ldadd)
-
-check_PROGRAMS += event
-event_SOURCES = event.cpp
-event_CPPFLAGS = $(gtest_cppflags)
-event_LDADD = $(gtest_ldadd)
-
-check_PROGRAMS += exception
-exception_SOURCES = exception.cpp
-exception_CPPFLAGS = $(gtest_cppflags)
-exception_LDADD = $(gtest_ldadd)
-
-check_PROGRAMS += internal/utils
-internal_utils_SOURCES = internal/utils.cpp
-internal_utils_CPPFLAGS = $(gtest_cppflags)
-internal_utils_LDADD = $(gtest_ldadd)
-
-check_PROGRAMS += source/base
-source_base_SOURCES = source/base.cpp
-source_base_CPPFLAGS = $(gtest_cppflags)
-source_base_LDADD = $(gtest_ldadd)
-
-check_PROGRAMS += source/child
-source_child_SOURCES = source/child.cpp
-source_child_CPPFLAGS = $(gtest_cppflags)
-source_child_LDADD = $(gtest_ldadd)
-
-check_PROGRAMS += source/event
-source_event_SOURCES = source/event.cpp
-source_event_CPPFLAGS = $(gtest_cppflags)
-source_event_LDADD = $(gtest_ldadd)
-
-check_PROGRAMS += source/io
-source_io_SOURCES = source/io.cpp
-source_io_CPPFLAGS = $(gtest_cppflags)
-source_io_LDADD = $(gtest_ldadd)
-
-check_PROGRAMS += source/signal
-source_signal_SOURCES = source/signal.cpp
-source_signal_CPPFLAGS = $(gtest_cppflags)
-source_signal_LDADD = $(gtest_ldadd)
-
-check_PROGRAMS += source/time
-source_time_SOURCES = source/time.cpp
-source_time_CPPFLAGS = $(gtest_cppflags)
-source_time_LDADD = $(gtest_ldadd)
-
-check_PROGRAMS += utility/timer
-utility_timer_SOURCES = utility/timer.cpp
-utility_timer_CPPFLAGS = $(gtest_cppflags)
-utility_timer_LDADD = $(gtest_ldadd)
