fc5b9fc8d776bae319e720d447921e1fe3a02061
[deliverable/titan.core.git] / compiler2 / xpather.h
1 ///////////////////////////////////////////////////////////////////////////////
2 // Copyright (c) 2000-2014 Ericsson Telecom AB
3 // All rights reserved. This program and the accompanying materials
4 // are made available under the terms of the Eclipse Public License v1.0
5 // which accompanies this distribution, and is available at
6 // http://www.eclipse.org/legal/epl-v10.html
7 ///////////////////////////////////////////////////////////////////////////////
8 #ifndef XPATHER_H_
9 #define XPATHER_H_
10
11 #include <stdio.h>
12
13 typedef int boolean;
14 #define TRUE 1
15 #define FALSE 0
16
17 enum tpd_result { TPD_FAILED = -1, TPD_SKIPPED = 0, TPD_SUCCESS = 1 };
18
19 struct string_list {
20 char* str;
21 struct string_list* next;
22 };
23
24 struct string2_list {
25 char* str1;
26 char* str2;
27 struct string2_list* next;
28 };
29
30 /**
31 *
32 * @param p_tpd_name filename
33 * @param actcfg actual configuration name
34 * @param file_list_path the argument of the -P switch
35 * @param argc pointer to argv
36 * @param argv pointer to argc
37 * @param optind pointer to optind
38 * @param ets_name from the -e switch
39 * @param gnu_make from the -g switch
40 * @param single_mode -s switch
41 * @param central_storage -c switch
42 * @param absolute_paths -a switch
43 * @param preprocess -p switch
44 * @param use_runtime_2 -R switch
45 * @param dynamic dynamic linking, -l switch
46 * @param makedepend -m switch
47 * @param filelist -P switch
48 * @param recursive -r switch
49 * @param force_overwrite -F switch
50 * @param output_file from the -o switch
51 * @param abs_work_dir workingDirectory element of TPD will be stored here, must be Free()'d
52 * @param sub_project_dirs directories of sub-projects that need to be built before this one,
53 if set to NULL when calling this function then it won't be set, otherwise it must be deallocated after the call
54 * @param program_name original value of argv[0], which is the executable path used to start this program
55 * @param prj_graph_fp write project graph xml data into this file if not NULL
56 * @create_symlink_list a list of symlinks to be created
57 * @param ttcn3_prep_includes TTCN3preprocessorIncludes
58 * @param ttcn3_prep_defines preprocessorDefines
59 * @param prep_includes preprocessorIncludes
60 * @param prep_defines preprocessorDefines
61 * @param codesplit codeSplitting
62 * @param quietly quietly
63 * @param disablesubtypecheck disableSubtypeChecking
64 * @param cxxcompiler CxxCompiler
65 * @param optlevel optimizationLevel
66 * @param optflags otherOptimizationFlags
67 * @param disableber disableBER -b
68 * @param disableraw disableRAW -r
69 * @param disabletext disableTEXT -x
70 * @param disablexer disableXER -X
71 * @param disablejson disableJSON -j
72 * @param forcexerinasn forceXERinASN.1 -a
73 * @param defaultasomit defaultasOmit -d
74 * @param gccmessageformat gccMessageFormat -g
75 * @param linenumber lineNumbersOnlyInMessages -i
76 * @param includesourceinfo includeSourceInfo -L
77 * @param addsourcelineinfo addSourceLineInfo -l
78 * @param suppresswarnings suppressWarnings -S
79 * @param outparamboundness outParamBoundness -Y
80 * @param solspeclibs SolarisSpecificLibraries
81 * @param sol8speclibs Solaris8SpecificLibraries
82 * @param linuxspeclibs LinuxSpecificLibraries
83 * @param freebsdspeclibs FreeBSDSpecificLibraries
84 * @param win32speclibs Win32SpecificLibraries
85 * @param ttcn3preprocessor ttcn3preprocessor
86 * @param linkerlibs linkerlibs
87 * @param linkerlibrarysearchpath linkerlibrarysearchpath
88 * @param Vflag -V switch
89 * @param Dflag -D switch
90 * @param generatorCommandOutput the output of the command that generates a Makefile snippet
91 * @param target_placement_list a list of (target,placement) strings pairs from the TPD
92 * @param prefix_workdir prefix working directory with project name
93 * @param run_command_list contains the working directories and the makefilegen commands to be called there
94 * @return TPD_SUCESS if parsing successful, TPD_SKIPPED if the tpd
95 * was seen already, or TPD_FAILED on error.
96 */
97 #ifdef __cplusplus
98 extern "C"
99 #else
100 enum
101 #endif
102 tpd_result process_tpd(const char *p_tpd_name, const char *actcfg,
103 const char *file_list_path,
104 int *argc, char ***argv,
105 int *optind, char **ets_name,
106 boolean *gnu_make, boolean *single_mode,
107 boolean *central_storage, boolean *absolute_paths,
108 boolean *preprocess, boolean *use_runtime_2,
109 boolean *dynamic, boolean *makedepend, boolean *filelist,
110 boolean *library, boolean recursive, boolean force_overwrite, boolean gen_only_top_level,
111 const char *output_file, char** abs_work_dir, struct string_list* sub_project_dirs,
112 const char* program_name, FILE* prj_graph_fp, struct string2_list* create_symlink_list, struct string_list* ttcn3_prep_includes,
113 struct string_list* ttcn3_prep_defines, struct string_list* prep_includes, struct string_list* prep_defines,
114 boolean *codesplit, boolean *quietly, boolean *disablesubtypecheck, char** cxxcompiler,
115 char** optlevel, char** optflags, boolean *disableber, boolean *disableraw, boolean *disabletext, boolean *disablexer,
116 boolean *disablejson, boolean *forcexerinasn, boolean *defaultasomit, boolean *gccmessageformat,
117 boolean *linenumber, boolean *includesourceinfo, boolean *addsourcelineinfo, boolean *suppresswarnings,
118 boolean *outparamboundness, struct string_list* solspeclibs, struct string_list* sol8speclibs,
119 struct string_list* linuxspeclibs, struct string_list* freebsdspeclibs, struct string_list* win32speclibs,
120 char** ttcn3preprocessor, struct string_list* linkerlibs, struct string_list* additionalObjects, struct string_list* linkerlibsearchpath, boolean Vflag, boolean Dflag,
121 char** generatorCommandOutput, struct string2_list* target_placement_list, boolean prefix_workdir, struct string2_list* run_command_list);
122
123 #endif /* XPATHER_H_ */
This page took 0.067844 seconds and 4 git commands to generate.