What prevents ImportC from using .h directly?
Chris Piker
chris at hoopjump.com
Sun May 12 21:34:30 UTC 2024
Hi D
Import D is working quite well so far. One limitation is that
module definitions require a tiny *.c file which is often just:
```C
#include <libheader.h>
```
Creating this file is trivial and has almost no knock-on effects,
except when dealing with single file programs. I have quite a few
small utilities with dub headers. It would be handy if I could
set an import path and use ImportC on the header file directly,
skipping the small C file all together. A specific example in my
case follows.
Given a C-lib interface defined in the header file:
```
/usr/include/cspice/SpiceUsr.h
```
it would be neat if a dub header similar to the following worked:
```d
#!/usr/bin/env dub
/+ dub.sdl:
name "some_app"
cImportPaths "/usr/local/include/cspice"
+/
import SpiceUsr;
// ... source continues
```
So, why does ImportC need *.c files exclusively? I'm sure it
solves a problem, but I don't know what that problem is.
More information about the Digitalmars-d-learn
mailing list