[libgda/jdbc: 3/3] JDBC: fix Java classes generation
- From: Daniel Espinosa Ortiz <despinosa src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgda/jdbc: 3/3] JDBC: fix Java classes generation
- Date: Sun, 19 Sep 2021 23:18:19 +0000 (UTC)
commit 0454b1a0f1fd8a26e84ec30b371720490611289a
Author: Daniel Espinosa <esodan gmail com>
Date: Sun Sep 19 17:17:22 2021 -0500
JDBC: fix Java classes generation
providers/jdbc/meson.build | 75 +++++++++++++++++++++++++++++++++-------------
1 file changed, 54 insertions(+), 21 deletions(-)
---
diff --git a/providers/jdbc/meson.build b/providers/jdbc/meson.build
index a50b4264d..4c0d69476 100644
--- a/providers/jdbc/meson.build
+++ b/providers/jdbc/meson.build
@@ -23,15 +23,16 @@ jni_filenames = [
jni_sources_fnamesext = []
jni_headers_fnamesext = []
jni_classes_fnamesext = []
+jni_classes_jar = []
foreach fn : jni_filenames
jni_sources_fnamesext += [fn +'.c']
jni_headers_fnamesext += [fn +'.h']
jni_classes_fnamesext += [fn +'.class']
+ jni_classes_jar += ['-C', meson.current_build_dir(), fn +'.class']
endforeach
jni_headers = jni_headers_fnamesext
jni_sources = files(jni_sources_fnamesext)
-jni_classes = jni_classes_fnamesext
jdbc_xml_fnames = [
'jdbc_specs_dsn',
@@ -110,7 +111,6 @@ libgda_jdbc_sources = files([
'jni-wrapper.c'
])
-#libgda_jdbc_sources += jni_headers
libgda_jdbc_sources += jni_sources
libgda_jdbc_sources += resources
@@ -123,14 +123,47 @@ jdbcprov_sources = files([
'sqlserver.java'
])
+javac = find_program('javac')
+jni_jdbc_sources = custom_target('jni-sources',
+ command: [javac,
+ '-classpath', meson.current_build_dir(),
+ '-d', meson.current_build_dir(),
+ '@INPUT@'
+ ],
+ input: jdbcprov_sources,
+ output: jni_classes_fnamesext,
+ install: false
+ )
+jni_jdbc_headers = custom_target('jni-headers',
+ command: [javac,
+ '-classpath', meson.current_build_dir(),
+ '-h', meson.current_build_dir(),
+ '-d', meson.current_build_dir(),
+ '@INPUT@'
+ ],
+ input: jdbcprov_sources,
+ output: jni_headers_fnamesext,
+ install: false
+ )
+
+libgda_jdbc_sources += jni_jdbc_headers
+
jdbc_manifest = files([
'MANIFEST.MF'
])
-libgda_jdbc_provider_jar = jar(
- 'gdaprovider-' + project_api_version,
- jdbcprov_sources,
- main_class : 'GdaJConnection',
+jar = find_program('jar')
+
+libgda_jdbc_provider_jar = custom_target(
+ 'gdaprovider-' + project_api_version + '.jar',
+ command: [jar,
+ '--create', '--file', '@OUTPUT@',
+ '--manifest=@INPUT@',
+ jni_classes_jar
+ ],
+ input: jdbc_manifest,
+ output: 'gdaprovider-'+project_api_version+'.jar',
+ depends: jni_jdbc_headers,
install : true,
install_dir: join_paths(get_option('libdir'), project_package, 'providers')
)
@@ -142,25 +175,25 @@ jdbc_args = [
]
jdbc_args += c_args
-link_args = [ '-Wl, --export-dynamic -module -avoid-version' ]
+link_args = [ '-Wl', '--export-dynamic', '-module', '-avoid-version' ]
host_os = host_machine.system().to_lower()
if host_os.contains('darwin') or host_os.contains('machten') or host_os.contains('rhapsody')
- link_args = [ '-Wl, -export_dynamic -module -avoid-version' ]
+ link_args = [ '-Wl', '-export_dynamic', '-module', '-avoid-version' ]
endif
-libgda_jdbc_provider = library ('gda-jdbc-' + project_api_version,
- libgda_jdbc_sources,
- dependencies: [
- libgda_dep,
- inc_libgdah_dep,
- inc_sqliteh_dep,
- ],
- c_args: jdbc_args,
- link_args: link_args,
- link_with: libgda,
- install: true,
- install_dir: join_paths(get_option('libdir'), project_package, 'providers')
-)
+# libgda_jdbc_provider = library ('gda-jdbc-' + project_api_version,
+# libgda_jdbc_sources,
+# dependencies: [
+# libgda_dep,
+# inc_libgdah_dep,
+# inc_sqliteh_dep,
+# ],
+# c_args: jdbc_args,
+# link_args: link_args,
+# link_with: libgda,
+# install: true,
+# install_dir: join_paths(get_option('libdir'), project_package, 'providers')
+# )
libgda_jdbc_provider_pc = configure_file(
input: 'libgda-jdbc-'+project_api_version+'.pc.in',
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]