gplugin/gplugin

Add TCC loader to meson build.
feature/meson
2016-09-26, Elliott Sales de Andrade
f7f4f79b40ce
Parents addc012e87d1
Children 9d985f05bb79
Add TCC loader to meson build.
--- a/meson.build Mon Sep 26 19:28:19 2016 -0400
+++ b/meson.build Mon Sep 26 20:24:29 2016 -0400
@@ -109,6 +109,7 @@
subdir('lua')
subdir('perl')
subdir('python')
+subdir('tcc')
###############################################################################
# Install stuff
--- a/meson_options.txt Mon Sep 26 19:28:19 2016 -0400
+++ b/meson_options.txt Mon Sep 26 20:24:29 2016 -0400
@@ -54,3 +54,9 @@
type : 'boolean', value : true,
description : 'Whether or not to build the Python 3.x plugin loader'
)
+
+option(
+ 'tcc',
+ type : 'boolean', value : false,
+ description : 'Whether or not to build the TCC plugin loader'
+)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tcc/meson.build Mon Sep 26 20:24:29 2016 -0400
@@ -0,0 +1,30 @@
+if get_option('tcc')
+ GPLUGIN_TCC_SOURCES = [
+ 'gplugin-tcc-core.c',
+ 'gplugin-tcc-loader.c',
+ 'gplugin-tcc-plugin.c',
+ ]
+
+ GPLUGIN_TCC_HEADERS = [
+ 'gplugin-tcc-loader.h',
+ 'gplugin-tcc-plugin.h',
+ ]
+
+ if not compiler.has_header('libtcc.h')
+ error('LibTcc header not found')
+ endif
+ TCC = compiler.find_library('tcc')
+
+ gplugin_tcc = shared_library('gplugin-tcc',
+ GPLUGIN_TCC_SOURCES,
+ GPLUGIN_TCC_HEADERS,
+ name_prefix : '',
+ dependencies : [TCC, gplugin_dep],
+ install : true,
+ install_dir : get_option('libdir') + '/gplugin'
+ )
+endif # tcc
+
+if get_option('testing')
+ subdir('tests')
+endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tcc/tests/meson.build Mon Sep 26 20:24:29 2016 -0400
@@ -0,0 +1,38 @@
+if get_option('tcc')
+
+e = executable('test-tcc-loader', 'test-tcc-loader.c',
+ c_args : [
+ '-DTCC_LOADER_DIR="@0@/tcc"'.format(meson.build_root()),
+ '-DTCC_PLUGIN_DIR="@0@/plugins"'.format(
+ meson.current_source_dir()),
+ ],
+ link_with : gplugin_loader_tests,
+ dependencies : [GLIB, GOBJECT, TCC, gplugin_dep])
+test('TCC Loader', e)
+
+#set(GTESTER_TCC_TESTS "${TCC_TESTS}")
+#set(GTESTER_TCC_LOG "test-gplugin-tcc.xml")
+#set(GTESTER_TCC_JUNIT "test-gplugin-tcc-junit.xml")
+#
+#add_custom_command(
+# COMMAND ${GTESTER} -k --verbose -o ${GTESTER_TCC_LOG} ${TCC_TESTS}
+# OUTPUT ${GTESTER_TCC_LOG}
+# DEPENDS gplugin ${GPLUGIN_GIR_TARGETS} gplugin-tcc
+# ${TCC_TESTS} ${CMAKE_CURRENT_SOURCE_DIR}/plugins
+# WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+#)
+#
+#add_custom_command(
+# COMMAND ${XSLTPROC} -o ${GTESTER_TCC_JUNIT} --nonet
+# ${CMAKE_SOURCE_DIR}/xsl/gtester-junit.xsl
+# ${GTESTER_TCC_LOG}
+# OUTPUT ${GTESTER_TCC_JUNIT}
+# DEPENDS ${GTESTER_TCC_LOG}
+# WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+#)
+#
+#add_custom_target(tcc-tests ALL
+# DEPENDS ${GTESTER_TCC_LOG} ${GTESTER_TCC_JUNIT} ${TCC_TESTS}
+#)
+
+endif # tcc