#
# Configuration file for APRUTIL. Used by APR/build/gen-build.py
#

[options]

# the platform-independent .c files
paths =
  buckets/*.c
  crypto/*.c
  dbm/*.c
  dbm/sdbm/*.c
  encoding/*.c
  hooks/*.c
  ldap/*.c
  misc/*.c
  memcache/*.c
  uri/apr_uri.c
  xml/*.c
  strmatch/*.c
  xlate/*.c
  dbd/apr_dbd.c
  ssl/*.c

# we have no platform-specific subdirs
platform_dirs =

# the public headers
headers = include/*.h include/private/*.h

modules = dbd_pgsql dbd_sqlite2 dbd_sqlite3 dbd_oracle dbd_mysql dbd_freetds

# gen_uri_delim.c

# we have a recursive makefile for the test files (for now)
# test/*.c

[dbd_pgsql]
paths = dbd/apr_dbd_pgsql.c
target = dbd/apr_dbd_pgsql.la

[dbd_sqlite2]
paths = dbd/apr_dbd_sqlite2.c
target = dbd/apr_dbd_sqlite2.la

[dbd_sqlite3]
paths = dbd/apr_dbd_sqlite3.c
target = dbd/apr_dbd_sqlite3.la

[dbd_oracle]
paths = dbd/apr_dbd_oracle.c
target = dbd/apr_dbd_oracle.la

[dbd_mysql]
paths = dbd/apr_dbd_mysql.c
target = dbd/apr_dbd_mysql.la

[dbd_freetds]
paths = dbd/apr_dbd_freetds.c
target = dbd/apr_dbd_freetds.la

