]> git.ipfire.org Git - thirdparty/squid.git/blame - src/Makefile.am
Minor cleanup of the meta TLV format to not add the incorrect STORE_META_END
[thirdparty/squid.git] / src / Makefile.am
CommitLineData
a2794549 1#
2# Makefile for the Squid Object Cache server
3#
1624365b 4# $Id: Makefile.am,v 1.145 2006/05/11 19:21:12 serassio Exp $
a2794549 5#
6# Uncomment and customize the following to suit your needs:
7#
8
a46d2c0e 9
59b2d47f 10AUTOMAKE_OPTIONS = subdir-objects
a2794549 11if USE_DNSSERVER
e6ccf245 12DNSSOURCE = dns.cc
852a0ce1 13DNSSERVER = dnsserver
14else
15DNSSOURCE = dns_internal.cc
16DNSSERVER =
17endif
18
2cdb6869 19SNMP_ALL_SOURCE = \
20 snmp_core.cc \
21 snmp_agent.cc
852a0ce1 22if USE_SNMP
2cdb6869 23SNMP_SOURCE = $(SNMP_ALL_SOURCE)
852a0ce1 24else
2cdb6869 25SNMP_SOURCE =
852a0ce1 26endif
27
f5691f9c 28TESTS=$(check_PROGRAMS)
29check_PROGRAMS=
30
20f4520e 31SUBDIRS = fs repl auth
32
852a0ce1 33DELAY_POOL_ALL_SOURCE = \
34 CommonPool.h \
35 CompositePoolNode.h \
36 delay_pools.cc \
37 DelayId.cc \
38 DelayId.h \
39 DelayIdComposite.h \
40 DelayBucket.cc \
41 DelayBucket.h \
42 DelayConfig.cc \
43 DelayConfig.h \
44 DelayPool.cc \
45 DelayPool.h \
46 DelayPools.h \
47 DelaySpec.cc \
48 DelaySpec.h \
49 DelayTagged.cc \
50 DelayTagged.h \
51 DelayUser.cc \
52 DelayUser.h \
53 DelayVector.cc \
54 DelayVector.h \
55 NullDelayId.cc \
56 NullDelayId.h
57if USE_DELAY_POOLS
58DELAY_POOL_SOURCE = $(DELAY_POOL_ALL_SOURCE)
59else
60DELAY_POOL_SOURCE =
61endif
62
63ESI_ALL_SOURCE = \
64 ElementList.h \
65 ESI.cc \
66 ESI.h \
67 ESIAssign.cc \
68 ESIAssign.h \
69 ESIAttempt.h \
70 ESIContext.cc \
71 ESIContext.h \
72 ESICustomParser.cc \
73 ESICustomParser.h \
74 ESIElement.h \
75 ESIExcept.h \
76 ESIExpatParser.cc \
77 ESIExpatParser.h \
78 ESIExpression.cc \
79 ESIExpression.h \
80 ESIInclude.cc \
81 ESIInclude.h \
82 ESILiteral.h \
964b44c3 83 ESILibxml2Parser.cc \
84 ESILibxml2Parser.h \
852a0ce1 85 ESIParser.cc \
86 ESIParser.h \
87 ESISegment.cc \
88 ESISegment.h \
89 ESISequence.cc \
90 ESISequence.h \
91 ESIVar.h \
92 ESIVarState.cc \
93 ESIVarState.h
94if USE_ESI
95 ESI_SOURCE = $(ESI_ALL_SOURCE)
96else
97 ESI_SOURCE =
98endif
99
100if ENABLE_XPROF_STATS
101XPROF_STATS_SOURCE = ProfStats.cc
102else
103XPROF_STATS_SOURCE =
104endif
105
106if ENABLE_HTCP
107HTCPSOURCE = htcp.cc htcp.h
108endif
109
110if MAKE_LEAKFINDER
ba126bee 111LEAKFINDERSOURCE = LeakFinder.cc
852a0ce1 112else
113LEAKFINDERSOURCE =
114endif
115
116if ENABLE_UNLINKD
117UNLINKDSOURCE = unlinkd.cc
118UNLINKD = unlinkd
119else
120UNLINKDSOURCE =
121UNLINKD =
122endif
123
124if ENABLE_PINGER
125PINGER = pinger
126else
127PINGER =
128endif
129
130SSL_ALL_SOURCE = \
131 ACLCertificateData.cc \
132 ACLCertificateData.h \
133 ACLCertificate.cc \
134 ACLCertificate.h \
135 ssl_support.cc \
136 ssl_support.h
137if ENABLE_SSL
138SSL_SOURCE = $(SSL_ALL_SOURCE)
139else
140SSL_SOURCE =
141endif
142
2cdb6869 143WIN32_ALL_SOURCE = win32.cc
852a0ce1 144if ENABLE_WIN32SPECIFIC
2cdb6869 145WIN32_SOURCE = $(WIN32_ALL_SOURCE)
852a0ce1 146else
2cdb6869 147WIN32_SOURCE =
852a0ce1 148endif
149
150IDENT_ALL_SOURCE = ACLIdent.cc ACLIdent.h ident.cc
151if ENABLE_IDENT
152IDENT_SOURCE = $(IDENT_ALL_SOURCE)
153else
154IDENT_SOURCE =
155endif
156
157ARP_ACL_ALL_SOURCE = ACLARP.cc ACLARP.h
158if ENABLE_ARP_ACL
159ARP_ACL_SOURCE = $(ARP_ACL_ALL_SOURCE)
160else
161ARP_ACL_SOURCE =
162endif
163
164AM_CFLAGS = @SQUID_CFLAGS@
165AM_CXXFLAGS = @SQUID_CXXFLAGS@
166
c21ad0f5 167EXTRA_LIBRARIES = libAIO.a libBlocking.a libDiskDaemon.a libDiskThreads.a ICAP/libicap.a
168noinst_LIBRARIES = @DISK_LIBS@ @ICAP_LIBS@
b9ae18aa 169
170INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include -I$(top_srcdir)/lib/libTrie/include
327ec83a 171INCLUDES += @SQUID_CPPUNIT_INC@
852a0ce1 172
173EXTRA_PROGRAMS = \
b9ae18aa 174 DiskIO/DiskDaemon/diskd \
852a0ce1 175 unlinkd \
176 pinger \
177 dnsserver \
178 recv-announce \
082a5e7a 179 tests/testUfs \
180 tests/testCoss \
181 tests/testNull
852a0ce1 182
596d3ba7 183## cfgen is used when building squid
184## ufsdump is a debug utility, it is possibly useful for end users with cache
185## corruption, but at this point we do not install it.
852a0ce1 186noinst_PROGRAMS = \
596d3ba7 187 cf_gen \
188 ufsdump
852a0ce1 189
190sbin_PROGRAMS = \
191 squid
192
94ab55b0 193bin_PROGRAMS =
852a0ce1 194
195
196libexec_PROGRAMS = \
197 $(PINGER) \
198 $(DNSSERVER) \
b9ae18aa 199 @DISK_PROGRAMS@ \
94ab55b0 200 $(UNLINKD)
852a0ce1 201
985c86bc 202cf_gen_SOURCES = cf_gen.cc defines.h debug.cc time.cc
3db24c0f 203nodist_cf_gen_SOURCES = globals.cc
852a0ce1 204nodist_cf_gen_HEADER = cf_gen_defines.h
205cf_gen.$(OBJEXT): cf_gen_defines.h
852a0ce1 206
59b2d47f 207all_FSMODULES = \
208 fs/aufs/StoreFSaufs.cc \
209 fs/coss/StoreFScoss.cc \
210 fs/diskd/StoreFSdiskd.cc \
211 fs/null/StoreFSnull.cc \
212 fs/ufs/StoreFSufs.cc
213
b9ae18aa 214all_DISKIOMODULES = \
215 DiskIO/AIO/AIODiskIOModule.cc \
216 DiskIO/Blocking/BlockingDiskIOModule.cc \
217 DiskIO/DiskDaemon/DiskDaemonDiskIOModule.cc \
218 DiskIO/DiskThreads/DiskThreadsDiskIOModule.cc
219
c8f4eac4 220DISKIO_SOURCE = \
221 DiskIO/DiskIOModule.cc \
222 DiskIO/ReadRequest.cc \
223 DiskIO/ReadRequest.h \
224 DiskIO/WriteRequest.cc \
225 DiskIO/WriteRequest.h \
226 DiskIO/DiskFile.h \
227 DiskIO/DiskIOStrategy.h \
228 DiskIO/IORequestor.h \
229 DiskIO/DiskIOModule.h \
230 DiskIO/ReadRequest.h
231
f5691f9c 232all_AUTHMODULES = \
233 auth/basic/basicScheme.cc \
ab7712e6 234 auth/basic/basicScheme.h \
f5691f9c 235 auth/digest/digestScheme.cc \
ab7712e6 236 auth/digest/digestScheme.h \
237 auth/ntlm/ntlmScheme.cc \
6bf4f823 238 auth/ntlm/ntlmScheme.h \
239 auth/negotiate/negotiateScheme.cc \
240 auth/negotiate/negotiateScheme.h
f5691f9c 241
852a0ce1 242EXTRA_squid_SOURCES = \
59b2d47f 243 $(all_FSMODULES) \
b9ae18aa 244 $(all_DISKIOMODULES) \
f5691f9c 245 $(all_AUTHMODULES) \
852a0ce1 246 $(ARP_ACL_ALL_SOURCE) \
b9ae18aa 247 ConfigOption.h \
852a0ce1 248 $(DELAY_POOL_ALL_SOURCE) \
249 dns.cc \
250 dnsserver.cc \
251 dns_internal.cc \
252 htcp.cc \
f1300334 253 htcp.h \
852a0ce1 254 $(IDENT_ALL_SOURCE) \
255 $(ESI_ALL_SOURCE) \
256 ProfStats.cc \
ba126bee 257 LeakFinder.cc \
cd397896 258 LeakFinder.h \
2cdb6869 259 $(SNMP_ALL_SOURCE) \
852a0ce1 260 unlinkd.cc \
261 $(SSL_ALL_SOURCE) \
2cdb6869 262 $(WIN32_ALL_SOURCE)
852a0ce1 263
264squid_ACLSOURCES = \
265 $(ARP_ACL_SOURCE) \
266 ACLASN.cc \
267 ACLASN.h \
268 ACLDestinationASN.h \
269 ACLSourceASN.h \
270 ACLBrowser.cc \
271 ACLBrowser.h \
272 ACLData.h \
273 ACLDestinationDomain.cc \
274 ACLDestinationDomain.h \
275 ACLDestinationIP.cc \
276 ACLDestinationIP.h \
277 ACLDomainData.h \
278 ACLDomainData.cc \
279 ACLExtUser.h \
280 ACLExtUser.cc \
a0ec9f68 281 ACLHTTPStatus.h \
282 ACLHTTPStatus.cc \
852a0ce1 283 ACLIntRange.cc \
284 ACLIntRange.h \
285 ACLIP.cc \
286 ACLIP.h \
287 ACLMaxConnection.cc \
288 ACLMaxConnection.h \
289 ACLMaxUserIP.cc \
290 ACLMaxUserIP.h \
291 ACLMethod.cc \
292 ACLMethod.h \
293 ACLMethodData.cc \
294 ACLMethodData.h \
295 ACLMyIP.cc \
296 ACLMyIP.h \
297 ACLMyPort.cc \
298 ACLMyPort.h \
299 ACLProtocol.cc \
300 ACLProtocol.h \
301 ACLProtocolData.cc \
302 ACLProtocolData.h \
303 ACLProxyAuth.cc \
304 ACLProxyAuth.h \
305 ACLReferer.cc \
306 ACLReferer.h \
307 ACLRegexData.cc \
308 ACLRegexData.h \
309 ACLReplyHeaderStrategy.h \
310 ACLReplyMIMEType.cc \
311 ACLReplyMIMEType.h \
312 ACLRequestHeaderStrategy.h \
313 ACLRequestMIMEType.cc \
314 ACLRequestMIMEType.h \
315 ACLSourceDomain.cc \
316 ACLSourceDomain.h \
317 ACLSourceIP.cc \
318 ACLSourceIP.h \
319 ACLStrategised.cc \
320 ACLStrategised.h \
321 ACLStrategy.h \
322 ACLStringData.cc \
323 ACLStringData.h \
324 ACLTime.cc \
325 ACLTime.h \
326 ACLTimeData.cc \
327 ACLTimeData.h \
328 ACLUrl.cc \
329 ACLUrl.h \
330 ACLUrlPath.cc \
331 ACLUrlPath.h \
332 ACLUrlPort.cc \
333 ACLUrlPort.h \
334 ACLUserData.cc \
335 ACLUserData.h
336
337squid_SOURCES = \
338 access_log.cc \
450e0c10 339 AccessLogEntry.h \
852a0ce1 340 acl.cc \
d295d770 341 acl_noncore.cc \
852a0ce1 342 ACL.h \
343 ACLChecklist.cc \
344 ACLChecklist.h \
345 $(squid_ACLSOURCES) \
346 asn.cc \
347 authenticate.cc \
348 authenticate.h \
f5691f9c 349 AuthConfig.cc \
350 AuthConfig.h \
351 AuthScheme.cc \
352 AuthScheme.h \
353 AuthUser.cc \
354 AuthUserRequest.cc \
852a0ce1 355 cache_cf.cc \
356 CacheDigest.cc \
357 cache_manager.cc \
358 carp.cc \
359 cbdata.cc \
360 client_db.cc \
361 client_side.cc \
362 client_side.h \
363 client_side_reply.cc \
364 client_side_reply.h \
365 client_side_request.cc \
366 client_side_request.h \
3b299123 367 BodyReader.cc \
368 BodyReader.h \
cd397896 369 ClientRequestContext.h \
852a0ce1 370 clientStream.cc \
371 clientStream.h \
372 comm.cc \
373 comm.h \
56410c89 374 CommIO.h \
852a0ce1 375 comm_select.cc \
376 comm_poll.cc \
8a02a7f8 377 comm_epoll.cc \
852a0ce1 378 comm_kqueue.cc \
852a0ce1 379 CommRead.h \
b9ae18aa 380 ConfigOption.cc \
d295d770 381 ConfigParser.cc \
852a0ce1 382 ConfigParser.h \
383 ConnectionDetail.h \
384 debug.cc \
385 Debug.h \
386 defines.h \
387 $(DELAY_POOL_SOURCE) \
388 disk.cc \
c8f4eac4 389 $(DISKIO_SOURCE) \
25b6a907 390 dlink.h \
852a0ce1 391 $(DNSSOURCE) \
392 enums.h \
393 errorpage.cc \
394 $(ESI_SOURCE) \
395 ETag.cc \
396 event.cc \
397 external_acl.cc \
398 ExternalACL.h \
399 ExternalACLEntry.cc \
400 ExternalACLEntry.h \
401 fd.cc \
402 fde.cc \
403 fde.h \
404 filemap.cc \
405 forward.cc \
8bd61868 406 forward.h \
852a0ce1 407 fqdncache.cc \
408 ftp.cc \
409 Generic.h \
410 globals.h \
411 gopher.cc \
412 helper.cc \
413 helper.h \
b24880fe 414 HierarchyLogEntry.h \
852a0ce1 415 $(HTCPSOURCE) \
416 http.cc \
417 http.h \
418 HttpStatusLine.cc \
450e0c10 419 HttpStatusLine.h \
852a0ce1 420 HttpHdrCc.cc \
421 HttpHdrRange.cc \
422 HttpHdrSc.cc \
25b6a907 423 HttpHdrSc.h \
852a0ce1 424 HttpHdrScTarget.cc \
25b6a907 425 HttpHdrScTarget.h \
852a0ce1 426 HttpHdrContRange.cc \
427 HttpHdrContRange.h \
428 HttpHeader.cc \
429 HttpHeader.h \
25b6a907 430 HttpHeaderMask.h \
852a0ce1 431 HttpHeaderRange.h \
432 HttpHeaderTools.cc \
433 HttpBody.cc \
434 HttpMsg.cc \
8596962e 435 HttpMsg.h \
852a0ce1 436 HttpReply.cc \
437 HttpReply.h \
438 HttpRequest.cc \
439 HttpRequest.h \
985c86bc 440 HttpRequestMethod.cc \
441 HttpRequestMethod.h \
450e0c10 442 HttpVersion.h \
852a0ce1 443 icmp.cc \
444 ICP.h \
445 icp_v2.cc \
446 icp_v3.cc \
447 $(IDENT_SOURCE) \
448 int.cc \
449 internal.cc \
450 ipc.cc \
451 ipcache.cc \
452 IPInterception.cc \
453 IPInterception.h \
454 $(LEAKFINDERSOURCE) \
c8f4eac4 455 list.cc \
852a0ce1 456 logfile.cc \
457 main.cc \
458 mem.cc \
459 mem_node.cc \
460 mem_node.h \
461 Mem.h \
462 MemBuf.cc \
463 MemObject.cc \
464 MemObject.h \
465 mime.cc \
466 multicast.cc \
467 neighbors.cc \
468 net_db.cc \
469 Packer.cc \
25b6a907 470 Packer.h \
c8f4eac4 471 Parsing.cc \
472 Parsing.h \
852a0ce1 473 $(XPROF_STATS_SOURCE) \
474 pconn.cc \
2d3c24dc 475 pconn.h \
852a0ce1 476 peer_digest.cc \
477 peer_select.cc \
b24880fe 478 PeerSelectState.h \
479 PingData.h \
852a0ce1 480 protos.h \
481 redirect.cc \
482 referer.cc \
483 refresh.cc \
484 send-announce.cc \
2cdb6869 485 $(SNMP_SOURCE) \
852a0ce1 486 squid.h \
487 SquidNew.cc \
488 tunnel.cc \
489 $(SSL_SOURCE) \
490 stat.cc \
491 StatHist.cc \
492 String.cc \
493 stmem.cc \
494 stmem.h \
495 store.cc \
496 Store.h \
59b2d47f 497 StoreFileSystem.cc \
498 StoreFileSystem.h \
c8f4eac4 499 StoreHashIndex.h \
852a0ce1 500 store_io.cc \
501 StoreIOBuffer.h \
502 StoreIOState.cc \
503 StoreIOState.h \
504 store_client.cc \
505 StoreClient.h \
506 store_digest.cc \
507 store_dir.cc \
508 store_key_md5.cc \
509 store_log.cc \
510 store_rebuild.cc \
511 store_swapin.cc \
512 store_swapmeta.cc \
513 store_swapout.cc \
514 StoreMeta.cc \
515 StoreMeta.h \
516 StoreMetaMD5.cc \
517 StoreMetaMD5.h \
518 StoreMetaSTD.cc \
519 StoreMetaSTD.h \
520 StoreMetaUnpacker.cc \
521 StoreMetaUnpacker.h \
522 StoreMetaURL.cc \
523 StoreMetaURL.h \
524 StoreMetaVary.cc \
525 StoreMetaVary.h \
c8f4eac4 526 StoreSearch.h \
852a0ce1 527 StoreSwapLogData.cc \
528 StoreSwapLogData.h \
253caccb 529 Server.cc \
596d3ba7 530 Server.h \
852a0ce1 531 structs.h \
532 SwapDir.cc \
533 SwapDir.h \
c21ad0f5 534 time.cc \
852a0ce1 535 tools.cc \
536 typedefs.h \
852a0ce1 537 $(UNLINKDSOURCE) \
538 url.cc \
985c86bc 539 URL.h \
540 URLScheme.cc \
541 URLScheme.h \
852a0ce1 542 urn.cc \
543 useragent.cc \
544 wais.cc \
545 wccp.cc \
546 whois.cc \
d295d770 547 wordlist.cc \
548 wordlist.h \
2cdb6869 549 $(WIN32_SOURCE)
852a0ce1 550
551noinst_HEADERS = ACLChecklist.cci \
f5691f9c 552 AuthUser.cci \
553 AuthUser.h \
554 AuthUserRequest.h \
852a0ce1 555 client_side_request.cci \
556 MemBuf.cci \
557 MemBuf.h \
558 Store.cci \
c21ad0f5 559 StoreEntryStream.h \
852a0ce1 560 String.cci \
1624365b 561 SquidString.h \
562 SquidTime.h
852a0ce1 563
564nodist_squid_SOURCES = \
565 repl_modules.cc \
852a0ce1 566 cf_parser.h \
567 globals.cc \
568 string_arrays.c
569
570squid_LDADD = \
571 -L../lib \
572 @XTRA_OBJS@ \
b9ae18aa 573 @DISK_LINKOBJS@ \
852a0ce1 574 @REPL_OBJS@ \
59b2d47f 575 @STORE_LINKOBJS@ \
852a0ce1 576 @STORE_OBJS@ \
b9ae18aa 577 @DISK_LIBS@ \
f5691f9c 578 @AUTH_LINKOBJS@ \
852a0ce1 579 @AUTH_OBJS@ \
580 @CRYPTLIB@ \
581 @REGEXLIB@ \
582 @SNMPLIB@ \
c21ad0f5 583 @ICAP_LIBS@ \
852a0ce1 584 @LIB_MALLOC@ \
585 @SSLLIB@ \
586 -lmiscutil \
587 @XTRA_LIBS@ \
790ebe36 588 @EPOLL_LIBS@ \
589 @MINGW_LIBS@
f5691f9c 590squid_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a @STORE_OBJS@ @STORE_LINKOBJS@ \
b9ae18aa 591 @DISK_LIBS@ \
592 @DISK_LINKOBJS@ \
f5691f9c 593 @REPL_OBJS@ \
594 @AUTH_LINKOBJS@ \
c8316fba 595 @AUTH_OBJS@ \
c21ad0f5 596 @ICAP_LIBS@
597
598ICAP_libicap_a_SOURCES = \
599 ICAP/ChunkedCodingParser.cc \
600 ICAP/ChunkedCodingParser.h \
601 ICAP/ICAPClient.cc \
602 ICAP/ICAPClient.h \
603 ICAP/ICAPClientReqmodPrecache.cc \
604 ICAP/ICAPClientReqmodPrecache.h \
605 ICAP/ICAPClientRespmodPrecache.cc \
606 ICAP/ICAPClientRespmodPrecache.h \
607 ICAP/ICAPConfig.cc \
608 ICAP/ICAPConfig.h \
609 ICAP/ICAPElements.cc \
610 ICAP/ICAPElements.h \
611 ICAP/ICAPModXact.cc \
612 ICAP/ICAPModXact.h \
613 ICAP/ICAPOptions.cc \
614 ICAP/ICAPOptions.h \
615 ICAP/ICAPOptXact.cc \
616 ICAP/ICAPOptXact.h \
617 ICAP/ICAPServiceRep.cc \
618 ICAP/ICAPServiceRep.h \
619 ICAP/ICAPXaction.cc \
620 ICAP/ICAPXaction.h \
621 ICAP/MsgPipe.cc \
622 ICAP/MsgPipe.h \
623 ICAP/MsgPipeData.h \
624 ICAP/MsgPipeEnd.h \
625 ICAP/MsgPipeSink.h \
626 ICAP/MsgPipeSource.h \
627 ICAP/TextException.cc \
628 ICAP/TextException.h
629
852a0ce1 630
631unlinkd_SOURCES = unlinkd.cc SquidNew.cc
632unlinkd_CXXFLAGS = -DUNLINK_DAEMON
633
634pinger_SOURCES = \
635 pinger.cc \
636 debug.cc \
985c86bc 637 time.cc \
852a0ce1 638 SquidNew.cc
639
640dnsserver_SOURCES = dnsserver.cc SquidNew.cc
641recv_announce_SOURCES = recv-announce.cc SquidNew.cc
642
a97576f3 643## What requires what..
644## many things want ACLChecklist.cc
645## ACLChecklist.cc wants AuthUserRequest.cc
646## ACLChecklist.cc wants AuthScheme.cc
647## ACLChecklist.cc wants ACLProxyAuth.cc directly
648## ACLProxyAuth.cc wants ACLUserData
649## ACLProxyAuth.cc wants ACLRegexData
650## cache_cf.cc wants AuthConfig
651## cache_cf.cc wants Swapdir
652## client_side wants client_db
653## client_db wants SNMP_SOURCE
654## snmp_core wants ACLStringData
655## SwapDir wants ConfigOption
596d3ba7 656ufsdump_SOURCES = \
596d3ba7 657 debug.cc \
852a0ce1 658 int.cc \
c21ad0f5 659 mem.cc \
660 store_key_md5.cc \
852a0ce1 661 StoreMeta.cc \
852a0ce1 662 StoreMetaMD5.cc \
852a0ce1 663 StoreMetaSTD.cc \
852a0ce1 664 StoreMetaUnpacker.cc \
852a0ce1 665 StoreMetaURL.cc \
852a0ce1 666 StoreMetaVary.cc \
c21ad0f5 667 String.cc \
668 time.cc \
669 ufsdump.cc \
670 url.cc \
671 BodyReader.cc \
672 ConfigParser.cc \
673 store.cc \
674 StoreFileSystem.cc \
7a6dc83d 675 StoreSwapLogData.cc \
676 StoreSwapLogData.h \
852a0ce1 677 access_log.cc \
678 acl.cc \
596d3ba7 679 acl_noncore.cc \
852a0ce1 680 ACLChecklist.cc \
a97576f3 681 ACLProxyAuth.cc \
682 ACLUserData.cc \
683 ACLRegexData.cc \
684 ACLStringData.cc \
852a0ce1 685 authenticate.cc \
f5691f9c 686 AuthUser.cc \
a97576f3 687 AuthUserRequest.cc \
688 AuthScheme.cc \
689 AuthConfig.cc \
852a0ce1 690 cache_cf.cc \
852a0ce1 691 cache_manager.cc \
c21ad0f5 692 CacheDigest.cc \
852a0ce1 693 carp.cc \
694 cbdata.cc \
695 client_db.cc \
696 client_side.cc \
697 client_side_reply.cc \
698 client_side_request.cc \
699 client_side_request.h \
700 clientStream.cc \
701 clientStream.h \
702 comm.cc \
703 comm.h \
1b716c88 704 CommIO.h \
852a0ce1 705 comm_select.cc \
706 comm_poll.cc \
8a02a7f8 707 comm_epoll.cc \
852a0ce1 708 comm_kqueue.cc \
a97576f3 709 ConfigOption.cc \
852a0ce1 710 defines.h \
711 $(DELAY_POOL_SOURCE) \
712 disk.cc \
713 $(DNSSOURCE) \
714 enums.h \
715 errorpage.cc \
716 $(ESI_SOURCE) \
717 ETag.cc \
718 event.cc \
719 external_acl.cc \
7a6dc83d 720 ExternalACLEntry.cc \
852a0ce1 721 fd.cc \
722 fde.cc \
723 fde.h \
724 filemap.cc \
725 forward.cc \
8bd61868 726 forward.h \
852a0ce1 727 fqdncache.cc \
728 ftp.cc \
729 gopher.cc \
730 helper.cc \
731 $(HTCPSOURCE) \
732 http.cc \
733 HttpStatusLine.cc \
734 HttpHdrCc.cc \
735 HttpHdrRange.cc \
736 HttpHdrSc.cc \
737 HttpHdrScTarget.cc \
738 HttpHdrContRange.cc \
739 HttpHeader.cc \
740 HttpHeaderTools.cc \
741 HttpBody.cc \
742 HttpMsg.cc \
743 HttpReply.cc \
744 HttpRequest.cc \
985c86bc 745 HttpRequestMethod.cc \
852a0ce1 746 icmp.cc \
747 icp_v2.cc \
748 icp_v3.cc \
749 $(IDENT_SOURCE) \
750 internal.cc \
751 ipc.cc \
752 ipcache.cc \
753 IPInterception.cc \
754 IPInterception.h \
755 $(LEAKFINDERSOURCE) \
2873e2ee 756 list.cc \
852a0ce1 757 logfile.cc \
852a0ce1 758 mem_node.cc \
759 mem_node.h \
760 Mem.h \
761 MemBuf.cc \
762 MemObject.cc \
763 MemObject.h \
764 mime.cc \
765 multicast.cc \
766 neighbors.cc \
767 net_db.cc \
768 Packer.cc \
c8f4eac4 769 Parsing.cc \
852a0ce1 770 $(XPROF_STATS_SOURCE) \
771 pconn.cc \
772 peer_digest.cc \
773 peer_select.cc \
774 protos.h \
775 redirect.cc \
776 referer.cc \
777 refresh.cc \
778 send-announce.cc \
2cdb6869 779 $(SNMP_SOURCE) \
852a0ce1 780 squid.h \
781 $(SSL_SOURCE) \
782 tunnel.cc \
596d3ba7 783 Server.cc \
852a0ce1 784 SquidNew.cc \
785 stat.cc \
786 StatHist.cc \
852a0ce1 787 stmem.cc \
788 store_io.cc \
789 StoreIOBuffer.h \
790 StoreIOState.cc \
791 store_client.cc \
792 StoreClient.h \
793 store_digest.cc \
794 store_dir.cc \
852a0ce1 795 store_log.cc \
796 store_rebuild.cc \
797 store_swapin.cc \
798 store_swapmeta.cc \
799 store_swapout.cc \
800 structs.h \
801 SwapDir.cc \
802 tools.cc \
803 typedefs.h \
852a0ce1 804 $(UNLINKDSOURCE) \
985c86bc 805 URLScheme.cc \
852a0ce1 806 urn.cc \
807 useragent.cc \
808 wais.cc \
809 wccp.cc \
810 whois.cc \
596d3ba7 811 wordlist.cc \
2cdb6869 812 $(WIN32_SOURCE)
852a0ce1 813ufsdump_LDADD = \
814 -L../lib \
815 @XTRA_OBJS@ \
816 @REPL_OBJS@ \
817 @STORE_OBJS@ \
818 @AUTH_OBJS@ \
819 @CRYPTLIB@ \
820 @REGEXLIB@ \
821 @SNMPLIB@ \
c21ad0f5 822 @ICAP_LIBS@ \
852a0ce1 823 @LIB_MALLOC@ \
824 @SSLLIB@ \
825 -lmiscutil \
826 @XTRA_LIBS@ \
790ebe36 827 @EPOLL_LIBS@ \
828 @MINGW_LIBS@
852a0ce1 829ufsdump_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a
830nodist_ufsdump_SOURCES = \
831 repl_modules.cc \
852a0ce1 832 cf_parser.h \
833 globals.cc \
834 string_arrays.c
835
836nodist_pinger_SOURCES = \
837 globals.cc
838
839BUILT_SOURCES = \
840 cf_gen_defines.h \
841 cf_parser.h \
842 globals.cc \
843 string_arrays.c \
f5691f9c 844 repl_modules.cc
852a0ce1 845
846sysconf_DATA = \
847 squid.conf.default \
848 mime.conf.default
849
850data_DATA = \
851 mib.txt
852
790ebe36 853LDADD = -L../lib -lmiscutil @XTRA_LIBS@ @EPOLL_LIBS@ @MINGW_LIBS@
852a0ce1 854
855EXTRA_DIST = \
856 cf_gen_defines \
857 cf.data.pre \
858 mk-globals-c.pl \
e1007e14 859 mk-globals-c.awk \
852a0ce1 860 mk-string-arrays.pl \
e1007e14 861 mk-string-arrays.awk \
852a0ce1 862 repl_modules.sh \
863 mib.txt \
c8f4eac4 864 mime.conf.default
b9ae18aa 865
866libAIO_a_SOURCES = \
867 DiskIO/AIO/async_io.h \
868 DiskIO/AIO/AIODiskFile.cc \
869 DiskIO/AIO/AIODiskFile.h \
870 DiskIO/AIO/AIODiskIOStrategy.cc \
871 DiskIO/AIO/AIODiskIOStrategy.h \
872 DiskIO/AIO/AIODiskIOModule.h
873
874libBlocking_a_SOURCES = \
875 DiskIO/Blocking/BlockingFile.cc \
876 DiskIO/Blocking/BlockingFile.h \
877 DiskIO/Blocking/BlockingIOStrategy.cc \
878 DiskIO/Blocking/BlockingIOStrategy.h \
879 DiskIO/Blocking/BlockingDiskIOModule.h
880
881libDiskDaemon_a_SOURCES = \
882 DiskIO/DiskDaemon/DiskdFile.cc \
883 DiskIO/DiskDaemon/DiskdFile.h \
884 DiskIO/DiskDaemon/DiskdIOStrategy.cc \
885 DiskIO/DiskDaemon/DiskdIOStrategy.h \
886 DiskIO/DiskDaemon/diomsg.h \
887 DiskIO/DiskDaemon/DiskDaemonDiskIOModule.h
888
889libDiskThreads_a_SOURCES = \
890 DiskIO/DiskThreads/aiops.cc \
891 DiskIO/DiskThreads/async_io.cc \
892 DiskIO/DiskThreads/DiskThreads.h \
893 DiskIO/DiskThreads/DiskThreadsDiskFile.cc \
894 DiskIO/DiskThreads/DiskThreadsDiskFile.h \
895 DiskIO/DiskThreads/DiskThreadsDiskIOModule.h \
896 DiskIO/DiskThreads/DiskThreadsIOStrategy.cc \
897 DiskIO/DiskThreads/DiskThreadsIOStrategy.h
898
899DiskIO_DiskDaemon_diskd_SOURCES = DiskIO/DiskDaemon/diskd.cc
900DiskIO_DiskDaemon_diskd_LDADD = $(top_builddir)/lib/libmiscutil.a @XTRA_LIBS@
901
852a0ce1 902
58c1507a 903DEFAULT_HTTP_PORT = @CACHE_HTTP_PORT@
904DEFAULT_ICP_PORT = @CACHE_ICP_PORT@
852a0ce1 905DEFAULT_PREFIX = $(prefix)
906DEFAULT_CONFIG_FILE = $(sysconfdir)/squid.conf
907DEFAULT_MIME_TABLE = $(sysconfdir)/mime.conf
831eb43f 908DEFAULT_DNSSERVER = $(libexecdir)/`echo dnsserver | sed '$(transform);s/$$/$(EXEEXT)/'`
852a0ce1 909DEFAULT_LOG_PREFIX = $(localstatedir)/logs
910DEFAULT_CACHE_LOG = $(DEFAULT_LOG_PREFIX)/cache.log
911DEFAULT_ACCESS_LOG = $(DEFAULT_LOG_PREFIX)/access.log
912DEFAULT_STORE_LOG = $(DEFAULT_LOG_PREFIX)/store.log
913DEFAULT_PID_FILE = $(DEFAULT_LOG_PREFIX)/squid.pid
914DEFAULT_SWAP_DIR = $(localstatedir)/cache
831eb43f 915DEFAULT_PINGER = $(libexecdir)/`echo pinger | sed '$(transform);s/$$/$(EXEEXT)/'`
916DEFAULT_UNLINKD = $(libexecdir)/`echo unlinkd | sed '$(transform);s/$$/$(EXEEXT)/'`
917DEFAULT_DISKD = $(libexecdir)/`echo diskd | sed '$(transform);s/$$/$(EXEEXT)/'`
852a0ce1 918DEFAULT_ICON_DIR = $(datadir)/icons
919DEFAULT_ERROR_DIR = $(datadir)/errors/@ERR_DEFAULT_LANGUAGE@
920DEFAULT_MIB_PATH = $(datadir)/mib.txt
921DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
922
923DEFS = @DEFS@ -DDEFAULT_CONFIG_FILE=\"$(DEFAULT_CONFIG_FILE)\"
924
925$(OBJS): $(top_srcdir)/include/version.h ../include/autoconf.h
926
927snmp_core.o snmp_agent.o: ../snmplib/libsnmp.a $(top_srcdir)/include/cache_snmp.h
928
929globals.cc: globals.h mk-globals-c.pl
ae0c53fc 930 $(AWK) -f $(srcdir)/mk-globals-c.awk < $(srcdir)/globals.h > $@
852a0ce1 931
932string_arrays.c: enums.h mk-string-arrays.pl
ae0c53fc 933 $(AWK) -f $(srcdir)/mk-string-arrays.awk < $(srcdir)/enums.h > $@
852a0ce1 934
935cache_diff: cache_diff.o debug.o globals.o store_key_md5.o
936 $(CC) -o $@ $(LDFLAGS) $@.o debug.o globals.o store_key_md5.o $(STD_APP_LIBS)
937
938test_cache_digest: test_cache_digest.o CacheDigest.o debug.o globals.o store_key_md5.o
939 $(CC) -o $@ $(LDFLAGS) $@.o CacheDigest.o debug.o globals.o store_key_md5.o $(STD_APP_LIBS)
a2794549 940
941## If autodependency works well this is not needed anymore
852a0ce1 942cache_cf.o: cf_parser.h
a2794549 943
852a0ce1 944squid.conf.default: cf_parser.h
945 $(SHELL) -c "test -f squid.conf.default || ./cf_gen cf.data"
a2794549 946
852a0ce1 947cf_parser.h: cf.data cf_gen$(EXEEXT)
948 ./cf_gen cf.data
a2794549 949
852a0ce1 950cf_gen_defines.h: $(srcdir)/cf_gen_defines $(srcdir)/cf.data.pre
ae0c53fc 951 $(AWK) -f $(srcdir)/cf_gen_defines <$(srcdir)/cf.data.pre >cf_gen_defines.h
a2794549 952
953
954## FIXME: generate a sed command file from configure. Then this doesn't
852a0ce1 955## depend on the Makefile.
956cf.data: cf.data.pre Makefile
957 sed "\
58c1507a 958 s%@DEFAULT_HTTP_PORT@%$(DEFAULT_HTTP_PORT)%g;\
959 s%@DEFAULT_ICP_PORT@%$(DEFAULT_ICP_PORT)%g;\
852a0ce1 960 s%@DEFAULT_MIME_TABLE@%$(DEFAULT_MIME_TABLE)%g;\
961 s%@DEFAULT_DNSSERVER@%$(DEFAULT_DNSSERVER)%g;\
962 s%@DEFAULT_UNLINKD@%$(DEFAULT_UNLINKD)%g;\
963 s%@DEFAULT_PINGER@%$(DEFAULT_PINGER)%g;\
964 s%@DEFAULT_DISKD@%$(DEFAULT_DISKD)%g;\
965 s%@DEFAULT_CACHE_LOG@%$(DEFAULT_CACHE_LOG)%g;\
966 s%@DEFAULT_ACCESS_LOG@%$(DEFAULT_ACCESS_LOG)%g;\
967 s%@DEFAULT_STORE_LOG@%$(DEFAULT_STORE_LOG)%g;\
968 s%@DEFAULT_PID_FILE@%$(DEFAULT_PID_FILE)%g;\
969 s%@DEFAULT_SWAP_DIR@%$(DEFAULT_SWAP_DIR)%g;\
970 s%@DEFAULT_ICON_DIR@%$(DEFAULT_ICON_DIR)%g;\
971 s%@DEFAULT_MIB_PATH@%$(DEFAULT_MIB_PATH)%g;\
972 s%@DEFAULT_ERROR_DIR@%$(DEFAULT_ERROR_DIR)%g;\
973 s%@DEFAULT_PREFIX@%$(DEFAULT_PREFIX)%g;\
974 s%@DEFAULT_HOSTS@%$(DEFAULT_HOSTS)%g;\
975 s%@[V]ERSION@%$(VERSION)%g;"\
976 < $(srcdir)/cf.data.pre >$@
977
852a0ce1 978repl_modules.cc: repl_modules.sh Makefile
979 $(SHELL) $(srcdir)/repl_modules.sh $(REPL_POLICIES) > repl_modules.cc
980
852a0ce1 981install-data-local: install-sysconfDATA install-dataDATA
982 @if test -f $(DESTDIR)$(DEFAULT_MIME_TABLE) ; then \
983 echo "$@ will not overwrite existing $(DESTDIR)$(DEFAULT_MIME_TABLE)" ; \
984 else \
985 echo "$(INSTALL_DATA) $(srcdir)/mime.conf.default $(DESTDIR)$(DEFAULT_MIME_TABLE)" ;\
986 $(INSTALL_DATA) $(srcdir)/mime.conf.default $(DESTDIR)$(DEFAULT_MIME_TABLE); \
987 fi
988 @if test -f $(DESTDIR)$(DEFAULT_CONFIG_FILE) ; then \
989 echo "$@ will not overwrite existing $(DESTDIR)$(DEFAULT_CONFIG_FILE)" ; \
990 else \
991 echo "$(INSTALL_DATA) squid.conf.default $(DESTDIR)$(DEFAULT_CONFIG_FILE)"; \
992 $(INSTALL_DATA) squid.conf.default $(DESTDIR)$(DEFAULT_CONFIG_FILE); \
993 fi
994 $(mkinstalldirs) $(DESTDIR)$(DEFAULT_LOG_PREFIX)
a2794549 995
996uninstall-local:
852a0ce1 997 @if test -f $(DESTDIR)$(DEFAULT_MIME_TABLE) ; then \
998 echo "rm -f $(DESTDIR)$(DEFAULT_MIME_TABLE)"; \
999 $(RM) -f $(DESTDIR)$(DEFAULT_MIME_TABLE); \
1000 fi
6015b981 1001
1002# Don't automatically uninstall config files
1003# @if test -f $(DESTDIR)$(DEFAULT_CONFIG_FILE) ; then \
1004# echo "rm -f $(DESTDIR)$(DEFAULT_CONFIG_FILE)"; \
1005# $(RM) -f $(DESTDIR)$(DEFAULT_CONFIG_FILE); \
1006# fi
a2794549 1007
1008DISTCLEANFILES = cf_gen_defines.h cf.data cf_parser.h squid.conf.default \
f5691f9c 1009 globals.cc string_arrays.c repl_modules.cc
a2794549 1010
1011##install-pinger:
1012## @f=$(PINGER_EXE); \
1013## if test -f $(libexecdir)/$$f; then \
1014## echo $(MV) $(libexecdir)/$$f $(libexecdir)/-$$f; \
1015## $(MV) $(libexecdir)/$$f $(libexecdir)/-$$f; \
1016## fi; \
1017## echo $(INSTALL_SUID) $$f $(libexecdir); \
1018## $(INSTALL_SUID) $$f $(libexecdir) || exit 1; \
1019## if test -f $(libexecdir)/-$$f; then \
1020## echo $(RM) -f $(libexecdir)/-$$f; \
1021## $(RM) -f $(libexecdir)/-$$f; \
1022## fi
1023
25b6a907 1024# stock tools for unit tests - library independent versions of dlink_list
1025# etc.
1026# globals.cc is needed by test_tools.cc
1027TESTSOURCES= \
1028 ../test-suite/test_tools.cc \
1029 globals.cc
1030
1031check_PROGRAMS+= \
1032 tests/testAuth \
d295d770 1033 tests/testACLMaxUserIP \
25b6a907 1034 tests/testBoilerplate \
25b6a907 1035 tests/testHeaders \
c21ad0f5 1036 tests/testHttpRequest \
25b6a907 1037 tests/testStore \
c21ad0f5 1038 tests/testString \
985c86bc 1039 tests/testURL \
082a5e7a 1040 @STORE_TESTS@
f5691f9c 1041
f5691f9c 1042tests_testAuth_SOURCES= tests/testAuth.cc tests/testMain.cc tests/testAuth.h $(TESTSOURCES) \
25b6a907 1043 AuthScheme.cc authenticate.cc AuthUser.cc AuthUserRequest.cc AuthConfig.cc \
d295d770 1044 ConfigParser.cc \
f5691f9c 1045 tests/stub_acl.cc tests/stub_cache_cf.cc \
1046 tests/stub_helper.cc cbdata.cc String.cc tests/stub_cache_manager.cc \
1047 tests/stub_store.cc HttpHeaderTools.cc HttpHeader.cc acl.cc event.cc mem.cc \
1048 MemBuf.cc HttpHdrContRange.cc Packer.cc ACLChecklist.cc HttpHdrCc.cc HttpHdrSc.cc \
1049 HttpHdrScTarget.cc url.cc ACLProxyAuth.cc ACLRegexData.cc ACLUserData.cc \
1050 StatHist.cc HttpHdrRange.cc ETag.cc tests/stub_errorpage.cc \
81beaff8 1051 tests/stub_HttpRequest.cc tests/stub_DelayId.cc \
1052 tests/stub_MemObject.cc mem_node.cc \
1053 stmem.cc \
1054 tests/stub_comm.cc \
1055 tests/stub_http.cc \
1056 HttpMsg.cc \
985c86bc 1057 HttpRequestMethod.cc \
81beaff8 1058 tests/stub_mime.cc \
d295d770 1059 tests/stub_access_log.cc \
985c86bc 1060 time.cc \
1061 URLScheme.cc \
d295d770 1062 wordlist.cc
f5691f9c 1063## acl.cc cache_cf.cc tools.cc \
1064## helper.cc String.cc cbdata.cc HttpHeaderTools.cc store.cc cache_manager.cc \
d295d770 1065## HttpHeader.cc url.cc mem.cc HttpRequest.cc Packer.cc access_log.cc \
f5691f9c 1066## MemBuf.cc StatHist.cc logfile.cc
1067
1068tests_testAuth_LDADD= \
1069 @AUTH_LINKOBJS@ @AUTH_OBJS@ \
1070 -L../lib -lmiscutil \
7a7976e9 1071 @REGEXLIB@ \
aa625860 1072 @SQUID_CPPUNIT_LA@ \
1073 @SSLLIB@
f5691f9c 1074tests_testAuth_LDFLAGS = $(LIBADD_DL)
1075tests_testAuth_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \
1076 @AUTH_LINKOBJS@ \
1077 @AUTH_OBJS@ \
1078 @SQUID_CPPUNIT_LA@
c8f4eac4 1079
d295d770 1080## Tests for the ACLMaxUserIP class
1081## acl needs wordlist. wordlist needs MemBug
1082## MemBuf needs mem, MemBuf needs event,
1083## event needs cbdata.
1084## ACLMaxUserUP needs authenticate.cc
1085## authenticate.cc needs AuthUser, AuthScheme, AuthUserRequest, AuthConfig
1086## ACLMaxUserIP needs ACLChecklist
1087## AuthUser request needs HttpHeader, which brings in
1088## ETag.cc \
1089## HttpHeader.cc \
1090## HttpHeaderTools.cc \
1091## HttpHdrContRange.cc \
1092## HttpHdrCc.cc \
1093## HttpHdrRange.cc \
1094## HttpHdrSc.cc \
1095## HttpHdrScTarget.cc \
1096## Packer.cc \
1097## StatHist.cc \
1098## String.cc \
1099tests_testACLMaxUserIP_SOURCES= \
1100 acl.cc \
1101 ACLChecklist.cc \
1102 ACLMaxUserIP.cc \
1103 ACLProxyAuth.cc \
1104 ACLRegexData.cc \
1105 ACLUserData.cc \
1106 authenticate.cc \
1107 AuthConfig.cc \
1108 AuthUser.cc \
1109 AuthUserRequest.cc \
1110 AuthScheme.cc \
1111 cbdata.cc \
1112 ConfigParser.cc \
1113 event.cc \
1114 ETag.cc \
1115 HttpHeader.cc \
1116 HttpHeaderTools.cc \
1117 HttpHdrContRange.cc \
1118 HttpHdrRange.cc \
1119 HttpHdrCc.cc \
1120 HttpHdrSc.cc \
1121 HttpHdrScTarget.cc \
b1b15292 1122 mem_node.cc \
d295d770 1123 Packer.cc \
1124 StatHist.cc \
b1b15292 1125 stmem.cc \
d295d770 1126 String.cc \
1127 tests/stub_cache_manager.cc \
b1b15292 1128 tests/stub_comm.cc \
1129 tests/stub_DelayId.cc \
1130 tests/stub_MemObject.cc \
d295d770 1131 tests/stub_store.cc \
1132 tests/testACLMaxUserIP.cc \
1133 tests/testACLMaxUserIP.h \
1134 tests/testMain.cc \
985c86bc 1135 time.cc \
d295d770 1136 mem.cc \
1137 MemBuf.cc \
1138 wordlist.cc \
1139 $(TESTSOURCES)
1140tests_testACLMaxUserIP_LDADD= \
1141 -L../lib -lmiscutil \
7a7976e9 1142 @REGEXLIB@ \
d295d770 1143 @SQUID_CPPUNIT_LA@ \
1144 @SSLLIB@
1145tests_testACLMaxUserIP_LDFLAGS = $(LIBADD_DL)
1146tests_testACLMaxUserIP_DEPENDENCIES = \
1147 @SQUID_CPPUNIT_LA@
1148
25b6a907 1149## a demonstration test that does nothing but shows the salient points
1150## involved in writing tests.
985c86bc 1151tests_testBoilerplate_SOURCES = \
1152 tests/testBoilerplate.cc \
1153 tests/testMain.cc \
1154 tests/testBoilerplate.h \
1155 $(TESTSOURCES) \
1156 time.cc
25b6a907 1157tests_testBoilerplate_LDADD= \
1158 -L../lib -lmiscutil \
1159 @SQUID_CPPUNIT_LA@ \
1160 @SSLLIB@
1161tests_testBoilerplate_LDFLAGS = $(LIBADD_DL)
1162tests_testBoilerplate_DEPENDENCIES = \
1163 @SQUID_CPPUNIT_LA@
1164
1165## test headers checks that individual headers can be parsed with no dependencies.
1166## as such, it needs a new .cc file for each header it parses, so that they
1167## can be #included with no baggage. If the binary links, the test passed.
1168## We could write a script to pull out the compiler configuration from autoconf,
1169## but this is easier to understand and more robust against changes in autoconf.
1170## RBC 20060422.
1171HEADERS_TO_TEST = \
1172 tests/testHeader_ACL.cc \
d295d770 1173 tests/testHeader_ConfigParser.cc \
b1b15292 1174 tests/testHeader_client_side_request.cc \
25b6a907 1175 tests/testHeader_dlink.cc \
1176 tests/testHeader_HttpHeader.cc \
1177 tests/testHeader_HttpHeaderRange.cc \
d295d770 1178 tests/testHeader_HttpReply.cc \
985c86bc 1179 tests/testHeader_HttpRequestMethod.cc \
c21ad0f5 1180 tests/testHeader_StoreEntryStream.cc \
985c86bc 1181 tests/testHeader_URL.cc \
1182 tests/testHeader_URLScheme.cc \
d295d770 1183 tests/testHeader_wordlist.cc
25b6a907 1184tests_testHeaders_SOURCES= tests/testMain.cc $(HEADERS_TO_TEST)
1185tests_testHeaders_LDADD= \
1186 @SQUID_CPPUNIT_LA@ \
1187 @SSLLIB@
1188tests_testHeaders_LDFLAGS = $(LIBADD_DL)
1189tests_testHeaders_DEPENDENCIES = \
1190 @SQUID_CPPUNIT_LA@
1191
1192
c21ad0f5 1193## Tests of the HttpRequest module.
1194tests_testHttpRequest_SOURCES = \
985c86bc 1195 debug.cc \
1196 globals.cc \
1197 HttpRequest.cc \
1198 HttpRequestMethod.cc \
1199 mem.cc \
1200 String.cc \
1201 tests/testHttpRequest.cc \
1202 tests/testHttpRequestMethod.cc \
1203 tests/testMain.cc \
1204 time.cc \
c21ad0f5 1205 access_log.cc \
1206 acl.cc \
1207 acl_noncore.cc \
1208 ACLChecklist.cc \
1209 ACLProxyAuth.cc \
1210 ACLStringData.cc \
1211 ACLRegexData.cc \
1212 ACLUserData.cc \
1213 AuthConfig.cc \
1214 authenticate.cc \
1215 AuthUser.cc \
1216 AuthUserRequest.cc \
1217 AuthScheme.cc \
1218 BodyReader.cc \
1219 cache_manager.cc \
1220 cache_cf.cc \
1221 CacheDigest.cc \
1222 carp.cc \
1223 cbdata.cc \
1224 client_db.cc \
1225 client_side.cc \
1226 client_side_reply.cc \
1227 client_side_request.cc \
1228 clientStream.cc \
1229 comm.cc \
1230 comm_select.cc \
1231 comm_poll.cc \
1232 comm_epoll.cc \
1233 comm_kqueue.cc \
1234 ConfigOption.cc \
1235 ConfigParser.cc \
1236 $(DELAY_POOL_SOURCE) \
c21ad0f5 1237 disk.cc \
1238 $(DNSSOURCE) \
1239 event.cc \
1240 errorpage.cc \
1241 $(ESI_SOURCE) \
1242 ETag.cc \
1243 external_acl.cc \
1244 ExternalACLEntry.cc \
1245 fd.cc \
1246 fde.cc \
1247 forward.cc \
1248 fqdncache.cc \
1249 ftp.cc \
c21ad0f5 1250 gopher.cc \
1251 helper.cc \
1edbd3b6 1252 $(HTCPSOURCE) \
c21ad0f5 1253 http.cc \
1254 HttpBody.cc \
1255 HttpHeader.cc \
1256 HttpHeaderTools.cc \
1257 HttpHdrCc.cc \
1258 HttpHdrContRange.cc \
1259 HttpHdrRange.cc \
1260 HttpHdrSc.cc \
1261 HttpHdrScTarget.cc \
1262 HttpMsg.cc \
c21ad0f5 1263 HttpReply.cc \
1264 HttpStatusLine.cc \
1265 icmp.cc \
1266 icp_v2.cc \
1267 icp_v3.cc \
1268 $(IDENT_SOURCE) \
1269 ipc.cc \
1270 ipcache.cc \
1271 IPInterception.cc \
1272 int.cc \
1273 internal.cc \
1274 list.cc \
1275 logfile.cc \
1276 multicast.cc \
c21ad0f5 1277 mem_node.cc \
1278 MemBuf.cc \
1279 MemObject.cc \
1280 mime.cc \
1281 neighbors.cc \
1282 net_db.cc \
1283 Packer.cc \
1284 Parsing.cc \
1285 pconn.cc \
1286 peer_digest.cc \
1287 peer_select.cc \
1288 redirect.cc \
87a95d7a 1289 referer.cc \
c21ad0f5 1290 refresh.cc \
1291 Server.cc \
1292 $(SNMP_SOURCE) \
1293 $(SSL_SOURCE) \
1294 stat.cc \
1295 StatHist.cc \
1296 stmem.cc \
1297 store.cc \
1298 store_client.cc \
1299 store_digest.cc \
1300 store_dir.cc \
1301 store_io.cc \
1302 store_key_md5.cc \
1303 store_log.cc \
1304 store_rebuild.cc \
1305 store_swapin.cc \
1306 store_swapmeta.cc \
1307 store_swapout.cc \
1308 StoreFileSystem.cc \
1309 StoreIOState.cc \
1310 StoreMeta.cc \
1311 StoreMetaMD5.cc \
1312 StoreMetaSTD.cc \
1313 StoreMetaUnpacker.cc \
1314 StoreMetaURL.cc \
1315 StoreMetaVary.cc \
1316 StoreSwapLogData.cc \
c21ad0f5 1317 tools.cc \
1318 tunnel.cc \
1319 SwapDir.cc \
1320 url.cc \
985c86bc 1321 URLScheme.cc \
c21ad0f5 1322 urn.cc \
87a95d7a 1323 useragent.cc \
c21ad0f5 1324 wais.cc \
1325 whois.cc \
1326 wordlist.cc
1327nodist_tests_testHttpRequest_SOURCES = \
1328 repl_modules.cc \
1329 string_arrays.c
1330tests_testHttpRequest_LDADD = \
1331 @REPL_OBJS@ \
1332 @ICAP_LIBS@ \
87a95d7a 1333 @REGEXLIB@ \
c21ad0f5 1334 @SSLLIB@ \
1335 -L../lib -lmiscutil \
1336 @XTRA_LIBS@ \
1337 @SQUID_CPPUNIT_LA@ \
1338 @SNMPLIB@
1339tests_testHttpRequest_LDFLAGS = $(LIBADD_DL)
1340tests_testHttpRequest_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \
1341 @REPL_OBJS@ \
1342 @SQUID_CPPUNIT_LA@ \
1343 @ICAP_LIBS@
1344
1345
25b6a907 1346# TODO:mime.cc drags in HttpReply.cc
b1b15292 1347# delay pools need client_side_request.cc
985c86bc 1348# store_key_md5 wants the method.
c8f4eac4 1349STORE_TEST_SOURCES=\
1350 $(TESTSOURCES) \
74925dd4 1351 $(DELAY_POOL_SOURCE) \
c8f4eac4 1352 CacheDigest.cc \
d295d770 1353 ConfigParser.cc \
25b6a907 1354 HttpMsg.cc \
c8f4eac4 1355 store_dir.cc \
1356 store.cc \
985c86bc 1357 HttpRequestMethod.cc \
c8f4eac4 1358 store_key_md5.cc \
c8f4eac4 1359 string_arrays.c \
1360 Parsing.cc \
1361 ConfigOption.cc \
1362 SwapDir.cc \
1363 AuthScheme.cc authenticate.cc AuthUser.cc AuthUserRequest.cc AuthConfig.cc \
1364 tests/stub_acl.cc tests/stub_cache_cf.cc \
1365 tests/stub_helper.cc cbdata.cc String.cc tests/stub_cache_manager.cc \
1366 tests/stub_comm.cc \
b1b15292 1367 tests/stub_client_side_request.cc \
c8f4eac4 1368 tests/stub_http.cc \
1369 mem_node.cc \
1370 stmem.cc \
25b6a907 1371 tests/stub_mime.cc \
c8f4eac4 1372 HttpHeaderTools.cc HttpHeader.cc acl.cc event.cc mem.cc \
d295d770 1373 acl_noncore.cc \
c8f4eac4 1374 MemBuf.cc HttpHdrContRange.cc Packer.cc ACLChecklist.cc HttpHdrCc.cc HttpHdrSc.cc \
1375 HttpHdrScTarget.cc url.cc ACLProxyAuth.cc ACLRegexData.cc ACLUserData.cc \
1376 StatHist.cc HttpHdrRange.cc ETag.cc tests/stub_errorpage.cc \
d295d770 1377 tests/stub_HttpRequest.cc tests/stub_access_log.cc \
b1b15292 1378 refresh.cc \
1379 tests/stub_store_client.cc \
1380 tests/stub_tools.cc \
985c86bc 1381 time.cc \
1382 URLScheme.cc \
d295d770 1383 wordlist.cc
c8f4eac4 1384
1385## why so many sources? well httpHeaderTools requites ACLChecklist & friends.
1386## first line - what we are testing.
b1b15292 1387tests_testStore_SOURCES= \
1388 tests/stub_store_swapout.cc \
c8f4eac4 1389 tests/testMain.cc \
b1b15292 1390 tests/stub_MemObject.cc \
1391 tests/testStore.cc \
c8f4eac4 1392 tests/testStore.h \
c21ad0f5 1393 tests/testStoreEntryStream.cc \
1394 tests/testStoreEntryStream.h \
b1b15292 1395 tests/testStoreController.cc \
c8f4eac4 1396 tests/testStoreController.h \
b1b15292 1397 tests/testStoreHashIndex.cc \
c8f4eac4 1398 tests/testStoreHashIndex.h \
1399 tests/TestSwapDir.cc \
1400 tests/TestSwapDir.h \
c8f4eac4 1401 tests/stub_fd.cc \
1402 tests/stub_HttpReply.cc \
c8f4eac4 1403 $(STORE_TEST_SOURCES)
1404
1405tests_testStore_LDADD= \
1406 -L../lib -lmiscutil \
7a7976e9 1407 @REGEXLIB@ \
f46fe759 1408 @SQUID_CPPUNIT_LA@ \
1409 @SSLLIB@
c8f4eac4 1410tests_testStore_LDFLAGS = $(LIBADD_DL)
1411tests_testStore_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \
1412 @SQUID_CPPUNIT_LA@
1413
c21ad0f5 1414# string needs mem.cc. mem.cc wants cache_manage
1415tests_testString_SOURCES= \
1416 mem.cc \
1417 String.cc \
1418 tests/stub_cache_manager.cc \
1419 tests/testMain.cc \
1420 tests/testString.cc \
1421 tests/testString.h \
985c86bc 1422 $(TESTSOURCES) \
1423 time.cc
c21ad0f5 1424
1425tests_testString_LDADD= \
1426 -L../lib -lmiscutil \
1427 @REGEXLIB@ \
1428 @SQUID_CPPUNIT_LA@ \
1429 @SSLLIB@
1430tests_testString_LDFLAGS = $(LIBADD_DL)
1431tests_testString_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \
1432 @SQUID_CPPUNIT_LA@
1433
d295d770 1434SWAP_TEST_SOURCES = \
c8f4eac4 1435 tests/stub_store_rebuild.cc \
1436 tests/stub_internal.cc \
1437 fd.cc \
1438 disk.cc \
1439 filemap.cc \
1440 HttpBody.cc \
c8f4eac4 1441 HttpReply.cc \
1442 HttpStatusLine.cc \
1443 int.cc \
1444 list.cc \
1445 MemObject.cc \
c8f4eac4 1446 StoreSwapLogData.cc \
1447 StoreIOState.cc \
1448 StoreMeta.cc \
1449 StoreMetaMD5.cc \
1450 StoreMetaSTD.cc \
1451 StoreMetaUnpacker.cc \
1452 StoreMetaURL.cc \
1453 StoreMetaVary.cc \
1454 StoreFileSystem.cc \
1455 store_io.cc \
1456 store_swapout.cc \
1457 store_swapmeta.cc \
1458 unlinkd.cc \
1459 $(STORE_TEST_SOURCES) \
1460 $(DISKIO_SOURCE)
1461
1462SWAP_TEST_LDADD = \
1463 DiskIO/Blocking/BlockingDiskIOModule.o \
1464 repl/lru/store_repl_lru.o \
7a7976e9 1465 @REGEXLIB@ \
c8f4eac4 1466 @STORE_LINKOBJS@ \
1467 @STORE_OBJS@ \
1468 @REPL_OBJS@ \
1469 @DISK_LIBS@ \
1470 -L../lib -lmiscutil \
1471 @SQUID_CPPUNIT_LA@
1472SWAP_TEST_DS =\
1473 $(top_builddir)/lib/libmiscutil.a \
1474 DiskIO/Blocking/BlockingDiskIOModule.o \
1475 repl/lru/store_repl_lru.o \
1476 repl_modules.o \
1477 @DISK_LIBS@ \
1478 @STORE_LINKOBJS@ \
1479 @STORE_OBJS@ \
1480 @REPL_OBJS@ \
1481 @SQUID_CPPUNIT_LA@
1482
1483tests_testUfs_SOURCES= tests/testUfs.cc \
1484 tests/testMain.cc \
1485 tests/testUfs.h \
1486 $(SWAP_TEST_SOURCES)
1487tests_testUfs_LDADD= \
f46fe759 1488 $(SWAP_TEST_LDADD) \
1489 @SSLLIB@
c8f4eac4 1490tests_testUfs_LDFLAGS = $(LIBADD_DL)
1491tests_testUfs_DEPENDENCIES = \
1492 $(SWAP_TEST_DS)
1493
1494tests_testCoss_SOURCES= tests/testCoss.cc \
1495 tests/testMain.cc \
1496 tests/testCoss.h \
1497 $(SWAP_TEST_SOURCES)
1498tests_testCoss_LDADD= \
f46fe759 1499 $(SWAP_TEST_LDADD) \
1500 @SSLLIB@
c8f4eac4 1501tests_testCoss_LDFLAGS = $(LIBADD_DL)
1502tests_testCoss_DEPENDENCIES = \
1503 $(SWAP_TEST_DS)
1504
1505tests_testNull_SOURCES= tests/testNull.cc \
1506 tests/testMain.cc \
1507 tests/testNull.h \
1508 $(SWAP_TEST_SOURCES)
1509tests_testNull_LDADD= \
f46fe759 1510 $(SWAP_TEST_LDADD) \
1511 @SSLLIB@
c8f4eac4 1512tests_testNull_LDFLAGS = $(LIBADD_DL)
1513tests_testNull_DEPENDENCIES = \
1514 $(SWAP_TEST_DS)
985c86bc 1515
1516## Tests of the URL module.
1517## TODO: Trim this down once the insanity is over.
1518tests_testURL_SOURCES = \
1519 debug.cc \
1520 url.cc \
1521 URLScheme.cc \
1522 globals.cc \
1523 HttpRequest.cc \
1524 HttpRequestMethod.cc \
1525 mem.cc \
1526 String.cc \
1527 tests/testURL.cc \
1528 tests/testURL.h \
1529 tests/testURLScheme.cc \
1530 tests/testURLScheme.h \
1531 tests/testMain.cc \
1532 time.cc \
1533 access_log.cc \
1534 acl.cc \
1535 acl_noncore.cc \
1536 ACLChecklist.cc \
1537 ACLProxyAuth.cc \
1538 ACLStringData.cc \
1539 ACLRegexData.cc \
1540 ACLUserData.cc \
1541 AuthConfig.cc \
1542 authenticate.cc \
1543 AuthUser.cc \
1544 AuthUserRequest.cc \
1545 AuthScheme.cc \
1546 BodyReader.cc \
1547 cache_manager.cc \
1548 cache_cf.cc \
1549 CacheDigest.cc \
1550 carp.cc \
1551 cbdata.cc \
1552 client_db.cc \
1553 client_side.cc \
1554 client_side_reply.cc \
1555 client_side_request.cc \
1556 clientStream.cc \
1557 comm.cc \
1558 comm_select.cc \
1559 comm_poll.cc \
1560 comm_epoll.cc \
1561 comm_kqueue.cc \
1562 ConfigOption.cc \
1563 ConfigParser.cc \
1564 $(DELAY_POOL_SOURCE) \
1565 disk.cc \
1566 $(DNSSOURCE) \
1567 event.cc \
1568 errorpage.cc \
1569 $(ESI_SOURCE) \
1570 ETag.cc \
1571 external_acl.cc \
1572 ExternalACLEntry.cc \
1573 fd.cc \
1574 fde.cc \
1575 forward.cc \
1576 fqdncache.cc \
1577 ftp.cc \
1578 gopher.cc \
1579 helper.cc \
1edbd3b6 1580 $(HTCPSOURCE) \
985c86bc 1581 http.cc \
1582 HttpBody.cc \
1583 HttpHeader.cc \
1584 HttpHeaderTools.cc \
1585 HttpHdrCc.cc \
1586 HttpHdrContRange.cc \
1587 HttpHdrRange.cc \
1588 HttpHdrSc.cc \
1589 HttpHdrScTarget.cc \
1590 HttpMsg.cc \
1591 HttpReply.cc \
1592 HttpStatusLine.cc \
1593 icmp.cc \
1594 icp_v2.cc \
1595 icp_v3.cc \
1596 $(IDENT_SOURCE) \
1597 ipc.cc \
1598 ipcache.cc \
1599 IPInterception.cc \
1600 int.cc \
1601 internal.cc \
1602 list.cc \
1603 logfile.cc \
1604 multicast.cc \
1605 mem_node.cc \
1606 MemBuf.cc \
1607 MemObject.cc \
1608 mime.cc \
1609 neighbors.cc \
1610 net_db.cc \
1611 Packer.cc \
1612 Parsing.cc \
1613 pconn.cc \
1614 peer_digest.cc \
1615 peer_select.cc \
1616 redirect.cc \
1617 refresh.cc \
1618 Server.cc \
1619 $(SNMP_SOURCE) \
1620 $(SSL_SOURCE) \
1621 stat.cc \
1622 StatHist.cc \
1623 stmem.cc \
1624 store.cc \
1625 store_client.cc \
1626 store_digest.cc \
1627 store_dir.cc \
1628 store_io.cc \
1629 store_key_md5.cc \
1630 store_log.cc \
1631 store_rebuild.cc \
1632 store_swapin.cc \
1633 store_swapmeta.cc \
1634 store_swapout.cc \
1635 StoreFileSystem.cc \
1636 StoreIOState.cc \
1637 StoreMeta.cc \
1638 StoreMetaMD5.cc \
1639 StoreMetaSTD.cc \
1640 StoreMetaUnpacker.cc \
1641 StoreMetaURL.cc \
1642 StoreMetaVary.cc \
1643 StoreSwapLogData.cc \
1644 tools.cc \
1645 tunnel.cc \
1646 SwapDir.cc \
1647 urn.cc \
1648 wais.cc \
1649 whois.cc \
1650 wordlist.cc
1651nodist_tests_testURL_SOURCES = \
1652 repl_modules.cc \
1653 string_arrays.c
1654tests_testURL_LDADD = \
1655 @REPL_OBJS@ \
1656 @ICAP_LIBS@ \
1657 @SSLLIB@ \
1658 -L../lib -lmiscutil \
1659 @XTRA_LIBS@ \
1660 @SQUID_CPPUNIT_LA@ \
1661 @SNMPLIB@
1662tests_testURL_LDFLAGS = $(LIBADD_DL)
1663tests_testURL_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \
1664 @REPL_OBJS@ \
1665 @SQUID_CPPUNIT_LA@ \
1666 @ICAP_LIBS@