aboutsummaryrefslogtreecommitdiff
path: root/cutl/buildfile
blob: 5e4787dc9159bd2f02872b2372d07bbada561a94 (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
# file      : cutl/buildfile
# copyright : Copyright (c) 2009-2017 Code Synthesis Tools CC
# license   : MIT; see accompanying LICENSE file


lib{cutl}:                                           \
               {hxx         cxx}{ exception        } \
               {hxx            }{ re               } \
            re/{        txx cxx}{ re               } \
               {hxx            }{ shared-ptr       } \
    shared-ptr/{hxx ixx txx cxx}{ base             } \
               {hxx            }{ static-ptr       } \
      compiler/{hxx     txx    }{ code-stream      } \
      compiler/{hxx     txx cxx}{ context          } \
      compiler/{hxx ixx txx cxx}{ cxx-indenter     } \
      compiler/{hxx     txx    }{ sloc-counter     } \
      compiler/{hxx     txx    }{ traversal        } \
      compiler/{hxx ixx txx    }{ type-id          } \
      compiler/{hxx ixx     cxx}{ type-info        } \
     container/{hxx            }{ any              } \
     container/{hxx    txx     }{ graph            } \
     container/{hxx            }{ key              } \
     container/{hxx            }{ map-iterator     } \
     container/{hxx            }{ multi-index      } \
     container/{hxx            }{ pointer-iterator } \
       details/{hxx            }{ config.hxx       } \
       details/{hxx            }{ export.hxx       } \
details/build2/{h              }{ config           } \
details/build2/{h              }{ config-vc        } \
            fs/{hxx         cxx}{ auto-remove      } \
            fs/{hxx         cxx}{ exception        } \
            fs/{hxx ixx txx cxx}{ path             } \
          meta/{hxx            }{ answer           } \
          meta/{hxx            }{ class-p          } \
          meta/{hxx            }{ polymorphic-p    } \
          meta/{hxx            }{ remove-c         } \
          meta/{hxx            }{ remove-cv        } \
          meta/{hxx            }{ remove-p         } \
          meta/{hxx            }{ remove-v         }

# 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{cutl}: bin.lib.version = @-$version
else
  lib{cutl}: bin.lib.version = @-$abi_major.$abi_minor

cxx.poptions =+ "-I$src_root" -DLIBCUTL_BUILD2
obja{*}: cxx.poptions += -DLIBCUTL_STATIC_BUILD
objs{*}: cxx.poptions += -DLIBCUTL_SHARED_BUILD

lib{cutl}: cxx.export.poptions = "-I$src_root" -DLIBCUTL_BUILD2
liba{cutl}: cxx.export.poptions += -DLIBCUTL_STATIC
libs{cutl}: cxx.export.poptions += -DLIBCUTL_SHARED

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

# We want these to be picked up even when LIBCUTL_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
  }
}