dbus/service.py: cope with exceptions with no __module__
[dbus-python-phuang.git] / Makefile.am
blob43264c1faff59f167446e1aacb16845e9f49c8da
1 # === Miscellaneous ===
3 CLEANFILES =
4 EXTRA_DIST = API_CHANGES.txt dbus-python.pc.in HACKING.txt \
5              AUTHORS COPYING NEWS ChangeLog TODO \
6              doc/tutorial.txt.in \
7              examples/example-async-client.py \
8              examples/example-client.py \
9              examples/example-service.py \
10              examples/example-signal-emitter.py \
11              examples/example-signal-recipient.py \
12              examples/list-system-services.py \
13              test/cross-test-client.py \
14              test/cross-test-server.py \
15              test/crosstest.py \
16              test/run-test.sh \
17              test/run-with-tmp-session-bus.sh \
18              test/test-client.py \
19              test/test-service.py \
20              test/test-signals.py \
21              test/test-standalone.py \
22              test/test-unusable-main-loop.py \
23              test/TestSuitePythonService.service.in \
24              test/tmp-session-bus.conf.in
25 # miss out the gconf examples for now - they don't work
27 pkgconfigdir = $(libdir)/pkgconfig
28 pkgconfig_DATA = dbus-python.pc
30 include_HEADERS = include/dbus-python.h
32 # === Pure Python ===
34 nobase_python_PYTHON = dbus_bindings.py \
35                        dbus/dbus_bindings.py \
36                        dbus/_dbus.py \
37                        dbus/decorators.py \
38                        dbus/exceptions.py \
39                        dbus/_expat_introspect_parser.py \
40                        dbus/glib.py \
41                        dbus/__init__.py \
42                        dbus/lowlevel.py \
43                        dbus/mainloop/__init__.py \
44                        dbus/mainloop/glib.py \
45                        dbus/proxies.py \
46                        dbus/service.py \
47                        dbus/types.py
49 # === Python C extensions ===
51 pyexec_LTLIBRARIES = _dbus_bindings.la _dbus_glib_bindings.la \
52                      dbus_py_test.la
53 _dbus_bindings_la_CPPFLAGS = -I$(srcdir)/include \
54                              $(DBUS_CFLAGS) \
55                              $(PYTHON_INCLUDES)
56 _dbus_bindings_la_LDFLAGS = -module -avoid-version \
57                          -export-symbols-regex init_dbus_bindings \
58                          $(DBUS_LIBS)
59 _dbus_bindings_la_SOURCES = \
60                             _dbus_bindings/abstract.c \
61                             _dbus_bindings/bus.c \
62                             _dbus_bindings/bytes.c \
63                             _dbus_bindings/conn.c \
64                             _dbus_bindings/conn-internal.h \
65                             _dbus_bindings/conn-methods.c \
66                             _dbus_bindings/containers.c \
67                             _dbus_bindings/dbus_bindings-internal.h \
68                             _dbus_bindings/debug.c \
69                             _dbus_bindings/exceptions.c \
70                             _dbus_bindings/float.c \
71                             _dbus_bindings/generic.c \
72                             _dbus_bindings/int.c \
73                             _dbus_bindings/mainloop.c \
74                             _dbus_bindings/message-append.c \
75                             _dbus_bindings/message.c \
76                             _dbus_bindings/message-get-args.c \
77                             _dbus_bindings/message-internal.h \
78                             _dbus_bindings/module.c \
79                             _dbus_bindings/pending-call.c \
80                             _dbus_bindings/signature.c \
81                             _dbus_bindings/string.c \
82                             _dbus_bindings/types-internal.h \
83                             _dbus_bindings/validation.c \
84                             include/dbus-python.h
86 _dbus_glib_bindings_la_CPPFLAGS = -I$(top_srcdir)/include \
87                                   $(DBUS_CFLAGS) \
88                                   $(DBUS_GLIB_CFLAGS) \
89                                   $(PYTHON_INCLUDES)
90 _dbus_glib_bindings_la_LDFLAGS = -module -avoid-version \
91                          -export-symbols-regex init_dbus_glib_bindings \
92                          $(DBUS_LIBS) $(DBUS_GLIB_LIBS)
93 _dbus_glib_bindings_la_SOURCES = _dbus_glib_bindings/module.c \
94                                  include/dbus-python.h
96 dbus_py_test_la_CPPFLAGS = -I$(top_srcdir)/include $(DBUS_CFLAGS) \
97                            $(PYTHON_INCLUDES)
98 dbus_py_test_la_LDFLAGS = -module -avoid-version \
99                           $(DBUS_LIBS)
100 dbus_py_test_la_SOURCES = test/dbus_py_test.c \
101                           include/dbus-python.h
103 # === Tests ===
105 PWD = `pwd`
106 TESTS_ENVIRONMENT = DBUS_TOP_SRCDIR="$(PWD)/$(top_srcdir)" \
107                     DBUS_TOP_BUILDDIR="$(PWD)" \
108                     DBUS_PYTHON_VERSION='$(PACKAGE_VERSION)' \
109                     PYTHONPATH="$(PWD)/.libs:$(PWD)/$(top_srcdir):$(PWD)/$(top_srcdir)/test" \
110                     PYTHON='$(PYTHON)'
111 TESTS = test/run-test.sh
113 cross-test-compile: all
114 cross-test-server:
115         $(TESTS_ENVIRONMENT) $(PYTHON) $(top_srcdir)/test/cross-test-server.py
116 cross-test-client:
117         $(TESTS_ENVIRONMENT) $(PYTHON) $(top_srcdir)/test/cross-test-client.py
119 # === Documentation ===
121 ChangeLog: always-rebuild
122         @if test -d $(top_srcdir)/.git; then \
123                 if git-log --stat > ChangeLog; then \
124                         : ; \
125                 else \
126                         git-log > Changelog || exit 1; \
127                 fi; \
128         fi
130 TXT_RSTDOCS = doc/tutorial.txt API_CHANGES.txt HACKING.txt
131 RSTDOCS = README NEWS TODO
132 dist_doc_DATA = $(TXT_RSTDOCS) $(RSTDOCS)
134 if ENABLE_DOCS
135 HTML_TXT_RSTDOCS = doc/tutorial.html API_CHANGES.html HACKING.html
136 HTML_RSTDOCS = README.html NEWS.html TODO.html
137 nodist_doc_DATA = $(HTML_TXT_RSTDOCS) $(HTML_RSTDOCS)
139 CLEANFILES += $(nodist_doc_DATA)
141 RST2HTMLFLAGS = --generator --date --time --exit-status=2 \
142                 --cloak-email-addresses --no-raw --no-file-insertion
144 $(HTML_TXT_RSTDOCS) : %.html: %.txt
145                 $(RST2HTML) $(RST2HTMLFLAGS) $< $@
146 $(HTML_RSTDOCS) : %.html: %
147                 $(RST2HTML) $(RST2HTMLFLAGS) $< $@
148 endif
150 if ENABLE_API_DOCS
151 all: api/index.html
153 clean-local:
154         rm -rf api
156 api api/index.html: $(nobase_python_PYTHON) _dbus_bindings.la _dbus_glib_bindings.la
157         rm -rf api
158         mkdir api
159         $(TESTS_ENVIRONMENT) $(EPYDOC) -o api --html \
160                 --docformat restructuredtext -v \
161                 `echo $(nobase_python_PYTHON) \
162                         | sed -e 's#/__init__\.py##g' \
163                                 -e 's/\.py\>//g' -e 's#/#.#'g` \
164         || { rm -rf api; exit 1; }
165 endif
167 .PHONY: cross-test-compile cross-test-server cross-test-client always-rebuild