diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index d1833f4..ba137f9 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -8,10 +8,10 @@ jobs:
build:
strategy:
matrix:
- os: [windows-2022, macos-12, ubuntu-22.04]
+ os: [windows-2022, macos-15, ubuntu-22.04]
runs-on: ${{ matrix.os }}
steps:
- - uses: secondlife/action-autobuild@v4
+ - uses: secondlife/action-autobuild@v5
release:
needs: build
runs-on: [ubuntu-latest]
diff --git a/Makefile b/Makefile
index f317973..441caf1 100755
--- a/Makefile
+++ b/Makefile
@@ -59,7 +59,7 @@ ifneq ($(shell uname -p | grep -i powerpc),)
nativeArch := ppc
endif
-# arch: x86 (or i386), x64 (or x86_64), ppc, ppc64
+# arch: x86 (or i386), x64 (or x86_64), ppc, ppc64, arm64
arch ?= i386
# project: 'dom', 'domTest', or 'all'
@@ -103,7 +103,7 @@ $(error Invalid setting os=$(os))
endif
archs := $(sort $(subst i386,x86,$(arch)))
-ifneq ($(filter-out x86 ppc x86_64,$(archs)),)
+ifneq ($(filter-out x86 ppc x86_64 arm64,$(archs)),)
$(error Invalid setting arch=$(arch))
endif
diff --git a/autobuild.xml b/autobuild.xml
index 21a28c7..e18dbc2 100755
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -21,11 +21,11 @@
archive
name
darwin64
@@ -35,11 +35,11 @@
archive
name
linux64
@@ -49,11 +49,11 @@
archive
name
windows64
@@ -81,11 +81,11 @@
archive
name
darwin64
@@ -95,11 +95,11 @@
archive
name
linux64
@@ -109,18 +109,18 @@
archive
name
windows64
version
- 2.13.3-r1
+ 2.13.5-r1
minizip-ng
version
- 4.0.7-r1
+ 4.0.7-r2
zlib-ng
@@ -205,11 +205,11 @@
archive
hash
- 3a6593c71c59ace76d1349483759fcde4b719a76
+ 4d437afc7fc3988cf0c78ed05853a211cc6bf8b8
hash_algorithm
sha1
url
- https://github.com/secondlife/3p-zlib-ng/releases/download/v2.2.1-r2/zlib_ng-2.2.1-r2-darwin64-10324415171.tar.zst
+ https://github.com/secondlife/3p-zlib-ng/releases/download/v2.2.2-r1/zlib_ng-2.2.2-dev0.gcaa101e.d20241120-darwin64-11943461931.tar.zst
name
darwin64
@@ -219,11 +219,11 @@
archive
hash
- fbadeb0b8c771cb06c0055c9fab6d40c6764dacd
+ 70c1d8728b85481bd42904c1213ed50264e77be1
hash_algorithm
sha1
url
- https://github.com/secondlife/3p-zlib-ng/releases/download/v2.2.1-r2/zlib_ng-2.2.1-r2-linux64-10324415171.tar.zst
+ https://github.com/secondlife/3p-zlib-ng/releases/download/v2.2.2-r1/zlib_ng-2.2.2-dev0.gcaa101e.d20241120-linux64-11943461931.tar.zst
name
linux64
@@ -233,18 +233,18 @@
archive
hash
- 0094031715662be626f5106ff6c814f4fc3dacfa
+ f98c30b20120511ecceab8bf1b5eba048b10aade
hash_algorithm
sha1
url
- https://github.com/secondlife/3p-zlib-ng/releases/download/v2.2.1-r2/zlib_ng-2.2.1-r2-windows64-10324415171.tar.zst
+ https://github.com/secondlife/3p-zlib-ng/releases/download/v2.2.2-r1/zlib_ng-2.2.2-dev0.gcaa101e.d20241120-windows64-11943461931.tar.zst
name
windows64
version
- 2.2.1-r2
+ 2.2.2-dev0.gcaa101e.d20241120
package_description
diff --git a/build-cmd.sh b/build-cmd.sh
index ee706ed..df5fa53 100755
--- a/build-cmd.sh
+++ b/build-cmd.sh
@@ -96,7 +96,7 @@ case "$AUTOBUILD_PLATFORM" in
then
"build/$versub/domTest.exe" -all
else
- # 64 bit exe ends up in different location to 32 bit hard coded
+ # 64 bit exe ends up in different location to 32 bit hard coded
# path to data directory - source code suggests it looks in a dir
# called domTestData first so we make one
mkdir -p "$projdir/x64/Release/domTestData"
@@ -111,7 +111,7 @@ case "$AUTOBUILD_PLATFORM" in
libname="libcollada${collada_shortver}dom${dom_shortver}-s.lib"
if [ "$AUTOBUILD_ADDRSIZE" = 32 ]
then cp -a "build/$versub/$libname" "$stage"/lib/release/
- else cp -a "$projdir/x64/Release/$libname" "$stage"/lib/release/
+ else cp -a "$projdir/x64/Release/$libname" "$stage"/lib/release/
fi
;;
@@ -126,15 +126,13 @@ case "$AUTOBUILD_PLATFORM" in
# repo root run_tests suffix
export MACOSX_DEPLOYMENT_TARGET="$LL_BUILD_DARWIN_DEPLOY_TARGET"
- opts="${TARGET_OPTS:--arch $AUTOBUILD_CONFIGURE_ARCH $LL_BUILD_RELEASE}"
+ opts="${TARGET_OPTS:--arch arm64 -arch x86_64 $LL_BUILD_RELEASE}"
nproc=$(sysctl -n hw.physicalcpu)
libdir="$top/stage"
mkdir -p "$libdir"/lib/release
- make clean arch="$AUTOBUILD_CONFIGURE_ARCH" # Hide 'arch' env var
-
# Without the -Wno-etc flag, incredible spam is produced
make \
conf=release \
@@ -142,7 +140,7 @@ case "$AUTOBUILD_PLATFORM" in
CFLAGS="$opts" \
CXXFLAGS="$opts -Wno-unused-local-typedef" \
LDFLAGS="-Wl,-headerpad_max_install_names" \
- arch="$AUTOBUILD_CONFIGURE_ARCH" \
+ arch="x86_64 arm64" \
printCommands=yes \
printMessages=yes
diff --git a/include/dae/daeArray.h b/include/dae/daeArray.h
index 81e0fa7..941257e 100644
--- a/include/dae/daeArray.h
+++ b/include/dae/daeArray.h
@@ -415,7 +415,7 @@ class daeTArray : public daeArray
* @param other A reference to the other array.
* @return true if the arrays are equal, false otherwise.
*/
- bool operator==(const daeTArray& other) {
+ bool operator==(const daeTArray& other) const {
if (getCount() != other.getCount())
return false;
for (size_t i = 0; i < getCount(); i++)
diff --git a/make/common.mk b/make/common.mk
index ea87d36..6105abc 100644
--- a/make/common.mk
+++ b/make/common.mk
@@ -15,12 +15,14 @@ ifeq ($(conf),debug)
ccFlags += -g -D_DEBUG
debugSuffix := -d
else
-ccFlags += -O2 -DNDEBUG
+ccFlags += -O3 -DNDEBUG
debugSuffix :=
endif
ifeq ($(arch),x86_64)
archsupport := -x64
+else ifeq ($(arch),arm64)
+archsupport := -a64
else
archsupport :=
endif
diff --git a/make/rules.mk b/make/rules.mk
index eb55234..1b976a8 100644
--- a/make/rules.mk
+++ b/make/rules.mk
@@ -41,7 +41,7 @@ ifneq ($(obj),)
# any values we use in rule commands. This is the reason for all the target-specific variables.
$(obj): cc := $(cc)
$(obj): ccFlags := $(ccFlags)
-$(obj): ccFlagsNoArch := $(filter-out -arch ppc ppc64 i386 x86_64,$(ccFlags))
+$(obj): ccFlagsNoArch := $(filter-out -arch ppc ppc64 i386 x86_64 arm64,$(ccFlags))
$(obj): includeOpts := $(includeOpts)
# Call createObjRule with a source file path
diff --git a/make/rulesC.mk b/make/rulesC.mk
index 15b1e6a..023814d 100644
--- a/make/rulesC.mk
+++ b/make/rulesC.mk
@@ -52,7 +52,7 @@ ifneq ($(obj),)
#$(obj): cc := $(cc)
$(obj): cc := $(CC)
$(obj): ccFlags := $(ccFlags)
-$(obj): ccFlagsNoArch := $(filter-out -arch ppc ppc64 i386 x86_64,$(ccFlags))
+$(obj): ccFlagsNoArch := $(filter-out -arch ppc ppc64 i386 x86_64 arm64,$(ccFlags))
$(obj): includeOpts := $(includeOpts)
# Call createObjRule with a source file path
diff --git a/src/dae/daeMetaElement.cpp b/src/dae/daeMetaElement.cpp
index 55a57f5..340db22 100644
--- a/src/dae/daeMetaElement.cpp
+++ b/src/dae/daeMetaElement.cpp
@@ -175,7 +175,7 @@ daeMetaElement::appendAttribute(daeMetaAttribute* attr)
else
_metaAttributes.append(attr);
- if ((attr->getName() != NULL) &&
+ if ((daeString(attr->getName()) != NULL) &&
(strcmp(attr->getName(),"id") == 0)) {
_metaID = attr;
_isTrackableForQueries = true;