2022-08-29 20:51:22 +08:00
[ax_extension]
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_extension
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 = ax
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
2024-02-03 10:08:22 +08:00
ax_headers = -I%(axdir)s -I%(axdir)s/extensions -I%(axdir)s/extensions/Particle3D/src -I%(axdir)s/extensions/cocostudio/src -I%(axdir)s/core -I%(axdir)s/core/platform/android -I%(axdir)s/thirdparty -I%(axdir)s/thirdparty/yasio -I%(axdir)s/thirdparty/jni.hpp/include -I%(axdir)s/thirdparty/rapidjson -I%(axdir)s/thirdparty/box2d/include -I%(axdir)s/thirdparty/robin-map/include -I%(axdir)s/thirdparty/glad/include
2019-11-23 20:27:39 +08:00
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/extensions/cocos-ext.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*$".
2021-08-14 13:22:03 +08:00
classes = ^Control.* ^ControlButton.* ScrollView$ TableView$ TableViewCell$ AssetsManager AssetsManagerEx Manifest EventAssetsManagerEx EventListenerAssetsManagerEx PUParticleSystem3D ParticleSystem3D ParticlePool
2019-11-23 20:27:39 +08:00
# 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 = .*Delegate::[*],
.*Loader.*::[*],
*::[^visit$ copyWith.* onEnter.* onExit.* ^description$ getObjectType (g|s)etDelegate .*HSV],
EditBox::[(g|s)etDelegate ^keyboard.* touchDownAction getScriptEditBoxHandler registerScriptEditBoxHandler unregisterScriptEditBoxHandler],
ControlUtils::[*],
ControlSwitchSprite::[*],
ScrollView::[(g|s)etDelegate$],
TableView::[create (g|s)etDataSource$ (g|s)etDelegate],
Manifest::[getAssets],
EventListenerAssetsManagerEx::[create],
PUParticleSystem3D::[getDerivedOrientation getEmittedEmitterParticlePool getEmittedSystemParticlePool getAffector getEmitter getObserver],
ParticlePool::[getActiveParticleList createParticle getNext getFirst],
2021-08-14 13:22:03 +08:00
ParticleSystem3D::[getParticlePool getAffector],
Controller::[*]
2019-11-23 20:27:39 +08:00
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 = ArmatureDataManager Manifest
# 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