LIBSYSTEMD_ID128_AGE=0
 
 LIBSYSTEMD_JOURNAL_CURRENT=11
-LIBSYSTEMD_JOURNAL_REVISION=3
+LIBSYSTEMD_JOURNAL_REVISION=4
 LIBSYSTEMD_JOURNAL_AGE=11
 
 LIBSYSTEMD_CURRENT=0
        libsystemd-shared.la
 
 # ------------------------------------------------------------------------------
-libsystemd_la_SOURCES = \
+libsystemd_internal_la_SOURCES = \
        src/libsystemd/libsystemd.sym \
        src/systemd/sd-bus.h \
        src/systemd/sd-bus-protocol.h \
        src/login/login-shared.c \
        src/login/login-shared.h
 
-nodist_libsystemd_la_SOURCES = \
+nodist_libsystemd_internal_la_SOURCES = \
        src/libsystemd/sd-bus/bus-error-mapping.c
 
-libsystemd_la_LIBADD = \
-       libsystemd-shared.la \
-       $(RT_LIBS) \
-       -lresolv
-
-libsystemd_la_CFLAGS = \
+libsystemd_internal_la_CFLAGS = \
        $(AM_CFLAGS) \
        -pthread
 
+noinst_LTLIBRARIES += \
+       libsystemd-internal.la
+
+libsystemd_dump_la_SOURCES = \
+       src/libsystemd/sd-bus/bus-dump.c \
+       src/libsystemd/sd-bus/bus-dump.h
+
+libsystemd_dump_la_CFLAGS = \
+       $(AM_CFLAGS) \
+       $(CAP_CFLAGS)
+
+noinst_LTLIBRARIES += \
+       libsystemd-dump.la
+
+EXTRA_DIST += \
+       src/libsystemd/sd-bus/bus-error-mapping.gperf \
+       src/libsystemd/sd-bus/DIFFERENCES \
+       src/libsystemd/sd-bus/GVARIANT-SERIALIZATION \
+       src/libsystemd/libsystemd.pc.in
+
+CLEANFILES += \
+       src/libsystemd/sd-bus/bus-error-mapping.c
+
+libsystemd_la_SOURCES = \
+       $(libsystemd_internal_la_SOURCES) \
+       $(libsystemd_journal_internal_la_SOURCES)
+
+nodist_libsystemd_la_SOURCES = \
+       $(nodist_libsystemd_internal_la_SOURCES)
+
+libsystemd_la_CFLAGS = \
+       $(libsystemd_internal_la_CFLAGS)
+
 libsystemd_la_LDFLAGS = \
        $(AM_LDFLAGS) \
        -version-info $(LIBSYSTEMD_CURRENT):$(LIBSYSTEMD_REVISION):$(LIBSYSTEMD_AGE) \
        -Wl,--version-script=$(top_srcdir)/src/libsystemd/libsystemd.sym
 
+libsystemd_la_LIBADD = \
+       libsystemd-shared.la \
+       $(libsystemd_journal_internal_la_LIBADD) \
+       $(RT_LIBS) \
+       -lresolv
+
 pkgconfiglib_DATA += \
        src/libsystemd/libsystemd.pc
 
        src/systemd/sd-resolve.h
 endif
 
-EXTRA_DIST += \
-       src/libsystemd/sd-bus/bus-error-mapping.gperf \
-       src/libsystemd/sd-bus/DIFFERENCES \
-       src/libsystemd/sd-bus/GVARIANT-SERIALIZATION \
-       src/libsystemd/libsystemd.pc.in
-
-CLEANFILES += \
-       src/libsystemd/sd-bus/bus-error-mapping.c
-
 lib_LTLIBRARIES += \
        libsystemd.la
 
-libsystemd_internal_la_SOURCES = \
-       $(libsystemd_la_SOURCES)
-
-nodist_libsystemd_internal_la_SOURCES = \
-       $(nodist_libsystemd_la_SOURCES)
-
-libsystemd_internal_la_CFLAGS = \
-       $(libsystemd_la_CFLAGS)
-
-noinst_LTLIBRARIES += \
-       libsystemd-internal.la
-
-libsystemd_dump_la_SOURCES = \
-       src/libsystemd/sd-bus/bus-dump.c \
-       src/libsystemd/sd-bus/bus-dump.h
-
-libsystemd_dump_la_CFLAGS = \
-       $(AM_CFLAGS) \
-       $(CAP_CFLAGS)
-
-noinst_LTLIBRARIES += \
-       libsystemd-dump.la
-
 tests += \
        test-bus-marshal \
        test-bus-signature \
 test_catalog_LDADD = \
        libsystemd-journal-core.la
 
