Monday, December 23, 2024

Building Data::UUID on Haiku

 *** UUID.xs 2024-09-25 11:06:47.817889280 -0400

--- ../UUID.xs 2024-09-25 10:55:40.565182464 -0400

***************

*** 8,15 ****

  #  include <OS.h>

  #endif

  

! #ifdef __HAIKU__

! #define bool unsigned int

  #  include <OS.h>

  #endif

  

--- 8,14 ----

  #  include <OS.h>

  #endif

  

! #if defined __HAIKU__

  #  include <OS.h>

  #endif

Building Net::SSLeay on Haiku

 *** ../Net-SSLeay-1.94-5/Makefile.PL 2024-01-07 19:43:17.050593792 -0500

--- ./Makefile.PL 2024-09-26 10:44:10.662700032 -0400

***************

*** 120,125 ****

--- 120,130 ----

  # macros are available).

  add_ccflag( $eumm_args{CCFLAGS}, "-DNET_SSLEAY_PERL_VERSION=" . $] * 1e6 );

  

+ if(-d '/boot/system/develop/headers/x86/openssl') {

+ # Haiku

+ add_ccflag($eumm_args{'CCFLAGS'}, '-I/boot/system/develop/headers/x86/openssl');

+ }

  # Suppress deprecation warnings during compilation.

  # https://www.openssl.org/docs/manmaster/man7/openssl_user_macros.html

  add_ccflag( $eumm_args{CCFLAGS}, '-DOPENSSL_API_COMPAT=908' );

***************

*** 224,229 ****

--- 229,235 ----

      my @try_includes = (

          'include' => sub { 1 },

          'inc32'   => sub { $OSNAME eq 'MSWin32' },

+ '/boot/system/develop/headers/x86' => sub { $OSNAME eq 'haiku' },

      );

  

      while (

***************

*** 235,240 ****

--- 241,250 ----

                             || -f "$prefix/$dir/ssl.h")) {

              $opts->{inc_path} = "$prefix/$dir";

          }

+ if($cond->() && (-f "/$dir/openssl/ssl.h")) {

+ # e.g Haiku

+ $opts->{inc_path} = $dir;

+ }

      }

  

      # Directory order matters. With macOS Monterey a poisoned dylib is