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

[options]

# the platform-independent .c files
paths =
  buckets/*.c
  crypto/apr_crypto.c
  crypto/apr_md4.c
  crypto/apr_md5.c
  crypto/apr_passwd.c
  crypto/apr_sha1.c
  crypto/apr_siphash.c
  crypto/getuuid.c
  crypto/uuid.c
  crypto/crypt_blowfish.c
  dbm/apr_dbm_sdbm.c
  dbm/apr_dbm.c
  dbm/sdbm/*.c
  encoding/*.c
  hooks/*.c
  ldap/apr_ldap_stub.c
  ldap/apr_ldap_url.c
  misc/*.c
  memcache/*.c
  redis/*.c
  uri/apr_uri.c
  xml/*.c
  strmatch/*.c
  xlate/*.c
  dbd/apr_dbd.c

# we have no platform-specific subdirs
platform_dirs =

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

modules =
  ldap crypto_openssl crypto_nss crypto_commoncrypto dbd_pgsql
  dbd_sqlite2 dbd_sqlite3 dbd_oracle dbd_mysql dbd_odbc
  dbm_db dbm_gdbm dbm_ndbm

# gen_uri_delim.c

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

[crypto_commoncrypto]
paths = crypto/apr_crypto_commoncrypto.c
target = crypto/apr_crypto_commoncrypto.la

[crypto_openssl]
paths = crypto/apr_crypto_openssl.c
target = crypto/apr_crypto_openssl.la

[crypto_nss]
paths = crypto/apr_crypto_nss.c
target = crypto/apr_crypto_nss.la

[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_odbc]
paths = dbd/apr_dbd_odbc.c
target = dbd/apr_dbd_odbc.la

[dbm_db]
paths = dbm/apr_dbm_berkeleydb.c
target = dbm/apr_dbm_db.la

[dbm_gdbm]
paths = dbm/apr_dbm_gdbm.c
target = dbm/apr_dbm_gdbm.la

[dbm_ndbm]
paths = dbm/apr_dbm_ndbm.c
target = dbm/apr_dbm_ndbm.la

[ldap]
paths = ldap/apr_ldap_init.c
        ldap/apr_ldap_option.c
        ldap/apr_ldap_rebind.c
target = ldap/apr_ldap.la

