diff options
author | supermerill <merill@free.fr> | 2022-02-17 19:06:00 +0300 |
---|---|---|
committer | supermerill <merill@free.fr> | 2022-02-17 19:06:00 +0300 |
commit | 49449eb1eaed960a4c7e31badaf4299d990f13ec (patch) | |
tree | cd92e73e48b460f07b587a6e50d4eee2b4b7b209 | |
parent | b85cd5731c4969226cbf1f2eb0f4355de6c1d3f1 (diff) | |
parent | dc4af507a4f9d144ca33a588721ad4813d3c024a (diff) |
Merge branch 'dev' into 24_masterLbibass
-rw-r--r-- | src/angelscript/CMakeLists.txt | 49 | ||||
-rw-r--r-- | src/jpeg-compressor/jpge.cpp | 2 | ||||
-rw-r--r-- | src/slic3r/GUI/ScriptExecutor.cpp | 28 |
3 files changed, 57 insertions, 22 deletions
diff --git a/src/angelscript/CMakeLists.txt b/src/angelscript/CMakeLists.txt index 7679bde3d..0a79256c8 100644 --- a/src/angelscript/CMakeLists.txt +++ b/src/angelscript/CMakeLists.txt @@ -59,11 +59,12 @@ set(ANGELSCRIPT_HEADERS source/as_tokenizer.h source/as_typeinfo.h source/as_variablescope.h - add_on/contextmgr/contextmgr.h - add_on/scriptarray/scriptarray.h - add_on/scriptbuilder/scriptbuilder.h - add_on/scriptdictionary/scriptdictionary.h - add_on/scriptstdstring/scriptstdstring.h + add_on/autowrapper/aswrappedcall.h + add_on/contextmgr/contextmgr.h + add_on/scriptarray/scriptarray.h + add_on/scriptbuilder/scriptbuilder.h + add_on/scriptdictionary/scriptdictionary.h + add_on/scriptstdstring/scriptstdstring.h ) set(ANGELSCRIPT_SOURCE @@ -100,12 +101,13 @@ set(ANGELSCRIPT_SOURCE source/as_tokenizer.cpp source/as_typeinfo.cpp source/as_variablescope.cpp - add_on/contextmgr/contextmgr.cpp - add_on/scriptarray/scriptarray.cpp - add_on/scriptbuilder/scriptbuilder.cpp - add_on/scriptdictionary/scriptdictionary.cpp - add_on/scriptstdstring/scriptstdstring.cpp - add_on/scriptstdstring/scriptstdstring_utils.cpp + add_on/autowrapper/generator/generateheader.cpp + add_on/contextmgr/contextmgr.cpp + add_on/scriptarray/scriptarray.cpp + add_on/scriptbuilder/scriptbuilder.cpp + add_on/scriptdictionary/scriptdictionary.cpp + add_on/scriptstdstring/scriptstdstring.cpp + add_on/scriptstdstring/scriptstdstring_utils.cpp ) if(MSVC AND CMAKE_CL_64) @@ -115,23 +117,28 @@ if(MSVC AND CMAKE_CL_64) else() message(FATAL ERROR "MSVC x86_64 target requires a working assembler") endif() -endif() - -if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^arm") +elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^arm64") +# # macos-arm : having difficulties with asm +# enable_language(ASM) +# if(CMAKE_ASM_COMPILER_WORKS) +# set(ANGELSCRIPT_SOURCE ${ANGELSCRIPT_SOURCE} source/as_callfunc_arm.cpp source/as_callfunc_arm_gcc.S) +# #set_property(SOURCE source/as_callfunc_arm_gcc.S APPEND PROPERTY COMPILE_FLAGS " -Wa,-mimplicit-it=always") +# else() +# message(FATAL ERROR "ARM64 target requires a working assembler") +# endif() +elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^aarch64") enable_language(ASM) if(CMAKE_ASM_COMPILER_WORKS) - set(ANGELSCRIPT_SOURCE ${ANGELSCRIPT_SOURCE} source/as_callfunc_arm.cpp source/as_callfunc_arm_gcc.S) - set_property(SOURCE source/as_callfunc_arm_gcc.S APPEND PROPERTY COMPILE_FLAGS " -Wa,-mimplicit-it=always") + set(ANGELSCRIPT_SOURCE ${ANGELSCRIPT_SOURCE} source/as_callfunc_arm64.cpp source/as_callfunc_arm64_gcc.S) + #set_property(SOURCE source/as_callfunc_arm64_gcc.S APPEND PROPERTY COMPILE_FLAGS " -Wa") else() message(FATAL ERROR "ARM target requires a working assembler") endif() -endif() - -if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^aarch64") +elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^arm") enable_language(ASM) if(CMAKE_ASM_COMPILER_WORKS) - set(ANGELSCRIPT_SOURCE ${ANGELSCRIPT_SOURCE} source/as_callfunc_arm64.cpp source/as_callfunc_arm64_gcc.S) - #set_property(SOURCE source/as_callfunc_arm64_gcc.S APPEND PROPERTY COMPILE_FLAGS " -Wa") + set(ANGELSCRIPT_SOURCE ${ANGELSCRIPT_SOURCE} source/as_callfunc_arm.cpp source/as_callfunc_arm_gcc.S) + set_property(SOURCE source/as_callfunc_arm_gcc.S APPEND PROPERTY COMPILE_FLAGS " -Wa,-mimplicit-it=always") else() message(FATAL ERROR "ARM target requires a working assembler") endif() diff --git a/src/jpeg-compressor/jpge.cpp b/src/jpeg-compressor/jpge.cpp index 4bdc34a97..f2605add2 100644 --- a/src/jpeg-compressor/jpge.cpp +++ b/src/jpeg-compressor/jpge.cpp @@ -32,7 +32,7 @@ #include <stdlib.h> #include <string.h> -#include <malloc.h> +//#include <malloc.h> // not needed, even create bugs in macos #define JPGE_MAX(a,b) (((a)>(b))?(a):(b)) #define JPGE_MIN(a,b) (((a)<(b))?(a):(b)) diff --git a/src/slic3r/GUI/ScriptExecutor.cpp b/src/slic3r/GUI/ScriptExecutor.cpp index fa85d2992..7530ccf88 100644 --- a/src/slic3r/GUI/ScriptExecutor.cpp +++ b/src/slic3r/GUI/ScriptExecutor.cpp @@ -5,10 +5,14 @@ #include <string> +#include <angelscript/source/as_config.h> +#include <angelscript/add_on/autowrapper/aswrappedcall.h> #include <angelscript/add_on/scriptarray/scriptarray.h> #include <angelscript/add_on/scriptbuilder/scriptbuilder.h> #include <angelscript/add_on/scriptstdstring/scriptstdstring.h> +using namespace gw; + namespace Slic3r { namespace GUI { void as_message_callback(const AngelScript::asSMessageInfo* msg, void* param) @@ -210,6 +214,29 @@ void ScriptContainer::init(const std::string& resource_dir, const std::string& t AngelScript::RegisterScriptArray(m_script_engine.get(), false); AngelScript::RegisterStdString(m_script_engine.get()); AngelScript::RegisterStdStringUtils(m_script_engine.get()); + + //if (use_generic) { + // r = engine->RegisterGlobalFunction("void print(string & in)", WRAP_FN(print), asCALL_GENERIC); assert(r >= 0); + //} else { + // r = engine->RegisterGlobalFunction("void print(string & in)", asFUNCTION(print), asCALL_CDECL); assert(r >= 0); + //} +#ifdef AS_MAX_PORTABILITY + m_script_engine.get()->RegisterGlobalFunction("void print(string &in)", WRAP_FN(as_print), AngelScript::asCALL_GENERIC); + m_script_engine.get()->RegisterGlobalFunction("void print_float(float)", WRAP_FN(as_print_float), AngelScript::asCALL_GENERIC); + //m_script_engine.get()->RegisterGlobalFunction("void register_key(string &in)", WRAP_FN(as_register_key), AngelScript::asCALL_GENERIC); + m_script_engine.get()->RegisterGlobalFunction("bool get_bool(string &in)", WRAP_FN(as_get_bool), AngelScript::asCALL_GENERIC); + m_script_engine.get()->RegisterGlobalFunction("void set_bool(string &in, bool new_val)", WRAP_FN(as_set_bool), AngelScript::asCALL_GENERIC); + m_script_engine.get()->RegisterGlobalFunction("int get_int(string &in)", WRAP_FN(as_get_int), AngelScript::asCALL_GENERIC); + m_script_engine.get()->RegisterGlobalFunction("void set_int(string &in, int new_val)", WRAP_FN(as_set_int), AngelScript::asCALL_GENERIC); + m_script_engine.get()->RegisterGlobalFunction("float get_float(string &in)", WRAP_FN(as_get_float), AngelScript::asCALL_GENERIC); + m_script_engine.get()->RegisterGlobalFunction("void set_float(string &in, float new_val)", WRAP_FN(as_set_float), AngelScript::asCALL_GENERIC); + m_script_engine.get()->RegisterGlobalFunction("bool is_percent(string &in)", WRAP_FN(as_is_percent), AngelScript::asCALL_GENERIC); + m_script_engine.get()->RegisterGlobalFunction("void set_percent(string &in, float new_val)", WRAP_FN(as_set_percent), AngelScript::asCALL_GENERIC); + m_script_engine.get()->RegisterGlobalFunction("void get_string(string &in, string &out get_val)", WRAP_FN(as_get_string), AngelScript::asCALL_GENERIC); + m_script_engine.get()->RegisterGlobalFunction("void set_string(string &in, string &in new_val)", WRAP_FN(as_set_string), AngelScript::asCALL_GENERIC); + m_script_engine.get()->RegisterGlobalFunction("void back_initial_value(string &in)", WRAP_FN(as_back_initial_value), AngelScript::asCALL_GENERIC); + +#else m_script_engine.get()->RegisterGlobalFunction("void print(string &in)", AngelScript::asFUNCTION(as_print), AngelScript::asCALL_CDECL); m_script_engine.get()->RegisterGlobalFunction("void print_float(float)", AngelScript::asFUNCTION(as_print_float), AngelScript::asCALL_CDECL); //m_script_engine.get()->RegisterGlobalFunction("void register_key(string &in)", AngelScript::asFUNCTION(as_register_key), AngelScript::asCALL_CDECL); @@ -224,6 +251,7 @@ void ScriptContainer::init(const std::string& resource_dir, const std::string& t m_script_engine.get()->RegisterGlobalFunction("void get_string(string &in, string &out get_val)", AngelScript::asFUNCTION(as_get_string), AngelScript::asCALL_CDECL); m_script_engine.get()->RegisterGlobalFunction("void set_string(string &in, string &in new_val)", AngelScript::asFUNCTION(as_set_string), AngelScript::asCALL_CDECL); m_script_engine.get()->RegisterGlobalFunction("void back_initial_value(string &in)", AngelScript::asFUNCTION(as_back_initial_value), AngelScript::asCALL_CDECL); +#endif } //m_script_module = m_script_engine->GetModule(tab_key.c_str(), AngelScript::asGM_CREATE_IF_NOT_EXISTS); |