building
[libxsql.git] / Jamrules.configure
blob14ce5f1d2b4fbab26c84885f03a9d46e36cbfa90
1 -configure-enable-disable-vars- +=
2     "postgres" USE_PGSQL  "auto" "use PostgreSQL"
3     "sqlite"   USE_SQLITE "auto" "use Sqlite"
4     "firebird" USE_FBSQL  "auto" "use Firebird"
5     "mysql"    USE_MYSQL  "auto" "use Mysql"
6     "excel"    USE_XLSX   "auto" "use XLSX writer"
7     "ixsql"    USE_IXSQL  "auto" "use ixsql"
8     "ixsqld"   USE_IXSQLD "auto" "use ixsqld"
9     "monetdb"  USE_MONETDB "auto" "use MonetDB"
10     "vista"    USE_VISTA  "auto" "use db_VISTA"
13 rule -configure-test-xlsxwriter- {
14     return [
15         -configure-test-compile-cc- "xlsxwriter" :
16             "#include <xlsxwriter.h>"
17             "int main () {"
18             "lxw_workbook *workbook;"
19             "workbook_close(workbook);"
20             "return 0;"
21             "}"
22         : : "-lxlsxwriter"
23     ];
26 rule -configure-test-dbvista- {
27     return [
28         -configure-test-compile-cc- "dbvista" :
29             "#include <vista.h>"
30             "int main () {"
31             "d_dbdpath(NULL);"
32             "return 0;"
33             "}"
34         : "-I$(SDIR)/vista" : "-L $(SDIR)/slib -lvista"
35     ];
38 rule -pkg-find- {
39     local r ;
40     Echo 'checking for' $(1) '... ' : -n ;
41     if [ Command pkg-config --exists $(1) : exit-code no-output ] == 0 {
42         Echo 'found' ;
43         return 1 ;
44     }
45     Echo ' not found' ;
46     return 0 ;
49 rule -mysql-find- {
50     local r ;
51     Echo 'checking for mysql ... ' : -n ;
52     r = [ Command mysql_config --version : exit-code no-output ] ;
53     if $(r) == 0 {
54         Echo 'found' ;
55         return 1 ;
56     }
57     Echo 'not found' ;
58     return 0 ;
61 rule -fb-find- {
62     local r ;
63     Echo 'checking for firebird ... ' : -n ;
64     r = [ Command fb_config --version : exit-code no-output ] ;
65     if $(r) == 0 {
66         Echo 'found' ;
67         return 1 ;
68     }
69     Echo 'not found' ;
70     return 0 ;
73 rule -custom-pkg-find- {
74     local r ;
75     local cmd = [ Command "whereis -b $(2) | awk '{print $2}'" : parse-output ] ;
76     Echo 'checking for' $(1) '... ' : -n ;
77     if $(cmd) {
78         r = [ Command $(2) --version : exit-code no-output ] ;
79     }
80     if $(r) {
81         Echo 'found' ;
82         return 1 ;
83     }
84     Echo 'not found' ;
85     return 0 ;
88 rule -configure- {
89     if ! $(PREFIX) {
90         PREFIX = /usr/local ;
91     }
92     local pp = [ Command "echo $(PREFIX) | sed \"s/\\//\\\\\\\\\\\//g\"" : dummy ] ;
93     Command "sed \"s/@prefix/\\$(pp)/\" ./libxsql.pc.in > ./libxsql.pc" ;
94     -configure-pkg-config-necessary-
95         "libex"  "libex"
96     ;
97     HAVE_IXSQL = 'yes' ;
98     -configure-add-line- "SubInclude TOP src ixsql ;" ;
99     HAVE_IXSQLD = 'no' ;
100 #    if $(USE_IXSQLD) {
101 #        if [ -pkg-find- libcurl ] == 1 && [ -pkg-find- libmicrohttpd ] == 1 && [ -pkg-find- uuid ] == 1 {
102 #           -configure-add-line- "SubInclude TOP src contrib libquickmail ;" ;
103 #           -configure-add-line- "SubInclude TOP src xsqld ;" ;
104 #           HAVE_IXSQLD = 'yes' ;
105 #        }
106 #    }
107     HAVE_PGSQL = 'no' ;
108     if $(USE_PGSQL) {
109         if [ -custom-pkg-find- pq : pg_config ] == 1 {
110             -configure-add-line- "SubInclude TOP src postgres ;" ;
111             HAVE_PGSQL = 'yes' ;
112         }
113     }
114     HAVE_SQLITE = 'no' ;
115     if $(USE_SQLITE) {
116         if [ -pkg-find- sqlite3 ] == 1 {
117             -configure-add-line- "SubInclude TOP src sqlite ;" ;
118             HAVE_SQLITE = 'yes' ;
119         }
120     }
121     HAVE_MYSQL = 'no' ;
122     if $(USE_MYSQL) {
123         if [ -custom-pkg-find- mysql : mysql_config ] == 1 {
124             -configure-add-line- "SubInclude TOP src mysql ;" ;
125             HAVE_MYSQL = 'yes' ;
126         }
127     }
128     HAVE_FBSQL = 'no' ;
129     if $(USE_FBSQL) {
130         if [ -custom-pkg-find- firebird : fb_config ] == 1 {
131             -configure-add-line- "SubInclude TOP src firebird ;" ;
132             HAVE_FBSQL = 'yes' ;
133         }
134     }
135     HAVE_MONETDB = 'no' ;
136     if $(USE_MONETDB) {
137         #if [ -pkg-find- monetdb-mapi ] == 1 && [ -pkg-find- monetdb-gdk ] == 1 && [ -pkg-find- monetdb-stream ] == 1 {
138         if [ -pkg-find- monetdb-mapi ] == 1 {
139             -configure-add-line- "SubInclude TOP src monetdb ;" ;
140             HAVE_MONETDB = 'yes' ;
141         }
142     }
143     HAVE_VISTA = 'no' ;
144     if $(USE_VISTA) {
145         if [ -configure-test-dbvista- ] == 1 {
146             -configure-add-line- "SubInclude TOP src rdm ;" ;
147             -configure-add-line- "SubInclude TOP src vista ;" ;
148             HAVE_VISTA = 'yes' ;
149             Command config.sh $(TOP) $(PREFIX) $(HAVE_VISTA) ;
150         }
151     }
152     HAVE_XLSX = 'no' ;
153     if $(USE_XLSX) {
154         if [ -pkg-find- libxlsxwriter ] == 1 {
155             -configure-add-line- "SubInclude TOP src excel ;" ;
156             HAVE_XLSX = 'yes' ;
157         }
158     }
159     if $(debug) {
160         -configure-add-line- "CFLAGS.all += -O0 -g3 ;" ;
161         -configure-add-line- "SubInclude TOP test ;" ;
162     } else {
163         -configure-add-line- "set-profile ;" ;
164     }
165     Echo ;
166     Echo 'Main' ;
167     Echo '  console utilite (ixsql):            ' $(HAVE_IXSQL) ;
168 #    Echo '  server (xsqld):                     ' $(HAVE_IXSQLD) ;
169     Echo 'Database providers' ;
170     Echo '  PostgresSQL                         ' $(HAVE_PGSQL) ;
171     Echo '  Sqlite                              ' $(HAVE_SQLITE) ;
172     Echo '  Mysql                               ' $(HAVE_MYSQL) ;
173     Echo '  Firebird                            ' $(HAVE_FBSQL) ;
174     Echo '  MonetDB                             ' $(HAVE_MONETDB) ;
175     Echo '  db_VISTA                            ' $(HAVE_VISTA) ;
176     Echo 'Output provders' ;
177     Echo '  text                                 yes' ; 
178     Echo '  json                                 yes' ; 
179     Echo '  binary                               yes' ; 
180     Echo '  excel                               ' $(HAVE_XLSX) ;
183 configure ;