-libsystemd_journal_la_SOURCES = \
-       src/journal/libsystemd-journal.sym \
-       src/journal/sd-journal.c \
-       src/systemd/sd-journal.h \
-       src/systemd/_sd-common.h \
-       src/journal/journal-file.c \
-       src/journal/journal-file.h \
-       src/journal/journal-vacuum.c \
-       src/journal/journal-vacuum.h \
-       src/journal/journal-verify.c \
-       src/journal/journal-verify.h \
-       src/journal/lookup3.c \
-       src/journal/lookup3.h \
-       src/journal/journal-send.c \
-       src/journal/journal-def.h \
-       src/journal/compress.h \
-       src/journal/catalog.c \
-       src/journal/catalog.h \
-       src/journal/mmap-cache.c \
-       src/journal/mmap-cache.h
-
-libsystemd_journal_la_CFLAGS = \
-       $(AM_CFLAGS) \
-       -fvisibility=hidden
-
-libsystemd_journal_la_LDFLAGS = \
-       $(AM_LDFLAGS) \
-       -version-info $(LIBSYSTEMD_JOURNAL_CURRENT):$(LIBSYSTEMD_JOURNAL_REVISION):$(LIBSYSTEMD_JOURNAL_AGE) \
-       -Wl,--version-script=$(top_srcdir)/src/journal/libsystemd-journal.sym
-
-libsystemd_journal_la_LIBADD = \
-       libsystemd-label.la \
-       libsystemd-internal.la \
-       libsystemd-shared.la
-
-libsystemd_journal_internal_la_SOURCES = \
-       $(libsystemd_journal_la_SOURCES)
-
-# using _CFLAGS = in the conditional below would suppress AM_CFLAGS
-libsystemd_journal_internal_la_CFLAGS = \
-       $(AM_CFLAGS)
-
-libsystemd_journal_internal_la_LIBADD =
-
-if HAVE_XZ
-libsystemd_journal_la_SOURCES += \
-       src/journal/compress.c
-
-libsystemd_journal_la_CFLAGS += \
-       $(XZ_CFLAGS)
-
-libsystemd_journal_la_LIBADD += \
-       $(XZ_LIBS)
-
-libsystemd_journal_internal_la_CFLAGS += \
-       $(XZ_CFLAGS)
-
-libsystemd_journal_internal_la_LIBADD += \
-       $(XZ_LIBS)
-endif
-
 libsystemd_journal_core_la_SOURCES = \
        src/journal/journald-kmsg.c \
        src/journal/journald-kmsg.h \
 noinst_LTLIBRARIES += \
        libsystemd-journal-core.la
 
-if HAVE_GCRYPT
-libsystemd_journal_la_SOURCES += \
-       src/journal/journal-authenticate.c \
-       src/journal/journal-authenticate.h \
-       src/journal/fsprg.c \
-       src/journal/fsprg.h
-
-libsystemd_journal_la_CFLAGS += \
-       $(GCRYPT_CFLAGS) \
-       -Wno-pointer-arith
-
-libsystemd_journal_la_LIBADD += \
-       $(GCRYPT_LIBS)
-
-libsystemd_journal_internal_la_CFLAGS += \
-       $(GCRYPT_CFLAGS) \
-       -Wno-pointer-arith
-
-libsystemd_journal_internal_la_LIBADD += \
-       $(GCRYPT_LIBS)
-endif
-
-# move lib from $(libdir) to $(rootlibdir) and update devel link, if
-# needed. Also, grant read access to new journal files to members of
-# "adm" and "wheel".
-libsystemd-journal-install-hook:
-       libname=libsystemd-journal.so && $(move-to-rootlibdir)
-       -$(MKDIR_P) $(DESTDIR)/var/log/journal
-       -chown 0:0 $(DESTDIR)/var/log/journal
-       -chmod 755 $(DESTDIR)/var/log/journal
-       -setfacl -nm g:adm:rx,d:g:adm:rx $(DESTDIR)/var/log/journal/
-       -setfacl -nm g:wheel:rx,d:g:wheel:rx $(DESTDIR)/var/log/journal/
-
-libsystemd-journal-uninstall-hook:
-       rm -f $(DESTDIR)$(rootlibdir)/libsystemd-journal.so*
-
-INSTALL_EXEC_HOOKS += libsystemd-journal-install-hook
-UNINSTALL_EXEC_HOOKS += libsystemd-journal-uninstall-hook
-
 # ------------------------------------------------------------------------------
 
 # Update catalog on installation. Do not bother if installing
        src/systemd/sd-messages.h \
        src/systemd/_sd-common.h
 
