summaryrefslogtreecommitdiffstats
path: root/compat
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2019-10-29 14:04:24 +0100
committerJosé Bollo <jose.bollo@iot.bzh>2019-10-29 14:04:24 +0100
commitbb6458a147fd4a6743daecf5e73b88af98aad37f (patch)
tree6adeb653c393942df2c1831b7cde3ce3f41fdc48 /compat
parent587e0c2d9067ed67ae70d2ad76511cd4e9ca9db6 (diff)
Add meson build system
Change-Id: Ie5ea4a42445e7c4df61284164f7dd14b0ca12295 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'compat')
-rw-r--r--compat/include/meson.build19
-rw-r--r--compat/meson.build24
-rw-r--r--compat/pkgconfig/meson.build46
-rw-r--r--compat/src/meson.build50
4 files changed, 139 insertions, 0 deletions
diff --git a/compat/include/meson.build b/compat/include/meson.build
new file mode 100644
index 0000000..83b1bbb
--- /dev/null
+++ b/compat/include/meson.build
@@ -0,0 +1,19 @@
+###########################################################################
+# Copyright (C) 2018 "IoT.bzh"
+#
+# author: José Bollo <jose.bollo@iot.bzh>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+###########################################################################
+
+install_subdir('cynara', install_dir: get_option('includedir'))
diff --git a/compat/meson.build b/compat/meson.build
new file mode 100644
index 0000000..d83d6fd
--- /dev/null
+++ b/compat/meson.build
@@ -0,0 +1,24 @@
+###########################################################################
+# Copyright (C) 2018 "IoT.bzh"
+#
+# author: José Bollo <jose.bollo@iot.bzh>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+###########################################################################
+
+cynara_version = cynagora_version
+cynara_soversion = cynagora_soversion
+
+subdir('src')
+subdir('include')
+subdir('pkgconfig')
diff --git a/compat/pkgconfig/meson.build b/compat/pkgconfig/meson.build
new file mode 100644
index 0000000..8726960
--- /dev/null
+++ b/compat/pkgconfig/meson.build
@@ -0,0 +1,46 @@
+###########################################################################
+# Copyright (C) 2018 "IoT.bzh"
+#
+# author: José Bollo <jose.bollo@iot.bzh>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+###########################################################################
+
+pkgconf = configuration_data()
+pkgconf.set('CYNARA_VERSION', cynara_version)
+pkgconf.set('CMAKE_INSTALL_FULL_LIBDIR', get_option('libdir'))
+pkgconf.set('CMAKE_INSTALL_FULL_INCLUDEDIR', get_option('includedir'))
+
+configure_file(
+ configuration: pkgconf,
+ input: 'cynara-compat.pc.in', output: 'cynara-compat.pc',
+ install: true, install_dir: get_option('libdir') + '/pkgconfig', install_mode: 'rw-r--r--'
+)
+
+foreach item : [ 'cynara-admin.pc',
+ 'cynara-agent.pc',
+ 'cynara-client-async.pc',
+ 'cynara-client.pc',
+ 'cynara-commons.pc',
+ 'cynara-creds-commons.pc',
+ 'cynara-creds-dbus.pc',
+ 'cynara-creds-gdbus.pc',
+ 'cynara-creds-self.pc',
+ 'cynara-creds-socket.pc',
+ 'cynara-monitor.pc',
+ 'cynara-plugin.pc',
+ 'cynara-session.pc' ]
+ custom_target(item, install: true, output: item, install_dir: get_option('libdir') + '/pkgconfig',
+ command: [ 'ln', '-sf', 'cynara-compat.pc', '@OUTPUT@' ])
+endforeach
+
diff --git a/compat/src/meson.build b/compat/src/meson.build
new file mode 100644
index 0000000..b1df225
--- /dev/null
+++ b/compat/src/meson.build
@@ -0,0 +1,50 @@
+###########################################################################
+# Copyright (C) 2018 "IoT.bzh"
+#
+# author: José Bollo <jose.bollo@iot.bzh>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+###########################################################################
+
+cyninc = include_directories('../../src', '../include')
+
+###########################################
+# build and install libcynara-compat
+###########################################
+if get_option('direct-cynara-compat')
+ cynalib = shared_library('cynara-compat', 'lib-compat.c', clisrcs,
+ version: cynara_version, soversion: cynara_soversion,
+ c_args: '-DDEFAULT_SOCKET_DIR="' + socketdir + '"',
+ include_directories: cyninc,
+ link_args: '-Wl,--version-script='+meson.current_source_dir()+'/export-cynara-compat.map',
+ install: true
+ )
+else
+ cynalib = shared_library('cynara-compat', 'lib-compat.c',
+ version: cynara_version, soversion: cynara_soversion,
+ c_args: '-DDEFAULT_SOCKET_DIR="' + socketdir + '"',
+ include_directories: cyninc,
+ link_args: '-Wl,--version-script='+meson.current_source_dir()+'/export-cynara-compat.map',
+ link_with: clilib,
+ install: true
+ )
+endif
+
+###########################################
+# build and install test-old-cynara
+###########################################
+executable('test-old-cynara', 'main-test-old-cynara.c',
+ install: true,
+ include_directories: cyninc,
+ link_with: cynalib
+)