Skip to content

Commit

Permalink
Final step of revamping the build system
Browse files Browse the repository at this point in the history
The structure of the source tree is basically correct and this is
about as far as we can go without hacking at the C code.
  • Loading branch information
blueness committed Nov 16, 2012
1 parent c47f33a commit eb203b0
Show file tree
Hide file tree
Showing 16 changed files with 1,662 additions and 90 deletions.
339 changes: 339 additions & 0 deletions COPYING

Large diffs are not rendered by default.

10 changes: 1 addition & 9 deletions Makefile.am
Original file line number Diff line number Diff line change
@@ -1,10 +1,2 @@
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
#SUBDIRS = docs keymaps keymaps-force-release man rules src test

SUBDIRS = keymaps keymaps-force-release

if ENABLE_GTK_DOC
SUBDIRS += \
docs/libudev
endif

SUBDIRS = src docs keymaps keymaps-force-release man rules test
6 changes: 5 additions & 1 deletion autogen.sh
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
#!/bin/sh

set -e

if type -p gtkdocize > /dev/null; then
gtkdocize --docdir docs
gtkdocargs=--enable-gtk-doc
fi

aclocal && \
autoheader && \
autoconf && \
libtoolize --copy && \
gtkdocize --docdir docs && \
automake --add-missing --copy
8 changes: 7 additions & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,14 @@ AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET

GTK_DOC_CHECK([1.18],[--flavour no-tmpl])

AC_PATH_PROG([M4], [m4])
AC_PATH_PROG([XSLTPROC], [xsltproc])
GTK_DOC_CHECK([1.18],[--flavour no-tmpl])
AC_PATH_TOOL(GPERF, gperf)
if test -z "$GPERF" ; then
AC_MSG_ERROR([*** gperf not found])
fi

# TODO check this --- we don't want kmod necessarily
# PKG_CHECK_MODULES(KMOD, [libkmod >= 5])
Expand Down Expand Up @@ -265,4 +270,5 @@ AC_CONFIG_FILES([Makefile
src/test/Makefile
src/udev/Makefile
test/Makefile])

AC_OUTPUT
4 changes: 2 additions & 2 deletions docs/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
if ENABLE_GUDEV
if ENABLE_GTK_DOC
SUBDIRS = \
libudev
if ENABLE_GTK_DOC
if ENABLE_GUDEV
SUBDIRS += \
gudev
endif
Expand Down
5 changes: 4 additions & 1 deletion keymaps-force-release/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}

if ENABLE_KEYMAP
rootprefix=@rootprefix@
udevlibexecdir=$(rootprefix)/lib/udev
udevkeymapforcereldir = $(udevlibexecdir)/keymaps/force-release

if ENABLE_KEYMAP
dist_udevkeymapforcerel_DATA = \
dell-touchpad \
dell-xps \
Expand Down
6 changes: 5 additions & 1 deletion keymaps/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}

if ENABLE_KEYMAP
rootprefix=@rootprefix@
udevlibexecdir=$(rootprefix)/lib/udev
udevkeymapdir = $(udevlibexecdir)/keymaps

if ENABLE_KEYMAP
dist_udevkeymap_DATA = \
acer \
acer-aspire_5720 \
Expand Down Expand Up @@ -63,5 +66,6 @@ dist_udevkeymap_DATA = \
toshiba-satellite_a110 \
toshiba-satellite_m30x \
zepto-znote

endif

60 changes: 0 additions & 60 deletions rules/99-systemd.rules.in

This file was deleted.

5 changes: 2 additions & 3 deletions rules/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ udevlibexecdir=$(rootprefix)/lib/udev
udevrulesdir = $(udevlibexecdir)/rules.d

dist_udevrules_DATA = \
99-systemd.rules \
42-usb-hid-pm.rules \
50-udev-default.rules \
60-cdrom_id.rules \
Expand All @@ -26,6 +25,6 @@ dist_udevrules_DATA = \

if ENABLE_KEYMAP
dist_udevrules_DATA += \
95-keymap.rules \
95-keyboard-force-release.rules
95-keymap.rules \
95-keyboard-force-release.rules
endif
24 changes: 13 additions & 11 deletions src/libudev/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ LIBUDEV_CURRENT=3
LIBUDEV_REVISION=0
LIBUDEV_AGE=2

AM_CPPFLAGS = \
-I $(top_srcdir)/src/shared

lib_LTLIBRARIES = \
libudev.la