-lib_LTLIBRARIES += \
-       libsystemd-journal.la
+libsystemd_journal_internal_la_SOURCES = \
+       src/journal/sd-journal.c \
+       src/systemd/sd-journal.h \
+       src/systemd/_sd-common.h \
+       src/journal/journal-file.c \
+       src/journal/journal-file.h \
+       src/journal/journal-vacuum.c \
+       src/journal/journal-vacuum.h \
+       src/journal/journal-verify.c \
+       src/journal/journal-verify.h \
+       src/journal/lookup3.c \
+       src/journal/lookup3.h \
+       src/journal/journal-send.c \
+       src/journal/journal-def.h \
+       src/journal/compress.h \
+       src/journal/catalog.c \
+       src/journal/catalog.h \
+       src/journal/mmap-cache.c \
+       src/journal/mmap-cache.h
+
+# using _CFLAGS = in the conditional below would suppress AM_CFLAGS
+libsystemd_journal_internal_la_CFLAGS =
+       $(AM_CFLAGS)
+
+libsystemd_journal_internal_la_LIBADD =
+
+if HAVE_XZ
+libsystemd_journal_internal_la_SOURCES += \
+       src/journal/compress.c
+
+libsystemd_journal_internal_la_CFLAGS += \
+       $(XZ_CFLAGS)
+
+libsystemd_journal_internal_la_LIBADD += \
+       $(XZ_LIBS)
+endif
+
+if HAVE_GCRYPT
+libsystemd_journal_internal_la_SOURCES += \
+       src/journal/journal-authenticate.c \
+       src/journal/journal-authenticate.h \
+       src/journal/fsprg.c \
+       src/journal/fsprg.h
+
+libsystemd_journal_internal_la_LIBADD += \
+       $(GCRYPT_LIBS)
+
+libsystemd_journal_internal_la_CFLAGS += \
+       $(GCRYPT_CFLAGS) \
+       -Wno-pointer-arith
+endif
 
 noinst_LTLIBRARIES += \
        libsystemd-journal-internal.la
 dist_pkgsysconf_DATA += \
        src/journal/journald.conf
 
-pkgconfiglib_DATA += \
-       src/journal/libsystemd-journal.pc
-
 dist_catalog_DATA = \
        catalog/systemd.fr.catalog \
        catalog/systemd.ru.catalog \
        systemd-journal-flush.service
 
 EXTRA_DIST += \
-       src/journal/libsystemd-journal.pc.in \
        units/systemd-journald.service.in \
        units/systemd-journal-flush.service.in \
        src/journal/journald-gperf.gperf
 
 _journal_la_LIBADD = \
        $(PYTHON_DEVEL_LIBS) \
-       libsystemd-journal.la
+       libsystemd.la
 
 id128_la_SOURCES = \
        src/python-systemd/id128.c \
 _reader_la_LIBADD = \
        $(PYTHON_DEVEL_LIBS) \
        libsystemd.la \
-       libsystemd-journal.la \
        libsystemd-shared.la
 
 login_la_SOURCES = \
        $(AM_V_GEN)sed -r -n 's/^ +(sd_.*);/void new_\1(void);\n__asm__(".symver new_\1,\1@LIBSYSTEMD_209");\nstatic void (*resolve_\1(void)) (void) {\n\treturn new_\1;\n}\nvoid \1(void) __attribute__((ifunc("resolve_\1")));\nobsolete_lib(\1,$(notdir $(basename $<)));\n/p' <$< >$@
 endef
 
+libsystemd_journal_la_SOURCES = \
+       libsystemd-journal.c \
+       src/compat-libs/libsystemd-journal.sym
+
+libsystemd_journal_la_CFLAGS = \
+       $(AM_CFLAGS) \
+       -fvisibility=default \
+       -imacros $(top_srcdir)/src/compat-libs/linkwarning.h \
+       -fno-lto
+
+libsystemd_journal_la_LDFLAGS = \
+       $(AM_LDFLAGS) \
+       -version-info $(LIBSYSTEMD_JOURNAL_CURRENT):$(LIBSYSTEMD_JOURNAL_REVISION):$(LIBSYSTEMD_JOURNAL_AGE) \
+       -Wl,--version-script=$(top_srcdir)/src/compat-libs/libsystemd-journal.sym
+
+libsystemd_journal_la_LIBADD = \
+       libsystemd.la
+
 libsystemd_login_la_SOURCES = \
        libsystemd-login.c \
        src/compat-libs/libsystemd-login.sym
        libsystemd.la
 
 BUILT_SOURCES += \
+       libsystemd-journal.c \
        libsystemd-login.c \
        libsystemd-id128.c \
        libsystemd-daemon.c
        $(generate-fake-lib)
 
 lib_LTLIBRARIES += \
+       libsystemd-journal.la \
        libsystemd-login.la \
        libsystemd-id128.la \
        libsystemd-daemon.la
 endef
 
 test-libsystemd-sym.c: \
-       src/libsystemd/libsystemd.sym \
-       src/systemd/sd-bus.h \
-       src/systemd/sd-utf8.h \
-       src/systemd/sd-daemon.h \
-       src/systemd/sd-login.h
+               src/libsystemd/libsystemd.sym \
+               src/systemd/sd-journal.h \
+               src/systemd/sd-daemon.h \
+               src/systemd/sd-login.h \
+               src/systemd/sd-bus.h \
+               src/systemd/sd-utf8.h
        $(generate-sym-test)
 
+test-libudev-sym.c: \
+               src/libudev/libudev.sym \
+               src/udev/udev.h
+       $(generate-sym-test)
+
+test_libsystemd_sym_SOURCES = \
+       test-libsystemd-sym.c
+test_libsystemd_sym_LDADD = \
+       libsystemd.la
+
+test_libudev_sym_SOURCES = \
+       test-libudev-sym.c
+test_libudev_sym_LDADD = \
+       libudev.la
+
+BUILT_SOURCES += \
+       $(test_libsystemd_sym_SOURCES) \
+       $(test_libudev_sym_SOURCES)
+
+tests += \
+       test-libsystemd-sym \
+       test-libudev-sym
+
+if ENABLE_COMPAT_LIBS
 test-libsystemd-daemon-sym.c: \
-       src/compat-libs/libsystemd-daemon.sym \
-       src/systemd/sd-daemon.h
+               src/compat-libs/libsystemd-daemon.sym \
+               src/systemd/sd-daemon.h
        $(generate-sym-test)
 
 test-libsystemd-id128-sym.c: \
-       src/compat-libs/libsystemd-id128.sym \
-       src/systemd/sd-id128.h
+               src/compat-libs/libsystemd-id128.sym \
+               src/systemd/sd-id128.h
        $(generate-sym-test)
 
 test-libsystemd-journal-sym.c: \
-       src/journal/libsystemd-journal.sym \
-       src/systemd/sd-journal.h
+               src/compat-libs/libsystemd-journal.sym \
+               src/systemd/sd-journal.h
        $(generate-sym-test)
 
 test-libsystemd-login-sym.c: \
-       src/compat-libs/libsystemd-login.sym \
-       src/systemd/sd-login.h
+               src/compat-libs/libsystemd-login.sym \
+               src/systemd/sd-login.h
        $(generate-sym-test)
 
-test-libudev-sym.c: \
-       src/libudev/libudev.sym \
-       src/udev/udev.h
-       $(generate-sym-test)
-
-test_libsystemd_sym_SOURCES = \
-       test-libsystemd-sym.c
-test_libsystemd_sym_LDADD = \
-       libsystemd.la
-
 test_libsystemd_daemon_sym_SOURCES = \
        test-libsystemd-daemon-sym.c
 test_libsystemd_daemon_sym_LDADD = \
 test_libsystemd_login_sym_LDADD = \
        libsystemd-login.la
 
