On Sun, Aug 04 2019, Jeremie Courreges-Anglas <j...@openbsd.org> wrote: > On Wed, Jul 31 2019, Charlene Wendling <juliana...@posteo.jp> wrote: >> We're currently trying to build godot on these 2 archs for nothing and >> it's pretty time consuming: ~6 hours on a PowerBook 5,8. >> >>> http://build-failures.rhaalovely.net/powerpc/2019-07-14/games/godot.log >> >> There were occurrences of NULL that gcc does not consider as boolean >> false as you can read in the log, > > This would be an error on all architectures where ports-gcc is used, not > just powerpc or sparc64. > >> that was easy to fix, but then: >> >> core/safe_refcount.h:126: undefined reference to `__sync_add_and_fetch_8' >> >> (...and more). We don't support the 64-bit __sync_* family, only the >> newer __atomic_* one. So i've marked it as BROKEN like the others. >> >>> http://build-failures.rhaalovely.net/sparc64/2019-07-11/games/godot.log >> >> The log says that the architecture is not supported. > > This one looks a bit dumb. The #ifdef "arch" block doesn't define > a macro common to all known archs so the #error doesn't make sense. > >> OK? > > I'd rather have something like NOT_FOR_ARCHS = ${GCC49_ARCHS} if we > don't fix the NULL vs false mismatch. > > I'm running a build with the diff below, just to see if there are other > problems.
There are no other problems, godot packages fine on sparc64 with that diff. Do you want to try to add -latomic to LINKFLAGS on powerpc/hppa, or shall we mark godot as BROKEN there, as you suggested? > But maybe it would be better to restrict godot to > architectures where it can actually be used... > > > Index: patches/patch-servers_visual_shader_language_cpp > =================================================================== > RCS file: patches/patch-servers_visual_shader_language_cpp > diff -N patches/patch-servers_visual_shader_language_cpp > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-servers_visual_shader_language_cpp 4 Aug 2019 13:47:47 > -0000 > @@ -0,0 +1,21 @@ > +$OpenBSD$ > + > +error: converting to 'bool' from 'std::nullptr_t' requires > direct-initialization > + > +Index: servers/visual/shader_language.cpp > +--- servers/visual/shader_language.cpp.orig > ++++ servers/visual/shader_language.cpp > +@@ -1869,11 +1869,11 @@ const ShaderLanguage::BuiltinFuncDef > ShaderLanguage::b > + > + bool ShaderLanguage::_validate_function_call(BlockNode *p_block, > OperatorNode *p_func, DataType *r_ret_type) { > + > +- ERR_FAIL_COND_V(p_func->op != OP_CALL && p_func->op != OP_CONSTRUCT, > NULL); > ++ ERR_FAIL_COND_V(p_func->op != OP_CALL && p_func->op != OP_CONSTRUCT, > false); > + > + Vector<DataType> args; > + > +- ERR_FAIL_COND_V(p_func->arguments[0]->type != Node::TYPE_VARIABLE, > NULL); > ++ ERR_FAIL_COND_V(p_func->arguments[0]->type != Node::TYPE_VARIABLE, > false); > + > + StringName name = static_cast<VariableNode > *>(p_func->arguments[0])->name.operator String(); > + > Index: patches/patch-thirdparty_thekla_atlas_nvcore_nvcore_h > =================================================================== > RCS file: patches/patch-thirdparty_thekla_atlas_nvcore_nvcore_h > diff -N patches/patch-thirdparty_thekla_atlas_nvcore_nvcore_h > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-thirdparty_thekla_atlas_nvcore_nvcore_h 4 Aug 2019 > 13:47:47 -0000 > @@ -0,0 +1,14 @@ > +$OpenBSD$ > + > +Index: thirdparty/thekla_atlas/nvcore/nvcore.h > +--- thirdparty/thekla_atlas/nvcore/nvcore.h.orig > ++++ thirdparty/thekla_atlas/nvcore/nvcore.h > +@@ -115,7 +115,7 @@ > + #elif defined POSH_CPU_STRONGARM > + # define NV_CPU_ARM 1 > + #else > +-# error "Unsupported CPU" > ++//# error "Unsupported CPU" > + #endif > + > + -- jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE