diff options
author | Karl Berry <karl@freefriends.org> | 2021-02-25 19:22:25 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-02-25 19:22:25 +0000 |
commit | ad547a6b5986815fda458221149728d9d9ab1d87 (patch) | |
tree | 16296910eb3eca724371474ea9aea3994dc69614 /Build/source/m4/kpse-luajit-flags.m4 | |
parent | 947b43de3dd21d58ccc2ffadefc4441ea1c2a813 (diff) |
restore Build,TODO from r57911
git-svn-id: svn://tug.org/texlive/trunk@57915 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/m4/kpse-luajit-flags.m4')
-rw-r--r-- | Build/source/m4/kpse-luajit-flags.m4 | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/Build/source/m4/kpse-luajit-flags.m4 b/Build/source/m4/kpse-luajit-flags.m4 new file mode 100644 index 00000000000..1677a72742a --- /dev/null +++ b/Build/source/m4/kpse-luajit-flags.m4 @@ -0,0 +1,76 @@ +# $Id$ +# Public macros for the TeX Live (TL) tree. +# Copyright 2019 Karl Berry <tex-live@tug.org> +# Copyright 2014 Peter Breitenlohner <tex-live@tug.org> +# +# This file is free software; the copyright holder +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# KPSE_LUAJIT_FLAGS +# ----------------- +# Set the make variables LUAJIT_INCLUDES and LUAJIT_LIBS to the CPPFLAGS and +# LIBS required for the `-ltexluajit' library in libs/luajit/ of the TL tree. +AC_DEFUN([KPSE_LUAJIT_FLAGS], [dnl +echo 'tldbg:[$0] called.' >&AS_MESSAGE_LOG_FD +_KPSE_LIB_FLAGS([luajit], [texluajit], [lt tree], + [-IBLD/libs/luajit/include], + [BLD/libs/luajit/libtexluajit.la], + [], + [], + [${top_builddir}/../../libs/luajit/include/luajit.h])[]dnl +# +# checking for openbsd for additional jit libraries needed, which is the +# case for clang; no point in going to the trouble elsewhere since no +# other system needs it. +case $build_os in +openbsd*) +AC_MSG_CHECKING([on openbsd if additional jit libraries are needed]) +AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include "stdint.h" + typedef struct _Unwind_Context _Unwind_Context; + extern uintptr_t _Unwind_GetCFA(_Unwind_Context *);]], + [[_Unwind_Context *ctx; + _Unwind_GetCFA(ctx);]] + )], + [AC_MSG_RESULT([no])], + [ + jitlibs="-lc++abi -lpthread" + save_LIBS=$LIBS + LIBS="$LIBS $jitlibs" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include "stdint.h" + typedef struct _Unwind_Context _Unwind_Context; + extern uintptr_t _Unwind_GetCFA(_Unwind_Context *);]], + [[_Unwind_Context *ctx; + _Unwind_GetCFA(ctx);]] + )], + [ + AC_MSG_RESULT(["$jitlibs"]) + LIBLUAJIT_LDEXTRA="$LIBLUAJIT_LDEXTRA $jitlibs" + ], + [AC_MSG_FAILURE([luajit could not be linked])] + ) + LIBS=$save_LIBS + ] +) + ;; +esac +echo 'tldbg:[$0] done.' >&AS_MESSAGE_LOG_FD +]) # KPSE_LUAJIT_FLAGS + +# KPSE_LUAJIT_DEFINES +# ------------------- +# Set the make variable LUAJIT_DEFINES to the CPPFLAGS required when +# compiling or using the `-ltexluajit' library. +# Set the make variable LUAJIT_LDEXTRA to the LDFLAGS required when +# linking with the `-lluajit' library. +AC_DEFUN([KPSE_LUAJIT_DEFINES], [dnl +AC_REQUIRE([AC_CANONICAL_HOST])[]dnl +AC_SUBST([LUAJIT_DEFINES], ['-DLUAJIT_ENABLE_LUA52COMPAT -DLUAI_HASHLIMIT=6']) +AS_CASE([$host_os:$host_cpu], + [*darwin*:x86_64], [LUAJIT_LDEXTRA='-pagezero_size 10000 -image_base 100000000']) +AC_SUBST([LUAJIT_LDEXTRA]) +]) # KPSE_LUAJIT_DEFINES |