-test_libudev_sym_SOURCES = \
-       test-libudev-sym.c
-test_libudev_sym_LDADD = \
-       libudev.la
-
 BUILT_SOURCES += \
-       $(test_libsystemd_sym_SOURCES) \
        $(test_libsystemd_journal_sym_SOURCES) \
-       $(test_libudev_sym_SOURCES)
-
-tests += \
-       test-libsystemd-sym \
-       test-libsystemd-journal-sym \
-       test-libudev-sym
-
-if ENABLE_COMPAT_LIBS
-BUILT_SOURCES += \
        $(test_libsystemd_login_sym_SOURCES) \
        $(test_libsystemd_id128_sym_SOURCES) \
        $(test_libsystemd_daemon_sym_SOURCES)
 
 tests += \
+       test-libsystemd-journal-sym \
        test-libsystemd-login-sym \
        test-libsystemd-id128-sym \
        test-libsystemd-daemon-sym
 
 
 LIBSYSTEMD_209 {
 global:
-
-        /* originally LIBSYSTEMD_DAEMON_31 */
+        /* sd-journal */
+        sd_journal_print;
+        sd_journal_printv;
+        sd_journal_send;
+        sd_journal_sendv;
+        sd_journal_stream_fd;
+        sd_journal_open;
+        sd_journal_close;
+        sd_journal_previous;
+        sd_journal_next;
+        sd_journal_previous_skip;
+        sd_journal_next_skip;
+        sd_journal_get_realtime_usec;
+        sd_journal_get_monotonic_usec;
+        sd_journal_get_data;
+        sd_journal_enumerate_data;
+        sd_journal_restart_data;
+        sd_journal_add_match;
+        sd_journal_flush_matches;
+        sd_journal_seek_head;
+        sd_journal_seek_tail;
+        sd_journal_seek_monotonic_usec;
+        sd_journal_seek_realtime_usec;
+        sd_journal_seek_cursor;
+        sd_journal_get_cursor;
+        sd_journal_get_fd;
+        sd_journal_process;
+        sd_journal_print_with_location;
+        sd_journal_printv_with_location;
+        sd_journal_send_with_location;
+        sd_journal_sendv_with_location;
+        sd_journal_get_cutoff_realtime_usec;
+        sd_journal_get_cutoff_monotonic_usec;
+        sd_journal_wait;
+        sd_journal_open_directory;
+        sd_journal_add_disjunction;
+        sd_journal_perror;
+        sd_journal_perror_with_location;
+        sd_journal_get_usage;
+        sd_journal_test_cursor;
+        sd_journal_query_unique;
+        sd_journal_enumerate_unique;
+        sd_journal_restart_unique;
+        sd_journal_get_catalog;
+        sd_journal_get_catalog_for_message_id;
+        sd_journal_set_data_threshold;
+        sd_journal_get_data_threshold;
+        sd_journal_reliable_fd;
+        sd_journal_get_events;
+        sd_journal_get_timeout;
+        sd_journal_add_conjunction;
+        sd_journal_open_files;
+        sd_journal_open_container;
+
+        /* sd-dameon */
         sd_booted;
         sd_is_fifo;
         sd_is_mq;
         sd_listen_fds;
         sd_notify;
         sd_notifyf;
-
-        /* LIBSYSTEMD_DAEMON_209 */
         sd_watchdog_enabled;
 
-        /* originally LIBSYSTEMD_ID128_38 */
+        /* sd-id128 */
         sd_id128_to_string;
         sd_id128_from_string;
         sd_id128_randomize;
         sd_id128_get_machine;
         sd_id128_get_boot;
 
-        /* originally LIBSYSTEMD_LOGIN_31 */
+        /* sd-login */
         sd_get_seats;
         sd_get_sessions;
         sd_get_uids;
         sd_uid_get_sessions;
         sd_uid_get_state;
         sd_uid_is_on_seat;
-
-        /* originally LIBSYSTEMD_LOGIN_38 */
         sd_pid_get_unit;
         sd_session_get_service;
-
-        /* originally LIBSYSTEMD_LOGIN_43 */
         sd_session_get_type;
         sd_session_get_class;
         sd_session_get_display;
-
-        /* originally LIBSYSTEMD_LOGIN_186 */
         sd_session_get_state;
         sd_seat_can_tty;
         sd_seat_can_graphical;
-
-        /* originally LIBSYSTEMD_LOGIN_198 */
         sd_session_get_tty;
-
-        /* originally LIBSYSTEMD_LOGIN_201 */
         sd_login_monitor_get_events;
         sd_login_monitor_get_timeout;
-
-        /* originally LIBSYSTEMD_LOGIN_202 */
         sd_pid_get_user_unit;
         sd_pid_get_machine_name;
-
-        /* originally LIBSYSTEMD_LOGIN_203 */
         sd_get_machine_names;
-
-        /* originally LIBSYSTEMD_LOGIN_205 */
         sd_pid_get_slice;
-
-        /* originally LIBSYSTEMD_LOGIN_207 */
         sd_session_get_vt;
-
-        /* new in LIBSYSTEMD_LOGIN_209 */
         sd_session_is_remote;
         sd_session_get_remote_user;
         sd_session_get_remote_host;
 
-        /* Same order as in sd-bus.h should be used */
-
-        /* Connections */
+        /* sd-bus */
         sd_bus_default;
         sd_bus_default_user;
         sd_bus_default_system;
         sd_bus_remove_node_enumerator;
         sd_bus_add_object_manager;
         sd_bus_remove_object_manager;
-
-        /* Message object */
         sd_bus_message_new_signal;
         sd_bus_message_new_method_call;
         sd_bus_message_new_method_return;
         sd_bus_message_verify_type;
         sd_bus_message_at_end;
         sd_bus_message_rewind;
-
-        /* Bus management */
         sd_bus_get_unique_name;
         sd_bus_request_name;
         sd_bus_release_name;
         sd_bus_list_names;
         sd_bus_get_owner;
         sd_bus_get_owner_machine_id;
-
-        /* Convenience calls */
         sd_bus_call_method;
         sd_bus_get_property;
         sd_bus_get_property_trivial;
         sd_bus_emit_interfaces_removed_strv;
         sd_bus_emit_interfaces_removed;
         sd_bus_query_sender_creds;
-
-        /* Credentials */
         sd_bus_creds_new_from_pid;
         sd_bus_creds_ref;
         sd_bus_creds_unref;
         sd_bus_creds_get_unique_name;
         sd_bus_creds_get_well_known_names;
         sd_bus_creds_get_connection_name;
-
-        /* Error structures */
         sd_bus_error_free;
         sd_bus_error_set;
         sd_bus_error_setf;
         sd_bus_error_copy;
         sd_bus_error_is_set;
         sd_bus_error_has_name;
-
-        /* Escaping */
         sd_bus_label_escape;
         sd_bus_label_unescape;
 
-        /* sd-memfd functions */
+        /* sd-memfd */
         sd_memfd_new;
         sd_memfd_make;
         sd_memfd_new_and_map;
         sd_memfd_set_size;
         sd_memfd_get_name;
 
-        /* sd-event functions */
+        /* sd-event */
         sd_event_default;
-
         sd_event_new;
         sd_event_ref;
         sd_event_unref;
-
         sd_event_add_io;
         sd_event_add_monotonic;
         sd_event_add_realtime;
         sd_event_add_child;
         sd_event_add_defer;
         sd_event_add_exit;
-
         sd_event_run;
         sd_event_loop;
         sd_event_exit;
-
         sd_event_get_state;
         sd_event_get_tid;
         sd_event_get_exit_code;
         sd_event_get_now_monotonic;
         sd_event_set_watchdog;
         sd_event_get_watchdog;
-
         sd_event_source_ref;
         sd_event_source_unref;
-
         sd_event_source_set_prepare;
         sd_event_source_get_pending;
         sd_event_source_get_priority;
         sd_event_source_get_child_pid;
         sd_event_source_get_event;
 
-        /* sd-utf8 function */
+        /* sd-utf8 */
         sd_utf8_is_valid;
         sd_ascii_is_valid;