bdwgc-d 0.2.2

bdwgc - D bindings

To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

bdwgc-d -- Boehm-Demers-Weiser conservative garbage collector library for D

D library for interfacing with libgc (bdwgc) using importC

What's the difference between libgc-d?

A: bdwgc-d is generated by importC, not manual binding wrapper.


  • zig v0.12.0 or master
  • ldc v1.36.0 or latest-CI (nightly)

How to use (zig build)

$ zig build -h
Project-Specific Options:
  -Dtarget=[string]            The CPU architecture, OS, and ABI to build for
  -Dcpu=[string]               Target CPU features to add or subtract
  -Ddynamic-linker=[string]    Path to interpreter on the target system
  -Doptimize=[enum]            Prioritize performance, safety, or binary size
                                 Supported Values:
  -Denable_cplusplus=[bool]    C++ support
  -DBUILD_SHARED_LIBS=[bool]   Build shared libraries (otherwise static ones)
  -DCFLAGS_EXTRA=[string]      Extra user-defined cflags
  -Denable_parallel_mark=[bool] Parallelize marking and free list construction
  -Denable_threads=[bool]      Support threads
  -Denable_thread_local_alloc=[bool] Turn on thread-local allocation optimization
  -Denable_threads_discovery=[bool] Enable threads discovery in GC
  -Denable_rwlock=[bool]       Enable reader mode of the allocator lock
  -Denable_throw_bad_alloc_library=[bool] Turn on C++ gctba library build
  -Denable_gcj_support=[bool]  Support for gcj
  -Denable_sigrt_signals=[bool] Use SIGRTMIN-based signals for thread suspend/resume
  -Denable_valgrind_tracking=[bool] Support tracking GC_malloc and friends for heap profiling tools
  -Denable_java_finalization=[bool] Support for java finalization
  -Denable_atomic_uncollectable=[bool] Support for atomic uncollectible allocation
  -Denable_gc_debug=[bool]     Support for pointer back-tracing
  -Denable_redirect_malloc=[bool] Redirect malloc and friend to GC routines
  -Denable_disclaim=[bool]     Support alternative finalization interface
  -Denable_dynamic_pointer_mask=[bool] Support pointer mask/shift set at runtime
  -Denable_large_config=[bool] Optimize for large heap or root set
  -Denable_gc_assertions=[bool] Enable collector-internal assertion checking
  -Denable_mmap=[bool]         Use mmap instead of sbrk to expand the heap
  -Denable_munmap=[bool]       Return page to the OS if empty for N collections
  -Denable_dynamic_loading=[bool] Enable tracing of dynamic library data roots
  -Denable_register_main_static_data=[bool] Perform the initial guess of data root sets
  -Denable_checksums=[bool]    Report erroneously cleared dirty bits
  -Denable_werror=[bool]       Pass -Werror to the C compiler (treat warnings as errors)
  -Denable_single_obj_compilation=[bool] Compile all libgc source files into single .o
  -Ddisable_single_obj_compilation=[bool] Compile each libgc source file independently
  -Denable_handle_fork=[bool]  Attempt to ensure a usable collector after fork()
  -Ddisable_handle_fork=[bool] Prohibit installation of pthread_atfork() handlers
  -Dbuild_cord=[bool]          Build cord library
  -Dartifact_dub=[bool]        Available artifacts to DUB
  -Dbuild_examples=[bool]      Build Examples

Compiler Support

bdwgc-d should be compatible with multiple D compilers including gdc, ldc2, and dmd. When you use dub to build your project, it should automatically detect the compiler you have installed and use it to compile your code.

Acknowledge for reference
  • Matheus Catarino França <>
Sub packages:
bdwgc-d:example1, bdwgc-d:example2, bdwgc-d:example3
0.2.2 2024-May-24
0.2.1 2024-May-01
0.2.0 2024-Apr-25
Show all 3 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 0 downloads this month

  • 1 downloads total

Short URL: