970c41de2b
- Update to version 2.35.0 Bug fixes: * asIScriptModule::GetGlobalVar was returning asSUCCESS when the given index was out of range * Compiler would give an error when compiling functions returning a reference to a type that cannot be instantiated * Fixed problem with LoadByteCode and shared classes * Fixed crash when using copy constructor declared as taking the object by value * Fixed memory invasion in compiler when compiling initialization lists with expressions using default arguments * Fixed memory invasion in compiler when compiling default arguments * Fixed an issue in compiler with auto type and constness * Fixed symbol lookup of child type from within class method while compiling a construct call * Fixed crash after a discarding a module that compiled a shared object type that continues to be used by other modules * Funcdefs are marked with asOBJ_GC as they can form circular references when used with delegates * Fixed memory leak when using CompileGlobalVar to add a variable to a module with an object type * Fixed error when loading bytecode that is using a list constructor for a value type * Fixed memory invasion in compiler when compiling default argument after an argument with index operator Library: * asIScriptModule::GetFunctionByName now supports informing the scope in the name * asIScriptModule::GetGlobalVarByName and GetTypeInfoByName also support informing the scope in the name * asIScriptEngine::GetTypeInfoByName and GetGlobalPropertyIndexByName also support informing the scope in the name * The default opAssign implementation for script classes will use the base class' opAssign method to copy inherited properties * Added config for 64bit x86 CPU on Haiku OS * Added flag asOBJ_APP_CLASS_MORE_CONSTRUCTORS to inform when a class with defaulted constructors has additional non-trivial constructors * Added support for native calling conventions on Linux with ARM64 * Improved time for compilation and loading pre-compiled bytecode for scripts with lots of type definitions * Added config to make the library buildable for Linux with Elbrus 2000 CPU Library interface: * asIScriptObject::CopyFrom now takes a const pointer * RegisterGlobalProperty and RegisterObjectProperty now return the index of the property upon success Virtual machine: * asBC_Thiscall1 bytecode instruction is now capable of catching and translating C++ exceptions to script exceptions Add-ons & Samples: * Implemented to-string debug callback for datetime in asrun * Fixed a problem due to daylight time when initializing a datetime object with specific date * debugger add-on handles incorrect user commands better * Implemented a version of exec for asrun sample that captures the standard output from the system command into a string * Implemented getCreateDateTime and getModifyDateTime on the filesystem add-on * Improved performance on array sort for arrays holding object types * Fixed registration of the virtual property accessors in the game sample * Fixed compilation error in scriptstdstring.cpp with AS_USE_NAMESPACE * Registered the script array add-on in the console sample * Added generic calling convention bindings for datetime and filesystem add-ons Project: * Fixed gnuc makefile to detect arm target and add a compiler flag to accept implicit IT constructs in thumb mode - Use https for source URL - Switch build to meson - Add angelscript-addons_lib.patch - Add pkgconfig support file - Build addons library and install related headers - Add angelscript_addons library subpackage - Move docs to -devel and drop main package OBS-URL: https://build.opensuse.org/request/show/879480 OBS-URL: https://build.opensuse.org/package/show/games/angelscript?expand=0&rev=15
163 lines
5.3 KiB
Diff
163 lines
5.3 KiB
Diff
Index: sdk/angelscript/projects/meson/meson.build
|
|
===================================================================
|
|
--- sdk.orig/angelscript/projects/meson/meson.build
|
|
+++ sdk/angelscript/projects/meson/meson.build
|
|
@@ -1,6 +1,6 @@
|
|
project('angelscript', 'cpp',
|
|
version : run_command(find_program('python3'), 'detect_ver.py').stdout().strip(),
|
|
- meson_version : '>=0.28.0',
|
|
+ meson_version : '>=0.49.0',
|
|
license : 'zlib')
|
|
|
|
threads = dependency('threads')
|
|
@@ -42,6 +42,31 @@ angel_srcs = [
|
|
'../../source/as_typeinfo.cpp',
|
|
'../../source/as_variablescope.cpp',
|
|
]
|
|
+
|
|
+angel_incl_dir = get_option('includedir') / 'AngelScript'
|
|
+
|
|
+angel_addons_srcs = [
|
|
+ '../../../add_on/autowrapper/generator/generateheader.cpp',
|
|
+ '../../../add_on/contextmgr/contextmgr.cpp',
|
|
+ '../../../add_on/datetime/datetime.cpp',
|
|
+ '../../../add_on/debugger/debugger.cpp',
|
|
+ '../../../add_on/scriptany/scriptany.cpp',
|
|
+ '../../../add_on/scriptarray/scriptarray.cpp',
|
|
+ '../../../add_on/scriptbuilder/scriptbuilder.cpp',
|
|
+ '../../../add_on/scriptdictionary/scriptdictionary.cpp',
|
|
+ '../../../add_on/scriptfile/scriptfile.cpp',
|
|
+ '../../../add_on/scriptfile/scriptfilesystem.cpp',
|
|
+ '../../../add_on/scriptgrid/scriptgrid.cpp',
|
|
+ '../../../add_on/scripthandle/scripthandle.cpp',
|
|
+ '../../../add_on/scripthelper/scripthelper.cpp',
|
|
+ '../../../add_on/scriptmath/scriptmathcomplex.cpp',
|
|
+ '../../../add_on/scriptmath/scriptmath.cpp',
|
|
+ '../../../add_on/scriptstdstring/scriptstdstring.cpp',
|
|
+ '../../../add_on/scriptstdstring/scriptstdstring_utils.cpp',
|
|
+ '../../../add_on/serializer/serializer.cpp',
|
|
+ '../../../add_on/weakref/weakref.cpp'
|
|
+]
|
|
+
|
|
if host_machine.cpu_family() == 'arm'
|
|
add_languages('c')
|
|
angel_srcs += [
|
|
@@ -55,7 +80,8 @@ angelscript_lib = library(
|
|
'angelscript',
|
|
sources : angel_srcs,
|
|
dependencies : threads,
|
|
- version : angelscript_version_num,
|
|
+ soversion : meson.project_version(),
|
|
+ version : meson.project_version(),
|
|
install : true,
|
|
)
|
|
angelscript_inc = include_directories('../../include')
|
|
@@ -65,4 +91,93 @@ angelscript_dep = declare_dependency(
|
|
version : meson.project_version(),
|
|
)
|
|
|
|
-install_headers('../../include/angelscript.h')
|
|
+angelscript_addons_lib = library(
|
|
+ 'angelscript_addons',
|
|
+ sources : angel_addons_srcs,
|
|
+ link_with : angelscript_lib,
|
|
+ include_directories : angelscript_inc,
|
|
+ soversion : meson.project_version(),
|
|
+ version : meson.project_version(),
|
|
+ install : true
|
|
+ )
|
|
+
|
|
+pkg = import('pkgconfig')
|
|
+pkg.generate(angelscript_lib, filebase : 'angelscript', description : 'Scripting library', subdirs : 'AngelScript')
|
|
+pkg.generate(angelscript_addons_lib, filebase : 'angelscript_addons', description : 'Scripting library', subdirs : 'AngelScript')
|
|
+
|
|
+install_headers(
|
|
+ '../../include/angelscript.h',
|
|
+ install_dir : angel_incl_dir
|
|
+ )
|
|
+install_headers(
|
|
+ '../../../add_on/autowrapper/aswrappedcall.h',
|
|
+ install_dir : angel_incl_dir / 'autowrapper'
|
|
+ )
|
|
+install_headers(
|
|
+ '../../../add_on/contextmgr/contextmgr.h',
|
|
+ install_dir : angel_incl_dir / 'contextmgr'
|
|
+ )
|
|
+install_headers(
|
|
+ '../../../add_on/datetime/datetime.h',
|
|
+ install_dir : angel_incl_dir / 'datetime'
|
|
+ )
|
|
+install_headers(
|
|
+ '../../../add_on/debugger/debugger.h',
|
|
+ install_dir : angel_incl_dir / 'debugger'
|
|
+ )
|
|
+install_headers(
|
|
+ '../../../add_on/scriptany/scriptany.h',
|
|
+ install_dir : angel_incl_dir / 'scriptany'
|
|
+ )
|
|
+install_headers(
|
|
+ '../../../add_on/scriptarray/scriptarray.h',
|
|
+ install_dir : angel_incl_dir / 'scriptarray'
|
|
+ )
|
|
+install_headers(
|
|
+ '../../../add_on/scriptbuilder/scriptbuilder.h',
|
|
+ install_dir : angel_incl_dir / 'scriptbuilder'
|
|
+ )
|
|
+install_headers(
|
|
+ '../../../add_on/scriptdictionary/scriptdictionary.h',
|
|
+ install_dir : angel_incl_dir / 'scriptdictionary'
|
|
+ )
|
|
+install_headers(
|
|
+ '../../../add_on/scriptfile/scriptfile.h',
|
|
+ install_dir : angel_incl_dir / 'scriptfile'
|
|
+ )
|
|
+install_headers(
|
|
+ '../../../add_on/scriptfile/scriptfilesystem.h',
|
|
+ install_dir : angel_incl_dir / 'scriptfile'
|
|
+ )
|
|
+install_headers(
|
|
+ '../../../add_on/scriptgrid/scriptgrid.h',
|
|
+ install_dir : angel_incl_dir / 'scriptgrid'
|
|
+ )
|
|
+install_headers(
|
|
+ '../../../add_on/scripthandle/scripthandle.h',
|
|
+ install_dir : angel_incl_dir / 'scripthandle'
|
|
+ )
|
|
+install_headers(
|
|
+ '../../../add_on/scripthelper/scripthelper.h',
|
|
+ install_dir : angel_incl_dir / 'scripthelper'
|
|
+ )
|
|
+install_headers(
|
|
+ '../../../add_on/scriptmath/scriptmathcomplex.h',
|
|
+ install_dir : angel_incl_dir / 'scriptmath'
|
|
+ )
|
|
+install_headers(
|
|
+ '../../../add_on/scriptmath/scriptmath.h',
|
|
+ install_dir : angel_incl_dir / 'scriptmath'
|
|
+ )
|
|
+install_headers(
|
|
+ '../../../add_on/scriptstdstring/scriptstdstring.h',
|
|
+ install_dir : angel_incl_dir / 'scriptstdstring'
|
|
+ )
|
|
+install_headers(
|
|
+ '../../../add_on/serializer/serializer.h',
|
|
+ install_dir : angel_incl_dir / 'serializer'
|
|
+ )
|
|
+install_headers(
|
|
+ '../../../add_on/weakref/weakref.h',
|
|
+ install_dir : angel_incl_dir / 'weakref'
|
|
+ )
|
|
Index: sdk/add_on/scriptfile/scriptfilesystem.cpp
|
|
===================================================================
|
|
--- sdk.orig/add_on/scriptfile/scriptfilesystem.cpp
|
|
+++ sdk/add_on/scriptfile/scriptfilesystem.cpp
|
|
@@ -15,6 +15,8 @@
|
|
#endif
|
|
#include <assert.h> // assert
|
|
|
|
+#include <cstring>
|
|
+
|
|
using namespace std;
|
|
|
|
BEGIN_AS_NAMESPACE
|