aboutsummaryrefslogtreecommitdiff
path: root/odb/buildfile
blob: 7bbf495170ba12a5721ed0ca8a654904a2b78e7e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# file      : odb/buildfile
# copyright : Copyright (c) 2009-2015 Code Synthesis Tools CC
# license   : GNU GPL v2; see accompanying LICENSE file

lib{odb}:                                                           \
                   {hxx            }{ cache-traits                } \
                   {hxx            }{ callback                    } \
                   {hxx ixx txx cxx}{ connection                  } \
                   {hxx            }{ container-traits            } \
                   {hxx            }{ core                        } \
                   {hxx ixx txx cxx}{ database                    } \
                   {hxx            }{ exception                   } \
                   {hxx         cxx}{ exceptions                  } \
                   {hxx            }{ forward                     } \
                   {hxx            }{ function-table              } \
                   {hxx            }{ lazy-pointer-traits         } \
                   {hxx ixx txx    }{ lazy-ptr                    } \
                   {hxx ixx txx    }{ lazy-ptr-impl               } \
                   {hxx            }{ nested-container            } \
                   {hxx     txx    }{ no-id-object-result         } \
                   {hxx            }{ no-op-cache-traits          } \
                   {hxx            }{ nullable                    } \
                   {hxx            }{ object-result               } \
                   {hxx            }{ pointer-traits              } \
                   {hxx            }{ polymorphic-info            } \
                   {hxx ixx txx    }{ polymorphic-map             } \
                   {hxx     txx    }{ polymorphic-object-result   } \
                   {hxx            }{ post                        } \
                   {hxx            }{ pre                         } \
                   {hxx         cxx}{ prepared-query              } \
                   {hxx ixx txx cxx}{ query-dynamic               } \
                   {hxx            }{ query                       } \
                   {hxx     txx cxx}{ result                      } \
                   {hxx         cxx}{ schema-catalog              } \
                   {hxx            }{ schema-catalog-impl         } \
                   {hxx            }{ schema-version              } \
                   {hxx         cxx}{ section                     } \
                   {hxx ixx txx cxx}{ session                     } \
                   {hxx     txx    }{ simple-object-result        } \
                   {hxx         cxx}{ statement                   } \
                   {hxx            }{ statement-processing-common } \
                   {            cxx}{ statement-processing        } \
                   {hxx            }{ std-array-traits            } \
                   {hxx            }{ std-deque-traits            } \
                   {hxx            }{ std-forward-list-traits     } \
                   {hxx            }{ std-list-traits             } \
                   {hxx            }{ std-map-traits              } \
                   {hxx            }{ std-set-traits              } \
                   {hxx            }{ std-unordered-map-traits    } \
                   {hxx            }{ std-unordered-set-traits    } \
                   {hxx            }{ std-vector-traits           } \
                   {hxx         cxx}{ tracer                      } \
                   {hxx            }{ traits                      } \
                   {hxx ixx     cxx}{ transaction                 } \
                   {hxx ixx        }{ vector                      } \
                   {hxx ixx     cxx}{ vector-impl                 } \
                   {hxx     txx    }{ vector-traits               } \
                   {hxx            }{ version                     } \
                   {hxx            }{ view-image                  } \
                   {hxx     txx    }{ view-result                 } \
                   {hxx            }{ wrapper-traits              } \
           details/{hxx         cxx}{ buffer                      } \
           details/{hxx            }{ condition                   } \
           details/{hxx            }{ config                      } \
           details/{hxx            }{ c-string                    } \
           details/{hxx            }{ exception                   } \
           details/{hxx            }{ export                      } \
           details/{hxx ixx txx    }{ function-wrapper            } \
           details/{hxx            }{ lock                        } \
           details/{hxx            }{ mutex                       } \
           details/{hxx            }{ shared-ptr-fwd              } \
           details/{hxx            }{ shared-ptr                  } \
           details/{hxx         cxx}{ thread                      } \
           details/{hxx            }{ tls                         } \
           details/{hxx            }{ transfer-ptr                } \
           details/{hxx            }{ type-info                   } \
           details/{hxx            }{ unique-ptr                  } \
           details/{hxx            }{ unused                      } \
           details/{hxx            }{ wrapper-p                   } \
    details/build2/{h              }{ config                      } \
    details/build2/{h              }{ config-vc                   } \
      details/meta/{hxx            }{ answer                      } \
      details/meta/{hxx            }{ class-p                     } \
      details/meta/{hxx            }{ polymorphic-p               } \
      details/meta/{hxx            }{ remove-const                } \
      details/meta/{hxx            }{ remove-const-volatile       } \
      details/meta/{hxx            }{ remove-pointer              } \
      details/meta/{hxx            }{ remove-volatile             } \
      details/meta/{hxx            }{ static-assert               } \
details/shared-ptr/{hxx ixx txx cxx}{ base                        } \
details/shared-ptr/{hxx            }{ counter-type                } \
details/shared-ptr/{hxx            }{ exception                   } \
     details/win32/{hxx            }{ windows                     }

cxx.poptions =+ -I$src_root -DLIBODB_BUILD2
obja{*}: cxx.poptions += -DLIBODB_STATIC_BUILD
objs{*}: cxx.poptions += -DLIBODB_SHARED_BUILD

lib{odb}: cxx.export.poptions = -I$src_root -DLIBODB_BUILD2
liba{odb}: cxx.export.poptions += -DLIBODB_STATIC
libs{odb}: cxx.export.poptions += -DLIBODB_SHARED

# Install into the odb/ subdirectory of, say, /usr/include/.
#
install.include = $install.include/odb/
install.include.subdirs = true # Recreate subdirectories.

if ($cxx.target.class != "windows")
  details/win32/*: install = false

# We want these to be picked up even when LIBODB_BUILD2 is not defined.
#
details/build2/:
{
  if ($cxx.id == "msvc")
  {
    h{config}@./:    install = false
    h{config-vc}@./: install = $install.include/details/
  }
  else
  {
    h{config}@./:    install = $install.include/details/
    h{config-vc}@./: install = false
  }
}