Externalize publically-needed configure macros and fix GSS-related bugs.
[shibboleth/sp.git] / shibsp / Makefile.am
1 AUTOMAKE_OPTIONS = foreign
2
3 lib_LTLIBRARIES = libshibsp.la libshibsp-lite.la
4
5 libshibspincludedir = $(includedir)/shibsp
6
7 attrincludedir = $(includedir)/shibsp/attribute
8
9 attrresincludedir = $(includedir)/shibsp/attribute/resolver
10
11 attrfiltincludedir = $(includedir)/shibsp/attribute/filtering
12
13 bindincludedir = $(includedir)/shibsp/binding
14
15 handincludedir = $(includedir)/shibsp/handler
16
17 liteincludedir = $(includedir)/shibsp/lite
18
19 mdincludedir = $(includedir)/shibsp/metadata
20
21 remincludedir = $(includedir)/shibsp/remoting
22
23 secincludedir = $(includedir)/shibsp/security
24
25 utilincludedir = $(includedir)/shibsp/util
26
27 libshibspinclude_HEADERS = \
28         AbstractSPRequest.h \
29         AccessControl.h \
30         Application.h \
31         base.h \
32         config_pub.h \
33         exceptions.h \
34         paths.h \
35         GSSRequest.h \
36         RequestMapper.h \
37         ServiceProvider.h \
38         SessionCache.h \
39         SessionCacheEx.h \
40         SPConfig.h \
41         SPRequest.h \
42         TransactionLog.h \
43         version.h
44
45 attrinclude_HEADERS = \
46         attribute/Attribute.h \
47         attribute/AttributeDecoder.h \
48         attribute/ExtensibleAttribute.h \
49         attribute/NameIDAttribute.h \
50         attribute/ScopedAttribute.h \
51         attribute/SimpleAttribute.h \
52         attribute/XMLAttribute.h
53
54 attrfiltinclude_HEADERS = \
55         attribute/filtering/AttributeFilter.h \
56         attribute/filtering/BasicFilteringContext.h \
57         attribute/filtering/FilteringContext.h \
58         attribute/filtering/FilterPolicyContext.h \
59         attribute/filtering/MatchFunctor.h
60
61 attrresinclude_HEADERS = \
62         attribute/resolver/AttributeExtractor.h \
63         attribute/resolver/AttributeResolver.h \
64         attribute/resolver/ResolutionContext.h
65
66 bindinclude_HEADERS = \
67         binding/ArtifactResolver.h \
68         binding/ProtocolProvider.h \
69         binding/SOAPClient.h
70
71 handinclude_HEADERS = \
72         handler/AbstractHandler.h \
73         handler/AssertionConsumerService.h \
74         handler/Handler.h \
75         handler/LogoutHandler.h \
76         handler/LogoutInitiator.h \
77         handler/RemotedHandler.h \
78         handler/SessionInitiator.h
79
80 liteinclude_HEADERS = \
81         lite/CommonDomainCookie.h \
82         lite/SAMLConstants.h
83
84 mdinclude_HEADERS = \
85         metadata/MetadataExt.h \
86         metadata/MetadataProviderCriteria.h
87
88 reminclude_HEADERS = \
89         remoting/ddf.h \
90         remoting/ListenerService.h
91         
92 secinclude_HEADERS = \
93         security/PKIXTrustEngine.h \
94         security/SecurityPolicy.h \
95         security/SecurityPolicyProvider.h
96
97 utilinclude_HEADERS = \
98         util/CGIParser.h \
99         util/DOMPropertySet.h \
100         util/PropertySet.h \
101         util/SPConstants.h \
102         util/TemplateParameters.h
103
104 noinst_HEADERS = \
105         internal.h \
106         remoting/impl/SocketListener.h
107
108 common_sources = \
109         AbstractSPRequest.cpp \
110         Application.cpp \
111         ServiceProvider.cpp \
112         SPConfig.cpp \
113         attribute/Attribute.cpp \
114         attribute/ExtensibleAttribute.cpp \
115         attribute/NameIDAttribute.cpp \
116         attribute/SimpleAttribute.cpp \
117         attribute/ScopedAttribute.cpp \
118         attribute/XMLAttribute.cpp \
119         binding/impl/XMLProtocolProvider.cpp \
120         handler/impl/AbstractHandler.cpp \
121         handler/impl/AssertionConsumerService.cpp \
122         handler/impl/AssertionLookup.cpp \
123         handler/impl/ChainingLogoutInitiator.cpp \
124         handler/impl/ChainingSessionInitiator.cpp \
125         handler/impl/CookieSessionInitiator.cpp \
126         handler/impl/DiscoveryFeed.cpp \
127         handler/impl/FormSessionInitiator.cpp \
128         handler/impl/LocalLogoutInitiator.cpp \
129         handler/impl/LogoutHandler.cpp \
130         handler/impl/LogoutInitiator.cpp \
131         handler/impl/MetadataGenerator.cpp \
132         handler/impl/RemotedHandler.cpp \
133         handler/impl/StatusHandler.cpp \
134         handler/impl/SessionHandler.cpp \
135         handler/impl/SAML1Consumer.cpp \
136         handler/impl/SAML2Consumer.cpp \
137         handler/impl/SAML2ArtifactResolution.cpp \
138         handler/impl/SAML2Logout.cpp \
139         handler/impl/SAML2LogoutInitiator.cpp \
140         handler/impl/SAML2NameIDMgmt.cpp \
141         handler/impl/SAML2SessionInitiator.cpp \
142         handler/impl/SAMLDSSessionInitiator.cpp \
143         handler/impl/SessionInitiator.cpp \
144         handler/impl/Shib1SessionInitiator.cpp \
145         handler/impl/TransformSessionInitiator.cpp \
146         handler/impl/WAYFSessionInitiator.cpp \
147         impl/ChainingAccessControl.cpp \
148     impl/StorageServiceSessionCache.cpp \
149         impl/XMLAccessControl.cpp \
150         impl/XMLRequestMapper.cpp \
151         impl/XMLServiceProvider.cpp \
152         remoting/impl/ddf.cpp \
153         remoting/impl/ListenerService.cpp \
154         remoting/impl/SocketListener.cpp \
155         remoting/impl/TCPListener.cpp \
156         remoting/impl/UnixListener.cpp \
157         util/CGIParser.cpp \
158         util/DOMPropertySet.cpp \
159         util/SPConstants.cpp \
160         util/TemplateParameters.cpp
161
162 libshibsp_lite_la_SOURCES = \
163         ${common_sources} \
164         lite/CommonDomainCookie.cpp \
165         lite/SAMLConstants.cpp
166
167 libshibsp_la_SOURCES = \
168         ${common_sources} \
169         attribute/Base64AttributeDecoder.cpp \
170         attribute/DOMAttributeDecoder.cpp \
171         attribute/KeyInfoAttributeDecoder.cpp \
172         attribute/NameIDAttributeDecoder.cpp \
173         attribute/NameIDFromScopedAttributeDecoder.cpp \
174         attribute/ScopedAttributeDecoder.cpp \
175         attribute/StringAttributeDecoder.cpp \
176         attribute/XMLAttributeDecoder.cpp \
177         attribute/filtering/impl/AttributeFilter.cpp \
178         attribute/filtering/impl/ChainingAttributeFilter.cpp \
179         attribute/filtering/impl/DummyAttributeFilter.cpp \
180         attribute/filtering/impl/XMLAttributeFilter.cpp \
181         attribute/filtering/impl/BasicFilteringContext.cpp \
182         attribute/filtering/impl/MatchFunctor.cpp \
183         attribute/filtering/impl/AndMatchFunctor.cpp \
184         attribute/filtering/impl/AnyMatchFunctor.cpp \
185         attribute/filtering/impl/NotMatchFunctor.cpp \
186         attribute/filtering/impl/OrMatchFunctor.cpp \
187         attribute/filtering/impl/AttributeIssuerStringFunctor.cpp \
188         attribute/filtering/impl/AttributeRequesterStringFunctor.cpp \
189         attribute/filtering/impl/AttributeScopeStringFunctor.cpp \
190         attribute/filtering/impl/AttributeValueStringFunctor.cpp \
191         attribute/filtering/impl/AuthenticationMethodStringFunctor.cpp \
192         attribute/filtering/impl/AttributeIssuerRegexFunctor.cpp \
193         attribute/filtering/impl/AttributeRequesterRegexFunctor.cpp \
194         attribute/filtering/impl/AttributeScopeRegexFunctor.cpp \
195         attribute/filtering/impl/AttributeValueRegexFunctor.cpp \
196         attribute/filtering/impl/AuthenticationMethodRegexFunctor.cpp \
197         attribute/filtering/impl/NameIDQualifierStringFunctor.cpp \
198         attribute/filtering/impl/NumberOfAttributeValuesFunctor.cpp \
199         attribute/filtering/impl/AttributeIssuerInEntityGroupFunctor.cpp \
200         attribute/filtering/impl/AttributeRequesterInEntityGroupFunctor.cpp \
201         attribute/filtering/impl/AttributeScopeMatchesShibMDScopeFunctor.cpp \
202         attribute/resolver/impl/ChainingAttributeResolver.cpp \
203         attribute/resolver/impl/QueryAttributeResolver.cpp \
204         attribute/resolver/impl/SimpleAggregationAttributeResolver.cpp \
205         attribute/resolver/impl/ChainingAttributeExtractor.cpp \
206         attribute/resolver/impl/DelegationAttributeExtractor.cpp \
207         attribute/resolver/impl/KeyDescriptorAttributeExtractor.cpp \
208         attribute/resolver/impl/XMLAttributeExtractor.cpp \
209         binding/impl/ArtifactResolver.cpp \
210         binding/impl/SOAPClient.cpp \
211         impl/XMLSecurityPolicyProvider.cpp \
212         metadata/DynamicMetadataProvider.cpp \
213         metadata/MetadataExtImpl.cpp \
214         metadata/MetadataExtSchemaValidators.cpp \
215         metadata/MetadataProviderCriteria.cpp \
216         security/PKIXTrustEngine.cpp \
217         security/SecurityPolicy.cpp
218
219 # this is different from the project version
220 # http://sources.redhat.com/autobook/autobook/autobook_91.html
221 libshibsp_la_LDFLAGS = -version-info 5:3:0
222 libshibsp_la_LIBADD = $(XMLSEC_LIBS)
223 libshibsp_lite_la_LDFLAGS = -version-info 5:3:0
224 libshibsp_lite_la_LIBADD = $(LITE_LIBS)
225 libshibsp_lite_la_CPPFLAGS = -DSHIBSP_LITE
226
227 pkgsysconfdir = $(sysconfdir)/@PACKAGE_NAME@
228 pkgxmldir = $(datadir)/xml/@PACKAGE_NAME@
229 logdir = ${localstatedir}/log
230 rundir = $(localstatedir)/run
231 xmldir = $(datadir)/xml
232
233 paths.h: ${srcdir}/paths.h.in Makefile ${top_builddir}/config.status
234         rm -f $@.tmp
235         sed < ${srcdir}/$@.in > $@.tmp \
236             -e 's:@-PREFIX-@:${prefix}:g' \
237         -e 's:@-LIBDIR-@:${libdir}:g' \
238         -e 's:@-SYSCONFDIR-@:${sysconfdir}:g' \
239         -e 's:@-LOGDIR-@:${logdir}:g' \
240         -e 's:@-RUNDIR-@:${rundir}:g' \
241         -e 's:@-XMLDIR-@:${xmldir}:g' \
242             -e 's:@-PKGSYSCONFDIR-@:${pkgsysconfdir}:g' \
243             -e 's:@-PKGXMLDIR-@:${pkgxmldir}:g' \
244             -e 's:@-XMLTOOLINGXMLDIR-@:${XMLTOOLINGXMLDIR}:g' \
245             -e 's:@-OPENSAMLXMLDIR-@:${OPENSAMLXMLDIR}:g'
246         cmp -s $@ $@.tmp || mv $@.tmp $@
247         rm -f $@.tmp
248
249 install-exec-hook:
250         for la in $(lib_LTLIBRARIES) ; do rm -f $(DESTDIR)$(libdir)/$$la ; done
251
252 EXTRA_DIST = \
253         shibsp.vcxproj \
254         shibsp-lite.vcxproj \
255         shibsp.vcxproj.filters \
256         shibsp-lite.vcxproj.filters \
257         config_pub.h.in \
258     config_pub_win32.h\
259         paths.h.in \
260         resource.h \
261         shibsp.rc
262 BUILT_SOURCES = paths.h