On Sat, Apr 02 2022, Theo Buehler <[email protected]> wrote:
> Disable thin archives if we use GNU ar since ours is too old to support
> it.

ok jca@

> If there is a way to do that via CONFIGURE_FLAGS += -Dsomething
> conditionally on .if !${PROPERTIES:Mclang}

Rather ${PROPERTIES:Mlld}, which should match LLD_ARCH in bsd.own.mk.

> that would probably be
> preferable. Nothing I tried worked. Pointers welcome.

I can't see how it could be overriden, I'm no cmake expert but those are
not options (with default values), just variables set unconditionally.

> Not sure if anything but sparc64 among !clang archs is capable of
> building (let alone running) this monster.

Maybe powerpc can still build it, maybe not.

> Index: patches/patch-Source_cmake_OptionsCommon_cmake
> ===================================================================
> RCS file: 
> /cvs/ports/www/webkitgtk4/patches/patch-Source_cmake_OptionsCommon_cmake,v
> retrieving revision 1.21
> diff -u -p -r1.21 patch-Source_cmake_OptionsCommon_cmake
> --- patches/patch-Source_cmake_OptionsCommon_cmake    26 Mar 2022 16:11:56 
> -0000      1.21
> +++ patches/patch-Source_cmake_OptionsCommon_cmake    31 Mar 2022 18:56:22 
> -0000
> @@ -1,16 +1,28 @@
> +Disable thin archives for BFD since our prehistoric ar doesn't support
> +it on !clang arches.
> +
>  Put the internal library path first so that we can 
>  build with an older webkitgtk4 package installed.
>  
>  Index: Source/cmake/OptionsCommon.cmake
>  --- Source/cmake/OptionsCommon.cmake.orig
>  +++ Source/cmake/OptionsCommon.cmake
> -@@ -180,6 +180,9 @@ if (NOT PORT STREQUAL "GTK" AND NOT PORT STREQUAL "WPE
> +@@ -92,7 +92,7 @@ set(AR_SUPPORTS_THIN_ARCHIVES FALSE)
> + if (AR_STATUS EQUAL 0)
> +     if (AR_VERSION MATCHES "^GNU ar ")
> +         set(AR_VARIANT BFD)
> +-        set(AR_SUPPORTS_THIN_ARCHIVES TRUE)
> ++        set(AR_SUPPORTS_THIN_ARCHIVES FALSE)
> +     elseif (AR_VERSION MATCHES "^LLVM ")
> +         set(AR_VARIANT LLVM)
> +         set(AR_SUPPORTS_THIN_ARCHIVES TRUE)
> +@@ -179,6 +179,9 @@ if (NOT PORT STREQUAL "GTK" AND NOT PORT STREQUAL "WPE
> +     set(EXEC_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Absolute 
> path to executable installation directory")
>       set(LIBEXEC_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH 
> "Absolute path to install executables executed by the library")
>   endif ()
> - 
> ++
>  +# make sure that the internal library dir is the first in the path
>  +link_directories("${CMAKE_BINARY_DIR}/lib")
> -+
> + 
>   # Check whether features.h header exists.
>   # Including glibc's one defines __GLIBC__, that is used in Platform.h
> - WEBKIT_CHECK_HAVE_INCLUDE(HAVE_FEATURES_H features.h)
>

-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to