README 1.1 KB

1234567891011121314151617181920212223242526272829
  1. This directory contains drivers for the DBMI library.
  2. The driver functions are for internal usage.
  3. The DBMI API to be used for module programming is available in:
  4. lib/db/
  5. NOTE:
  6. db__driver_* functions are implemented in a driver. If some of them
  7. are not used or defined, the driver will use stub functions in
  8. lib/db/stubs/
  9. For some platforms like Cygwin, multiply defined symbols are not
  10. resolved in a way that UNIX does. Even worse is that it is impossible
  11. to build shared libraries with undefined symbols. For example,
  12. libgrass_dbmidriver.so cannot be built without any implementations
  13. of db__driver_* functions which should be specific to a db driver.
  14. To work around this problem, function pointers are defined to use
  15. driver's implementations instead of those of the db stubs library.
  16. To do this automatically, run '../mk_dbdriver_h.sh' in driver's
  17. directory, #include "dbdriver.h" from main.c, and execute init_dbdriver().
  18. Function pointers are defined in grass6/lib/db/dbmi_driver/dbstubs.h
  19. This header file can be generated with
  20. lib/db/dbmi_driver/mk_dbstubs_h.sh
  21. Please read lib/db/README