aboutsummaryrefslogtreecommitdiff
path: root/tests/libbuild2/driver.cxx
blob: 6201a6c381aa7bdda1c8364b08c600bb234a8350 (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
// file      : tests/libbuild2/driver.cxx -*- C++ -*-
// license   : MIT; see accompanying LICENSE file

#include <libbuild2/types.hxx>
#include <libbuild2/utility.hxx>

#include <libbuild2/module.hxx>
#include <libbuild2/context.hxx>
#include <libbuild2/scheduler.hxx>
#include <libbuild2/file-cache.hxx>

#include <libbuild2/dist/init.hxx>
#include <libbuild2/test/init.hxx>
#include <libbuild2/config/init.hxx>
#include <libbuild2/install/init.hxx>

#include <libbuild2/in/init.hxx>
#include <libbuild2/bin/init.hxx>
#include <libbuild2/c/init.hxx>
#include <libbuild2/cc/init.hxx>
#include <libbuild2/cxx/init.hxx>
#include <libbuild2/version/init.hxx>

#undef NDEBUG
#include <cassert>

using namespace build2;

int
main (int, char* argv[])
{
  // Fake build system driver, default verbosity.
  //
  init_diag (1);
  init (nullptr, argv[0], true);

  load_builtin_module (&config::build2_config_load);
  load_builtin_module (&dist::build2_dist_load);
  load_builtin_module (&test::build2_test_load);
  load_builtin_module (&install::build2_install_load);

  load_builtin_module (&bin::build2_bin_load);
  load_builtin_module (&cc::build2_cc_load);
  load_builtin_module (&c::build2_c_load);
  load_builtin_module (&cxx::build2_cxx_load);
  load_builtin_module (&version::build2_version_load);
  load_builtin_module (&in::build2_in_load);

  // Serial execution.
  //
  scheduler sched (1);
  global_mutexes mutexes (1);
  file_cache fcache (true);
  context ctx (sched, mutexes, fcache);

  return 0;
}