aboutsummaryrefslogtreecommitdiff
path: root/butl/buildfile
blob: 916877404a4a5203b257bd65427b9f9619b79b90 (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
# file      : butl/buildfile
# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
# license   : MIT; see accompanying LICENSE file

lib{butl}:                               \
{hxx         cxx}{ base64              } \
{hxx         cxx}{ char-scanner        } \
{hxx            }{ config              } \
{hxx         cxx}{ diagnostics         } \
{hxx            }{ export              } \
{hxx ixx     cxx}{ fdstream            } \
{hxx ixx     cxx}{ filesystem          } \
{hxx            }{ manifest-forward    } \
{hxx         cxx}{ manifest-parser     } \
{hxx         cxx}{ manifest-serializer } \
{hxx            }{ multi-index         } \
{hxx            }{ optional            } \
{hxx         cxx}{ pager               } \
{hxx ixx txx cxx}{ path                } \
{hxx            }{ path-io             } \
{hxx            }{ path-map            } \
{hxx     txx    }{ prefix-map          } \
{hxx ixx     cxx}{ process             } \
{hxx         cxx}{ sha256              } \
{hxx            }{ small-vector        } \
{hxx     txx    }{ string-table        } \
{hxx         cxx}{ timestamp           } \
{hxx         cxx}{ triplet             } \
{hxx ixx     cxx}{ utility             } \
{hxx            }{ vector-view         } \
{hxx            }{ version             }

# Exclude these from compilation on non-Windows targets.
#
if ($cxx.target.class == "windows")
  lib{butl}: {hxx         cxx}{ win32-utility }
else
  lib{butl}: file{ win32-utility. win32-utility.cxx }

# This one is included into sha256.cxx so treat it as file to exclude
# from the compilation.
#
lib{butl}: file{sha256c.c}

# These ones are included into timestamp.cxx so treat them as files to exclude
# from the compilation.
#
lib{butl}: file{strptime.c timelocal.h timelocal.c}

# For pre-releases use the complete version to make sure they cannot be used
# in place of another pre-release or the final version.
#
if $abi_prerelease
  lib{butl}: bin.lib.version = @-$version
else
  lib{butl}: bin.lib.version = @-$abi_major.$abi_minor

cxx.poptions =+ "-I$src_root"
obja{*}: cxx.poptions += -DLIBBUTL_STATIC_BUILD
objs{*}: cxx.poptions += -DLIBBUTL_SHARED_BUILD

lib{butl}: cxx.export.poptions = "-I$src_root"
liba{butl}: cxx.export.poptions += -DLIBBUTL_STATIC
libs{butl}: cxx.export.poptions += -DLIBBUTL_SHARED

# Install into the butl/ subdirectory of, say, /usr/include/.
#
install.include = $install.include/butl/