Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:23
erlang
6841-autoconf-Refactor-ERL_DED-to-export-ERL_DE...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 6841-autoconf-Refactor-ERL_DED-to-export-ERL_DED_FLAGS.patch of Package erlang
From cb94f984cd764aa827fb1f4bc2169ce3d2d137d3 Mon Sep 17 00:00:00 2001 From: Lukas Larsson <lukas@erlang.org> Date: Mon, 29 Nov 2021 17:42:53 +0100 Subject: [PATCH 1/2] autoconf: Refactor ERL_DED to export ERL_DED_FLAGS We can use ERL_DED_FLAGS when we want to configure for dynamic libaries, but do not want the thread initialization to run. This is for usage with erl_interface when --disable-threads is passed. --- erts/aclocal.m4 | 29 ++++++++++++++++++----------- erts/configure | 2 +- lib/crypto/configure | 26 +++++++++++++++----------- lib/megaco/configure | 26 +++++++++++++++----------- make/configure | 28 ++++++++++++++++------------ 5 files changed, 65 insertions(+), 46 deletions(-) diff --git a/erts/aclocal.m4 b/erts/aclocal.m4 index 4227cc6a66..4720a422c8 100644 --- a/erts/aclocal.m4 +++ b/erts/aclocal.m4 @@ -42,7 +42,7 @@ AC_ARG_VAR(CPPFLAGS, [C/C++ preprocessor flags]) AC_ARG_VAR(CXX, [C++ compiler]) AC_ARG_VAR(CXXFLAGS, [C++ compiler flags]) AC_ARG_VAR(LD, [linker (is often overridden by configure)]) -AC_ARG_VAR(LDFLAGS, [linker flags (can be risky to set since LD may be overriden by configure)]) +AC_ARG_VAR(LDFLAGS, [linker flags (can be risky to set since LD may be overridden by configure)]) AC_ARG_VAR(LIBS, [libraries]) AC_ARG_VAR(DED_LD, [linker for Dynamic Erlang Drivers (set all DED_LD* variables or none)]) AC_ARG_VAR(DED_LDFLAGS, [linker flags for Dynamic Erlang Drivers (set all DED_LD* variables or none)]) @@ -2957,11 +2957,26 @@ dnl AC_DEFUN(ERL_DED, [ +LM_CHECK_THR_LIB + +if test "$THR_DEFS" = ""; then + DED_THR_DEFS="-D_THREAD_SAFE -D_REENTRANT" +else + DED_THR_DEFS="$THR_DEFS" +fi + +AC_SUBST(DED_THR_DEFS) + +ERL_DED_FLAGS + +]) + +AC_DEFUN(ERL_DED_FLAGS, + [ + USER_LD=$LD USER_LDFLAGS="$LDFLAGS" -LM_CHECK_THR_LIB - DED_CC=$CC DED_GCC=$GCC @@ -2977,7 +2992,6 @@ case $host_os in ;; esac - DED_WARN_FLAGS="-Wall -Wstrict-prototypes" case "$host_cpu" in tile*) @@ -2997,12 +3011,6 @@ LM_TRY_ENABLE_CFLAG([-Werror=undef], [DED_WERRORFLAGS]) DED_SYS_INCLUDE="-I${ERL_TOP}/erts/emulator/beam -I${ERL_TOP}/erts/include -I${ERL_TOP}/erts/include/$host -I${ERL_TOP}/erts/include/internal -I${ERL_TOP}/erts/include/internal/$host -I${ERL_TOP}/erts/emulator/sys/$DED_OSTYPE -I${ERL_TOP}/erts/emulator/sys/common" DED_INCLUDE=$DED_SYS_INCLUDE -if test "$THR_DEFS" = ""; then - DED_THR_DEFS="-D_THREAD_SAFE -D_REENTRANT" -else - DED_THR_DEFS="$THR_DEFS" -fi -# DED_EMU_THR_DEFS=$EMU_THR_DEFS DED_CFLAGS="$CFLAGS $CPPFLAGS $DED_CFLAGS" if test "x$GCC" = xyes; then # Use -fno-common for gcc, that is link error if multiple definitions of @@ -3187,7 +3195,6 @@ AC_SUBST(DED_LD) AC_SUBST(DED_LDFLAGS) AC_SUBST(DED_LD_FLAG_RUNTIME_LIBRARY_PATH) AC_SUBST(DED_LIBS) -AC_SUBST(DED_THR_DEFS) AC_SUBST(DED_OSTYPE) ]) diff --git a/erts/configure b/erts/configure index a264407cd2..3a6023ad7d 100755 --- a/erts/configure +++ b/erts/configure @@ -1652,7 +1652,7 @@ Some influential environment variables: CXX C++ compiler CXXFLAGS C++ compiler flags LD linker (is often overridden by configure) - LDFLAGS linker flags (can be risky to set since LD may be overriden by + LDFLAGS linker flags (can be risky to set since LD may be overridden by configure) LIBS libraries DED_LD linker for Dynamic Erlang Drivers (set all DED_LD* variables or diff --git a/lib/crypto/configure b/lib/crypto/configure index 6b7bb6327e..39766e0f0b 100755 --- a/lib/crypto/configure +++ b/lib/crypto/configure @@ -633,7 +633,6 @@ SSL_LIBDIR SSL_INCLUDE REGTOOL DED_OSTYPE -DED_THR_DEFS DED_LIBS DED_WERRORFLAGS DED_WARN_FLAGS @@ -645,6 +644,7 @@ DED_SYS_INCLUDE DED_EXT DED_GCC DED_CC +DED_THR_DEFS EGREP GREP MIXED_MINGW @@ -3974,9 +3974,6 @@ done -USER_LD=$LD -USER_LDFLAGS="$LDFLAGS" - NEED_NPTL_PTHREAD_H=no @@ -4427,6 +4424,19 @@ fi +if test "$THR_DEFS" = ""; then + DED_THR_DEFS="-D_THREAD_SAFE -D_REENTRANT" +else + DED_THR_DEFS="$THR_DEFS" +fi + + + + + +USER_LD=$LD +USER_LDFLAGS="$LDFLAGS" + DED_CC=$CC DED_GCC=$GCC @@ -4442,7 +4452,6 @@ case $host_os in ;; esac - DED_WARN_FLAGS="-Wall -Wstrict-prototypes" case "$host_cpu" in tile*) @@ -4586,12 +4595,6 @@ $as_echo "no" >&6; } DED_SYS_INCLUDE="-I${ERL_TOP}/erts/emulator/beam -I${ERL_TOP}/erts/include -I${ERL_TOP}/erts/include/$host -I${ERL_TOP}/erts/include/internal -I${ERL_TOP}/erts/include/internal/$host -I${ERL_TOP}/erts/emulator/sys/$DED_OSTYPE -I${ERL_TOP}/erts/emulator/sys/common" DED_INCLUDE=$DED_SYS_INCLUDE -if test "$THR_DEFS" = ""; then - DED_THR_DEFS="-D_THREAD_SAFE -D_REENTRANT" -else - DED_THR_DEFS="$THR_DEFS" -fi -# DED_EMU_THR_DEFS=$EMU_THR_DEFS DED_CFLAGS="$CFLAGS $CPPFLAGS $DED_CFLAGS" if test "x$GCC" = xyes; then # Use -fno-common for gcc, that is link error if multiple definitions of diff --git a/lib/megaco/configure b/lib/megaco/configure index 6471979298..13ed7b96a6 100755 --- a/lib/megaco/configure +++ b/lib/megaco/configure @@ -623,7 +623,6 @@ ac_subst_vars='LTLIBOBJS LIBOBJS PERL DED_OSTYPE -DED_THR_DEFS DED_LIBS DED_LD_FLAG_RUNTIME_LIBRARY_PATH DED_LDFLAGS @@ -638,6 +637,7 @@ DED_EXT DED_GCC DED_CC DED_LD +DED_THR_DEFS EGREP GREP CPP @@ -4061,9 +4061,6 @@ done -USER_LD=$LD -USER_LDFLAGS="$LDFLAGS" - NEED_NPTL_PTHREAD_H=no @@ -4514,6 +4511,19 @@ fi +if test "$THR_DEFS" = ""; then + DED_THR_DEFS="-D_THREAD_SAFE -D_REENTRANT" +else + DED_THR_DEFS="$THR_DEFS" +fi + + + + + +USER_LD=$LD +USER_LDFLAGS="$LDFLAGS" + DED_CC=$CC DED_GCC=$GCC @@ -4529,7 +4539,6 @@ case $host_os in ;; esac - DED_WARN_FLAGS="-Wall -Wstrict-prototypes" case "$host_cpu" in tile*) @@ -4673,12 +4682,6 @@ $as_echo "no" >&6; } DED_SYS_INCLUDE="-I${ERL_TOP}/erts/emulator/beam -I${ERL_TOP}/erts/include -I${ERL_TOP}/erts/include/$host -I${ERL_TOP}/erts/include/internal -I${ERL_TOP}/erts/include/internal/$host -I${ERL_TOP}/erts/emulator/sys/$DED_OSTYPE -I${ERL_TOP}/erts/emulator/sys/common" DED_INCLUDE=$DED_SYS_INCLUDE -if test "$THR_DEFS" = ""; then - DED_THR_DEFS="-D_THREAD_SAFE -D_REENTRANT" -else - DED_THR_DEFS="$THR_DEFS" -fi -# DED_EMU_THR_DEFS=$EMU_THR_DEFS DED_CFLAGS="$CFLAGS $CPPFLAGS $DED_CFLAGS" if test "x$GCC" = xyes; then # Use -fno-common for gcc, that is link error if multiple definitions of @@ -5034,6 +5037,7 @@ fi + # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 diff --git a/make/configure b/make/configure index 02204f72d0..698d94db9c 100755 --- a/make/configure +++ b/make/configure @@ -621,7 +621,6 @@ ac_includes_default="\ ac_subst_vars='LTLIBOBJS LIBOBJS DED_OSTYPE -DED_THR_DEFS DED_LIBS DED_WERRORFLAGS DED_WARN_FLAGS @@ -633,6 +632,7 @@ DED_SYS_INCLUDE DED_EXT DED_GCC DED_CC +DED_THR_DEFS EGREP GREP NATIVE_LIBS_ENABLED @@ -5082,9 +5082,6 @@ done -USER_LD=$LD -USER_LDFLAGS="$LDFLAGS" - NEED_NPTL_PTHREAD_H=no @@ -5535,6 +5532,19 @@ fi +if test "$THR_DEFS" = ""; then + DED_THR_DEFS="-D_THREAD_SAFE -D_REENTRANT" +else + DED_THR_DEFS="$THR_DEFS" +fi + + + + + +USER_LD=$LD +USER_LDFLAGS="$LDFLAGS" + DED_CC=$CC DED_GCC=$GCC @@ -5550,7 +5560,6 @@ case $host_os in ;; esac - DED_WARN_FLAGS="-Wall -Wstrict-prototypes" case "$host_cpu" in tile*) @@ -5694,12 +5703,6 @@ $as_echo "no" >&6; } DED_SYS_INCLUDE="-I${ERL_TOP}/erts/emulator/beam -I${ERL_TOP}/erts/include -I${ERL_TOP}/erts/include/$host -I${ERL_TOP}/erts/include/internal -I${ERL_TOP}/erts/include/internal/$host -I${ERL_TOP}/erts/emulator/sys/$DED_OSTYPE -I${ERL_TOP}/erts/emulator/sys/common" DED_INCLUDE=$DED_SYS_INCLUDE -if test "$THR_DEFS" = ""; then - DED_THR_DEFS="-D_THREAD_SAFE -D_REENTRANT" -else - DED_THR_DEFS="$THR_DEFS" -fi -# DED_EMU_THR_DEFS=$EMU_THR_DEFS DED_CFLAGS="$CFLAGS $CPPFLAGS $DED_CFLAGS" if test "x$GCC" = xyes; then # Use -fno-common for gcc, that is link error if multiple definitions of @@ -6055,6 +6058,7 @@ fi + ac_config_files="$ac_config_files ../Makefile output.mk ../make/$host/otp_ded.mk:../make/otp_ded.mk.in" -- 2.31.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor