diff options
author | svidyuk <svidyuk@yandex-team.com> | 2023-07-20 08:18:47 +0300 |
---|---|---|
committer | svidyuk <svidyuk@yandex-team.com> | 2023-07-20 08:18:47 +0300 |
commit | b47b1c2cd78c8c201a3c4c0abda5534a93308722 (patch) | |
tree | fa6eee9441f78d7c1df9e8a4c9d1376c3cd0d4df | |
parent | 9ecdf48b542a92df563c8585d6f7b0b88e054f85 (diff) | |
download | ydb-b47b1c2cd78c8c201a3c4c0abda5534a93308722.tar.gz |
Move swig related rules into own module
Noop copy of maros and modules to a dedicated place
Invert USE_LOCAL_SWIG conditions in order to switch var value from `yes`/`no` to `no`/`path/to/swigdir` in next PRs
-rw-r--r-- | build/conf/java.conf | 60 | ||||
-rw-r--r-- | build/conf/swig.conf | 121 | ||||
-rw-r--r-- | build/conf/sysincl.conf | 2 | ||||
-rw-r--r-- | build/ymake.core.conf | 59 |
4 files changed, 123 insertions, 119 deletions
diff --git a/build/conf/java.conf b/build/conf/java.conf index 78ce874c7c0..47982484f2a 100644 --- a/build/conf/java.conf +++ b/build/conf/java.conf @@ -179,63 +179,3 @@ multimodule JAVA_CONTRIB_PROGRAM { .SEM=BUILD_JAR_SEM } } - -_EXPLICIT_SWIG_JAVA_SOURCES= -_EXPLICIT_SWIG_IFACE_SOURCES= -macro _EXPORT_JAVA_BINDINGS(JavaSrcs...) { - SET_APPEND(_EXPLICIT_SWIG_JAVA_SOURCES ${input:JavaSrcs}) - .SEM=find_package SWIG COMPONENTS java && find_package Java && find_package JNI && include UseSWIG && include UseJava ${input;hide:JavaSrcs} ${output;hide;pre=$_HASH_HELPER($Args):".o"} -} -macro _EXPORT_SWIG_SOURCES(SwigSrcs...) { - SET_APPEND(_EXPLICIT_SWIG_IFACE_SOURCES ${input:SwigSrcs}) -} - -macro _JNI_CPP_SWIG_SRCS(Srcs...) { - SRCS(${ext=.cpp:Srcs} ${ext=.swg:Srcs}) - _EXPORT_JAVA_BINDINGS(${ext=.java:Srcs}) - _EXPORT_SWIG_SOURCES(${ext=.swg:Srcs}) -} -macro _JNI_JAVA_SWIG_SRCS(Srcs...) { - SRCS(${ext=.java:Srcs} ${ext=.swg:Srcs}) -} - -SWIG_JNI_BINDINGS_SEM= \ - add_swig_jni_library ${MODDIR} ${REALPRJNAME}-cpp GEN_JAVA_FILES_LIST ${"$"}{CMAKE_CURRENT_BINARY_DIR}/swig_gen_java.lst SOURCES ${_EXPLICIT_SWIG_IFACE_SOURCES} && \ - set_target_property OUTPUT_NAME $REALPRJNAME && \ - ${VCS_INFO_SEM} && \ - target_include_directories PUBLIC $_C__INCLUDE_GLOBAL && \ - target_include_directories PRIVATE $_C__INCLUDE_OWNED && \ - target_compile_options PRIVATE $USER_CFLAGS $USER_CXXFLAGS $_SEM_EXTRA_CXX_FLAGS && target_compile_options PUBLIC $USER_CFLAGS_GLOBAL_RAW $USER_CXXFLAGS_GLOBAL_RAW && \ - target_link_options PRIVATE $LDFLAGS_GLOBAL_RAW $LDFLAGS $OBJADDE_LIB $OBJADDE && \ - add_jar ${REALPRJNAME} SOURCES $_EXPLICIT_SWIG_JAVA_SOURCES @${"$"}{CMAKE_CURRENT_BINARY_DIR}/swig_gen_java.lst ${hide:TARGET} - -### @usage: DLL_JAVA() -### -### DLL built using swig for Java. Produces dynamic library and a .jar. -### Dynamic library is treated the same as in the case of PEERDIR from Java to DLL. -### .jar goes on the classpath. -### -### Documentation: https://wiki.yandex-team.ru/yatool/java/#integracijascpp/pythonsborkojj -multimodule DLL_JAVA { - module JNI_DLL: DLL { - .ALIASES=SRCS=_JNI_CPP_SWIG_SRCS - .FINAL_TARGET=no - .SEM=SWIG_JNI_BINDINGS_SEM - SWIG_LANG=jni_cpp - } - module JAR_COMPILATION: EXTERNAL_JAVA_LIBRARY { - .ARGS_PARSER=DLL - .ALIASES=SRCS=_JNI_JAVA_SWIG_SRCS PEERDIR=_NOOP_MACRO - .PEERDIRSELF=JNI_DLL - PEERDIR+=build/platform/java/jdk - PEERDIR+=$JDK_RESOURCE_PEERDIR - SET(DONT_RESOLVE_INCLUDES yes) - .FINAL_TARGET=yes - - SWIG_LANG=jni_java - _SWIG_CMD=$_SWIG_JNI_JAVA_CMD - _SWIG_ADDINCLS=$_SWIG_JNI_ADDINCLS - _SWIG_PEERDIR=$_SWIG_JNI_PEERDIR - _SWIG_SEM_TO_MODULE_LINK=${output;hide;suf=.jsrc:SRC} - } -} diff --git a/build/conf/swig.conf b/build/conf/swig.conf new file mode 100644 index 00000000000..fdf90c3c587 --- /dev/null +++ b/build/conf/swig.conf @@ -0,0 +1,121 @@ +USE_LOCAL_SWIG=no + +when ($USE_LOCAL_SWIG == "no") { + _SWIG_TOOL=${tool:"contrib/tools/swig"} + _SWIG_LIBRARY=contrib/tools/swig/Lib + _SWIG_LIBRARY_ABS=$ARCADIA_ROOT/$_SWIG_LIBRARY +} +otherwise { + _SWIG_TOOL=$SWIG_TOOL + _SWIG_LIBRARY=$SWIG_LIBRARY + _SWIG_LIBRARY_ABS=$SWIG_LIBRARY +} +SWIG_IMPLICIT_INCLUDES = swig.swg go.swg java.swg perl5.swg python.swg + +_SWIG_CMD=$_SWIG_PYTHON_CMD +_SWIG_ADDINCLS=$_SWIG_PYTHON_ADDINCLS +_SWIG_PEERDIR=$_SWIG_PYTHON_PEERDIR +_SWIG_SEM_TO_MODULE_LINK=${output;hide;suf=.o:SRC} + +_SWIG_PYTHON_CMD=${_SWIG_TOOL} -module ${REALPRJNAME} -cpperraswarn -c++ -python -interface ${MODULE_PREFIX}${REALPRJNAME} -o ${output;noext;main;suf=_wrap.swg.cpp:SRC} ${output;noauto;add_to_outs;hide;tobindir;suf=.py:REALPRJNAME} -outdir ${BINDIR} ${pre=-I:_SWIG__INCLUDE} ${input:SRC} ${kv;hide:"p SW"} ${kv;hide:"pc yellow"} +_SWIG_PYTHON_ADDINCLS=FOR swig ${_SWIG_LIBRARY}/python FOR swig ${_SWIG_LIBRARY} +_SWIG_PYTHON_PEERDIR= + +_SWIG_PERL_CMD=${_SWIG_TOOL} -c++ -cpperraswarn -module ${REALPRJNAME} -shadow -perl -o ${output;noext;main;suf=_wrap.swg.cpp:SRC} ${output;noauto;add_to_outs;hide;tobindir;suf=.pm:REALPRJNAME} -outdir ${ARCADIA_BUILD_ROOT}/${MODDIR} ${pre=-I:_SWIG__INCLUDE} ${input:SRC} ${kv;hide:"p SW"} ${kv;hide:"pc yellow"} +_SWIG_PERL_ADDINCLS=FOR swig ${_SWIG_LIBRARY}/perl5 FOR swig ${_SWIG_LIBRARY} +_SWIG_PERL_PEERDIR=build/platform/perl + +_SWIG_JNI_CPP_CMD=$YMAKE_PYTHON3 ${input:"build/scripts/jni_swig.py"} --swig ${_SWIG_TOOL} --default-module ${nopath;noext:SRC} --src ${input:SRC} --out-header ${output;main;noext;suf=_wrap.swg.h:SRC} --package-by-file ru/yandex/${input;rootrel:SRC} -- ${pre=-I:_SWIG__INCLUDE} -o ${output;noext;suf=_wrap.swg.cpp:SRC} ${kv;hide:"p SW"} ${kv;hide:"pc yellow"} +_SWIG_JNI_JAVA_CMD=$YMAKE_PYTHON3 ${input:"build/scripts/jni_swig.py"} --swig ${_SWIG_TOOL} --default-module ${nopath;noext:SRC} --src ${input:SRC} --package-by-file ru/yandex/${input;rootrel:SRC} --jsrc ${output;main;suf=.jsrc:SRC} -- ${pre=-I:_SWIG__INCLUDE} -o ${BINDIR}/unused.cpp ${kv;hide:"p SW"} ${kv;hide:"pc yellow"} +_SWIG_JNI_CMD=$YMAKE_PYTHON3 ${input:"build/scripts/jni_swig.py"} --swig ${_SWIG_TOOL} --default-module ${nopath;noext:SRC} --src ${input:SRC} --out-header ${output;main;noext;suf=_wrap.swg.h:SRC} --package-by-file ru/yandex/${input;rootrel:SRC} --jsrc ${output;suf=.jsrc:SRC} -- ${pre=-I:_SWIG__INCLUDE} -o ${output;noext;suf=_wrap.swg.cpp:SRC} ${kv;hide:"p SW"} ${kv;hide:"pc yellow"} +_SWIG_JNI_ADDINCLS=FOR swig ${_SWIG_LIBRARY}/java FOR swig $_SWIG_LIBRARY +_SWIG_JNI_PEERDIR=contrib/libs/jdk + +REAL_SWIG_DLL_JAR_CMD=$GENERATE_VCS_JAVA_INFO_NODEP && ${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON ${input:"build/scripts/build_dll_and_java.py"} $JAVA_SWIG_DELIM $REAL_LINK_DYN_LIB $JAVA_SWIG_DELIM $COMPILE_JAVA $JAVA_SWIG_DELIM $AUTO_INPUT $JAVA_SWIG_DELIM $TARGET $JAVA_SWIG_DELIM ${output;suf=.jar:REALPRJNAME} $JAVA_SWIG_DELIM ${output;suf=-sources.jar:REALPRJNAME} $JAVA_SWIG_DELIM $ARCADIA_BUILD_ROOT $ARCADIA_ROOT + + +when ($USE_LOCAL_SWIG != "no") { + _SWIG_JNI_ADDINCLS= +} +when ($USE_SYSTEM_JDK == "yes" || $OS_ANDROID == "yes") { + _SWIG_JNI_PEERDIR= +} + +# tag:python-processing tag:internal +### @usage: _SWIG_PYTHON_CPP(Src, DstSubPrefix) # internal +### +### Run swig on Src to produce DstSubPrefix.py and DstSubPrefix_swg.cpp that +### provides DstSubPrefix_swg python module. +macro _SWIG_PYTHON_CPP(Src, DstSubPrefix) { + .CMD=$_SWIG_TOOL -I$ARCADIA_BUILD_ROOT -I$ARCADIA_ROOT -I$_SWIG_LIBRARY_ABS/python -I$_SWIG_LIBRARY_ABS -c++ -python -module ${nopath:DstSubPrefix} -interface ${nopath;suf=_swg:DstSubPrefix} -o ${output;suf=.swg.cpp:DstSubPrefix} ${input:Src} ${output;noauto;hide;suf=.py:DstSubPrefix} ${kv;hide:"p SW"} ${kv;hide:"pc yellow"} + ADDINCL(FOR swig $_SWIG_LIBRARY/python FOR swig $_SWIG_LIBRARY) +} + +# tag:python-processing tag:internal +### @usage: _SWIG_PYTHON_C(Src, DstSubPrefix) # internal +### +### Like _SWIG_PYTHON_CPP but generate DstSubPrefix_swg.c. +macro _SWIG_PYTHON_C(Src, DstSubPrefix) { + .CMD=$_SWIG_TOOL -I$ARCADIA_BUILD_ROOT -I$ARCADIA_ROOT -I$_SWIG_LIBRARY_ABS/python -I$_SWIG_LIBRARY_ABS -python -module ${nopath:DstSubPrefix} -interface ${nopath;suf=_swg:DstSubPrefix} -o ${output;suf=.swg.c:DstSubPrefix} ${input:Src} ${output;noauto;hide;suf=.py:DstSubPrefix} ${kv;hide:"p SW"} ${kv;hide:"pc yellow"} + ADDINCL(FOR swig $_SWIG_LIBRARY/python FOR swig $_SWIG_LIBRARY) +} + +_EXPLICIT_SWIG_JAVA_SOURCES= +_EXPLICIT_SWIG_IFACE_SOURCES= +macro _EXPORT_JAVA_BINDINGS(JavaSrcs...) { + SET_APPEND(_EXPLICIT_SWIG_JAVA_SOURCES ${input:JavaSrcs}) + .SEM=find_package SWIG COMPONENTS java && find_package Java && find_package JNI && include UseSWIG && include UseJava ${input;hide:JavaSrcs} ${output;hide;pre=$_HASH_HELPER($Args):".o"} +} +macro _EXPORT_SWIG_SOURCES(SwigSrcs...) { + SET_APPEND(_EXPLICIT_SWIG_IFACE_SOURCES ${input:SwigSrcs}) +} + +macro _JNI_CPP_SWIG_SRCS(Srcs...) { + SRCS(${ext=.cpp:Srcs} ${ext=.swg:Srcs}) + _EXPORT_JAVA_BINDINGS(${ext=.java:Srcs}) + _EXPORT_SWIG_SOURCES(${ext=.swg:Srcs}) +} +macro _JNI_JAVA_SWIG_SRCS(Srcs...) { + SRCS(${ext=.java:Srcs} ${ext=.swg:Srcs}) +} + +SWIG_JNI_BINDINGS_SEM= \ + add_swig_jni_library ${MODDIR} ${REALPRJNAME}-cpp GEN_JAVA_FILES_LIST ${"$"}{CMAKE_CURRENT_BINARY_DIR}/swig_gen_java.lst SOURCES ${_EXPLICIT_SWIG_IFACE_SOURCES} && \ + set_target_property OUTPUT_NAME $REALPRJNAME && \ + ${VCS_INFO_SEM} && \ + target_include_directories PUBLIC $_C__INCLUDE_GLOBAL && \ + target_include_directories PRIVATE $_C__INCLUDE_OWNED && \ + target_compile_options PRIVATE $USER_CFLAGS $USER_CXXFLAGS $_SEM_EXTRA_CXX_FLAGS && target_compile_options PUBLIC $USER_CFLAGS_GLOBAL_RAW $USER_CXXFLAGS_GLOBAL_RAW && \ + target_link_options PRIVATE $LDFLAGS_GLOBAL_RAW $LDFLAGS $OBJADDE_LIB $OBJADDE && \ + add_jar ${REALPRJNAME} SOURCES $_EXPLICIT_SWIG_JAVA_SOURCES @${"$"}{CMAKE_CURRENT_BINARY_DIR}/swig_gen_java.lst ${hide:TARGET} + +### @usage: DLL_JAVA() +### +### DLL built using swig for Java. Produces dynamic library and a .jar. +### Dynamic library is treated the same as in the case of PEERDIR from Java to DLL. +### .jar goes on the classpath. +### +### Documentation: https://wiki.yandex-team.ru/yatool/java/#integracijascpp/pythonsborkojj +multimodule DLL_JAVA { + module JNI_DLL: DLL { + .ALIASES=SRCS=_JNI_CPP_SWIG_SRCS + .FINAL_TARGET=no + .SEM=SWIG_JNI_BINDINGS_SEM + SWIG_LANG=jni_cpp + } + module JAR_COMPILATION: EXTERNAL_JAVA_LIBRARY { + .ARGS_PARSER=DLL + .ALIASES=SRCS=_JNI_JAVA_SWIG_SRCS PEERDIR=_NOOP_MACRO + .PEERDIRSELF=JNI_DLL + PEERDIR+=build/platform/java/jdk + PEERDIR+=$JDK_RESOURCE_PEERDIR + SET(DONT_RESOLVE_INCLUDES yes) + .FINAL_TARGET=yes + + SWIG_LANG=jni_java + _SWIG_CMD=$_SWIG_JNI_JAVA_CMD + _SWIG_ADDINCLS=$_SWIG_JNI_ADDINCLS + _SWIG_PEERDIR=$_SWIG_JNI_PEERDIR + _SWIG_SEM_TO_MODULE_LINK=${output;hide;suf=.jsrc:SRC} + } +} diff --git a/build/conf/sysincl.conf b/build/conf/sysincl.conf index b9a8faf3a6b..1c0573ed6bb 100644 --- a/build/conf/sysincl.conf +++ b/build/conf/sysincl.conf @@ -12,7 +12,7 @@ SYSINCL+=build/sysincl/nvidia.yml SYSINCL+=build/sysincl/misc.yml SYSINCL+=build/sysincl/unsorted.yml -when ($USE_LOCAL_SWIG == "yes") { +when ($USE_LOCAL_SWIG != "no") { SYSINCL+=build/sysincl/swig-to-nothing.yml } otherwise { diff --git a/build/ymake.core.conf b/build/ymake.core.conf index 8eae150a185..d3468bbbc4c 100644 --- a/build/ymake.core.conf +++ b/build/ymake.core.conf @@ -47,6 +47,7 @@ SO_OUTPUTS=no @import "${CONF_ROOT}/conf/license.conf" @import "${CONF_ROOT}/conf/ts/ts.conf" @import "${CONF_ROOT}/conf/docs.conf" +@import "${CONF_ROOT}/conf/swig.conf" @import "${CONF_ROOT}/conf/java.conf" @import "${CONF_ROOT}/conf/project_specific/other.conf" @@ -397,18 +398,6 @@ elsewhen ($OS_WINDOWS) { CYTHON_OPTIONS += -E UNAME_SYSNAME=Windows } -when ($USE_LOCAL_SWIG != "yes") { - _SWIG_TOOL=${tool:"contrib/tools/swig"} - _SWIG_LIBRARY=contrib/tools/swig/Lib - _SWIG_LIBRARY_ABS=$ARCADIA_ROOT/$_SWIG_LIBRARY -} -otherwise { - _SWIG_TOOL=$SWIG_TOOL - _SWIG_LIBRARY=$SWIG_LIBRARY - _SWIG_LIBRARY_ABS=$SWIG_LIBRARY -} -SWIG_IMPLICIT_INCLUDES = swig.swg go.swg java.swg perl5.swg python.swg - FATAL_ERROR_MODULE=no FATAL_ERROR_MESSAGE= @@ -4819,7 +4808,6 @@ otherwise { EXTERNAL_JAVA_JDK_RESOURCE=$JDK_RESOURCE } COMPILE_JAVA=${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON ${input:"build/scripts/compile_java.py"} --java-bin $EXTERNAL_JAVA_JDK_RESOURCE/bin/java --javac-bin $EXTERNAL_JAVA_JDK_RESOURCE/bin/javac --jar-bin $JDK_RESOURCE/bin/jar --kotlin-compiler $KOTLIN_COMPILER_RESOURCE_GLOBAL/kotlin-compiler.jar $JAVA_VCS_MF_ARG $PACKAGE_PREFIX_ARGS --jar-output $TARGET --srcs-jar-output ${output;suf=-sources.jar:REALPRJNAME} $AUTO_INPUT DELIM $JAVAC_OPTS DELIM $MANAGED_PEERS_CLOSURE DELIM -no-stdlib -module-name $REALPRJNAME -jvm-target ${KOTLIN_JVM_TARGET} ${KOTLINC_OPTS_VALUE} ${kv;hide:"p JV"} ${kv;hide:"pc light-blue"} ${kv;hide:"show_out"} ${requirements;hide:"cpu:2"} -REAL_SWIG_DLL_JAR_CMD=$GENERATE_VCS_JAVA_INFO_NODEP && ${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON ${input:"build/scripts/build_dll_and_java.py"} $JAVA_SWIG_DELIM $REAL_LINK_DYN_LIB $JAVA_SWIG_DELIM $COMPILE_JAVA $JAVA_SWIG_DELIM $AUTO_INPUT $JAVA_SWIG_DELIM $TARGET $JAVA_SWIG_DELIM ${output;suf=.jar:REALPRJNAME} $JAVA_SWIG_DELIM ${output;suf=-sources.jar:REALPRJNAME} $JAVA_SWIG_DELIM $ARCADIA_BUILD_ROOT $ARCADIA_ROOT ARGS_DELIM="MACRO_CALLS_DELIM" @@ -6126,32 +6114,6 @@ macro _SRC(EXT, SRC, SRCFLAGS...) { # Generic macro definition for _SRC (just a placeholder, it does nothing) } -_SWIG_CMD=$_SWIG_PYTHON_CMD -_SWIG_ADDINCLS=$_SWIG_PYTHON_ADDINCLS -_SWIG_PEERDIR=$_SWIG_PYTHON_PEERDIR -_SWIG_SEM_TO_MODULE_LINK=${output;hide;suf=.o:SRC} - -_SWIG_PYTHON_CMD=${_SWIG_TOOL} -module ${REALPRJNAME} -cpperraswarn -c++ -python -interface ${MODULE_PREFIX}${REALPRJNAME} -o ${output;noext;main;suf=_wrap.swg.cpp:SRC} ${output;noauto;add_to_outs;hide;tobindir;suf=.py:REALPRJNAME} -outdir ${BINDIR} ${pre=-I:_SWIG__INCLUDE} ${input:SRC} ${kv;hide:"p SW"} ${kv;hide:"pc yellow"} -_SWIG_PYTHON_ADDINCLS=FOR swig ${_SWIG_LIBRARY}/python FOR swig ${_SWIG_LIBRARY} -_SWIG_PYTHON_PEERDIR= - -_SWIG_PERL_CMD=${_SWIG_TOOL} -c++ -cpperraswarn -module ${REALPRJNAME} -shadow -perl -o ${output;noext;main;suf=_wrap.swg.cpp:SRC} ${output;noauto;add_to_outs;hide;tobindir;suf=.pm:REALPRJNAME} -outdir ${ARCADIA_BUILD_ROOT}/${MODDIR} ${pre=-I:_SWIG__INCLUDE} ${input:SRC} ${kv;hide:"p SW"} ${kv;hide:"pc yellow"} -_SWIG_PERL_ADDINCLS=FOR swig ${_SWIG_LIBRARY}/perl5 FOR swig ${_SWIG_LIBRARY} -_SWIG_PERL_PEERDIR=build/platform/perl - -_SWIG_JNI_CPP_CMD=$YMAKE_PYTHON3 ${input:"build/scripts/jni_swig.py"} --swig ${_SWIG_TOOL} --default-module ${nopath;noext:SRC} --src ${input:SRC} --out-header ${output;main;noext;suf=_wrap.swg.h:SRC} --package-by-file ru/yandex/${input;rootrel:SRC} -- ${pre=-I:_SWIG__INCLUDE} -o ${output;noext;suf=_wrap.swg.cpp:SRC} ${kv;hide:"p SW"} ${kv;hide:"pc yellow"} -_SWIG_JNI_JAVA_CMD=$YMAKE_PYTHON3 ${input:"build/scripts/jni_swig.py"} --swig ${_SWIG_TOOL} --default-module ${nopath;noext:SRC} --src ${input:SRC} --package-by-file ru/yandex/${input;rootrel:SRC} --jsrc ${output;main;suf=.jsrc:SRC} -- ${pre=-I:_SWIG__INCLUDE} -o ${BINDIR}/unused.cpp ${kv;hide:"p SW"} ${kv;hide:"pc yellow"} -_SWIG_JNI_CMD=$YMAKE_PYTHON3 ${input:"build/scripts/jni_swig.py"} --swig ${_SWIG_TOOL} --default-module ${nopath;noext:SRC} --src ${input:SRC} --out-header ${output;main;noext;suf=_wrap.swg.h:SRC} --package-by-file ru/yandex/${input;rootrel:SRC} --jsrc ${output;suf=.jsrc:SRC} -- ${pre=-I:_SWIG__INCLUDE} -o ${output;noext;suf=_wrap.swg.cpp:SRC} ${kv;hide:"p SW"} ${kv;hide:"pc yellow"} -_SWIG_JNI_ADDINCLS=FOR swig ${_SWIG_LIBRARY}/java FOR swig $_SWIG_LIBRARY -_SWIG_JNI_PEERDIR=contrib/libs/jdk - -when ($USE_LOCAL_SWIG == "yes") { - _SWIG_JNI_ADDINCLS= -} -when ($USE_SYSTEM_JDK == "yes" || $OS_ANDROID == "yes") { - _SWIG_JNI_PEERDIR= -} - # tag:src-processing macro _SRC("swg", SRC, SRCFLAGS...) { .CMD=${_SWIG_CMD} @@ -6946,25 +6908,6 @@ macro _BUILDWITH_CYTHON_C_API_H(Src, Dep, Options...) { ADDINCL(FOR cython contrib/tools/cython/Cython/Includes) } -# tag:python-processing tag:internal -### @usage: _SWIG_PYTHON_CPP(Src, DstSubPrefix) # internal -### -### Run swig on Src to produce DstSubPrefix.py and DstSubPrefix_swg.cpp that -### provides DstSubPrefix_swg python module. -macro _SWIG_PYTHON_CPP(Src, DstSubPrefix) { - .CMD=$_SWIG_TOOL -I$ARCADIA_BUILD_ROOT -I$ARCADIA_ROOT -I$_SWIG_LIBRARY_ABS/python -I$_SWIG_LIBRARY_ABS -c++ -python -module ${nopath:DstSubPrefix} -interface ${nopath;suf=_swg:DstSubPrefix} -o ${output;suf=.swg.cpp:DstSubPrefix} ${input:Src} ${output;noauto;hide;suf=.py:DstSubPrefix} ${kv;hide:"p SW"} ${kv;hide:"pc yellow"} - ADDINCL(FOR swig $_SWIG_LIBRARY/python FOR swig $_SWIG_LIBRARY) -} - -# tag:python-processing tag:internal -### @usage: _SWIG_PYTHON_C(Src, DstSubPrefix) # internal -### -### Like _SWIG_PYTHON_CPP but generate DstSubPrefix_swg.c. -macro _SWIG_PYTHON_C(Src, DstSubPrefix) { - .CMD=$_SWIG_TOOL -I$ARCADIA_BUILD_ROOT -I$ARCADIA_ROOT -I$_SWIG_LIBRARY_ABS/python -I$_SWIG_LIBRARY_ABS -python -module ${nopath:DstSubPrefix} -interface ${nopath;suf=_swg:DstSubPrefix} -o ${output;suf=.swg.c:DstSubPrefix} ${input:Src} ${output;noauto;hide;suf=.py:DstSubPrefix} ${kv;hide:"p SW"} ${kv;hide:"pc yellow"} - ADDINCL(FOR swig $_SWIG_LIBRARY/python FOR swig $_SWIG_LIBRARY) -} - ### @usage: BUILDWITH_RAGEL6(Src Options...) ### ### Compile .rl file using Ragel6. |