@@ -210,7 +210,47 @@ $(H2 $(LNAME2 importcpp, ImportC++))
210
210
211
211
$(P ImportC will not compile C++ code. For that, use $(TT dpp).)
212
212
213
- $(H2 $(LNAME2 history, How ImportC Came About))
213
+
214
+ $(H2 $(LNAME2 other-solutions, Other Solutions))
215
+
216
+ $(H3 $(LNAME2 dpp, dpp by Atila Neves))
217
+
218
+ $(P $(LINK2 https://code.dlang.org/packages/dpp/0.2.1, dpp code))
219
+
220
+ $(P $(LINK2 https://dlang.org/blog/2019/04/08/project-highlight-dpp/, dpp Article))
221
+
222
+ $(P From the Article:)
223
+
224
+ $(BLOCKQUOTE dpp is a compiler wrapper that will parse a D source
225
+ file with the .dpp extension and expand in place any #include directives
226
+ it encounters, translating all of the C or C++ symbols to D, and then
227
+ pass the result to a D compiler (DMD by default).)
228
+
229
+ $(P Like DStep, dpp relies on libclang.)
230
+
231
+
232
+ $(H3 $(LNAME2 dstep, DStep by Jacob Carlborg))
233
+
234
+ $(P $(LINK2 https://code.dlang.org/packages/dstep, DStep code))
235
+
236
+ $(P $(LINK2 https://dlang.org/blog/2019/04/22/dstep-1-0-0/, DStep Article))
237
+
238
+ $(P From the Article:)
239
+
240
+ $(BLOCKQUOTE DStep is a tool for automatically generating D
241
+ bindings for C and Objective-C libraries. This is implemented by
242
+ processing C or Objective-C header files and outputting D modules.
243
+ DStep uses the Clang compiler as a library (libclang) to process the header files.)
244
+
245
+
246
+ $(H3 $(LNAME2 htod, htod by Walter Bright))
247
+
248
+ $(P $(LINK2 https://dlang.org/htod.html, htod) converts a C $(TT .h) file
249
+ to a D source file, suitable for importing into D code.
250
+ $(B htod) is built from the front end of the Digital Mars C and C++ compiler.
251
+ It works just like a C or C++ compiler except that its output is source
252
+ code for a D module rather than object code.)
253
+
214
254
215
255
$(H2 $(LNAME2 internals, How ImportC Works))
216
256
0 commit comments