From d51b601b660bacaa1683643e5fc3cc94b58265eb Mon Sep 17 00:00:00 2001 From: John Ericson <John.Ericson@Obsidian.Systems> Date: Fri, 22 Sep 2023 18:36:34 -0400 Subject: [PATCH] Shuffle libzstd configuring between scripts Like the prior commit for libdw and libnuma, `AC_DEFINE` to RTS configure, `AC_SUBST` goes to the top-level configure script, and the documentation of the m4 macro is improved. --- configure.ac | 11 ++++++----- m4/fp_find_libzstd.m4 | 33 ++++++++++++++------------------- rts/configure.ac | 9 +++++++++ 3 files changed, 29 insertions(+), 24 deletions(-) diff --git a/configure.ac b/configure.ac index 1cbd5510dff2..150d61388583 100644 --- a/configure.ac +++ b/configure.ac @@ -1127,6 +1127,10 @@ FP_ARM_OUTLINE_ATOMICS dnl ** IPE data compression dnl -------------------------------------------------------------- FP_FIND_LIBZSTD +AC_SUBST(UseLibZstd) +AC_SUBST(UseStaticLibZstd) +AC_SUBST(LibZstdLibDir) +AC_SUBST(LibZstdIncludeDir) dnl ** Other RTS features dnl -------------------------------------------------------------- @@ -1289,14 +1293,11 @@ echo "\ cabal-install : $CABAL " -USING_LIBZSTD=$(if [ "$HaveLibZstd" = "1" ]; then echo "YES"; else echo "NO"; fi;) -STATIC_LIBZSTD=$(if [ "$StaticLibZstd" = "1" ]; then echo "YES"; else echo "NO"; fi;) - echo "\ Using optional dependencies: libnuma : $UseLibNuma - libzstd : $USING_LIBZSTD - statically linked? : $STATIC_LIBZSTD + libzstd : $UseLibZstd + statically linked? : ${UseStaticLibZstd:-N/A} libdw : $UseLibdw Using LLVM tools diff --git a/m4/fp_find_libzstd.m4 b/m4/fp_find_libzstd.m4 index 40b0f0877a7a..0583c158665b 100644 --- a/m4/fp_find_libzstd.m4 +++ b/m4/fp_find_libzstd.m4 @@ -1,3 +1,13 @@ +# FP_FIND_LIBZSTD +# -------------------------------------------------------------- +# Check whether we are we want IPE data compression, whether we have +# libzstd in order to do it, and whether zstd will be statically linked. +# +# Sets variables: +# - UseLibZstd: [YES|NO] +# - UseStaticLibZstd: [YES|NO] +# - LibZstdLibDir: optional path +# - LibZstdIncludeDir: optional path AC_DEFUN([FP_FIND_LIBZSTD], [ dnl ** Is IPE data compression enabled? @@ -41,8 +51,6 @@ AC_DEFUN([FP_FIND_LIBZSTD], ] ) - AC_SUBST(LibZstdLibDir) - AC_ARG_WITH( libzstd-includes, [AS_HELP_STRING( @@ -55,8 +63,6 @@ AC_DEFUN([FP_FIND_LIBZSTD], ] ) - AC_SUBST(LibZstdIncludeDir) - CFLAGS2="$CFLAGS" CFLAGS="$LIBZSTD_CFLAGS $CFLAGS" LDFLAGS2="$LDFLAGS" @@ -90,16 +96,8 @@ AC_DEFUN([FP_FIND_LIBZSTD], LDFLAGS="$LDFLAGS2" fi - AC_DEFINE_UNQUOTED([HAVE_LIBZSTD], [$HaveLibZstd], [Define to 1 if you - wish to compress IPE data in compiler results (requires libzstd)]) - - AC_DEFINE_UNQUOTED([STATIC_LIBZSTD], [$StaticLibZstd], [Define to 1 if you - wish to statically link the libzstd compression library in the compiler - (requires libzstd)]) - if test $HaveLibZstd = "1" ; then - AC_SUBST([UseLibZstd],[YES]) - AC_SUBST([CabalHaveLibZstd],[True]) + UseLibZstd=YES if test $StaticLibZstd = "1" ; then case "${host_os}" in darwin*) @@ -107,14 +105,11 @@ AC_DEFUN([FP_FIND_LIBZSTD], [--enable-static-libzstd is not compatible with darwin] ) esac - AC_SUBST([UseStaticLibZstd],[YES]) - AC_SUBST([CabalStaticLibZstd],[True]) + UseStaticLibZstd=YES else - AC_SUBST([UseStaticLibZstd],[NO]) - AC_SUBST([CabalStaticLibZstd],[False]) + UseStaticLibZstd=NO fi else - AC_SUBST([UseLibZstd],[NO]) - AC_SUBST([CabalHaveLibZstd],[False]) + UseLibZstd=NO fi ]) diff --git a/rts/configure.ac b/rts/configure.ac index a4c0dc2a234b..2dbf9b30a9d9 100644 --- a/rts/configure.ac +++ b/rts/configure.ac @@ -33,6 +33,15 @@ GHC_CONVERT_PLATFORM_PARTS([host], [Host]) FPTOOLS_SET_PLATFORM_VARS([host], [Host]) FPTOOLS_SET_HASKELL_PLATFORM_VARS([Host]) +dnl ** IPE data compression +dnl -------------------------------------------------------------- +AC_DEFINE_UNQUOTED([HAVE_LIBZSTD], [$CABAL_FLAG_libzstd], [Define to 1 if you + wish to compress IPE data in compiler results (requires libzstd)]) + +AC_DEFINE_UNQUOTED([STATIC_LIBZSTD], [$CABAL_FLAG_static_libzstd], [Define to 1 if you + wish to statically link the libzstd compression library in the compiler + (requires libzstd)]) + dnl ** Other RTS features dnl -------------------------------------------------------------- AC_DEFINE_UNQUOTED([USE_LIBDW], [$CABAL_FLAG_libdw], [Set to 1 to use libdw]) -- GitLab