mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2025-08-04 09:44:10 +00:00
Add Aarch64 support (#231)
* added mariadb-connector-cpp submodule * raknet aarch64 support * fix compile errors * mariadb connector swap (in progress) * update CMakeLists, add preprocessor definition to switch between mysql and mariadb connectors * update types with missing aarch64 check * corrected adding extra flag to properly compile mariadbconn in CMakeLists * updated readme with arm builds section * fix build failure if test folder does not exist * Remove mysql connector from all builds, add mariadbconnector to windows build * readd Linux check for backtrace lib to CMakeLists.txt * Separate system specific mariadbconncpp extra compile flags * Copy dlls to exes directory once built * fetch prebuilt binaries on windows so that ClangCL can be used * Delay load dll so that plugin directory is set correctly * Fixed typo in glibcxx compile flag * whitespacing, spaces -> tabs * Updated README.md, included instructions to update * Updated README.md added libssl-dev requirement and removed mysql connector references from macOS builds section * apple compile fixes for zlib and shared library name * add windows arm64 checks to raknet * remove extra . in shared library location * Setup plugins directory for the connector to search in, pass openssl_root_dir on for apple * Fix copy paths for single config generators and non windows * change plugin folder location, another single config generator fix * GENERATOR_IS_MULTI_CONFIG is a property not a variable * Fixed a few errors after merge * Fix plugin directory path, force windows to look at the right folder * fixed directory name for make_directory command * Update README.md Updated MacOS, Windows build instructions. * set INSTALL_PLUGINDIR so that the right directory is used * Support for relative rpath for docker build * added mariadb-connector-cpp submodule * raknet aarch64 support * fix compile errors * mariadb connector swap (in progress) * update CMakeLists, add preprocessor definition to switch between mysql and mariadb connectors * update types with missing aarch64 check * corrected adding extra flag to properly compile mariadbconn in CMakeLists * updated readme with arm builds section * fix build failure if test folder does not exist * Remove mysql connector from all builds, add mariadbconnector to windows build * readd Linux check for backtrace lib to CMakeLists.txt * Separate system specific mariadbconncpp extra compile flags * Copy dlls to exes directory once built * fetch prebuilt binaries on windows so that ClangCL can be used * Delay load dll so that plugin directory is set correctly * Fixed typo in glibcxx compile flag * whitespacing, spaces -> tabs * Updated README.md, included instructions to update * Updated README.md added libssl-dev requirement and removed mysql connector references from macOS builds section * apple compile fixes for zlib and shared library name * add windows arm64 checks to raknet * Setup plugins directory for the connector to search in, pass openssl_root_dir on for apple * Fix copy paths for single config generators and non windows * change plugin folder location, another single config generator fix * GENERATOR_IS_MULTI_CONFIG is a property not a variable * Fixed a few errors after merge * Fix plugin directory path, force windows to look at the right folder * fixed directory name for make_directory command * Update README.md Updated MacOS, Windows build instructions. * set INSTALL_PLUGINDIR so that the right directory is used * Support for relative rpath for docker build * Rebase on main * Remove extra git submodule * Update CMakeLists.txt * Remove CMakeLists.txt file from mariadb Remove the CMakeLists.txt file from the mariaDBConnector so we dont build the tests. Also add a config option to the CMakeVariables.txt so you can build the connector with multiple jobs * Compile on windows Specify the mariadbcpp.dll file location with a defined absolute path so windows knows it actually exists. * default to 1 job Default mariadb jobs running in parallel to 1 instead of 4 * Move mariadbcpp.dll file to the expected directory on windows * Changed plugin Updated the plugin location from the project binary directory to the expected location, the mariadb binary directory. * Addressed windows dll issues by moving files to the expected directory instead of a directory that wouldnt get created * Update README Co-authored-by: Aaron Kimbrell <aronwk.aaron@gmail.com> Co-authored-by: EmosewaMC <39972741+EmosewaMC@users.noreply.github.com>
This commit is contained in:
1
thirdparty/mariadb-connector-cpp
vendored
Submodule
1
thirdparty/mariadb-connector-cpp
vendored
Submodule
Submodule thirdparty/mariadb-connector-cpp added at 3fbdf8fa33
2
thirdparty/raknet/Source/FileList.cpp
vendored
2
thirdparty/raknet/Source/FileList.cpp
vendored
@@ -3,7 +3,7 @@
|
||||
#include <assert.h>
|
||||
#if defined(_WIN32) || defined(__CYGWIN__)
|
||||
#include <io.h>
|
||||
#elif !defined ( __APPLE__ ) && !defined ( __APPLE_CC__ ) && !defined ( __PPC__ ) && !defined ( __FreeBSD__ )
|
||||
#elif !defined ( __APPLE__ ) && !defined ( __APPLE_CC__ ) && !defined ( __PPC__ ) && !defined ( __FreeBSD__ ) && !defined ( __aarch64__ )
|
||||
#include <sys/io.h>
|
||||
#endif
|
||||
#include "DS_Queue.h"
|
||||
|
13
thirdparty/raknet/Source/Gen_RPC8.h
vendored
13
thirdparty/raknet/Source/Gen_RPC8.h
vendored
@@ -133,6 +133,7 @@ namespace GenRPC
|
||||
#define AUTO_RPC_ABI_PPC 4 // first 6 args (even if float) in int reg; first 13 floats in reg.
|
||||
// parameter passing area with shadow area.
|
||||
|
||||
#define AUTO_RPC_ABI_AARCH64 5
|
||||
|
||||
// Configure the parameters for the system.
|
||||
#if defined(__i386__) || defined( _M_IX86 ) || defined( __INTEL__ )
|
||||
@@ -176,6 +177,18 @@ typedef double HardwareReal;
|
||||
typedef unsigned long long NaturalWord;
|
||||
typedef double HardwareReal; // could be changed to __float128 on AMD64/nonwin
|
||||
|
||||
#elif defined( __aarch64__ ) || defined (_M_ARM64)
|
||||
#define AUTO_RPC_ABI AUTO_RPC_ABI_AARCH64
|
||||
#define AUTO_RPC_AUTORPC_WORD 64
|
||||
#define AUTO_RPC_INT_REG_PARAMS 8
|
||||
#define AUTO_RPC_FLOAT_REG_PARAMS 8
|
||||
#define AUTO_RPC_PARAMETER_REFERENCE_THRESHOLD 0
|
||||
#define AUTO_RPC_INT_SHADOW_OF_FLOATS 0
|
||||
#define AUTO_RPC_ALLOC_SEPARATE_FLOATS 1
|
||||
#define AUTO_RPC_CREATE_FLOAT_MAP 0
|
||||
typedef unsigned long long NaturalWord;
|
||||
typedef double HardwareReal;
|
||||
|
||||
#elif defined ( _PS3 )
|
||||
typedef double HardwareReal;
|
||||
typedef unsigned long long NaturalWord;
|
||||
|
8
thirdparty/raknet/Source/Types.h
vendored
8
thirdparty/raknet/Source/Types.h
vendored
@@ -92,8 +92,8 @@
|
||||
defined(__amd64) || defined(__amd64__) || \
|
||||
defined(__alpha__) || defined(__alpha) || defined(__ia64) || defined(__ia64__) || \
|
||||
defined(_M_ALPHA) || defined(ns32000) || defined(__ns32000__) || defined(sequent) || \
|
||||
defined(MIPSEL) || defined(_MIPSEL) || defined(sun386) || defined(__sun386__)
|
||||
|
||||
defined(MIPSEL) || defined(_MIPSEL) || defined(sun386) || defined(__sun386__) || \
|
||||
defined(__aarch64__) || defined (_M_ARM64)
|
||||
# define HOST_ENDIAN_IS_LITTLE
|
||||
|
||||
#else
|
||||
@@ -128,8 +128,8 @@ namespace cat
|
||||
defined(__amd64) || defined(__amd64__) || defined(_M_X64) || \
|
||||
defined(__alpha__) || defined(__alpha) || defined(__ia64) || defined(__ia64__) || \
|
||||
defined(_M_ALPHA) || defined(ns32000) || defined(__ns32000__) || defined(sequent) || \
|
||||
defined(MIPSEL) || defined(_MIPSEL) || defined(sun386) || defined(__sun386__)
|
||||
|
||||
defined(MIPSEL) || defined(_MIPSEL) || defined(sun386) || defined(__sun386__) || \
|
||||
defined(__aarch64__) || defined (_M_ARM64)
|
||||
# define LITTLE_ENDIAN
|
||||
|
||||
#else
|
||||
|
Reference in New Issue
Block a user