2020-06-04 18:12:05 +00:00
|
|
|
# Copyright (C) 2019,2020 by Sukchan Lee <acetcom@gmail.com>
|
2019-04-27 14:54:30 +00:00
|
|
|
|
|
|
|
# This file is part of Open5GS.
|
|
|
|
|
|
|
|
# This program is free software: you can redistribute it and/or modify
|
|
|
|
# it under the terms of the GNU Affero General Public License as published by
|
|
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
|
|
# (at your option) any later version.
|
|
|
|
#
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
2017-08-05 05:23:37 +00:00
|
|
|
|
2022-08-22 20:57:08 +00:00
|
|
|
libdbi_conf = configuration_data()
|
2019-10-27 08:41:14 +00:00
|
|
|
|
2022-08-22 18:54:48 +00:00
|
|
|
dbi_sources = files('''
|
|
|
|
ogs-dbi.h
|
2022-08-22 20:57:08 +00:00
|
|
|
dbi.c
|
2022-08-22 18:54:48 +00:00
|
|
|
'''.split())
|
|
|
|
libdbi_sources = [dbi_sources]
|
|
|
|
|
|
|
|
mongo_sources = files('''
|
|
|
|
mongo/ogs-mongoc.h
|
|
|
|
mongo/ogs-mongoc.c
|
|
|
|
mongo/subscription.c
|
|
|
|
mongo/session.c
|
|
|
|
mongo/ims.c
|
2019-10-27 08:41:14 +00:00
|
|
|
'''.split())
|
|
|
|
|
2022-08-22 22:01:07 +00:00
|
|
|
json_sources = files('''
|
|
|
|
json/json.c
|
|
|
|
external/cjson/cJSON.c
|
|
|
|
'''.split())
|
|
|
|
libdbi_sources += [json_sources]
|
|
|
|
cjson_inc = include_directories('./external/')
|
|
|
|
|
2022-08-22 18:54:48 +00:00
|
|
|
libmongoc_dep = dependency('libmongoc-1.0', required: true)
|
|
|
|
if libmongoc_dep.found()
|
2022-08-22 20:57:08 +00:00
|
|
|
libdbi_conf.set('WITH_MONGOC', 1)
|
2022-08-22 18:54:48 +00:00
|
|
|
libdbi_sources += [mongo_sources]
|
|
|
|
endif
|
2019-10-27 08:41:14 +00:00
|
|
|
|
2022-08-22 20:57:08 +00:00
|
|
|
configure_file(output : 'dbi-config-private.h', configuration : libdbi_conf)
|
|
|
|
|
2019-10-27 08:41:14 +00:00
|
|
|
libdbi_inc = include_directories('.')
|
|
|
|
|
2022-08-22 22:01:07 +00:00
|
|
|
dbi_cc_flags = ['-DOGS_DBI_COMPILATION']
|
|
|
|
if cc.get_id() == 'gcc' or cc.get_id() == 'clang'
|
|
|
|
dbi_cc_flags += cc.get_supported_arguments([
|
|
|
|
'-Wno-float-equal',
|
|
|
|
])
|
|
|
|
endif
|
|
|
|
|
2019-10-27 08:41:14 +00:00
|
|
|
libdbi = library('ogsdbi',
|
|
|
|
sources : libdbi_sources,
|
|
|
|
version : libogslib_version,
|
2022-08-22 22:01:07 +00:00
|
|
|
c_args : dbi_cc_flags,
|
|
|
|
include_directories : [libdbi_inc, libinc, cjson_inc],
|
2020-06-04 18:12:05 +00:00
|
|
|
dependencies : [libcrypt_dep, libmongoc_dep],
|
2019-10-27 08:41:14 +00:00
|
|
|
install : true)
|
|
|
|
|
|
|
|
libdbi_dep = declare_dependency(
|
|
|
|
link_with : libdbi,
|
|
|
|
include_directories : [libdbi_inc, libinc],
|
2020-06-04 18:12:05 +00:00
|
|
|
dependencies : [libcrypt_dep, libmongoc_dep])
|