2018-05-14 13:15:52 +00:00
|
|
|
libfprint_sources = [
|
|
|
|
'fp_internal.h',
|
2018-05-28 09:51:38 +00:00
|
|
|
'drivers_api.h',
|
2018-05-14 13:15:52 +00:00
|
|
|
'async.c',
|
|
|
|
'core.c',
|
|
|
|
'data.c',
|
2018-09-14 15:19:30 +00:00
|
|
|
'fpi-dev.c',
|
|
|
|
'fpi-dev.h',
|
2018-09-06 11:23:13 +00:00
|
|
|
'fpi-log.h',
|
2018-09-05 10:39:16 +00:00
|
|
|
'fpi-ssm.c',
|
|
|
|
'fpi-ssm.h',
|
2018-09-05 15:15:20 +00:00
|
|
|
'fpi-poll.h',
|
|
|
|
'fpi-poll.c',
|
2018-09-19 14:33:03 +00:00
|
|
|
'fpi-usb.h',
|
|
|
|
'fpi-usb.c',
|
2018-05-14 13:15:52 +00:00
|
|
|
'img.c',
|
|
|
|
'imgdev.c',
|
|
|
|
'sync.c',
|
|
|
|
'assembling.c',
|
|
|
|
'assembling.h',
|
|
|
|
'drivers/driver_ids.h',
|
|
|
|
]
|
|
|
|
|
|
|
|
nbis_sources = [
|
|
|
|
'nbis/include/bozorth.h',
|
|
|
|
'nbis/include/bz_array.h',
|
|
|
|
'nbis/include/defs.h',
|
|
|
|
'nbis/include/lfs.h',
|
|
|
|
'nbis/include/log.h',
|
|
|
|
'nbis/include/morph.h',
|
|
|
|
'nbis/include/sunrast.h',
|
|
|
|
'nbis/bozorth3/bozorth3.c',
|
|
|
|
'nbis/bozorth3/bz_alloc.c',
|
|
|
|
'nbis/bozorth3/bz_drvrs.c',
|
|
|
|
'nbis/bozorth3/bz_gbls.c',
|
|
|
|
'nbis/bozorth3/bz_io.c',
|
|
|
|
'nbis/bozorth3/bz_sort.c',
|
|
|
|
'nbis/mindtct/binar.c',
|
|
|
|
'nbis/mindtct/block.c',
|
2018-08-24 17:48:53 +00:00
|
|
|
'nbis/mindtct/chaincod.c',
|
2018-05-14 13:15:52 +00:00
|
|
|
'nbis/mindtct/contour.c',
|
|
|
|
'nbis/mindtct/detect.c',
|
|
|
|
'nbis/mindtct/dft.c',
|
|
|
|
'nbis/mindtct/free.c',
|
2018-08-24 17:48:53 +00:00
|
|
|
'nbis/mindtct/getmin.c',
|
2018-05-14 13:15:52 +00:00
|
|
|
'nbis/mindtct/globals.c',
|
|
|
|
'nbis/mindtct/imgutil.c',
|
|
|
|
'nbis/mindtct/init.c',
|
|
|
|
'nbis/mindtct/line.c',
|
2018-08-24 17:48:53 +00:00
|
|
|
'nbis/mindtct/link.c',
|
2018-05-14 13:15:52 +00:00
|
|
|
'nbis/mindtct/log.c',
|
|
|
|
'nbis/mindtct/loop.c',
|
|
|
|
'nbis/mindtct/maps.c',
|
|
|
|
'nbis/mindtct/matchpat.c',
|
|
|
|
'nbis/mindtct/minutia.c',
|
|
|
|
'nbis/mindtct/morph.c',
|
|
|
|
'nbis/mindtct/quality.c',
|
|
|
|
'nbis/mindtct/remove.c',
|
|
|
|
'nbis/mindtct/ridges.c',
|
|
|
|
'nbis/mindtct/shape.c',
|
|
|
|
'nbis/mindtct/sort.c',
|
|
|
|
'nbis/mindtct/util.c',
|
2018-08-24 17:48:53 +00:00
|
|
|
'nbis/mindtct/xytreps.c',
|
2018-05-14 13:15:52 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
aeslib = false
|
|
|
|
aesx660 = false
|
|
|
|
aes3k = false
|
|
|
|
drivers_sources = []
|
|
|
|
drivers_cflags = []
|
|
|
|
foreach driver: drivers
|
|
|
|
if driver == 'upekts'
|
|
|
|
drivers_sources += [ 'drivers/upekts.c' ]
|
|
|
|
endif
|
|
|
|
if driver == 'upektc'
|
2018-09-04 12:03:02 +00:00
|
|
|
drivers_sources += [ 'drivers/upektc.c', 'drivers/upektc.h', 'drivers/upek_proto.c', 'drivers/upek_proto.h' ]
|
2018-05-14 13:15:52 +00:00
|
|
|
endif
|
|
|
|
if driver == 'upeksonly'
|
|
|
|
drivers_sources += [ 'drivers/upeksonly.c', 'drivers/upeksonly.h' ]
|
|
|
|
endif
|
|
|
|
if driver == 'uru4000'
|
|
|
|
drivers_sources += [ 'drivers/uru4000.c' ]
|
|
|
|
endif
|
|
|
|
if driver == 'aes1610'
|
|
|
|
drivers_sources += [ 'drivers/aes1610.c' ]
|
|
|
|
aeslib = true
|
|
|
|
endif
|
|
|
|
if driver == 'aes1660'
|
|
|
|
drivers_sources += [ 'drivers/aes1660.c', 'drivers/aes1660.h' ]
|
|
|
|
aeslib = true
|
|
|
|
aesx660 = true
|
|
|
|
endif
|
|
|
|
if driver == 'aes2501'
|
|
|
|
drivers_sources += [ 'drivers/aes2501.c', 'drivers/aes2501.h' ]
|
|
|
|
aeslib = true
|
|
|
|
endif
|
|
|
|
if driver == 'aes2550'
|
|
|
|
drivers_sources += [ 'drivers/aes2550.c', 'drivers/aes2550.h' ]
|
|
|
|
aeslib = true
|
|
|
|
endif
|
|
|
|
if driver == 'aes2660'
|
|
|
|
drivers_sources += [ 'drivers/aes2660.c', 'drivers/aes2660.h' ]
|
|
|
|
aeslib = true
|
|
|
|
aesx660 = true
|
|
|
|
endif
|
|
|
|
if driver == 'aes3500'
|
|
|
|
drivers_sources += [ 'drivers/aes3500.c' ]
|
|
|
|
aeslib = true
|
|
|
|
aes3k = true
|
|
|
|
endif
|
|
|
|
if driver == 'aes4000'
|
|
|
|
drivers_sources += [ 'drivers/aes4000.c' ]
|
|
|
|
aeslib = true
|
|
|
|
aes3k = true
|
|
|
|
endif
|
|
|
|
if driver == 'fdu2000'
|
|
|
|
drivers_sources += [ 'drivers/fdu2000.c' ]
|
|
|
|
endif
|
|
|
|
if driver == 'vcom5s'
|
|
|
|
drivers_sources += [ 'drivers/vcom5s.c' ]
|
|
|
|
endif
|
|
|
|
if driver == 'vfs101'
|
|
|
|
drivers_sources += [ 'drivers/vfs101.c' ]
|
|
|
|
endif
|
|
|
|
if driver == 'vfs301'
|
|
|
|
drivers_sources += [ 'drivers/vfs301.c', 'drivers/vfs301_proto.c', 'drivers/vfs301_proto.h', 'drivers/vfs301_proto_fragments.h' ]
|
|
|
|
endif
|
|
|
|
if driver == 'vfs5011'
|
|
|
|
drivers_sources += [ 'drivers/vfs5011.c', 'drivers/vfs5011_proto.h' ]
|
|
|
|
endif
|
|
|
|
if driver == 'upektc_img'
|
2018-09-04 12:03:02 +00:00
|
|
|
drivers_sources += [ 'drivers/upektc_img.c', 'drivers/upektc_img.h', 'drivers/upek_proto.c', 'drivers/upek_proto.h' ]
|
2018-05-14 13:15:52 +00:00
|
|
|
endif
|
|
|
|
if driver == 'etes603'
|
|
|
|
drivers_sources += [ 'drivers/etes603.c' ]
|
|
|
|
endif
|
|
|
|
if driver == 'vfs0050'
|
|
|
|
drivers_sources += [ 'drivers/vfs0050.c', 'drivers/vfs0050.h' ]
|
|
|
|
endif
|
|
|
|
if driver == 'elan'
|
|
|
|
drivers_sources += [ 'drivers/elan.c', 'drivers/elan.h' ]
|
|
|
|
endif
|
|
|
|
endforeach
|
|
|
|
|
|
|
|
if aeslib
|
2018-09-19 13:16:40 +00:00
|
|
|
drivers_sources += [ 'drivers/aeslib.c', 'drivers/aeslib.h' ]
|
2018-05-14 13:15:52 +00:00
|
|
|
endif
|
|
|
|
if aesx660
|
|
|
|
drivers_sources += ['drivers/aesx660.c', 'drivers/aesx660.h' ]
|
|
|
|
endif
|
|
|
|
if aes3k
|
|
|
|
drivers_sources += ['drivers/aes3k.c', 'drivers/aes3k.h' ]
|
|
|
|
endif
|
|
|
|
|
|
|
|
other_sources = []
|
|
|
|
if imaging_dep.found()
|
|
|
|
other_sources += [ 'pixman.c' ]
|
|
|
|
endif
|
|
|
|
|
2018-05-24 10:16:18 +00:00
|
|
|
libfprint_sources += configure_file(input: 'empty_file',
|
|
|
|
output: 'drivers_definitions.h',
|
|
|
|
capture: true,
|
|
|
|
command: [
|
|
|
|
'/bin/echo',
|
|
|
|
drivers_struct_list
|
|
|
|
])
|
|
|
|
|
|
|
|
libfprint_sources += configure_file(input: 'empty_file',
|
|
|
|
output: 'drivers_arrays.h',
|
|
|
|
capture: true,
|
|
|
|
command: [
|
|
|
|
'/bin/echo',
|
|
|
|
drivers_primitive_array + '\n\n' + drivers_img_array
|
|
|
|
])
|
|
|
|
|
2018-05-14 13:15:52 +00:00
|
|
|
deps = [ mathlib_dep, glib_dep, libusb_dep, nss_dep, imaging_dep ]
|
|
|
|
libfprint = library('fprint',
|
|
|
|
libfprint_sources + drivers_sources + nbis_sources + other_sources,
|
|
|
|
soversion: soversion,
|
|
|
|
version: libversion,
|
|
|
|
c_args: common_cflags + drivers_cflags,
|
|
|
|
include_directories: [
|
|
|
|
root_inc,
|
|
|
|
include_directories('nbis/include'),
|
|
|
|
],
|
|
|
|
dependencies: deps,
|
|
|
|
install: true)
|
|
|
|
|
|
|
|
libfprint_dep = declare_dependency(link_with: libfprint,
|
|
|
|
include_directories: root_inc)
|
|
|
|
|
2018-05-31 12:35:16 +00:00
|
|
|
install_headers(['fprint.h'], subdir: 'libfprint')
|
2018-05-14 13:15:52 +00:00
|
|
|
|
|
|
|
udev_rules = executable('fprint-list-udev-rules',
|
|
|
|
'fprint-list-udev-rules.c',
|
|
|
|
include_directories: [
|
|
|
|
root_inc,
|
|
|
|
],
|
|
|
|
dependencies: [ deps, libfprint_dep ],
|
|
|
|
install: false)
|
|
|
|
|
|
|
|
if get_option('udev_rules')
|
|
|
|
custom_target('udev-rules',
|
|
|
|
output: '60-fprint-autosuspend.rules',
|
|
|
|
capture: true,
|
|
|
|
command: [ udev_rules ],
|
|
|
|
install: true,
|
|
|
|
install_dir: udev_rules_dir)
|
|
|
|
endif
|
|
|
|
|
2018-06-03 12:40:34 +00:00
|
|
|
supported_devices = executable('fprint-list-supported-devices',
|
|
|
|
'fprint-list-supported-devices.c',
|
|
|
|
include_directories: [
|
|
|
|
root_inc,
|
|
|
|
],
|
|
|
|
dependencies: [ deps, libfprint_dep ],
|
|
|
|
install: false)
|