Skip to content

Commit 49fd4f4

Browse files
Add last release of the 2009 challenge sources
0 parents  commit 49fd4f4

File tree

9 files changed

+3530
-0
lines changed

9 files changed

+3530
-0
lines changed

Doxyfile

Lines changed: 294 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,294 @@
1+
# Doxyfile 1.5.7.1
2+
3+
#---------------------------------------------------------------------------
4+
# Project related configuration options
5+
#---------------------------------------------------------------------------
6+
DOXYFILE_ENCODING = UTF-8
7+
PROJECT_NAME =
8+
PROJECT_NUMBER =
9+
OUTPUT_DIRECTORY = ../docs
10+
CREATE_SUBDIRS = NO
11+
OUTPUT_LANGUAGE = English
12+
BRIEF_MEMBER_DESC = NO
13+
REPEAT_BRIEF = NO
14+
ABBREVIATE_BRIEF = "The $name class" \
15+
"The $name widget" \
16+
"The $name file" \
17+
is \
18+
provides \
19+
specifies \
20+
contains \
21+
represents \
22+
a \
23+
an \
24+
the
25+
ALWAYS_DETAILED_SEC = NO
26+
INLINE_INHERITED_MEMB = NO
27+
FULL_PATH_NAMES = NO
28+
STRIP_FROM_PATH = /Applications/
29+
STRIP_FROM_INC_PATH =
30+
SHORT_NAMES = NO
31+
JAVADOC_AUTOBRIEF = NO
32+
QT_AUTOBRIEF = NO
33+
MULTILINE_CPP_IS_BRIEF = NO
34+
INHERIT_DOCS = YES
35+
SEPARATE_MEMBER_PAGES = NO
36+
TAB_SIZE = 8
37+
ALIASES =
38+
OPTIMIZE_OUTPUT_FOR_C = YES
39+
OPTIMIZE_OUTPUT_JAVA = NO
40+
OPTIMIZE_FOR_FORTRAN = NO
41+
OPTIMIZE_OUTPUT_VHDL = NO
42+
BUILTIN_STL_SUPPORT = NO
43+
CPP_CLI_SUPPORT = NO
44+
SIP_SUPPORT = NO
45+
IDL_PROPERTY_SUPPORT = YES
46+
DISTRIBUTE_GROUP_DOC = NO
47+
SUBGROUPING = YES
48+
TYPEDEF_HIDES_STRUCT = NO
49+
SYMBOL_CACHE_SIZE = 0
50+
#---------------------------------------------------------------------------
51+
# Build related configuration options
52+
#---------------------------------------------------------------------------
53+
EXTRACT_ALL = YES
54+
EXTRACT_PRIVATE = NO
55+
EXTRACT_STATIC = NO
56+
EXTRACT_LOCAL_CLASSES = YES
57+
EXTRACT_LOCAL_METHODS = YES
58+
EXTRACT_ANON_NSPACES = NO
59+
HIDE_UNDOC_MEMBERS = YES
60+
HIDE_UNDOC_CLASSES = YES
61+
HIDE_FRIEND_COMPOUNDS = NO
62+
HIDE_IN_BODY_DOCS = NO
63+
INTERNAL_DOCS = NO
64+
CASE_SENSE_NAMES = NO
65+
HIDE_SCOPE_NAMES = NO
66+
SHOW_INCLUDE_FILES = YES
67+
INLINE_INFO = YES
68+
SORT_MEMBER_DOCS = YES
69+
SORT_BRIEF_DOCS = NO
70+
SORT_GROUP_NAMES = NO
71+
SORT_BY_SCOPE_NAME = NO
72+
GENERATE_TODOLIST = YES
73+
GENERATE_TESTLIST = YES
74+
GENERATE_BUGLIST = YES
75+
GENERATE_DEPRECATEDLIST= YES
76+
ENABLED_SECTIONS =
77+
MAX_INITIALIZER_LINES = 30
78+
SHOW_USED_FILES = YES
79+
SHOW_DIRECTORIES = NO
80+
SHOW_FILES = YES
81+
SHOW_NAMESPACES = YES
82+
FILE_VERSION_FILTER =
83+
LAYOUT_FILE =
84+
#---------------------------------------------------------------------------
85+
# configuration options related to warning and progress messages
86+
#---------------------------------------------------------------------------
87+
QUIET = NO
88+
WARNINGS = YES
89+
WARN_IF_UNDOCUMENTED = YES
90+
WARN_IF_DOC_ERROR = YES
91+
WARN_NO_PARAMDOC = NO
92+
WARN_FORMAT = "$file:$line: $text"
93+
WARN_LOGFILE =
94+
#---------------------------------------------------------------------------
95+
# configuration options related to the input files
96+
#---------------------------------------------------------------------------
97+
INPUT = ./server.h
98+
INPUT_ENCODING = UTF-8
99+
FILE_PATTERNS = *.c \
100+
*.cc \
101+
*.cxx \
102+
*.cpp \
103+
*.c++ \
104+
*.d \
105+
*.java \
106+
*.ii \
107+
*.ixx \
108+
*.ipp \
109+
*.i++ \
110+
*.inl \
111+
*.h \
112+
*.hh \
113+
*.hxx \
114+
*.hpp \
115+
*.h++ \
116+
*.idl \
117+
*.odl \
118+
*.cs \
119+
*.php \
120+
*.php3 \
121+
*.inc \
122+
*.m \
123+
*.mm \
124+
*.dox \
125+
*.py \
126+
*.f90 \
127+
*.f \
128+
*.vhd \
129+
*.vhdl \
130+
*.h
131+
RECURSIVE = NO
132+
EXCLUDE =
133+
EXCLUDE_SYMLINKS = NO
134+
EXCLUDE_PATTERNS =
135+
EXCLUDE_SYMBOLS =
136+
EXAMPLE_PATH =
137+
EXAMPLE_PATTERNS = *
138+
EXAMPLE_RECURSIVE = NO
139+
IMAGE_PATH =
140+
INPUT_FILTER =
141+
FILTER_PATTERNS =
142+
FILTER_SOURCE_FILES = NO
143+
#---------------------------------------------------------------------------
144+
# configuration options related to source browsing
145+
#---------------------------------------------------------------------------
146+
SOURCE_BROWSER = NO
147+
INLINE_SOURCES = NO
148+
STRIP_CODE_COMMENTS = YES
149+
REFERENCED_BY_RELATION = NO
150+
REFERENCES_RELATION = NO
151+
REFERENCES_LINK_SOURCE = YES
152+
USE_HTAGS = NO
153+
VERBATIM_HEADERS = NO
154+
#---------------------------------------------------------------------------
155+
# configuration options related to the alphabetical class index
156+
#---------------------------------------------------------------------------
157+
ALPHABETICAL_INDEX = NO
158+
COLS_IN_ALPHA_INDEX = 5
159+
IGNORE_PREFIX =
160+
#---------------------------------------------------------------------------
161+
# configuration options related to the HTML output
162+
#---------------------------------------------------------------------------
163+
GENERATE_HTML = YES
164+
HTML_OUTPUT = html
165+
HTML_FILE_EXTENSION = .html
166+
HTML_HEADER =
167+
HTML_FOOTER =
168+
HTML_STYLESHEET =
169+
HTML_ALIGN_MEMBERS = YES
170+
HTML_DYNAMIC_SECTIONS = NO
171+
GENERATE_DOCSET = NO
172+
DOCSET_FEEDNAME = "Doxygen generated docs"
173+
DOCSET_BUNDLE_ID = org.doxygen.Project
174+
GENERATE_HTMLHELP = NO
175+
CHM_FILE =
176+
HHC_LOCATION =
177+
GENERATE_CHI = NO
178+
CHM_INDEX_ENCODING =
179+
BINARY_TOC = NO
180+
TOC_EXPAND = NO
181+
GENERATE_QHP = NO
182+
QCH_FILE =
183+
QHP_NAMESPACE = org.doxygen.Project
184+
QHP_VIRTUAL_FOLDER = doc
185+
QHG_LOCATION =
186+
DISABLE_INDEX = NO
187+
ENUM_VALUES_PER_LINE = 4
188+
GENERATE_TREEVIEW = NONE
189+
TREEVIEW_WIDTH = 250
190+
FORMULA_FONTSIZE = 10
191+
#---------------------------------------------------------------------------
192+
# configuration options related to the LaTeX output
193+
#---------------------------------------------------------------------------
194+
GENERATE_LATEX = YES
195+
LATEX_OUTPUT = latex
196+
LATEX_CMD_NAME = latex
197+
MAKEINDEX_CMD_NAME = makeindex
198+
COMPACT_LATEX = NO
199+
PAPER_TYPE = a4wide
200+
EXTRA_PACKAGES =
201+
LATEX_HEADER =
202+
PDF_HYPERLINKS = YES
203+
USE_PDFLATEX = YES
204+
LATEX_BATCHMODE = NO
205+
LATEX_HIDE_INDICES = NO
206+
#---------------------------------------------------------------------------
207+
# configuration options related to the RTF output
208+
#---------------------------------------------------------------------------
209+
GENERATE_RTF = NO
210+
RTF_OUTPUT = rtf
211+
COMPACT_RTF = NO
212+
RTF_HYPERLINKS = NO
213+
RTF_STYLESHEET_FILE =
214+
RTF_EXTENSIONS_FILE =
215+
#---------------------------------------------------------------------------
216+
# configuration options related to the man page output
217+
#---------------------------------------------------------------------------
218+
GENERATE_MAN = NO
219+
MAN_OUTPUT = man
220+
MAN_EXTENSION = .3
221+
MAN_LINKS = NO
222+
#---------------------------------------------------------------------------
223+
# configuration options related to the XML output
224+
#---------------------------------------------------------------------------
225+
GENERATE_XML = NO
226+
XML_OUTPUT = xml
227+
XML_SCHEMA =
228+
XML_DTD =
229+
XML_PROGRAMLISTING = YES
230+
#---------------------------------------------------------------------------
231+
# configuration options for the AutoGen Definitions output
232+
#---------------------------------------------------------------------------
233+
GENERATE_AUTOGEN_DEF = NO
234+
#---------------------------------------------------------------------------
235+
# configuration options related to the Perl module output
236+
#---------------------------------------------------------------------------
237+
GENERATE_PERLMOD = NO
238+
PERLMOD_LATEX = NO
239+
PERLMOD_PRETTY = YES
240+
PERLMOD_MAKEVAR_PREFIX =
241+
#---------------------------------------------------------------------------
242+
# Configuration options related to the preprocessor
243+
#---------------------------------------------------------------------------
244+
ENABLE_PREPROCESSING = YES
245+
MACRO_EXPANSION = NO
246+
EXPAND_ONLY_PREDEF = NO
247+
SEARCH_INCLUDES = YES
248+
INCLUDE_PATH =
249+
INCLUDE_FILE_PATTERNS =
250+
PREDEFINED =
251+
EXPAND_AS_DEFINED =
252+
SKIP_FUNCTION_MACROS = YES
253+
#---------------------------------------------------------------------------
254+
# Configuration::additions related to external references
255+
#---------------------------------------------------------------------------
256+
TAGFILES =
257+
GENERATE_TAGFILE =
258+
ALLEXTERNALS = NO
259+
EXTERNAL_GROUPS = YES
260+
PERL_PATH = /usr/bin/perl
261+
#---------------------------------------------------------------------------
262+
# Configuration options related to the dot tool
263+
#---------------------------------------------------------------------------
264+
CLASS_DIAGRAMS = NO
265+
MSCGEN_PATH = /Applications/Doxygen.app/Contents/Resources/
266+
HIDE_UNDOC_RELATIONS = YES
267+
HAVE_DOT = NO
268+
DOT_FONTNAME = FreeSans
269+
DOT_FONTSIZE = 10
270+
DOT_FONTPATH =
271+
CLASS_GRAPH = NO
272+
COLLABORATION_GRAPH = NO
273+
GROUP_GRAPHS = NO
274+
UML_LOOK = NO
275+
TEMPLATE_RELATIONS = NO
276+
INCLUDE_GRAPH = NO
277+
INCLUDED_BY_GRAPH = NO
278+
CALL_GRAPH = NO
279+
CALLER_GRAPH = NO
280+
GRAPHICAL_HIERARCHY = NO
281+
DIRECTORY_GRAPH = NO
282+
DOT_IMAGE_FORMAT = png
283+
DOT_PATH =
284+
DOTFILE_DIRS =
285+
DOT_GRAPH_MAX_NODES = 50
286+
MAX_DOT_GRAPH_DEPTH = 1000
287+
DOT_TRANSPARENT = NO
288+
DOT_MULTI_TARGETS = NO
289+
GENERATE_LEGEND = NO
290+
DOT_CLEANUP = YES
291+
#---------------------------------------------------------------------------
292+
# Configuration::additions related to the search engine
293+
#---------------------------------------------------------------------------
294+
SEARCHENGINE = NO

