]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/tools/build/test/toolset-mock/src/mock-program.cpp
62dd4b8a44a452e82302f5c02dc373b7fd40f42c
[ceph.git] / ceph / src / boost / tools / build / test / toolset-mock / src / mock-program.cpp
1 // mock-program.cpp
2 //
3 // Copyright (c) 2017 Steven Watanabe
4 //
5 // Distributed under the Boost Software License Version 1.0. (See
6 // accompanying file LICENSE_1_0.txt or copy at
7 // http://www.boost.org/LICENSE_1_0.txt)
8
9 // This program does nothing except to exec a python script
10
11 #include <vector>
12 #include <iostream>
13 #include <stdio.h>
14 #include "config.h"
15
16 #if defined(_WIN32)
17 #include <process.h>
18 #define execv _execv
19 #else
20 #include <unistd.h>
21 #endif
22
23 #ifndef PY_SCRIPT
24 #error PY_SCRIPT must be defined to the absolute path to the script to run
25 #endif
26
27 #ifndef PYTHON_CMD
28 #error PYTHON_CMD must be defined to the absolute path to the python interpreter
29 #endif
30
31 int main(int argc, char ** argv)
32 {
33 std::vector<char *> args;
34 char python_cmd[] = PYTHON_CMD;
35 char script[] = PY_SCRIPT;
36 args.push_back(python_cmd);
37 args.push_back(script);
38 args.insert(args.end(), argv + 1, argv + argc);
39 args.push_back(NULL);
40 execv(python_cmd, &args[0]);
41 perror("exec");
42 }