challenger

OAuth 2.0-based authentication service that validates user can receive messages at a certain address
Log | Files | Refs | Submodules | README | LICENSE

meson.build (2902B)


      1 # This file is in the public domain
      2 
      3 install_data('challenger_db_postgres.conf', install_dir: pkgcfgdir)
      4 
      5 
      6 sqldir = get_option('datadir') / 'challenger' / 'sql'
      7 
      8 procedures_sql = [
      9   'procedures-prelude.sql',
     10   'challenger_do_challenge_set_address_and_pin.sql',
     11   'challenger_do_validate_and_solve_pin.sql',
     12   'commit.sql',
     13 ]
     14 
     15 generated_sql = [
     16     ['versioning.sql', ['versioning.sql']],
     17     ['drop.sql', ['drop.sql']],
     18     ['procedures.sql', procedures_sql],
     19     ['challenger-0001.sql', ['challenger-0001.sql']],
     20     ['challenger-0002.sql', ['challenger-0002.sql']],
     21 ]
     22 
     23 foreach g : generated_sql
     24     custom_target(
     25         'gen-challengerdb-' + g[0],
     26         input: g[1],
     27         output: g[0],
     28         capture: true,
     29         command: ['./amalgamate-sql.sh', '@INPUT@'],
     30         install: true,
     31         install_dir: sqldir,
     32     )
     33 endforeach
     34 
     35 libchallengerdb_SOURCES = [
     36     'address_get.c',
     37     'client_add.c',
     38     'client_modify.c',
     39     'client_delete.c',
     40     'client_check.c',
     41     'create_tables.c',
     42     'drop_tables.c',
     43     'gc.c',
     44     'info_get_token.c',
     45     'token_add_token.c',
     46     'setup_nonce.c',
     47     'preflight.c',
     48     'pg.c',
     49     'authorize_start.c',
     50     'challenge_set_address_and_pin.c',
     51     'validate_solve_pin.c',
     52     'validation_get.c',
     53     'validation_get_pkce.c',
     54 ]
     55 libchallengerdb = library(
     56     'challengerdb',
     57     libchallengerdb_SOURCES,
     58     soversion: solibversions['libchallengerdb']['soversion'],
     59     version: solibversions['libchallengerdb']['soversion'],
     60     install_rpath: rpath_option,
     61     dependencies: [
     62         libchallengerutil_dep,
     63         talerpq_dep,
     64         gnunetutil_dep,
     65         gnunetpq_dep,
     66         pq_dep,
     67     ],
     68     include_directories: [incdir, configuration_inc],
     69     install: true,
     70     install_dir: get_option('libdir'),
     71 )
     72 
     73 libchallengerdb_dep = declare_dependency(link_with: libchallengerdb)
     74 pkg.generate(
     75     libchallengerdb,
     76     url: 'https://taler.net',
     77     description: 'GNU Taler challenger DB library',
     78 )
     79 
     80 executable(
     81     'challenger-dbinit',
     82     ['challenger-dbinit.c'],
     83     dependencies: [
     84         libchallengerutil_dep,
     85         libchallengerdb_dep,
     86         gnunetutil_dep,
     87         talerutil_dep,
     88     ],
     89     include_directories: [incdir, configuration_inc],
     90     install: true,
     91 )
     92 
     93 configure_file(
     94     input: 'test_challenger_db_postgres.conf',
     95     output: 'test_challenger_db_postgres.conf',
     96     copy: true,
     97 )
     98 
     99 test_challenger_db_postgres = executable(
    100     'test_challenger_db-postgres',
    101     ['test_challenger_db.c'],
    102     dependencies: [
    103         gnunetutil_dep,
    104         libchallengerutil_dep,
    105         libchallengerdb_dep,
    106         gnunetpq_dep,
    107         talerutil_dep,
    108     ],
    109     include_directories: [incdir, configuration_inc],
    110     build_by_default: false,
    111     install: false,
    112 )
    113 test(
    114     'test_challenger_db-postgres',
    115     test_challenger_db_postgres,
    116     workdir: meson.current_build_dir(),
    117     suite: ['challengerdb'],
    118     is_parallel: false,
    119 )