Makefile

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
CC = gcc -O3
2+
HDRS = server.h
3+
SRCS = unittests.c
4+
5+
.SUFFIXES: .dylib .so
6+
7+
# Under many Linux installations, BDB is installed by default in /usr
8+
# In this case, the following defines should be correct
9+
# BASE = /usr
10+
# BDBINC = -I$(BASE)/include/db4/
11+
#
12+
# Under MacOS with fink, you should use
13+
#BASE = /sw
14+
#BDBINC = -I$(BASE)/include/db4/
15+
#
16+
# Use the following if you installed BDB from Oracle in /usr/local/BerkeleyDB.4.7
17+
BASE = /usr/local/BerkeleyDB.4.7
18+
BDBINC = -I$(BASE)/include/
19+
20+
BDBLIBS = -ldb
21+
BDBLIBSMACOS = -L $(BASE)/lib/libdb.a
22+
23+
PROG = contest
24+
25+
all: $(PROG)
26+
27+
#default BDB based library -- copy in your own lib.so to test it with
28+
# our test cases
29+
lib.so: $(SRCS) $(HDRS)
30+
$(CC) -fPIC -shared $(BDBINC) $(BDBLIBS) ./bdbimpl.c -o lib.so
31+
32+
.c.so:
33+
$(CC) -fPIC -shared $(BDBINC) $(BDBLIBS) $*.c -o $*.so
34+
35+
$(PROG): $(SRCS) $(HDRS) lib.so
36+
$(CC) $(SRCS) ./lib.so -pthread -o $(PROG)
37+
38+
harness:
39+
$(MAKE) -C tests/
40+
# (for j in tests/*.c; do make tests/`basename $$j .c`.so; done)
41+
python harness.py
42+
43+
#dynamic library targets for macos testing
44+
lib.dylib: $(SRCS) $(HDRS)
45+
$(CC) -fPIC -dynamiclib $(BDBINC) $(BDBLIBSMACOS) bdbimpl.c -o lib.dylib
46+
47+
.c.dylib:
48+
$(CC) -dynamiclib $(BDBINC) $(BDBLIBSMACOS) $*.c -o $*.dylib
49+
50+
dummy:
51+
$(CC) -fPIC -shared ./dummyimpl.c -o lib.so
52+
53+
dummymacos:
54+
$(CC) -fPIC -dynamiclib ./dummyimpl.c -o lib.dylib
55+
56+
macos: $(SRCS) $(HDRS) lib.dylib
57+
$(CC) $(SRCS) lib.dylib -o $(PROG)
58+
59+
macharness:
60+
$(MAKE) -C tests/ macos
61+
# (for j in tests/*.c; do make tests/`basename $$j .c`.dylib; done)
62+
python harness.py
63+
64+
#generates html and latex documentation files in ../docs
65+
doc:
66+
doxygen Doxyfile
67+
68+
#runs the unit tests with the Berkeley DB implementation
69+
test: $(PROG)
70+
rm -rf ENV
71+
./$(PROG)
72+
73+
clean:
74+
rm -rf *.o *.so *.dylib tests/*.dylib tests/*.so tests/speed_test $(PROG) ENV error.log
75+

0 commit comments

Comments
 (0)