1
1
#include " ScalaFrontend.h"
2
2
#include " Utils.h"
3
3
4
- #define CATCH_CONFIG_RUNNER
5
- #include " catch/catch.hpp"
6
-
7
4
#include < sys/types.h>
8
5
9
6
static llvm::cl::OptionCategory Category (" Binding Generator" );
@@ -15,68 +12,59 @@ static llvm::cl::opt<bool> PrintHeadersLocation ("location", llvm::cl::cat(Categ
15
12
16
13
17
14
int main (int argc, char *argv[]) {
15
+ clang::tooling::CommonOptionsParser op (argc, (const char **)argv, Category);
16
+ clang::tooling::ClangTool Tool (op.getCompilations (), op.getSourcePathList ());
18
17
19
- if (argc <= 1 ){
18
+ auto lib = LibName.getValue ();
19
+ if (lib == " " ){
20
+ llvm::errs () << " Error: Please specify the lib name using -name paramter\n " ;
21
+ return -1 ;
22
+ }
20
23
21
- int result = Catch::Session ().run ( argc, argv );
22
- return result;
24
+ auto stdhead = StdHeaders.getValue ();
25
+ if (stdhead != " " ){
26
+ headerMan.LoadConfig (stdhead);
27
+ }
23
28
24
- } else {
29
+ declarations = " " ;
30
+ enums = " " ;
31
+ helpers = " " ;
32
+ locations.clear ();
25
33
26
- clang::tooling::CommonOptionsParser op (argc, (const char **)argv, Category);
27
- clang::tooling::ClangTool Tool (op.getCompilations (), op.getSourcePathList ());
34
+ int result = Tool.run (clang::tooling::newFrontendActionFactory<ScalaFrontendAction>().get ());
28
35
29
- auto lib = LibName.getValue ();
30
- if (lib == " " ){
31
- llvm::errs () << " Error: Please specify the lib name using -name paramter\n " ;
32
- return -1 ;
33
- }
36
+ auto printLoc = PrintHeadersLocation.getValue ();
34
37
35
- auto stdhead = StdHeaders. getValue ();
36
- if (stdhead != " " ){
37
- headerMan. LoadConfig (stdhead) ;
38
+ if (printLoc){
39
+ for ( const auto & location: locations ){
40
+ llvm::outs () << location ;
38
41
}
39
42
40
- declarations = " " ;
41
- enums = " " ;
42
- helpers = " " ;
43
- locations.clear ();
44
-
45
- int result = Tool.run (clang::tooling::newFrontendActionFactory<ScalaFrontendAction>().get ());
46
-
47
- auto printLoc = PrintHeadersLocation.getValue ();
48
-
49
- if (printLoc){
50
- for (const auto & location: locations){
51
- llvm::outs () << location;
52
- }
53
-
54
- } else {
55
- if (declarations != " " || enums != " " )
56
- llvm::outs () << " import scala.scalanative._\n "
57
- << " import scala.scalanative.native.Nat._\n\n " ;
58
-
59
- if (declarations != " " ){
60
- llvm::outs () << " @native.link(\" " << lib << " \" )\n "
61
- << " @native.extern\n "
62
- << " object " << lib << " {\n "
63
- << declarations
64
- << " }\n\n "
65
- << " import " + lib + " ._\n\n " ;
66
- }
43
+ } else {
44
+ if (declarations != " " || enums != " " )
45
+ llvm::outs () << " import scala.scalanative._\n "
46
+ << " import scala.scalanative.native.Nat._\n\n " ;
47
+
48
+ if (declarations != " " ){
49
+ llvm::outs () << " @native.link(\" " << lib << " \" )\n "
50
+ << " @native.extern\n "
51
+ << " object " << lib << " {\n "
52
+ << declarations
53
+ << " }\n\n "
54
+ << " import " + lib + " ._\n\n " ;
55
+ }
67
56
68
- if (enums != " " ){
69
- llvm::outs () << " object " << lib << " Enums {\n "
70
- << enums
71
- << " }\n\n " ;
72
- }
57
+ if (enums != " " ){
58
+ llvm::outs () << " object " << lib << " Enums {\n "
59
+ << enums
60
+ << " }\n\n " ;
61
+ }
73
62
74
- if (helpers != " " ){
75
- llvm::outs () << " object " << lib << " Helpers {\n "
76
- << helpers
77
- << " }\n\n " ;
78
- }
63
+ if (helpers != " " ){
64
+ llvm::outs () << " object " << lib << " Helpers {\n "
65
+ << helpers
66
+ << " }\n\n " ;
79
67
}
80
- return result;
81
68
}
69
+ return result;
82
70
}
0 commit comments