1
opts=Options()
2
3
opts.Add(BoolOption('PROFILE', 'Compile with profiling.', 0))
4
opts.Add(BoolOption('USE_ASSERT', 'Compile with assertions', 0))
5
6
env = Environment(options = opts)
7
Help(opts.GenerateHelpText(env))
8
9
# Extra places we need to look for includes
10
env.Append(CPPPATH = ['/opt/local/include', '/usr/local/include'])
11
env.Append(LIBPATH = ['/opt/local/lib', '/usr/local/lib'])
12
13
if ARGUMENTS.get('USE_ASSERT', 0):
14
	env.Append(CCFLAGS = '-DUSE_ASSERT=1')
15
16
env.Append(CCFLAGS = '-g -Wall -Werror')
17
env.Append(LINKFLAGS = '-g')
18
19
if ARGUMENTS.get('PROFILE', 0):
20
	env.Append(CCFLAGS = '-pg')
21
	env.Append(LINKFLAGS = '-pg')
22
else:
23
	# Turn on tons of optimization if we're not profiling.
24
	env.Append(CCFLAGS = '-O3')
25
26
env.conf = Configure(env)
27
28
if not env.conf.CheckLibWithHeader('pcap', 'pcap.h', 'c'):
29
	print 'pcap is required'
30
	Exit(1)
31
32
if env.conf.CheckFunc('pcap_dump_flush'):
33
	env.Append(CCFLAGS = '-DHAVE_PCAP_DUMP_FLUSH=1')
34
else:
35
	print "pcap_dump_flush isn't defined.  Consider upgrading pcap."
36
37
env = env.conf.Finish()
38
env.Program('multisniff', ['main.c', 'filter.c', 'hash.c', 'mymalloc.c'],
39
	LIBS=['pcap'])
40
41
# vim: syntax=python