Skip to content

Commit a0f2a40

Browse files
authored
Merge pull request #3057 from WalterBright/other
ImportC: add Other Solutions section
2 parents 09c2699 + f1dcc3c commit a0f2a40

File tree

1 file changed

+41
-1
lines changed

1 file changed

+41
-1
lines changed

spec/importc.dd

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,47 @@ $(H2 $(LNAME2 importcpp, ImportC++))
210210

211211
$(P ImportC will not compile C++ code. For that, use $(TT dpp).)
212212

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+
214254

215255
$(H2 $(LNAME2 internals, How ImportC Works))
216256

0 commit comments

Comments
 (0)