|
| 1 | +import os |
1 | 2 | mode = ScriptMode.Verbose |
2 | 3 |
|
3 | 4 | ### Package |
@@ -69,9 +70,15 @@ proc buildLibrary(name: string, srcDir = "./", params = "", `type` = "static") = |
69 | 70 | ".a --threads:on --app:staticlib --opt:size --noMain --mm:refc --header -d:metrics --nimMainPrefix:libwaku --skipParentCfg:on -d:discv5_protocol_id=d5waku " & |
70 | 71 | extra_params & " " & srcDir & name & ".nim" |
71 | 72 | else: |
72 | | - exec "nim c" & " --out:build/" & name & |
73 | | - ".so --threads:on --app:lib --opt:size --noMain --mm:refc --header -d:metrics --nimMainPrefix:libwaku --skipParentCfg:on -d:discv5_protocol_id=d5waku " & |
74 | | - extra_params & " " & srcDir & name & ".nim" |
| 73 | + var lib_name = toDll("libwaku") |
| 74 | + when defined(windows): |
| 75 | + exec "nim c" & " --out:build/" & lib_name & |
| 76 | + " --threads:on --app:lib --opt:size --noMain --mm:refc --header -d:metrics --nimMainPrefix:libwaku --skipParentCfg:off -d:discv5_protocol_id=d5waku " & |
| 77 | + extra_params & " " & srcDir & name & ".nim" |
| 78 | + else: |
| 79 | + exec "nim c" & " --out:build/" & lib_name & |
| 80 | + " --threads:on --app:lib --opt:size --noMain --mm:refc --header -d:metrics --nimMainPrefix:libwaku --skipParentCfg:on -d:discv5_protocol_id=d5waku " & |
| 81 | + extra_params & " " & srcDir & name & ".nim" |
75 | 82 |
|
76 | 83 | proc buildMobileAndroid(srcDir = ".", params = "") = |
77 | 84 | let cpu = getEnv("CPU") |
@@ -160,33 +167,20 @@ task testone, "Test custom target": |
160 | 167 | exec "build/" & filepath & ".bin" |
161 | 168 |
|
162 | 169 | ### C Bindings |
| 170 | +let chroniclesParams = |
| 171 | + "-d:chronicles_line_numbers " & "-d:chronicles_runtime_filtering=on " & |
| 172 | + """-d:chronicles_sinks="textlines,json" """ & |
| 173 | + "-d:chronicles_default_output_device=Dynamic " & |
| 174 | + """-d:chronicles_disabled_topics="eth,dnsdisc.client" """ & "--warning:Deprecated:off " & |
| 175 | + "--warning:UnusedImport:on " & "-d:chronicles_log_level=TRACE" |
| 176 | + |
163 | 177 | task libwakuStatic, "Build the cbindings waku node library": |
164 | 178 | let name = "libwaku" |
165 | | - buildLibrary name, |
166 | | - "library/", |
167 | | - """-d:chronicles_line_numbers \ |
168 | | - -d:chronicles_runtime_filtering=on \ |
169 | | - -d:chronicles_sinks="textlines,json" \ |
170 | | - -d:chronicles_default_output_device=Dynamic \ |
171 | | - -d:chronicles_disabled_topics="eth,dnsdisc.client" \ |
172 | | - --warning:Deprecated:off \ |
173 | | - --warning:UnusedImport:on \ |
174 | | - -d:chronicles_log_level=TRACE """, |
175 | | - "static" |
| 179 | + buildLibrary name, "library/", chroniclesParams, "static" |
176 | 180 |
|
177 | 181 | task libwakuDynamic, "Build the cbindings waku node library": |
178 | 182 | let name = "libwaku" |
179 | | - buildLibrary name, |
180 | | - "library/", |
181 | | - """-d:chronicles_line_numbers \ |
182 | | - -d:chronicles_runtime_filtering=on \ |
183 | | - -d:chronicles_sinks="textlines,json" \ |
184 | | - -d:chronicles_default_output_device=Dynamic \ |
185 | | - -d:chronicles_disabled_topics="eth,dnsdisc.client" \ |
186 | | - --warning:Deprecated:off \ |
187 | | - --warning:UnusedImport:on \ |
188 | | - -d:chronicles_log_level=TRACE """, |
189 | | - "dynamic" |
| 183 | + buildLibrary name, "library/", chroniclesParams, "dynamic" |
190 | 184 |
|
191 | 185 | ### Mobile Android |
192 | 186 | task libWakuAndroid, "Build the mobile bindings for Android": |
|
0 commit comments