2022-08-29 20:51:22 +08:00
[ax_backend]
2019-11-23 20:27:39 +08:00
# the prefix to be added to the generated functions. You might or might not use this in your own
# templates
2022-08-29 20:51:22 +08:00
prefix = ax_backend
2019-11-23 20:27:39 +08:00
# create a target namespace (in javascript, this would create some code like the equiv. to `ns = ns || {}`)
# all classes will be embedded in that namespace
2022-07-12 21:31:54 +08:00
target_namespace = axb
2019-11-23 20:27:39 +08:00
android_headers =
2023-09-26 09:50:25 +08:00
android_flags = -target armv7-none-linux-androideabi -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -DANDROID -D__ANDROID_API__=16 -idirafter %(androidndkdir)s/sources/android/support/include -idirafter %(clangllvmdir)s/sysroot/usr/include -idirafter %(clangllvmdir)s/sysroot/usr/include/arm-linux-androideabi -I%(androidndkdir)s/sources/cxx-stl/llvm-libc++/include
2019-11-23 20:27:39 +08:00
clang_headers =
2023-09-26 09:50:25 +08:00
clang_flags = -nostdinc -x c++ -std=%(cxx_std)s -fsigned-char -U__SSE__
2019-11-23 20:27:39 +08:00
2023-09-11 00:30:52 +08:00
ax_headers = -I%(axdir)s/core -I%(axdir)s/core/platform/android -I%(axdir)s/extensions -I%(axdir)s/thirdparty -I%(axdir)s/thirdparty/jni.hpp/include -I%(axdir)s/thirdparty/robin-map/include -I%(axdir)s/thirdparty/glad/include
2022-08-29 20:51:22 +08:00
ax_flags = -DANDROID
2019-11-23 20:27:39 +08:00
cxxgenerator_headers =
# extra arguments for clang
2022-08-29 20:51:22 +08:00
extra_arguments = %(android_headers)s %(clang_headers)s %(cxxgenerator_headers)s %(ax_headers)s %(android_flags)s %(clang_flags)s %(ax_flags)s %(extra_flags)s
2019-11-23 20:27:39 +08:00
# what headers to parse
2022-09-26 23:01:09 +08:00
headers = %(axdir)s/core/renderer/backend/Types.h %(axdir)s/core/renderer/backend/ProgramState.h %(axdir)s/core/renderer/backend/Texture.h %(axdir)s/core/renderer/backend/VertexLayout.h %(axdir)s/core/renderer/backend/Device.h %(axdir)s/core/renderer/backend/RenderTarget.h
#headers = %(axdir)s/core/renderer/backend/ProgramState.h
2019-11-23 20:27:39 +08:00
# what classes to produce code for. You can use regular expressions here. When testing the regular
# expression, it will be enclosed in "^$", like this: "^Menu*$".
classes = VertexLayout BufferUsage BufferType ShaderStage VertexFormat PixelFormat TextureUsage IndexFormat VertexStepMode PrimitiveType TextureType SamplerAddressMode SamplerFilter StencilOperation CompareFunction BlendOperation BlendFactor ColorWriteMask SamplerDescriptor CullMode Winding UniformInfo UniformLocation AttributeBindInfo TextureCubeFace ProgramState TextureBackend Program Texture2DBackend TextureCubemapBackend Device
# what should we skip? in the format ClassName::[function function]
# ClassName is a regular expression, but will be used like this: "^ClassName$" functions are also
# regular expressions, they will not be surrounded by "^$". If you want to skip a whole class, just
# add a single "*" as functions. See bellow for several examples. A special class name is "*", which
# will apply to all class names. This is a convenience wildcard to be able to skip similar named
# functions from all classes.
skip = VertexLayout::[getAttributes],
ProgramState::[getCallbackUniforms getVertexTextureInfos getVertexUniformInfos getFragmentTextureInfos getFragmentUniformInfos setTextureArray setCallbackUniform setUniform getVertexUniformBuffer getFragmentUniformBuffer getVertexLayout getUniformLocation],
Program::[getFragmentUniformInfos getVertexUniformInfos cloneUniformBuffer getActiveUniformInfo getAllActiveUniformInfo],
Device::[newCommandBuffer newBuffer newTexture createDepthStencilState newRenderPipeline setFrameBufferOnly getDeviceInfo]
rename_functions =
rename_classes =
# for all class names, should we remove something when registering in the target VM?
remove_prefix =
# classes for which there will be no "parent" lookup
classes_have_no_parents =
# base classes which will be skipped when their sub-classes found them.
base_classes_to_skip =
# classes that create no constructor
# Set is special and we will use a hand-written constructor
abstract_classes =
# Determining whether to use script object(js object) to control the lifecycle of native(cpp) object or the other way around. Supported values are 'yes' or 'no'.
script_control_cpp = no