1--------------------------------------------------------------------------
2-- Copyright (c) 2007-2013, ETH Zurich.
3-- All rights reserved.
4--
5-- This file is distributed under the terms in the attached LICENSE file.
6-- If you do not find this file, copies can be found by writing to:
7-- ETH Zurich D-INFK, Universitaetstr. 6, CH-8092 Zurich. Attn: Systems Group.
8--
9-- Hakefile for lib/octopus
10-- 
11--------------------------------------------------------------------------
12
13[
14    build library { target = "octopus_parser",
15                    addCFlags = [ "-O3",
16                                  "-Wno-unused-value", 
17                                  "-Wno-redundant-decls", 
18                                  "-Wno-missing-declarations",
19                                  "-Wno-missing-prototypes",
20                                  "-Wno-implicit-function-declaration" ],
21                    cFiles = [ "parser/ast.c", "parser/parse.c", 
22                               "parser/scan.c", "parser/read.c",
23                               "parser/parse_names.c", 
24                               "parser/strnatcmp.c" ],
25                    -- need flounder defs in parser, for message lengths
26                    flounderDefs = ["octopus"] },
27     -- no-missing-declarations & no-missing-prototypes Bug: 
28     -- https://bugzilla.redhat.com/show_bug.cgi?id=612465
29     -- no-implicit-function-declaration:
30     -- warning: implicit declaration of function 'yylex'
31
32     build library { target = "octopus",
33                     addCFlags = [ "-O2" ],
34                    cFiles = [ "client/octopus.c", "client/getset.c", 
35                               "client/pubsub.c",
36                               "client/barriers.c", "client/trigger.c",
37                               "client/locking.c", "client/semaphores.c", 
38                               "client/capability_storage.c" ],
39                    flounderDefs = [ "octopus", "monitor" ],
40                    flounderBindings = [ "octopus" ],
41                    flounderExtraBindings = [ ("octopus", ["rpcclient"]) ],
42                    flounderTHCStubs = [ "octopus" ],
43                    addLibraries = ["octopus_parser", "thc"]
44                  },
45                  
46    build library { target = "octopus_server",
47                    addCFlags = [ "-O2" ],
48                    cFiles = [ "server/service.c", "server/init.c", 
49                               "server/queue.c", "server/capstorage.c" ],
50                    flounderDefs = [ "octopus", "monitor" ],
51                    flounderBindings = [ "octopus" ],
52                    addLibraries = [ "skb", "hashtable" ] 
53                   }
54]
55