- 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
|