Package: src:odb-api
Version: 0.18.1-4

odb-api redefine _ABI64, so make it depends on gnu/stubs-o32_hard*.h

The Debian package fixes by add libc6-dev-mips32 to its build-deps.
It is bad.

The right way is bellow.
Some mips code determine the ABI by something like:
(_MIPS_SIM == _MIPS_SIM_ABI32)
(_MIPS_SIM == _MIPS_SIM_NABI32)
(_MIPS_SIM == _MIPS_SIM_ABI64)

In all MIPS compilers:
   for mips64 abi n64, _MIPS_SIM_ABI64 is defined as _ABI64.
   and at the same time _ABI64 is defined 3.
   _ABI64 is only defined for mips64 abi n64.
So here we can just define _ABI64=3 to fix it.

Index: odb-api-0.18.1/odb/src/extras/ec/CMakeLists.txt
===================================================================
--- odb-api-0.18.1.orig/odb/src/extras/ec/CMakeLists.txt
+++ odb-api-0.18.1/odb/src/extras/ec/CMakeLists.txt
@@ -9,7 +9,7 @@ list(APPEND _odb_ec_sources
 )

 if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-    add_definitions(-D_ABI64)
+    add_definitions(-D_ABI64=3)
 endif()

 ecbuild_add_library(TARGET odbec VERSION 0d SOURCES ${_odb_ec_sources})


-- 
YunQiang Su

Reply via email to