On Thursday, 15 May 2014 at 22:25:47 UTC, Tom Browder via Digitalmars-d-learn wrote:
I am a volunteer developer with the well-known 3D CAD FOSS project BRL-CAD:

  http://brlcad.org

I have wanted to use D for a long time but I hadn't taken the plunge. Yesterday I advertised to the BRL-CAD community my new project to attempt to create D bindings for BRL-CAD's C libraries, and I created
a branch for the project.

I have been looking for specific information on creating D bindings from C headers for which there seems to be sufficient information
available, but I would appreciate recommendations as to the best
method. I have successfully built my first pure D program but now
need to test the feasibility of my project.

What I have not seen yet is the exact way to build a D program which uses D bindings and its matching C library. I have just created a Cookbook page on the D Wiki where I show my first attempt for a real GNU Makefile as an example for the project. The page link is here:

  http://wiki.dlang.org/Using_C_libraries_for_a_D_program

I would appreciate it if an experienced D user would correct that
recipe so it should compile the desired binary source correctly
(assuming no errors in the  input files).

Thanks for any help.

Best regards,

-Tom


Hi Tom,
Sadly, I lack the expertise to give you much advice. I did read through your Wiki posting though. One thing that came to mind was you used GMake. Perhaps you should consider using DUB. For example here is the DUB config file for one of my library bindings (in my case I used a static library though):

{
        "name": "shplib",
"description": "D bindings for Shapelib. Shapefile reader.", "homepage": "https://github.com/craig-dillabaugh/shplib.d";,
        "homepage": "http://shapelib.maptools.org/";,
        "importPaths":["."],
        "targetType": "sourceLibrary",
        "authors": [
                "Craig Dillabaugh"
        ],
        "sourcePaths": ["./source"],
        "libs-posix" : ["libshp"]
}

A little nicer that GMake, more the "D way", and cross platform ... I think.

Not sure exactly how you change that for linking to a .so lib.

Cheers,

Craig

Reply via email to