merchant

Merchant backend to process payments, run by merchants
Log | Files | Refs | Submodules | README | LICENSE

Makefile.am (11499B)


      1 # This Makefile.am is in the public domain
      2 AM_CPPFLAGS = -I$(top_srcdir)/src/include
      3 
      4 plugindir = $(libdir)/taler-merchant
      5 
      6 pkgcfgdir = $(prefix)/share/taler-merchant/config.d/
      7 
      8 pkgcfg_DATA = \
      9   merchantdb-postgres.conf
     10 
     11 sqldir = $(prefix)/share/taler-merchant/sql/
     12 
     13 sqlinputs = \
     14   pg_*.sql \
     15   procedures.sql.in
     16 
     17 sql_DATA = \
     18   versioning.sql \
     19   procedures.sql \
     20   merchant-0001.sql \
     21   merchant-0002.sql \
     22   merchant-0003.sql \
     23   merchant-0004.sql \
     24   merchant-0005.sql \
     25   merchant-0006.sql \
     26   merchant-0007.sql \
     27   merchant-0008.sql \
     28   merchant-0009.sql \
     29   merchant-0010.sql \
     30   merchant-0011.sql \
     31   merchant-0012.sql \
     32   merchant-0013.sql \
     33   merchant-0014.sql \
     34   merchant-0015.sql \
     35   merchant-0016.sql \
     36   merchant-0017.sql \
     37   merchant-0018.sql \
     38   merchant-0019.sql \
     39   merchant-0020.sql \
     40   merchant-0021.sql \
     41   merchant-0022.sql \
     42   merchant-0023.sql \
     43   merchant-0024.sql \
     44   merchant-0025.sql \
     45   merchant-0026.sql \
     46   merchant-0027.sql \
     47   drop.sql
     48 
     49 BUILT_SOURCES = \
     50   procedures.sql
     51 
     52 procedures.sql: procedures.sql.in pg_*.sql
     53 	chmod +w $@ || true
     54 	gcc -E -P -undef - < procedures.sql.in 2>/dev/null | sed -e "s/--.*//" | awk 'NF' - >$@
     55 	chmod ugo-w $@
     56 
     57 
     58 if HAVE_POSTGRESQL
     59 if HAVE_GNUNETPQ
     60 plugin_LTLIBRARIES = \
     61   libtaler_plugin_merchantdb_postgres.la
     62 endif
     63 endif
     64 
     65 if USE_COVERAGE
     66   AM_CFLAGS = --coverage -O0
     67   XLIB = -lgcov
     68 endif
     69 
     70 lib_LTLIBRARIES = \
     71   libtalermerchantdb.la
     72 
     73 libtalermerchantdb_la_SOURCES = \
     74   merchantdb_plugin.c \
     75   merchantdb_helper.c
     76 
     77 libtalermerchantdb_la_LIBADD = \
     78   $(LIBGCRYPT_LIBS) \
     79   -ltalerutil \
     80   -ltalerpq \
     81   -lgnunetutil \
     82   -lltdl \
     83   $(XLIB)
     84 
     85 libtalermerchantdb_la_LDFLAGS = \
     86   $(POSTGRESQL_LDFLAGS) \
     87   -version-info 4:1:2 \
     88   -no-undefined
     89 
     90 libtaler_plugin_merchantdb_postgres_la_SOURCES = \
     91   pg_account_kyc_get_status.h pg_account_kyc_get_status.c \
     92   pg_account_kyc_set_failed.h pg_account_kyc_set_failed.c \
     93   pg_account_kyc_set_status.h pg_account_kyc_set_status.c \
     94   pg_activate_account.h pg_activate_account.c \
     95   pg_check_transfer_exists.h pg_check_transfer_exists.c \
     96   pg_delete_category.h pg_delete_category.c \
     97   pg_delete_contract_terms.h pg_delete_contract_terms.c \
     98   pg_delete_exchange_accounts.h pg_delete_exchange_accounts.c \
     99   pg_delete_instance_private_key.h pg_delete_instance_private_key.c \
    100   pg_delete_login_token.h pg_delete_login_token.c \
    101   pg_delete_order.h pg_delete_order.c \
    102   pg_delete_otp.h pg_delete_otp.c \
    103   pg_delete_pending_webhook.h pg_delete_pending_webhook.c \
    104   pg_delete_product.h pg_delete_product.c \
    105   pg_delete_template.h pg_delete_template.c \
    106   pg_delete_token_family.h pg_delete_token_family.c \
    107   pg_delete_transfer.h pg_delete_transfer.c \
    108   pg_delete_webhook.h pg_delete_webhook.c \
    109   pg_expire_locks.h pg_expire_locks.c \
    110   pg_gc.h pg_gc.c \
    111   pg_get_kyc_limits.h pg_get_kyc_limits.c \
    112   pg_get_kyc_status.h pg_get_kyc_status.c \
    113   pg_helper.h pg_helper.c \
    114   pg_inactivate_account.h pg_inactivate_account.c \
    115   pg_increase_refund.h pg_increase_refund.c \
    116   pg_insert_account.h pg_insert_account.c \
    117   pg_insert_category.h pg_insert_category.c \
    118   pg_insert_unit.h pg_insert_unit.c \
    119   pg_insert_contract_terms.h pg_insert_contract_terms.c \
    120   pg_insert_deposit.h pg_insert_deposit.c \
    121   pg_insert_deposit_confirmation.h pg_insert_deposit_confirmation.c \
    122   pg_insert_deposit_to_transfer.h pg_insert_deposit_to_transfer.c \
    123   pg_insert_exchange_account.h pg_insert_exchange_account.c \
    124   pg_insert_exchange_keys.h pg_insert_exchange_keys.c \
    125   pg_insert_exchange_signkey.h pg_insert_exchange_signkey.c \
    126   pg_insert_instance.h pg_insert_instance.c \
    127   pg_insert_issued_token.h pg_insert_issued_token.c \
    128   pg_insert_login_token.h pg_insert_login_token.c \
    129   pg_insert_order.h pg_insert_order.c \
    130   pg_insert_order_lock.h pg_insert_order_lock.c \
    131   pg_insert_otp.h pg_insert_otp.c \
    132   pg_insert_pending_webhook.h pg_insert_pending_webhook.c \
    133   pg_insert_product.h pg_insert_product.c \
    134   pg_insert_refund_proof.h pg_insert_refund_proof.c \
    135   pg_insert_spent_token.h pg_insert_spent_token.c \
    136   pg_insert_template.h pg_insert_template.c \
    137   pg_update_unit.h pg_update_unit.c \
    138   pg_insert_token_family.h pg_insert_token_family.c \
    139   pg_insert_token_family_key.h pg_insert_token_family_key.c \
    140   pg_insert_transfer.h pg_insert_transfer.c \
    141   pg_insert_transfer_details.h pg_insert_transfer_details.c \
    142   pg_insert_webhook.h pg_insert_webhook.c \
    143   pg_delete_unit.h pg_delete_unit.c \
    144   pg_lookup_units.h pg_lookup_units.c \
    145   pg_select_unit.h pg_select_unit.c \
    146   pg_lookup_mfa_challenge.h pg_lookup_mfa_challenge.c \
    147   pg_solve_mfa_challenge.h pg_solve_mfa_challenge.c \
    148   pg_update_mfa_challenge.h pg_update_mfa_challenge.c \
    149   pg_create_mfa_challenge.h pg_create_mfa_challenge.c \
    150   pg_lock_product.h pg_lock_product.c \
    151   pg_lookup_account.h pg_lookup_account.c \
    152   pg_lookup_all_products.h pg_lookup_all_products.c \
    153   pg_lookup_categories.h pg_lookup_categories.c \
    154   pg_lookup_contract_terms.h pg_lookup_contract_terms.c \
    155   pg_lookup_contract_terms2.h pg_lookup_contract_terms2.c \
    156   pg_lookup_contract_terms3.h pg_lookup_contract_terms3.c \
    157   pg_lookup_deposits.h pg_lookup_deposits.c \
    158   pg_lookup_deposits_by_contract_and_coin.h pg_lookup_deposits_by_contract_and_coin.c \
    159   pg_lookup_deposits_by_order.h pg_lookup_deposits_by_order.c \
    160   pg_lookup_expected_transfers.h pg_lookup_expected_transfers.c \
    161   pg_lookup_instance_auth.h pg_lookup_instance_auth.c \
    162   pg_lookup_instances.h pg_lookup_instances.c \
    163   pg_lookup_login_tokens.h pg_lookup_login_tokens.c \
    164   pg_lookup_order.h pg_lookup_order.c \
    165   pg_lookup_order_by_fulfillment.h pg_lookup_order_by_fulfillment.c \
    166   pg_lookup_order_status.h pg_lookup_order_status.c \
    167   pg_lookup_order_status_by_serial.h pg_lookup_order_status_by_serial.c \
    168   pg_lookup_order_summary.h pg_lookup_order_summary.c \
    169   pg_lookup_orders.h pg_lookup_orders.c \
    170   pg_lookup_otp_devices.h pg_lookup_otp_devices.c \
    171   pg_lookup_pending_deposits.h pg_lookup_pending_deposits.c \
    172   pg_lookup_pending_webhooks.h pg_lookup_pending_webhooks.c \
    173   pg_lookup_product.h pg_lookup_product.c \
    174   pg_lookup_product_image.h pg_lookup_product_image.c \
    175   pg_lookup_products.h pg_lookup_products.c \
    176   pg_lookup_refund_proof.h pg_lookup_refund_proof.c \
    177   pg_lookup_refunds.h pg_lookup_refunds.c \
    178   pg_lookup_refunds_detailed.h pg_lookup_refunds_detailed.c \
    179   pg_lookup_spent_tokens_by_order.h pg_lookup_spent_tokens_by_order.c \
    180   pg_lookup_template.h pg_lookup_template.c \
    181   pg_lookup_templates.h pg_lookup_templates.c \
    182   pg_lookup_token_families.h pg_lookup_token_families.c \
    183   pg_lookup_token_family.h pg_lookup_token_family.c \
    184   pg_lookup_token_family_key.h pg_lookup_token_family_key.c \
    185   pg_lookup_token_family_keys.h pg_lookup_token_family_keys.c \
    186   pg_lookup_transfer_details.h pg_lookup_transfer_details.c \
    187   pg_lookup_transfer_details_by_order.h pg_lookup_transfer_details_by_order.c \
    188   pg_lookup_transfer_summary.h pg_lookup_transfer_summary.c \
    189   pg_lookup_transfers.h pg_lookup_transfers.c \
    190   pg_lookup_webhook.h pg_lookup_webhook.c \
    191   pg_lookup_webhook_by_event.h pg_lookup_webhook_by_event.c \
    192   pg_lookup_webhooks.h pg_lookup_webhooks.c \
    193   pg_lookup_wire_fee.h pg_lookup_wire_fee.c \
    194   pg_mark_contract_paid.h pg_mark_contract_paid.c \
    195   pg_mark_order_wired.h pg_mark_order_wired.c \
    196   pg_select_order_blinded_sigs.h pg_select_order_blinded_sigs.c \
    197   pg_purge_instance.h pg_purge_instance.c \
    198   pg_refund_coin.h pg_refund_coin.c \
    199   pg_select_account.h pg_select_account.c \
    200   pg_select_account_by_uri.h pg_select_account_by_uri.c \
    201   pg_select_accounts.h pg_select_accounts.c \
    202   pg_select_accounts_by_exchange.h pg_select_accounts_by_exchange.c \
    203   pg_select_category.h pg_select_category.c \
    204   pg_select_category_by_name.h pg_select_category_by_name.c \
    205   pg_select_exchange_keys.h pg_select_exchange_keys.c \
    206   pg_select_login_token.h pg_select_login_token.c \
    207   pg_select_open_transfers.h pg_select_open_transfers.c \
    208   pg_select_otp.h pg_select_otp.c \
    209   pg_select_otp_serial.h pg_select_otp_serial.c \
    210   pg_select_wirewatch_accounts.h pg_select_wirewatch_accounts.c \
    211   pg_store_wire_fee_by_exchange.h pg_store_wire_fee_by_exchange.c \
    212   pg_unlock_inventory.h pg_unlock_inventory.c \
    213   pg_update_account.h pg_update_account.c \
    214   pg_update_category.h pg_update_category.c \
    215   pg_update_contract_session.h pg_update_contract_session.c \
    216   pg_update_contract_terms.h pg_update_contract_terms.c \
    217   pg_update_deposit_confirmation_status.h pg_update_deposit_confirmation_status.c \
    218   pg_update_donau_instance_receipts_amount.h pg_update_donau_instance_receipts_amount.c \
    219   pg_update_instance.h pg_update_instance.c \
    220   pg_update_instance_auth.h pg_update_instance_auth.c \
    221   pg_update_otp.h pg_update_otp.c \
    222   pg_update_pending_webhook.h pg_update_pending_webhook.c \
    223   pg_update_product.h pg_update_product.c \
    224   pg_update_template.h pg_update_template.c \
    225   pg_update_token_family.h pg_update_token_family.c \
    226   pg_update_transfer_status.h pg_update_transfer_status.c \
    227   pg_finalize_transfer_status.h pg_finalize_transfer_status.c \
    228   pg_delete_donau_instance.h pg_delete_donau_instance.c \
    229   pg_insert_order_blinded_sigs.h pg_insert_order_blinded_sigs.c \
    230   pg_update_webhook.h pg_update_webhook.c \
    231   pg_update_wirewatch_progress.h pg_update_wirewatch_progress.c \
    232   pg_lookup_statistics_counter_by_bucket.h pg_lookup_statistics_counter_by_bucket.c \
    233   pg_lookup_statistics_counter_by_interval.h pg_lookup_statistics_counter_by_interval.c \
    234   pg_lookup_statistics_amount_by_bucket.h pg_lookup_statistics_amount_by_bucket.c \
    235   pg_lookup_statistics_amount_by_interval.h pg_lookup_statistics_amount_by_interval.c \
    236   plugin_merchantdb_postgres.c
    237 
    238 if HAVE_DONAU
    239 libtaler_plugin_merchantdb_postgres_la_SOURCES += \
    240   pg_insert_donau_instance.h pg_insert_donau_instance.c \
    241   pg_check_donau_instance.h pg_check_donau_instance.c \
    242   pg_select_donau_instances.h pg_select_donau_instances.c \
    243   pg_select_all_donau_instances.h pg_select_all_donau_instances.c \
    244   pg_select_donau_instances_filtered.h pg_select_donau_instances_filtered.c \
    245   pg_select_donau_instance_by_serial.h pg_select_donau_instance_by_serial.c \
    246   pg_lookup_donau_keys.h pg_lookup_donau_keys.c \
    247   pg_lookup_order_charity.h pg_lookup_order_charity.c \
    248   pg_upsert_donau_keys.h pg_upsert_donau_keys.c \
    249   pg_update_donau_instance.h pg_update_donau_instance.c
    250 endif
    251 
    252 libtaler_plugin_merchantdb_postgres_la_LIBADD = \
    253   $(LTLIBINTL)
    254 libtaler_plugin_merchantdb_postgres_la_LDFLAGS = \
    255   $(TALER_PLUGIN_LDFLAGS) \
    256   -ltalerexchange \
    257   -ltalerpq \
    258   -ltalerutil \
    259   -ltalerjson \
    260   -ltalermhd \
    261   -lgnunetpq \
    262   -lgnunetjson \
    263   -lpq \
    264   -lgnunetutil \
    265   $(XLIB)
    266 
    267 if HAVE_DONAU
    268 libtaler_plugin_merchantdb_postgres_la_LDFLAGS += \
    269   -ldonau
    270 endif
    271 
    272 if HAVE_POSTGRESQL
    273 if HAVE_GNUNETPQ
    274 check_PROGRAMS = \
    275   test-merchantdb-postgres
    276 endif
    277 endif
    278 
    279 test_merchantdb_postgres_SOURCES = \
    280   test_merchantdb.c
    281 
    282 test_merchantdb_postgres_LDFLAGS = \
    283   -ltalerutil \
    284   -ltalerjson \
    285   -lgnunetjson \
    286   -lgnunetutil \
    287   -ljansson \
    288   $(XLIB)
    289 
    290 check_SCRIPTS = \
    291   test_webhook_trigger.sh
    292 
    293 test_merchantdb_postgres_LDADD = \
    294   $(top_builddir)/src/util/libtalermerchantutil.la \
    295   $(top_builddir)/src/backenddb/libtalermerchantdb.la
    296 
    297 AM_TESTS_ENVIRONMENT=export TALER_MERCHANT_PREFIX=$${TALER_MERCHANT_PREFIX:-@libdir@};export PATH=$${TALER_MERCHANT_PREFIX:-@prefix@}/bin:$$PATH;
    298 
    299 TESTS = \
    300   $(check_PROGRAMS) \
    301   $(check_SCRIPTS)
    302 
    303 EXTRA_DIST = \
    304   test-merchantdb-postgres.conf \
    305   merchantdb-postgres.conf \
    306   $(sqlinputs) \
    307   $(sql_DATA) \
    308   $(check_SCRIPTS)