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
|
#ifndef SOFORT_DRIVER_IMPL_H
#define SOFORT_DRIVER_IMPL_H
#include <stdint.h>
#include <stdio.h>
#include <sys/types.h>
#include <slibtool/slibtool.h>
#include "argv/argv.h"
extern int slibtool_main(int, char **, char **);
extern const struct argv_option slbt_default_options[];
enum app_tags {
TAG_HELP,
TAG_HELP_ALL,
TAG_VERSION,
TAG_CONFIG,
TAG_DEBUG,
TAG_DRY_RUN,
TAG_FEATURES,
TAG_MODE,
TAG_WARNINGS,
TAG_DEPS,
TAG_SILENT,
TAG_TAG,
TAG_VERBOSE,
TAG_TARGET,
TAG_HOST,
TAG_FLAVOR,
TAG_AR,
TAG_RANLIB,
TAG_DLLTOOL,
TAG_OUTPUT,
TAG_LDRPATH,
TAG_RPATH,
TAG_RELEASE,
TAG_EXPSYM_FILE,
TAG_EXPSYM_REGEX,
TAG_VERSION_INFO,
TAG_VERSION_NUMBER,
TAG_NO_SUPPRESS,
TAG_PREFER_PIC,
TAG_PREFER_NON_PIC,
TAG_SHARED,
TAG_STATIC,
TAG_NO_UNDEFINED,
TAG_MODULE,
TAG_AVOID_VERSION,
TAG_COMPILER_FLAG,
TAG_VERBATIM_FLAG,
};
struct slbt_host_strs {
char * host;
char * flavor;
char * ar;
char * ranlib;
char * dlltool;
};
struct slbt_driver_ctx_impl {
struct slbt_common_ctx cctx;
struct slbt_driver_ctx ctx;
struct slbt_host_strs host;
char * libname;
char ** targv;
char ** cargv;
};
struct slbt_unit_ctx_impl {
const char * path;
struct slbt_input map;
struct slbt_common_ctx cctx;
struct slbt_unit_ctx uctx;
};
#endif
|