Remove support for libgpgme-pth.
[gpgme.git] / src / Makefile.am
1 # Copyright (C) 2000 Werner Koch (dd9jn)
2 # Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007 g10 Code GmbH
3 #
4 # This file is part of GPGME.
5 #
6 # GPGME is free software; you can redistribute it and/or modify it
7 # under the terms of the GNU Lesser General Public License as
8 # published by the Free Software Foundation; either version 2.1 of the
9 # License, or (at your option) any later version.
10 #
11 # GPGME is distributed in the hope that it will be useful, but WITHOUT
12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General
14 # Public License for more details.
15 #
16 # You should have received a copy of the GNU Lesser General Public
17 # License along with this program; if not, see <http://www.gnu.org/licenses/>.
18
19 ## Process this file with automake to produce Makefile.in
20
21 # Note: moc_kdpipeiodevice should actually be a dependcy below.
22 EXTRA_DIST = gpgme-config.in gpgme.m4 mkstatus libgpgme.vers \
23              gpgme.h.in versioninfo.rc.in gpgme.def moc_kdpipeiodevice.cpp
24 BUILT_SOURCES = status-table.h
25 MOSTLYCLEANFILES = status-table.h
26 bin_SCRIPTS = gpgme-config
27 m4datadir = $(datadir)/aclocal
28 m4data_DATA = gpgme.m4
29 nodist_include_HEADERS = gpgme.h
30
31 if HAVE_PTHREAD
32 ltlib_gpgme_pthread = libgpgme-pthread.la
33 else
34 ltlib_gpgme_pthread =
35 endif
36
37 if BUILD_W32_GLIB
38 ltlib_gpgme_glib = libgpgme-glib.la
39 else
40 ltlib_gpgme_glib =
41 endif
42
43 if BUILD_W32_QT
44 ltlib_gpgme_qt = libgpgme-qt.la
45 else
46 ltlib_gpgme_qt =
47 endif
48
49 lib_LTLIBRARIES = libgpgme.la $(ltlib_gpgme_glib) $(ltlib_gpgme_qt) \
50         $(ltlib_gpgme_pthread)
51
52 if HAVE_LD_VERSION_SCRIPT
53 libgpgme_version_script_cmd = -Wl,--version-script=$(srcdir)/libgpgme.vers
54 else
55 libgpgme_version_script_cmd =
56 endif
57
58 if HAVE_DOSISH_SYSTEM
59 system_components = w32-util.c w32-sema.c
60 system_components_not_extra = w32-io.c
61 else
62 system_components = ath.h posix-util.c posix-sema.c posix-io.c
63 system_components_not_extra =
64 endif
65
66 if HAVE_W32CE_SYSTEM
67 system_components += w32-ce.h w32-ce.c
68 endif
69
70 if HAVE_GPGSM
71 gpgsm_components = engine-gpgsm.c
72 else
73 gpgsm_components =
74 endif
75
76 if HAVE_ASSUAN
77 assuan_components = assuan-support.c engine-assuan.c
78 else
79 assuan_components =
80 endif
81
82 if HAVE_GPGCONF
83 gpgconf_components = engine-gpgconf.c
84 else
85 gpgconf_components =
86 endif
87
88 if HAVE_G13
89 g13_components = engine-g13.c
90 else
91 g13_components =
92 endif
93
94 if HAVE_UISERVER
95 uiserver_components = engine-uiserver.c
96 else
97 uiserver_components =
98 endif
99
100 # These are the source files common to all library versions.  We used
101 # to build a non-installed library for that, but that does not work
102 # correctly on all platforms (in particular, one can not specify the
103 # right linking order with libtool, as the non-installed version has
104 # unresolved symbols to the thread module.
105 main_sources =                                                          \
106         util.h conversion.c get-env.c context.h ops.h                   \
107         data.h data.c data-fd.c data-stream.c data-mem.c data-user.c    \
108         data-compat.c                                                   \
109         signers.c sig-notation.c                                        \
110         wait.c wait-global.c wait-private.c wait-user.c wait.h          \
111         op-support.c                                                    \
112         encrypt.c encrypt-sign.c decrypt.c decrypt-verify.c verify.c    \
113         sign.c passphrase.c progress.c                                  \
114         key.c keylist.c trust-item.c trustlist.c                        \
115         import.c export.c genkey.c delete.c edit.c getauditlog.c        \
116         opassuan.c passwd.c                                             \
117         engine.h engine-backend.h engine.c engine-gpg.c status-table.h  \
118         extra-stati.h                                                   \
119         $(gpgsm_components) $(assuan_components) $(gpgconf_components)  \
120         $(uiserver_components)                                          \
121         $(g13_components) vfs-mount.c vfs-create.c                      \
122         gpgconf.c                                                       \
123         sema.h priv-io.h $(system_components) dirinfo.c                 \
124         debug.c debug.h gpgme.c version.c error.c
125
126 libgpgme_la_SOURCES = $(main_sources)                                   \
127         ath.h ath.c $(system_components_not_extra)
128 libgpgme_pthread_la_SOURCES = $(main_sources)                           \
129         ath.h ath-pthread.c $(system_components_not_extra)
130
131 if BUILD_W32_GLIB
132 libgpgme_glib_la_SOURCES = $(main_sources) ath.h ath.c w32-glib-io.c
133 endif
134
135 if BUILD_W32_QT
136 libgpgme_qt_la_SOURCES = $(main_sources) ath.h ath.c w32-qt-io.cpp \
137         kdpipeiodevice.h kdpipeiodevice.cpp kdpipeiodevice.moc
138 # FIXME: Add extra depedency: moc_kdpipeiodevice.cpp
139
140 # These are built sources (normally).
141 # moc_kdpipeiodevice.cpp: kdpipeiodevice.h
142 #       $(MOC4) -o $@ $<
143 #
144 # kdpipeiodevice.moc: kdpipeiodevice.cpp
145 #       $(MOC4) -o $@ $<
146 endif
147
148 # We use a global CFLAGS and CPPFLAGS setting for all library
149 # versions, because then every object file is only compiled once.
150 AM_CPPFLAGS = @GPG_ERROR_CFLAGS@ @QT4_CORE_CFLAGS@
151 AM_CFLAGS = @LIBASSUAN_CFLAGS@ @GLIB_CFLAGS@ @QT4_CORE_CFLAGS@
152
153 if HAVE_W32_SYSTEM
154 # Windows provides us with an endless stream of Tough Love.  To spawn
155 # processes with a controlled set of inherited handles, we need a
156 # wrapper process.
157 # Except on Windows CE.  There nothing is inheritable anyway.
158 if HAVE_W32CE_SYSTEM
159 libexec_PROGRAMS =
160 else
161 libexec_PROGRAMS = gpgme-w32spawn
162 endif
163
164 RCCOMPILE = $(RC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES)
165 LTRCCOMPILE = $(LIBTOOL) --mode=compile --tag=RC $(RCCOMPILE)
166
167 SUFFIXES = .rc .lo
168
169 .rc.lo:
170         $(LTRCCOMPILE) -i "$<" -o "$@"
171
172 gpgme_res = versioninfo.lo
173 no_undefined = -no-undefined
174 export_symbols = -export-symbols $(srcdir)/gpgme.def
175
176 install-def-file:
177         $(INSTALL) $(srcdir)/gpgme.def $(DESTDIR)$(libdir)/gpgme.def
178
179 uninstall-def-file:
180         -rm $(DESTDIR)$(libdir)/gpgme.def
181
182 gpgme_deps = $(gpgme_res) gpgme.def
183
184 else
185 gpgme_res =
186 no_undefined =
187 export_symbols =
188 install-def-file:
189 uninstall-def-file:
190
191 gpgme_deps =
192 endif
193
194 libgpgme_la_LDFLAGS = $(no_undefined) $(export_symbols) \
195         $(libgpgme_version_script_cmd) -version-info \
196         @LIBGPGME_LT_CURRENT@:@LIBGPGME_LT_REVISION@:@LIBGPGME_LT_AGE@
197 libgpgme_la_DEPENDENCIES = @LTLIBOBJS@ $(srcdir)/libgpgme.vers $(gpgme_deps)
198 libgpgme_la_LIBADD = $(gpgme_res) @LIBASSUAN_LIBS@ @LTLIBOBJS@ \
199                      @GPG_ERROR_LIBS@
200
201 libgpgme_pthread_la_LDFLAGS = $(no_undefined) $(export_symbols) \
202         $(libgpgme_version_script_cmd) -version-info \
203         @LIBGPGME_LT_CURRENT@:@LIBGPGME_LT_REVISION@:@LIBGPGME_LT_AGE@
204 libgpgme_pthread_la_DEPENDENCIES = @LTLIBOBJS@ $(srcdir)/libgpgme.vers
205 libgpgme_pthread_la_LIBADD = $(gpgme_res) @LIBASSUAN_LIBS@ @LTLIBOBJS@ \
206         -lpthread @GPG_ERROR_LIBS@
207
208 if BUILD_W32_GLIB
209 libgpgme_glib_la_LDFLAGS = $(no_undefined) \
210         $(export_symbols) $(libgpgme_version_script_cmd) -version-info \
211         @LIBGPGME_LT_CURRENT@:@LIBGPGME_LT_REVISION@:@LIBGPGME_LT_AGE@
212 libgpgme_glib_la_DEPENDENCIES = @LTLIBOBJS@ \
213         $(srcdir)/libgpgme.vers $(gpgme_deps)
214 libgpgme_glib_la_LIBADD = $(gpgme_res) @LIBASSUAN_LIBS@ @LTLIBOBJS@ \
215         @GPG_ERROR_LIBS@ @GLIB_LIBS@
216 endif
217
218 if BUILD_W32_QT
219 libgpgme_qt_la_LDFLAGS = $(no_undefined) \
220         $(export_symbols) $(libgpgme_version_script_cmd) -version-info \
221         @LIBGPGME_LT_CURRENT@:@LIBGPGME_LT_REVISION@:@LIBGPGME_LT_AGE@
222 libgpgme_qt_la_DEPENDENCIES = @LTLIBOBJS@ $(srcdir)/libgpgme.vers $(gpgme_deps)
223 libgpgme_qt_la_LIBADD = $(gpgme_res) @LIBASSUAN_LIBS@ @LTLIBOBJS@ \
224         @GPG_ERROR_LIBS@ @QT4_CORE_LIBS@
225 endif
226
227 noinst_PROGRAMS = gpgme-tool
228 gpgme_tool_LDADD = libgpgme.la
229
230 status-table.h : gpgme.h extra-stati.h
231         cat $(builddir)/gpgme.h $(srcdir)extra-stati.h \
232           | $(srcdir)/mkstatus  > status-table.h
233
234 install-data-local: install-def-file
235
236 uninstall-local: uninstall-def-file