mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-05-05 07:38:20 +02:00
2003-03-25 Havoc Pennington <hp@redhat.com>
* throughout - add more _DBUS_ASSERT_ERROR_IS_CLEAR * configure.in: add --with-xml option to specify XML library, right now only libxml is supported. * bus/config-loader-libxml.c, config-parser.c: sync some minor nonworking code between home and work, still just stubs
This commit is contained in:
parent
17e82f5728
commit
90ed1d8458
15 changed files with 292 additions and 14 deletions
10
ChangeLog
10
ChangeLog
|
|
@ -1,3 +1,13 @@
|
|||
2003-03-25 Havoc Pennington <hp@redhat.com>
|
||||
|
||||
* throughout - add more _DBUS_ASSERT_ERROR_IS_CLEAR
|
||||
|
||||
* configure.in: add --with-xml option to specify XML library,
|
||||
right now only libxml is supported.
|
||||
|
||||
* bus/config-loader-libxml.c, config-parser.c: sync some minor
|
||||
nonworking code between home and work, still just stubs
|
||||
|
||||
2003-03-24 Havoc Pennington <hp@redhat.com>
|
||||
|
||||
* dbus/dbus-sysdeps.c (_dbus_set_fd_nonblocking): move to this
|
||||
|
|
|
|||
|
|
@ -6,11 +6,17 @@ EFENCE=
|
|||
|
||||
bin_PROGRAMS=dbus-daemon-1
|
||||
|
||||
if DBUS_USE_LIBXML
|
||||
XML_SOURCES=config-loader-libxml.c
|
||||
endif
|
||||
|
||||
BUS_SOURCES= \
|
||||
activation.c \
|
||||
activation.h \
|
||||
bus.c \
|
||||
bus.h \
|
||||
config-parser.c \
|
||||
config-parser.h \
|
||||
connection.c \
|
||||
connection.h \
|
||||
desktop-file.c \
|
||||
|
|
@ -28,7 +34,8 @@ BUS_SOURCES= \
|
|||
test.c \
|
||||
test.h \
|
||||
utils.c \
|
||||
utils.h
|
||||
utils.h \
|
||||
$(XML_SOURCES)
|
||||
|
||||
dbus_daemon_1_SOURCES= \
|
||||
$(BUS_SOURCES) \
|
||||
|
|
@ -57,7 +64,7 @@ bus_test_SOURCES= \
|
|||
$(BUS_SOURCES) \
|
||||
test-main.c
|
||||
|
||||
bus_test_LDADD=$(top_builddir)/dbus/libdbus-convenience.la
|
||||
bus_test_LDADD=$(top_builddir)/dbus/libdbus-convenience.la $(DBUS_BUS_LIBS)
|
||||
|
||||
## mop up the gcov files
|
||||
clean-local:
|
||||
|
|
|
|||
|
|
@ -119,6 +119,8 @@ add_desktop_file_entry (BusActivation *activation,
|
|||
char *name, *exec;
|
||||
BusActivationEntry *entry;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
name = NULL;
|
||||
exec = NULL;
|
||||
entry = NULL;
|
||||
|
|
@ -194,6 +196,8 @@ load_directory (BusActivation *activation,
|
|||
DBusString full_path;
|
||||
BusDesktopFile *desktop_file;
|
||||
DBusError tmp_error;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
_dbus_string_init_const (&dir, directory);
|
||||
|
||||
|
|
@ -327,6 +331,8 @@ bus_activation_new (BusContext *context,
|
|||
int i;
|
||||
BusActivation *activation;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
activation = dbus_new0 (BusActivation, 1);
|
||||
if (activation == NULL)
|
||||
{
|
||||
|
|
@ -424,6 +430,8 @@ bus_activation_service_created (BusActivation *activation,
|
|||
BusPendingActivation *pending_activation;
|
||||
DBusMessage *message;
|
||||
DBusList *link;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
/* Check if it's a pending activation */
|
||||
pending_activation = _dbus_hash_table_lookup_string (activation->pending_activations, service_name);
|
||||
|
|
@ -492,6 +500,8 @@ bus_activation_activate_service (BusActivation *activation,
|
|||
DBusString service_str;
|
||||
char *argv[2];
|
||||
dbus_bool_t retval;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
entry = _dbus_hash_table_lookup_string (activation->entries, service_name);
|
||||
|
||||
|
|
|
|||
|
|
@ -143,6 +143,8 @@ bus_context_new (const char *address,
|
|||
DBusError *error)
|
||||
{
|
||||
BusContext *context;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
context = dbus_new0 (BusContext, 1);
|
||||
if (context == NULL)
|
||||
|
|
|
|||
105
bus/config-loader-libxml.c
Normal file
105
bus/config-loader-libxml.c
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
/* -*- mode: C; c-file-style: "gnu" -*- */
|
||||
/* config-loader-libxml.c libxml2 XML loader
|
||||
*
|
||||
* Copyright (C) 2003 Red Hat, Inc.
|
||||
*
|
||||
* Licensed under the Academic Free License version 1.2
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
|
||||
#include "config-parser.h"
|
||||
#include <dbus/dbus-internals.h>
|
||||
#include <libxml/xmlreader.h>
|
||||
#include <libxml/parser.h>
|
||||
#include <libxml/globals.h>
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
|
||||
static void
|
||||
xml_text_reader_error (void *arg,
|
||||
const char *msg,
|
||||
xmlParserSeverities severity,
|
||||
xmlTextReaderLocatorPtr locator)
|
||||
{
|
||||
DBusError *error = arg;
|
||||
|
||||
if (!dbus_error_is_set (error))
|
||||
{
|
||||
dbus_set_error (error, DBUS_ERROR_FAILED,
|
||||
"Error loading config file: %s",
|
||||
msg);
|
||||
}
|
||||
}
|
||||
|
||||
BusConfigParser*
|
||||
bus_config_load (const DBusString *file,
|
||||
DBusError *error)
|
||||
{
|
||||
xmlTextReader *reader;
|
||||
const char *filename;
|
||||
BusConfigParser *parser;
|
||||
DBusError tmp_error;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
_dbus_string_get_const_data (file, &filename);
|
||||
|
||||
errno = 0;
|
||||
reader = xmlNewTextReaderFilename (filename);
|
||||
|
||||
if (reader == NULL)
|
||||
{
|
||||
dbus_set_error (error, DBUS_ERROR_FAILED,
|
||||
"Failed to load configuration file %s: %s\n",
|
||||
filename,
|
||||
errno != 0 ? strerror (errno) : "Unknown error");
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
dbus_error_init (&tmp_error);
|
||||
xmlTextReaderSetErrorHandler (reader, xml_text_reader_error, &tmp_error);
|
||||
|
||||
while (xmlTextReaderRead(reader) == 1)
|
||||
{
|
||||
if (dbus_error_is_set (&tmp_error))
|
||||
goto reader_out;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
reader_out:
|
||||
xmlFreeTextReader (reader);
|
||||
if (dbus_error_is_set (&tmp_error))
|
||||
{
|
||||
dbus_move_error (&tmp_error, error);
|
||||
goto failed;
|
||||
}
|
||||
|
||||
if (!bus_config_parser_finished (parser, error))
|
||||
goto failed;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
return parser;
|
||||
|
||||
failed:
|
||||
_DBUS_ASSERT_ERROR_IS_SET (error);
|
||||
bus_config_parser_unref (parser);
|
||||
return NULL;
|
||||
}
|
||||
|
|
@ -20,8 +20,10 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
|
||||
#include "config-parser.h"
|
||||
#include "test.h"
|
||||
#include <dbus/dbus-list.h>
|
||||
#include <dbus/dbus-internals.h>
|
||||
#include <string.h>
|
||||
|
||||
typedef enum
|
||||
|
|
@ -82,9 +84,37 @@ struct BusConfigParser
|
|||
{
|
||||
int refcount;
|
||||
|
||||
DBusList *stack;
|
||||
DBusList *stack; /**< stack of Element */
|
||||
|
||||
char *user; /**< user to run as */
|
||||
};
|
||||
|
||||
|
||||
static Element*
|
||||
push_element (BusConfigParser *parser,
|
||||
ElementType type)
|
||||
{
|
||||
Element *e;
|
||||
|
||||
e = dbus_new0 (Element, 1);
|
||||
if (e == NULL)
|
||||
return NULL;
|
||||
|
||||
e->type = type;
|
||||
|
||||
return e;
|
||||
}
|
||||
|
||||
static void
|
||||
pop_element (BusConfigParser *parser)
|
||||
{
|
||||
Element *e;
|
||||
|
||||
e = _dbus_list_pop_last (&parser->stack);
|
||||
|
||||
dbus_free (e);
|
||||
}
|
||||
|
||||
BusConfigParser*
|
||||
bus_config_parser_new (void)
|
||||
{
|
||||
|
|
@ -116,7 +146,10 @@ bus_config_parser_unref (BusConfigParser *parser)
|
|||
|
||||
if (parser->refcount == 0)
|
||||
{
|
||||
|
||||
while (parser->stack != NULL)
|
||||
pop_element (parser);
|
||||
|
||||
dbus_free (parser->user);
|
||||
|
||||
dbus_free (parser);
|
||||
}
|
||||
|
|
@ -127,6 +160,8 @@ bus_config_parser_check_doctype (BusConfigParser *parser,
|
|||
const char *doctype,
|
||||
DBusError *error)
|
||||
{
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
if (strcmp (doctype, "busconfig") != 0)
|
||||
{
|
||||
dbus_set_error (error,
|
||||
|
|
@ -146,7 +181,7 @@ bus_config_parser_start_element (BusConfigParser *parser,
|
|||
const char **attribute_values,
|
||||
DBusError *error)
|
||||
{
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -155,7 +190,7 @@ bus_config_parser_end_element (BusConfigParser *parser,
|
|||
const char *element_name,
|
||||
DBusError *error)
|
||||
{
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -164,7 +199,33 @@ bus_config_parser_content (BusConfigParser *parser,
|
|||
const DBusString *content,
|
||||
DBusError *error)
|
||||
{
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
}
|
||||
|
||||
dbus_bool_t
|
||||
bus_config_parser_finished (BusConfigParser *parser,
|
||||
DBusError *error)
|
||||
{
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
}
|
||||
|
||||
const char*
|
||||
bus_config_parser_get_user (BusConfigParser *parser)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
#ifdef DBUS_BUILD_TESTS
|
||||
|
||||
dbus_bool_t
|
||||
bus_config_parser_test (const DBusString *test_data_dir)
|
||||
{
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#endif /* DBUS_BUILD_TESTS */
|
||||
|
||||
|
|
|
|||
|
|
@ -50,6 +50,18 @@ dbus_bool_t bus_config_parser_end_element (BusConfigParser *parser,
|
|||
dbus_bool_t bus_config_parser_content (BusConfigParser *parser,
|
||||
const DBusString *content,
|
||||
DBusError *error);
|
||||
dbus_bool_t bus_config_parser_finished (BusConfigParser *parser,
|
||||
DBusError *error);
|
||||
|
||||
/* Functions for extracting the parse results */
|
||||
const char* bus_config_parser_get_user (BusConfigParser *parser);
|
||||
|
||||
|
||||
/* Loader functions (backended off one of the XML parsers). Returns a
|
||||
* finished ConfigParser.
|
||||
*/
|
||||
BusConfigParser* bus_config_load (const DBusString *file,
|
||||
DBusError *error);
|
||||
|
||||
|
||||
#endif /* BUS_CONFIG_PARSER_H */
|
||||
|
|
|
|||
|
|
@ -1023,7 +1023,7 @@ bus_transaction_send_error_reply (BusTransaction *transaction,
|
|||
DBusMessage *in_reply_to)
|
||||
{
|
||||
DBusMessage *reply;
|
||||
|
||||
|
||||
_dbus_assert (error != NULL);
|
||||
_DBUS_ASSERT_ERROR_IS_SET (error);
|
||||
|
||||
|
|
|
|||
|
|
@ -180,6 +180,8 @@ unescape_string (BusDesktopFileParser *parser,
|
|||
DBusError *error)
|
||||
{
|
||||
char *retval, *q;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
/* len + 1 is enough, because unescaping never makes the
|
||||
* string longer
|
||||
|
|
@ -389,6 +391,8 @@ parse_section_start (BusDesktopFileParser *parser, DBusError *error)
|
|||
{
|
||||
int line_end;
|
||||
char *section_name;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
if (!_dbus_string_find (&parser->data, parser->pos, "\n", &line_end))
|
||||
line_end = parser->len;
|
||||
|
|
@ -447,6 +451,8 @@ parse_key_value (BusDesktopFileParser *parser, DBusError *error)
|
|||
char *value, *tmp;
|
||||
DBusString key;
|
||||
BusDesktopFileLine *line;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
if (!_dbus_string_find (&parser->data, parser->pos, "\n", &line_end))
|
||||
line_end = parser->len;
|
||||
|
|
@ -549,7 +555,9 @@ report_error (BusDesktopFileParser *parser,
|
|||
DBusError *error)
|
||||
{
|
||||
const char *section_name = NULL;
|
||||
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
if (parser->current_section != -1)
|
||||
section_name = parser->desktop_file->sections[parser->current_section].section_name;
|
||||
|
||||
|
|
@ -589,6 +597,8 @@ bus_desktop_file_load (DBusString *filename,
|
|||
DBusString str;
|
||||
BusDesktopFileParser parser;
|
||||
DBusStat sb;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
/* Clearly there's a race here, but it's just to make it unlikely
|
||||
* that we do something silly, we still handle doing it below.
|
||||
|
|
|
|||
|
|
@ -70,6 +70,8 @@ bus_dispatch_broadcast_message (BusTransaction *transaction,
|
|||
DBusError tmp_error;
|
||||
SendMessageData d;
|
||||
BusConnections *connections;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
_dbus_assert (dbus_message_get_sender (message) != NULL);
|
||||
|
||||
|
|
@ -101,7 +103,9 @@ send_service_nonexistent_error (BusTransaction *transaction,
|
|||
DBusMessage *error_reply;
|
||||
DBusString error_message;
|
||||
const char *error_str;
|
||||
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
/* Trying to send a message to a non-existant service,
|
||||
* bounce back an error message.
|
||||
*/
|
||||
|
|
|
|||
22
bus/driver.c
22
bus/driver.c
|
|
@ -43,6 +43,8 @@ bus_driver_send_service_deleted (const char *service_name,
|
|||
{
|
||||
DBusMessage *message;
|
||||
dbus_bool_t retval;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
_dbus_verbose ("sending service deleted: %s\n", service_name);
|
||||
|
||||
|
|
@ -77,6 +79,8 @@ bus_driver_send_service_created (const char *service_name,
|
|||
{
|
||||
DBusMessage *message;
|
||||
dbus_bool_t retval;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
message = dbus_message_new (DBUS_SERVICE_BROADCAST,
|
||||
DBUS_MESSAGE_SERVICE_CREATED);
|
||||
|
|
@ -116,6 +120,8 @@ bus_driver_send_service_lost (DBusConnection *connection,
|
|||
{
|
||||
DBusMessage *message;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
message = dbus_message_new (bus_connection_get_name (connection),
|
||||
DBUS_MESSAGE_SERVICE_LOST);
|
||||
if (message == NULL)
|
||||
|
|
@ -161,6 +167,8 @@ bus_driver_send_service_acquired (DBusConnection *connection,
|
|||
{
|
||||
DBusMessage *message;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
message = dbus_message_new (bus_connection_get_name (connection),
|
||||
DBUS_MESSAGE_SERVICE_ACQUIRED);
|
||||
if (message == NULL)
|
||||
|
|
@ -267,6 +275,8 @@ bus_driver_handle_hello (DBusConnection *connection,
|
|||
BusService *service;
|
||||
dbus_bool_t retval;
|
||||
BusRegistry *registry;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
if (!_dbus_string_init (&unique_name, _DBUS_INT_MAX))
|
||||
{
|
||||
|
|
@ -323,6 +333,8 @@ bus_driver_send_welcome_message (DBusConnection *connection,
|
|||
{
|
||||
DBusMessage *welcome;
|
||||
const char *name;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
name = bus_connection_get_name (connection);
|
||||
_dbus_assert (name != NULL);
|
||||
|
|
@ -373,6 +385,8 @@ bus_driver_handle_list_services (DBusConnection *connection,
|
|||
int len;
|
||||
char **services;
|
||||
BusRegistry *registry;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
registry = bus_connection_get_registry (connection);
|
||||
|
||||
|
|
@ -431,6 +445,8 @@ bus_driver_handle_acquire_service (DBusConnection *connection,
|
|||
DBusConnection *old_owner;
|
||||
DBusConnection *current_owner;
|
||||
BusRegistry *registry;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
registry = bus_connection_get_registry (connection);
|
||||
|
||||
|
|
@ -554,6 +570,8 @@ bus_driver_handle_service_exists (DBusConnection *connection,
|
|||
char *name;
|
||||
dbus_bool_t retval;
|
||||
BusRegistry *registry;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
registry = bus_connection_get_registry (connection);
|
||||
|
||||
|
|
@ -615,6 +633,8 @@ bus_driver_handle_activate_service (DBusConnection *connection,
|
|||
dbus_bool_t retval;
|
||||
BusActivation *activation;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
activation = bus_connection_get_activation (connection);
|
||||
|
||||
if (!dbus_message_get_args (message, error,
|
||||
|
|
@ -662,6 +682,8 @@ bus_driver_handle_message (DBusConnection *connection,
|
|||
{
|
||||
const char *name, *sender;
|
||||
int i;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
_dbus_verbose ("Driver got a message: %s\n",
|
||||
dbus_message_get_name (message));
|
||||
|
|
|
|||
|
|
@ -128,6 +128,8 @@ bus_registry_ensure (BusRegistry *registry,
|
|||
const char *c_name;
|
||||
BusService *service;
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
_dbus_assert (owner_if_created != NULL);
|
||||
_dbus_assert (transaction != NULL);
|
||||
|
||||
|
|
@ -260,6 +262,8 @@ bus_service_add_owner (BusService *service,
|
|||
BusTransaction *transaction,
|
||||
DBusError *error)
|
||||
{
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
/* Send service acquired message first, OOM will result
|
||||
* in cancelling the transaction
|
||||
*/
|
||||
|
|
@ -292,6 +296,8 @@ bus_service_remove_owner (BusService *service,
|
|||
BusTransaction *transaction,
|
||||
DBusError *error)
|
||||
{
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
|
||||
|
||||
/* We send out notifications before we do any work we
|
||||
* might have to undo if the notification-sending failed
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -51,11 +51,19 @@ main (int argc, char **argv)
|
|||
dir = "";
|
||||
|
||||
_dbus_string_init_const (&test_data_dir, dir);
|
||||
|
||||
printf ("%s: Running config file parser test\n", argv[0]);
|
||||
if (!bus_config_parser_test (&test_data_dir))
|
||||
die ("parser");
|
||||
|
||||
printf ("%s: Running policy test\n", argv[0]);
|
||||
if (!bus_policy_test (&test_data_dir))
|
||||
die ("policy");
|
||||
|
||||
printf ("%s: Running message dispatch test\n", argv[0]);
|
||||
if (!bus_dispatch_test (&test_data_dir))
|
||||
die ("dispatch");
|
||||
|
||||
|
||||
dbus_shutdown ();
|
||||
|
||||
printf ("%s: checking for memleaks\n", argv[0]);
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@
|
|||
|
||||
dbus_bool_t bus_dispatch_test (const DBusString *test_data_dir);
|
||||
dbus_bool_t bus_policy_test (const DBusString *test_data_dir);
|
||||
dbus_bool_t bus_config_parser_test (const DBusString *test_data_dir);
|
||||
dbus_bool_t bus_setup_debug_client (DBusConnection *connection);
|
||||
void bus_test_clients_foreach (BusConnectionForeachFunction function,
|
||||
void *data);
|
||||
|
|
|
|||
24
configure.in
24
configure.in
|
|
@ -31,6 +31,8 @@ AC_ARG_ENABLE(verbose-mode, [ --enable-verbose-mode support verbose debug mode]
|
|||
AC_ARG_ENABLE(asserts, [ --enable-asserts include assertion checks],enable_asserts=$enableval,enable_asserts=yes)
|
||||
AC_ARG_ENABLE(gcov, [ --enable-gcov compile with coverage profiling instrumentation (gcc only)],enable_gcov=$enableval,enable_gcov=no)
|
||||
|
||||
AC_ARG_WITH(xml, [ --with-xml=[libxml] XML library to use])
|
||||
|
||||
dnl DBUS_BUILD_TESTS controls unit tests built in to .c files
|
||||
dnl and also some stuff in the test/ subdir
|
||||
AM_CONDITIONAL(DBUS_BUILD_TESTS, test x$enable_tests = xyes)
|
||||
|
|
@ -45,6 +47,23 @@ if test x$enable_asserts = xno; then
|
|||
AC_DEFINE(DBUS_DISABLE_ASSERT,1,[Disable assertion checking])
|
||||
fi
|
||||
|
||||
dbus_use_libxml=false
|
||||
dbus_use_fooxml=false
|
||||
if test x$with_xml = xfooxml; then
|
||||
dbus_use_fooxml=true
|
||||
elif test x$with_xml = xlibxml; then
|
||||
dbus_use_libxml=true
|
||||
else
|
||||
with_xml=libxml
|
||||
dbus_use_libxml=true
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(DBUS_USE_LIBXML, $dbus_use_libxml)
|
||||
if $dbus_use_libxml; then
|
||||
PKG_CHECK_MODULES(LIBXML, libxml-2.0)
|
||||
fi
|
||||
AM_CONDITIONAL(DBUS_USE_FOOXML, $dbus_use_fooxml)
|
||||
|
||||
if test "x$GCC" = "xyes"; then
|
||||
changequote(,)dnl
|
||||
case " $CFLAGS " in
|
||||
|
|
@ -224,8 +243,8 @@ DBUS_CLIENT_LIBS=
|
|||
AC_SUBST(DBUS_CLIENT_CFLAGS)
|
||||
AC_SUBST(DBUS_CLIENT_LIBS)
|
||||
|
||||
DBUS_BUS_CFLAGS=
|
||||
DBUS_BUS_LIBS=
|
||||
DBUS_BUS_CFLAGS=$LIBXML_CFLAGS
|
||||
DBUS_BUS_LIBS=$LIBXML_LIBS
|
||||
AC_SUBST(DBUS_BUS_CFLAGS)
|
||||
AC_SUBST(DBUS_BUS_LIBS)
|
||||
|
||||
|
|
@ -329,6 +348,7 @@ echo "
|
|||
Building assertions: ${enable_asserts}
|
||||
Building Qt bindings: ${have_qt}
|
||||
Building GLib bindings: ${have_glib}
|
||||
Using XML parser: ${with_xml}
|
||||
"
|
||||
|
||||
if test x$enable_tests = xyes; then
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue