Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsupermerill <merill@free.fr>2022-02-17 19:06:00 +0300
committersupermerill <merill@free.fr>2022-02-17 19:06:00 +0300
commit49449eb1eaed960a4c7e31badaf4299d990f13ec (patch)
treecd92e73e48b460f07b587a6e50d4eee2b4b7b209
parentb85cd5731c4969226cbf1f2eb0f4355de6c1d3f1 (diff)
parentdc4af507a4f9d144ca33a588721ad4813d3c024a (diff)
Merge branch 'dev' into 24_masterLbibass
-rw-r--r--src/angelscript/CMakeLists.txt49
-rw-r--r--src/jpeg-compressor/jpge.cpp2
-rw-r--r--src/slic3r/GUI/ScriptExecutor.cpp28
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);