aboutsummaryrefslogtreecommitdiffstats
path: root/build/plugins/swig.py
diff options
context:
space:
mode:
authorsvidyuk <svidyuk@yandex-team.ru>2022-02-10 16:47:12 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:47:12 +0300
commite23df0602fedd83374b43b6137a296baa2aad3f6 (patch)
tree1facb78b6535ac70f17ba39ed606d949f932fcea /build/plugins/swig.py
parent92661c40a019d4809586c8ce322075d197427346 (diff)
downloadydb-e23df0602fedd83374b43b6137a296baa2aad3f6.tar.gz
Restoring authorship annotation for <svidyuk@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'build/plugins/swig.py')
-rw-r--r--build/plugins/swig.py124
1 files changed, 62 insertions, 62 deletions
diff --git a/build/plugins/swig.py b/build/plugins/swig.py
index 32a37204a60..f90185bcaab 100644
--- a/build/plugins/swig.py
+++ b/build/plugins/swig.py
@@ -26,22 +26,22 @@ class Swig(iw.CustomCommand):
self._swig_lang = unit.get('SWIG_LANG')
- if self._swig_lang != 'jni_java':
- self._main_out = os.path.join(
- self._bindir,
- '' if relpath == '.' else relpath.replace('..', '__'),
- self._input_name + '_wrap.swg.c')
-
- if not path.endswith('.c.swg'):
- self._flags += ['-c++']
- self._main_out += 'pp'
-
- # lang_specific_incl_dir = 'perl5' if self._swig_lang == 'perl' else self._swig_lang
- lang_specific_incl_dir = self._swig_lang
- if self._swig_lang == 'perl':
- lang_specific_incl_dir = 'perl5'
- elif self._swig_lang in ['jni_cpp', 'jni_java']:
- lang_specific_incl_dir = 'java'
+ if self._swig_lang != 'jni_java':
+ self._main_out = os.path.join(
+ self._bindir,
+ '' if relpath == '.' else relpath.replace('..', '__'),
+ self._input_name + '_wrap.swg.c')
+
+ if not path.endswith('.c.swg'):
+ self._flags += ['-c++']
+ self._main_out += 'pp'
+
+ # lang_specific_incl_dir = 'perl5' if self._swig_lang == 'perl' else self._swig_lang
+ lang_specific_incl_dir = self._swig_lang
+ if self._swig_lang == 'perl':
+ lang_specific_incl_dir = 'perl5'
+ elif self._swig_lang in ['jni_cpp', 'jni_java']:
+ lang_specific_incl_dir = 'java'
incl_dirs = [
"FOR", "swig",
posixpath.join(self._library_dir, lang_specific_incl_dir),
@@ -65,16 +65,16 @@ class Swig(iw.CustomCommand):
self._flags.append('-shadow')
unit.onpeerdir(['build/platform/perl'])
- if self._swig_lang in ['jni_cpp', 'java']:
+ if self._swig_lang in ['jni_cpp', 'java']:
self._out_header = os.path.splitext(self._main_out)[0] + '.h'
if (not unit.get('USE_SYSTEM_JDK')) and (unit.get('OS_ANDROID') != "yes"):
unit.onpeerdir(['contrib/libs/jdk'])
- self._package = 'ru.yandex.' + os.path.dirname(self._path).replace('$S/', '').replace('$B/', '').replace('/', '.').replace('-', '_')
- if self._swig_lang in ['jni_java', 'java']:
- self._out_name = os.path.splitext(os.path.basename(self._path))[0] + '.jsrc'
- elif self._swig_lang != 'jni_cpp':
- self._flags.append('-' + self._swig_lang)
+ self._package = 'ru.yandex.' + os.path.dirname(self._path).replace('$S/', '').replace('$B/', '').replace('/', '.').replace('-', '_')
+ if self._swig_lang in ['jni_java', 'java']:
+ self._out_name = os.path.splitext(os.path.basename(self._path))[0] + '.jsrc'
+ elif self._swig_lang != 'jni_cpp':
+ self._flags.append('-' + self._swig_lang)
def descr(self):
return 'SW', self._path, 'yellow'
@@ -91,23 +91,23 @@ class Swig(iw.CustomCommand):
]
def output(self):
- if self._swig_lang == 'jni_java':
- return [(common.join_intl_paths(self._bindir, self._out_name), [])]
- elif self._swig_lang == 'jni_cpp':
- return [(self._main_out, []), (self._out_header, [])]
-
+ if self._swig_lang == 'jni_java':
+ return [(common.join_intl_paths(self._bindir, self._out_name), [])]
+ elif self._swig_lang == 'jni_cpp':
+ return [(self._main_out, []), (self._out_header, [])]
+
return [
(self._main_out, []),
(common.join_intl_paths(self._bindir, self._out_name), (['noauto', 'add_to_outs'] if self._swig_lang != 'java' else [])),
] + ([(self._out_header, [])] if self._swig_lang == 'java' else [])
def output_includes(self):
- return [(self._out_header, [])] if self._swig_lang in ['java', 'jni_cpp'] else []
+ return [(self._out_header, [])] if self._swig_lang in ['java', 'jni_cpp'] else []
def run(self, extra_args, binary):
if self._local_swig:
binary = self._tool
- return self.do_run_java(binary, self._path) if self._swig_lang in ['java', 'jni_cpp', 'jni_java'] else self.do_run(binary, self._path)
+ return self.do_run_java(binary, self._path) if self._swig_lang in ['java', 'jni_cpp', 'jni_java'] else self.do_run(binary, self._path)
def _incl_flags(self):
return ['-I' + self.resolve_path(x) for x in self._incl_dirs]
@@ -122,10 +122,10 @@ class Swig(iw.CustomCommand):
import tarfile
outdir = self.resolve_path(self._bindir)
- if self._swig_lang != 'jni_cpp':
- java_srcs_dir = os.path.join(outdir, self._package.replace('.', '/'))
- if not os.path.exists(java_srcs_dir):
- os.makedirs(java_srcs_dir)
+ if self._swig_lang != 'jni_cpp':
+ java_srcs_dir = os.path.join(outdir, self._package.replace('.', '/'))
+ if not os.path.exists(java_srcs_dir):
+ os.makedirs(java_srcs_dir)
flags = self._incl_flags()
src = self.resolve_path(path)
@@ -133,32 +133,32 @@ class Swig(iw.CustomCommand):
if not re.search(r'(?m)^%module\b', f.read()):
flags += ['-module', os.path.splitext(os.path.basename(src))[0]]
- if self._swig_lang == 'jni_cpp':
- self.call([binary, '-c++', '-o', self._main_out, '-java', '-package', self._package] + flags + [src])
- elif self._swig_lang == 'jni_java':
- self.call([binary, '-c++', '-o', os.path.join(outdir, 'unused.cpp'), '-outdir', java_srcs_dir, '-java', '-package', self._package] + flags + [src])
- elif self._swig_lang == 'java':
- self.call([
- binary, '-c++', '-o', self._main_out, '-outdir', java_srcs_dir,
- '-java', '-package', self._package,
- ] + flags + [src])
-
- if self._swig_lang in ['jni_java', 'java']:
- with tarfile.open(os.path.join(outdir, self._out_name), 'a') as tf:
- tf.add(java_srcs_dir, arcname=self._package.replace('.', '/'))
-
- if self._swig_lang in ['jni_cpp', 'java']:
- header = os.path.splitext(self.resolve_path(self._main_out))[0] + '.h'
- if not os.path.exists(header):
- open(header, 'w').close()
-
-
-def on_swig_lang_filtered_srcs(unit, *args):
- swig_lang = unit.get('SWIG_LANG')
- allowed_exts = set()
- if swig_lang == 'jni_cpp':
- allowed_exts = set(['.cpp', '.swg'])
- if swig_lang == 'jni_java':
- allowed_exts = set(['.java', '.swg'])
- args = [arg for arg in iter(args) if allowed_exts and os.path.splitext(arg)[1] in allowed_exts]
- unit.onsrcs(args)
+ if self._swig_lang == 'jni_cpp':
+ self.call([binary, '-c++', '-o', self._main_out, '-java', '-package', self._package] + flags + [src])
+ elif self._swig_lang == 'jni_java':
+ self.call([binary, '-c++', '-o', os.path.join(outdir, 'unused.cpp'), '-outdir', java_srcs_dir, '-java', '-package', self._package] + flags + [src])
+ elif self._swig_lang == 'java':
+ self.call([
+ binary, '-c++', '-o', self._main_out, '-outdir', java_srcs_dir,
+ '-java', '-package', self._package,
+ ] + flags + [src])
+
+ if self._swig_lang in ['jni_java', 'java']:
+ with tarfile.open(os.path.join(outdir, self._out_name), 'a') as tf:
+ tf.add(java_srcs_dir, arcname=self._package.replace('.', '/'))
+
+ if self._swig_lang in ['jni_cpp', 'java']:
+ header = os.path.splitext(self.resolve_path(self._main_out))[0] + '.h'
+ if not os.path.exists(header):
+ open(header, 'w').close()
+
+
+def on_swig_lang_filtered_srcs(unit, *args):
+ swig_lang = unit.get('SWIG_LANG')
+ allowed_exts = set()
+ if swig_lang == 'jni_cpp':
+ allowed_exts = set(['.cpp', '.swg'])
+ if swig_lang == 'jni_java':
+ allowed_exts = set(['.java', '.swg'])
+ args = [arg for arg in iter(args) if allowed_exts and os.path.splitext(arg)[1] in allowed_exts]
+ unit.onsrcs(args)