summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-01-11 02:12:09 +0000
committerKarl Berry <karl@freefriends.org>2019-01-11 02:12:09 +0000
commit07d257bc6c9c792bf39ac6685f5d449c0a110224 (patch)
treefeebf9dc0b92731104eee4d5c3600d450b27c050 /Build
parent058365ca5e7e5743a7272fd6d411c5e754828bcc (diff)
openbsd + clang + luajit -> -lc++abi -lpthread
git-svn-id: svn://tug.org/texlive/trunk@49669 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/m4/ChangeLog6
-rw-r--r--Build/source/m4/kpse-luajit-flags.m452
-rwxr-xr-xBuild/source/texk/web2c/configure71
3 files changed, 126 insertions, 3 deletions
diff --git a/Build/source/m4/ChangeLog b/Build/source/m4/ChangeLog
index 7560a2fa65e..7bd4039e99f 100644
--- a/Build/source/m4/ChangeLog
+++ b/Build/source/m4/ChangeLog
@@ -1,3 +1,9 @@
+2019-01-10 Karl Berry <karl@freefriends.org>
+
+ * kpse-luajit-flags.m4 (KPSE_LUAJIT_FLAGS): check for
+ -lc++abi -lpthread, needed with clang on openbsd.
+ Test from Mojca.
+
2019-01-08 Karl Berry <karl@tug.org>
* kpse-pkgs.m4 (KPSE_LIBS_PKGS): lua52 gone.
diff --git a/Build/source/m4/kpse-luajit-flags.m4 b/Build/source/m4/kpse-luajit-flags.m4
index e846c3087f2..bb8cd04e499 100644
--- a/Build/source/m4/kpse-luajit-flags.m4
+++ b/Build/source/m4/kpse-luajit-flags.m4
@@ -1,5 +1,7 @@
+# $Id$
# Public macros for the TeX Live (TL) tree.
-# Copyright (C) 2014 Peter Breitenlohner <tex-live@tug.org>
+# 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,
@@ -10,9 +12,53 @@
# 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
+ [-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"])
+ LUAJIT_LIBS="$LUAJIT_LIBS $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
diff --git a/Build/source/texk/web2c/configure b/Build/source/texk/web2c/configure
index a8308b3a400..96b210e0cbb 100755
--- a/Build/source/texk/web2c/configure
+++ b/Build/source/texk/web2c/configure
@@ -25007,6 +25007,7 @@ $(LUA52_DEPEND): ${top_builddir}/../../libs/lua52/include/lua.h
${top_builddir}/../../libs/lua52/include/lua.h:
cd ${top_builddir}/../../libs/lua52 && $(MAKE) $(AM_MAKEFLAGS) rebuild'
+echo 'tldbg:KPSE_LUAJIT_FLAGS called.' >&5
##tldbg _KPSE_LIB_FLAGS: Setup luajit (-ltexluajit) flags.
echo 'tldbg:_KPSE_LIB_FLAGS called: libdir=luajit, libname=texluajit, options=lt tree, tlincl=-IBLD/libs/luajit/include, tllib=BLD/libs/luajit/libtexluajit.la, tlextra=, rebuildsrcdeps=, rebuildblddeps=${top_builddir}/../../libs/luajit/include/luajit.h.' >&5
##tldbg _KPSE_LIB_FLAGS_TL: luajit (texluajit) lt tree.
@@ -25018,6 +25019,76 @@ $(LUAJIT_DEPEND): ${top_builddir}/../../libs/luajit/include/luajit.h
cd ${top_builddir}/../../libs/luajit && $(MAKE) $(AM_MAKEFLAGS) rebuild
${top_builddir}/../../libs/luajit/include/luajit.h:
cd ${top_builddir}/../../libs/luajit && $(MAKE) $(AM_MAKEFLAGS) rebuild'
+#
+# 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*)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking on openbsd if additional jit libraries are needed" >&5
+$as_echo_n "checking on openbsd if additional jit libraries are needed... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include "stdint.h"
+ typedef struct _Unwind_Context _Unwind_Context;
+ extern uintptr_t _Unwind_GetCFA(_Unwind_Context *);
+int
+main ()
+{
+_Unwind_Context *ctx;
+ _Unwind_GetCFA(ctx);
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+else
+
+ jitlibs="-lc++abi -lpthread"
+ save_LIBS=$LIBS
+ LIBS="$LIBS $jitlibs"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include "stdint.h"
+ typedef struct _Unwind_Context _Unwind_Context;
+ extern uintptr_t _Unwind_GetCFA(_Unwind_Context *);
+int
+main ()
+{
+_Unwind_Context *ctx;
+ _Unwind_GetCFA(ctx);
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: \"$jitlibs\"" >&5
+$as_echo "\"$jitlibs\"" >&6; }
+ LUAJIT_LIBS="$LUAJIT_LIBS $jitlibs"
+
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "luajit could not be linked
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$save_LIBS
+
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ ;;
+esac
+echo 'tldbg:KPSE_LUAJIT_FLAGS done.' >&5
##tldbg _KPSE_LIB_FLAGS: Setup libpng (-lpng) flags.
echo 'tldbg:_KPSE_LIB_FLAGS called: libdir=libpng, libname=png, options=, tlincl=-IBLD/libs/libpng/include, tllib=BLD/libs/libpng/libpng.a, tlextra=, rebuildsrcdeps=, rebuildblddeps=${top_builddir}/../../libs/libpng/include/png.h.' >&5