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

[options]

# paths to platform-independent .c files to build
paths =
  passwd/*.c
  strings/*.c
  tables/*.c
  buckets/*.c
  crypto/apr_crypto.c
  crypto/apr_crypto_prng.c
  crypto/apr_crypto_internal.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
  jose/*.c
  json/*.c
  misc/*.c
  memcache/*.c
  redis/*.c
  uri/apr_uri.c
  xml/*.c
  strmatch/*.c
  xlate/*.c
  dbd/apr_dbd.c
  util-misc/*.c
  

# directories that have platform-specific code in them. the resulting
# pattern will be: SUBDIR/PLATFORM/*.c
platform_dirs =
  dso file_io locks memory misc mmap network_io poll random
  shmem support threadproc time user atomic

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

# aplibtool is manually built by the configure process
# build/aplibtool.c

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

dsp = libapr.dsp

modules =
  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

