The == form is non-portable and not supported everywhere. Here is the explanation for this issue from pkgsrc:
The "test" command, as well as the "[" command, are not required to know
the "==" operator. Only a few implementations like bash and some
versions of ksh support it.
When you run "test foo == foo" on a platform that does not support the
"==" operator, the result will be "false" instead of "true". This can
lead to unexpected behavior.
There are two ways to fix this error message. If the file that contains
the "test ==" is needed for building the package, you should create a
patch for it, replacing the "==" operator with "=". If the file is not
needed, add its name to the CHECK_PORTABILITY_SKIP variable in the
package Makefile.
We need to tell libtool that we expect all symbols to be defined when
creating the library. Otherwise, on platforms that do not support
undefined symbols, libtool does create the static library only.
This reinstantiates the portable approach to this function dropped in
b4b241a34824b51956a7866606329a065d397525.
HP-UX does not have any of the fancy secure/explicit functions and the
compiler does not support the inline assembly syntax.
The core change is ported from
b8024d53e7.
This let's us remove the ALIGNED_ACCESS_REQUIRED configure check. This isn't a
very good thing to check through configure because it requires running an
executable. That doesn't work for cross compiles.
Export symbols as recommended by the https://gcc.gnu.org/wiki/Visibility
Step-by-Step Guide.
The symbols EXPORT_DLL, DYNAMIC_LIB_EXPORT and DYNAMIC_LIB are way too
generic and will likely cause name clashes if libb2 is used within a
larger project importing multiple external libraries.