Expand All @@ -28,17 +31,6 @@ libudev_la_LDFLAGS = \
-version-info $(LIBUDEV_CURRENT):$(LIBUDEV_REVISION):$(LIBUDEV_AGE) \
-Wl,--version-script=libudev.sym

pkgconfiglibdir=$(libdir)/pkgconfig
pkgconfiglib_DATA = \
libudev.pc

EXTRA_DIST = \
libudev.pc.in \
libudev.sym

CLEANFILES = \
libudev.pc

noinst_LTLIBRARIES = \
libudev-private.la

Expand All @@ -51,3 +43,13 @@ libudev_private_la_CFLAGS = \
$(AM_CFLAGS) \
-fvisibility=default

pkgconfiglibdir=$(libdir)/pkgconfig
pkgconfiglib_DATA = \
libudev.pc

EXTRA_DIST = \
libudev.pc.in \
libudev.sym

CLEANFILES = \
libudev.pc
139 changes: 139 additions & 0 deletions src/shared/log.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/

#pragma once

/***
This file is part of systemd.
Copyright 2010 Lennart Poettering
systemd is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
systemd is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/

#include <syslog.h>
#include <stdbool.h>
#include <stdarg.h>
#include <errno.h>

#include "macro.h"

typedef enum LogTarget{
LOG_TARGET_CONSOLE,
LOG_TARGET_KMSG,
LOG_TARGET_JOURNAL,
LOG_TARGET_JOURNAL_OR_KMSG,
LOG_TARGET_SYSLOG,
LOG_TARGET_SYSLOG_OR_KMSG,
LOG_TARGET_AUTO, /* console if stderr is tty, JOURNAL_OR_KMSG otherwise */
LOG_TARGET_SAFE, /* console if stderr is tty, KMSG otherwise */
LOG_TARGET_NULL,
_LOG_TARGET_MAX,
_LOG_TARGET_INVALID = -1
} LogTarget;

void log_set_target(LogTarget target);
void log_set_max_level(int level);
void log_set_facility(int facility);

int log_set_target_from_string(const char *e);
int log_set_max_level_from_string(const char *e);

void log_show_color(bool b);
void log_show_location(bool b);

int log_show_color_from_string(const char *e);
int log_show_location_from_string(const char *e);

LogTarget log_get_target(void);
int log_get_max_level(void);

int log_open(void);
void log_close(void);
void log_forget_fds(void);

void log_close_syslog(void);
void log_close_journal(void);
void log_close_kmsg(void);
void log_close_console(void);

void log_parse_environment(void);

int log_meta(
int level,
const char*file,
int line,
const char *func,
const char *format, ...) _printf_attr_(5,6);

int log_metav(
int level,
const char*file,
int line,
const char *func,
const char *format,
va_list ap);

int log_struct_internal(
int level,
const char *file,
int line,
const char *func,
const char *format, ...) _sentinel_;

int log_oom_internal(
const char *file,
int line,
const char *func);

/* This modifies the buffer passed! */
int log_dump_internal(
int level,
const char*file,
int line,
const char *func,
char *buffer);

_noreturn_ void log_assert_failed(
const char *text,
const char *file,
int line,
const char *func);

_noreturn_ void log_assert_failed_unreachable(
const char *text,
const char *file,
int line,
const char *func);

#define log_full(level, ...) log_meta(level, __FILE__, __LINE__, __func__, __VA_ARGS__)

#define log_debug(...) log_meta(LOG_DEBUG, __FILE__, __LINE__, __func__, __VA_ARGS__)
#define log_info(...) log_meta(LOG_INFO, __FILE__, __LINE__, __func__, __VA_ARGS__)
#define log_notice(...) log_meta(LOG_NOTICE, __FILE__, __LINE__, __func__, __VA_ARGS__)
#define log_warning(...) log_meta(LOG_WARNING, __FILE__, __LINE__, __func__, __VA_ARGS__)
#define log_error(...) log_meta(LOG_ERR, __FILE__, __LINE__, __func__, __VA_ARGS__)

#define log_struct(level, ...) log_struct_internal(level, __FILE__, __LINE__, __func__, __VA_ARGS__)

#define log_oom() log_oom_internal(__FILE__, __LINE__, __func__)

/* This modifies the buffer passed! */
#define log_dump(level, buffer) log_dump_internal(level, __FILE__, __LINE__, __func__, buffer)

bool log_on_console(void);

const char *log_target_to_string(LogTarget target);
LogTarget log_target_from_string(const char *s);

#define MESSAGE_ID(x) "MESSAGE_ID=" SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL(x)
Loading

0 comments on commit eb203b0

Please sign in to comment.