Using C libraries for a D program
WARNING: This recipe by an absolute D newbie has not yet been tested--corrections are welcome!
Assume one has the following, error-free files:
- a D language source program:
- ./main.d
- a C ABI library file:
- /usr/local/lib/libbu.so
- a D language binding file to the C library API headers:
- /usr/local/include/bu.d
We first create a GNU Makefile to build program test-bu using those three files (note the leading spaces on lines following targets must be tabs in a real GNU Makefile):
$ cat Makefile # use the dmd compiler DMD = /usr/bin/dmd LIBDIR = /usr/local/brlcad/lib MODDIR = /usr/local/brlcad/include BINDINGS = bu.d all: test-bu test-bu: main.o $(DMD) -o $@ -I$(MODDIR) $(BINDINGS) -L$(LIBDIR) -lbu %.o: %.d $(DMD) -c $< -o $@ clean: -rm *.o
Then we can build test-bu by executing:
$ make test-bu