diff options
author | svidyuk <svidyuk@yandex-team.ru> | 2022-02-10 16:47:12 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:47:12 +0300 |
commit | e23df0602fedd83374b43b6137a296baa2aad3f6 (patch) | |
tree | 1facb78b6535ac70f17ba39ed606d949f932fcea /build/plugins/swig.py | |
parent | 92661c40a019d4809586c8ce322075d197427346 (diff) | |
download | ydb-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.py | 124 |
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) |