Adding upstream version 0.7.1.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-09 07:36:15 +01:00
parent 7f70a05c55
commit dc2839d325
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
99 changed files with 6727 additions and 943 deletions

227
configure vendored
View file

@ -34,7 +34,7 @@ WANT_PIC=yes
P_PWD=`pwd`
MAINTAINER='sbahra@repnop.org'
VERSION=${VERSION:-'0.6.0'}
VERSION=${VERSION:-'0.7.1'}
VERSION_MAJOR='0'
BUILD="$PWD/build/ck.build"
PREFIX=${PREFIX:-"/usr/local"}
@ -119,6 +119,9 @@ generate()
-e "s#@GZIP_SUFFIX@#$GZIP_SUFFIX#g" \
-e "s#@POINTER_PACK_ENABLE@#$POINTER_PACK_ENABLE#g" \
-e "s#@DISABLE_DOUBLE@#$DISABLE_DOUBLE#g" \
-e "s#@DISABLE_STATIC@#$DISABLE_STATIC#g" \
-e "s#@SSE_DISABLE@#$SSE_DISABLE#g" \
-e "s#@PPC32_LWSYNC_ENABLE@#$PPC32_LWSYNC_ENABLE#g" \
-e "s#@RTM_ENABLE@#$RTM_ENABLE#g" \
-e "s#@LSE_ENABLE@#$LSE_ENABLE#g" \
-e "s#@VMA_BITS@#$VMA_BITS_R#g" \
@ -144,6 +147,7 @@ generate_stdout()
echo " SRC_DIR = $BUILD_DIR"
echo " SYSTEM = $SYSTEM"
echo " PROFILE = $PROFILE"
echo " AR = $AR"
echo " CC = $CC"
echo " COMPILER = $COMPILER"
echo " CFLAGS = $CFLAGS"
@ -153,13 +157,16 @@ generate_stdout()
echo " LDNAME_VERSION = $LDNAME_VERSION"
echo " LDNAME_MAJOR = $LDNAME_MAJOR"
echo " LDFLAGS = $LDFLAGS"
echo " STATIC_LIB = $DISABLE_STATIC"
echo " GZIP = $GZIP"
echo " CORES = $CORES"
echo " POINTER_PACK = $POINTER_PACK_ENABLE"
echo " PPC32_LWSYNC = $PPC32_LWSYNC_ENABLE"
echo " VMA_BITS = $VMA_BITS"
echo " MEMORY_MODEL = $MM"
echo " RTM = $RTM_ENABLE"
echo " LSE = $LSE_ENABLE"
echo " SSE = $SSE_DISABLE"
echo
echo "Headers will be installed in $HEADERS"
echo "Libraries will be installed in $LIBRARY"
@ -169,7 +176,8 @@ generate_stdout()
for option; do
case "$option" in
*=?*)
value=`expr -- "$option" : '[^=]*=\(.*\)'`
optname=`echo $option|cut -c 3-`
value=`expr "$optname" : '[^=]*=\(.*\)'`
;;
*=)
value=
@ -194,18 +202,24 @@ for option; do
echo
echo "The following options will affect generated code."
echo " --enable-pointer-packing Assumes address encoding is subset of pointer range"
echo " --enable-rtm Enable restricted transactional memory (power, x86_64)"
echo " --enable-lse Enable large system extensions (arm64)"
echo " --memory-model=N Specify memory model (currently tso, pso or rmo)"
echo " --vma-bits=N Specify valid number of VMA bits"
echo " --platform=N Force the platform type, instead of relying on autodetection"
echo " --use-cc-builtins Use the compiler atomic bultin functions, instead of the CK implementation"
echo " --use-cc-builtins Use the compiler atomic builtin functions, instead of the CK implementation"
echo " --disable-double Don't generate any of the functions using the \"double\" type"
echo " --disable-static Don't compile a static version of the ck lib"
echo
echo "The following options will affect specific platform-dependent generated code."
echo " --disable-sse Do not use any SSE instructions (x86)"
echo " --enable-lse Enable large system extensions (arm64)"
echo " --enable-ppc32-lwsync Enable lwsync instruction usage (32-bit Power ISA)"
echo " --enable-rtm Enable restricted transactional memory (Power ISA, x86_64)"
echo
echo "The following options affect regression testing."
echo " --cores=N Specify number of cores available on target machine"
echo
echo "The following environment variables may be used:"
echo " AR AR archiver command"
echo " CC C compiler command"
echo " CFLAGS C compiler flags"
echo " LDFLAGS Linker flags"
@ -237,12 +251,18 @@ for option; do
--enable-pointer-packing)
POINTER_PACK_ENABLE="CK_MD_POINTER_PACK_ENABLE"
;;
--enable-ppc32-lwsync)
PPC32_LWSYNC_ENABLE="CK_MD_PPC32_LWSYNC"
;;
--enable-rtm)
RTM_ENABLE_SET="CK_MD_RTM_ENABLE"
;;
--enable-lse)
LSE_ENABLE_SET="CK_MD_LSE_ENABLE"
;;
--disable-sse)
SSE_DISABLE="CK_MD_SSE_DISABLE"
;;
--cores=*)
CORES=$value
;;
@ -276,6 +296,9 @@ for option; do
--disable-double)
DISABLE_DOUBLE="CK_PR_DISABLE_DOUBLE"
;;
--disable-static)
DISABLE_STATIC=1
;;
--platform=*)
PLATFORM=$value
;;
@ -294,7 +317,8 @@ for option; do
fi
;;
*=*)
NAME=`expr -- "$option" : '\([^=]*\)='`
optname=`echo $option|cut -c 3-`
NAME=`expr "$optname" : '\([^=]*\)='`
eval "$NAME='$value'"
export $NAME
;;
@ -309,10 +333,13 @@ done
HEADERS=${HEADERS:-"${PREFIX}/include"}
LIBRARY=${LIBRARY:-"${PREFIX}/lib"}
MANDIR=${MANDIR:-"${PREFIX}/share/man"}
GZIP=${GZIP:-"gzip -c"}
GZIP=${GZIP-"gzip -c"}
POINTER_PACK_ENABLE=${POINTER_PACK_ENABLE:-"CK_MD_POINTER_PACK_DISABLE"}
DISABLE_DOUBLE=${DISABLE_DOUBLE:-"CK_PR_ENABLE_DOUBLE"}
DISABLE_STATIC=${DISABLE_STATIC:-"0"}
PPC32_LWSYNC_ENABLE=${PPC32_LWSYNC_ENABLE:-"CK_MD_PPC32_LWSYNC_DISABLE"}
RTM_ENABLE=${RTM_ENABLE_SET:-"CK_MD_RTM_DISABLE"}
SSE_DISABLE=${SSE_DISABLE:-"CK_MD_SSE_ENABLE"}
LSE_ENABLE=${LSE_ENABLE_SET:-"CK_MD_LSE_DISABLE"}
VMA_BITS=${VMA_BITS:-"unknown"}
@ -347,14 +374,18 @@ case "$SYSTEM" in
DCORES=`sysctl -n hw.ncpu`
SYSTEM=darwin
;;
MINGW32*)
MINGW32*|MSYS_NT*)
SYSTEM=mingw32
LDFLAGS="-mthreads $LDFLAGS"
;;
CYGWIN_NT*)
SYSTEM=cygwin
LDFLAGS="-mthreads $LDFLAGS"
;;
MINGW64*)
SYSTEM=mingw64
LDFLAGS="-mthreads $LDFLAGS"
;;
CYGWIN_NT*)
SYSTEM=cygwin
LDFLAGS="-mthreads $LDFLAGS"
;;
*)
SYSTEM=
;;
@ -365,11 +396,18 @@ assert "$SYSTEM" "$SYSTEM" "unsupported"
CORES=${CORES:-${DCORES}}
printf "Detecting machine architecture..."
if test "x$PLATFORM" = "x"; then
PLATFORM=`uname -m 2> /dev/null`
case $SYSTEM in
"freebsd")
PLATFORM=`uname -p 2> /dev/null`
;;
*)
PLATFORM=`uname -m 2> /dev/null`
;;
esac
fi
case $PLATFORM in
"macppc"|"Power Macintosh"|"powerpc")
"macppc"|"Power Macintosh"|"powerpc"|"powerpcspe")
RTM_ENABLE="CK_MD_RTM_DISABLE"
LSE_ENABLE="CK_MD_LSE_DISABLE"
MM="${MM:-"CK_MD_RMO"}"
@ -457,19 +495,22 @@ case $PLATFORM in
;;
esac
;;
"ppc64"|"ppc64le")
"ppc64"|"ppc64le"|"powerpc64")
RTM_ENABLE="CK_MD_RTM_DISABLE"
LSE_ENABLE="CK_MD_LSE_DISABLE"
MM="${MM:-"CK_MD_RMO"}"
PLATFORM=ppc64
ENVIRONMENT=64
;;
arm|armv6l|armv7l)
if test "$PLATFORM" = "armv6l"; then
CFLAGS="$CFLAGS -march=armv6k";
elif test "$PLATFORM" = "armv7l"; then
CFLAGS="$CFLAGS -march=armv7-a";
fi
arm|armv6|armv6l|armv7|armv7l)
case "$PLATFORM" in
"armv6"|"armv6l")
CFLAGS="$CFLAGS -march=armv6k";
;;
"armv7"|"armv7l")
CFLAGS="$CFLAGS -march=armv7-a";
;;
esac
RTM_ENABLE="CK_MD_RTM_DISABLE"
LSE_ENABLE="CK_MD_LSE_DISABLE"
MM="${MM:-"CK_MD_RMO"}"
@ -482,11 +523,19 @@ case $PLATFORM in
PLATFORM=aarch64
ENVIRONMENT=64
;;
"s390x")
RTM_ENABLE="CK_MD_RTM_DISABLE"
LSE_ENABLE="CK_MD_LSE_DISABLE"
MM="${MM:-"CK_MD_RMO"}"
PLATFORM=s390x
ENVIRONMENT=64
;;
*)
RTM_ENABLE="CK_MD_RTM_DISABLE"
LSE_ENABLE="CK_MD_LSE_DISABLE"
PLATFORM=
PLATFORM=unknown
MM="${MM:-"CK_MD_RMO"}"
USE_CC_BUILTINS=1
;;
esac
@ -543,27 +592,65 @@ else
echo "success [$BUILD_DIR]"
fi
printf "Finding gzip tool................"
GZIP=`pathsearch "${GZIP:-gzip}"`
if test -z "$GZIP" -o ! -x "$GZIP"; then
if test -n "$GZIP"; then
printf "Finding gzip tool................"
GZIP=`pathsearch "${GZIP:-gzip}"`
GZIP="$GZIP"
if test -z "$GZIP" -o ! -x "$GZIP"; then
GZIP=`pathsearch "${GZIP:-gzip}"`
GZIP="$GZIP"
fi
if test -z "$GZIP"; then
echo "not found"
else
echo "success [$GZIP]"
GZIP="$GZIP -c"
GZIP_SUFFIX=".gz"
fi
fi
if test -z "$GZIP"; then
echo "not found"
GZIP=cat
GZIP_SUFFIX=""
else
echo "success [$GZIP]"
GZIP="$GZIP -c"
GZIP_SUFFIX=".gz"
fi
if test "$PROFILE"; then
printf "Using user-specified profile....."
if test -z "$CC"; then
echo "failed [specify compiler]"
exit $EXIT_FAILURE
fi
if test ! -f build/ck.build.$PROFILE; then
echo "failed [$PROFILE]"
exit $EXIT_FAILURE
fi
echo "success [$PROFILE]"
printf "Generating header files.........."
generate include/ck_md.h.in include/ck_md.h
generate include/freebsd/ck_md.h.in include/freebsd/ck_md.h
echo "success"
printf "Generating build files..........."
generate src/Makefile.in src/Makefile
generate doc/Makefile.in doc/Makefile
generate build/ck.build.in build/ck.build
generate build/regressions.build.in build/regressions.build
generate build/ck.pc.in build/ck.pc
generate build/ck.spec.in build/ck.spec
generate Makefile.in Makefile
echo "success"
generate_stdout
exit $EXIT_SUCCESS
fi
printf "Finding suitable compiler........"
CC=`pathsearch "${CC:-cc}"`
if test -z "$CC" -o ! -x "$CC"; then
CC=`pathsearch "${CC:-gcc}"`
if test ! -x "${CC}"; then
CC=`pathsearch "${CC:-cc}"`
if test -z "$CC" -o ! -x "$CC"; then
CC=`pathsearch "${CC:-gcc}"`
fi
fi
assert "$CC" "not found"
@ -596,7 +683,7 @@ int main(void) {
EOF
$CC -o .1 .1.c
COMPILER=`./.1`
COMPILER=`./.1 2> /dev/null`
r=$?
rm -f .1.c .1
@ -628,13 +715,24 @@ elif test "$COMPILER" = "gcc" || test "$COMPILER" = "clang" || test "$COMPILER"
if test "$WANT_PIC" = "yes"; then
LDFLAGS="$LDFLAGS -shared -fPIC"
CFLAGS="$CFLAGS -fPIC"
ALL_LIBS="libck.so libck.a"
INSTALL_LIBS="install-so install-lib"
if [ "$DISABLE_STATIC" -eq 1 ]; then
ALL_LIBS="libck.so"
INSTALL_LIBS="install-so"
else
ALL_LIBS="libck.so libck.a"
INSTALL_LIBS="install-so install-lib"
fi
else
LDFLAGS="$LDFLAGS -fno-PIC"
CFLAGS="$CFLAGS -fno-PIC"
ALL_LIBS="libck.a"
INSTALL_LIBS="install-lib"
if [ "$DISABLE_STATIC" -eq 1 ]; then
echo "Error: You have choosen to disable PIC, yet you also disabled the static lib." 1>&2
exit $EXIT_FAILURE
else
ALL_LIBS="libck.a"
INSTALL_LIBS="install-lib"
fi
fi
CFLAGS="-D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses $CFLAGS"
@ -647,6 +745,17 @@ else
assert "" "unknown compiler"
fi
printf "Finding suitable archiver........"
if test ! -x "${AR}"; then
AR=`pathsearch "${AR:-ar}"`
if test -z "$AR" -o ! -x "$AR"; then
AR=`pathsearch "${AR:-ar}"`
else
echo "success [$AR]"
fi
fi
assert "$AR" "not found"
printf "Detecting VMA bits..............."
VMA="unknown"
if test "$VMA_BITS" = "unknown"; then
@ -732,42 +841,13 @@ printf "Detecting git SHA................"
get_git_sha
echo "$GIT_MSG [$GIT_SHA]"
if test "$PROFILE"; then
printf "Using user-specified profile....."
if test -z "$CC"; then
echo "failed [specify compiler]"
exit $EXIT_FAILURE
fi
if test ! -f build/ck.build.$PROFILE; then
echo "failed [$PROFILE]"
exit $EXIT_FAILURE
fi
echo "success [$PROFILE]"
printf "Generating header files.........."
generate include/ck_md.h.in include/ck_md.h
echo "success"
printf "Generating build files..........."
generate src/Makefile.in src/Makefile
generate doc/Makefile.in doc/Makefile
generate build/ck.build.in build/ck.build
generate build/regressions.build.in build/regressions.build
generate build/ck.pc.in build/ck.pc
generate build/ck.spec.in build/ck.spec
generate Makefile.in Makefile
echo "success"
generate_stdout
exit $EXIT_SUCCESS
fi
# Platform will be used as a macro.
PROFILE="${PROFILE:-$PLATFORM}"
PLATFORM="__${PLATFORM}__"
printf "Generating header files.........."
generate include/ck_md.h.in include/ck_md.h
generate include/freebsd/ck_md.h.in include/freebsd/ck_md.h
echo "success"
printf "Generating build files..........."
@ -794,3 +874,12 @@ generate Makefile.in $P_PWD/Makefile
touch src/*.c
echo "success"
generate_stdout
if test "$PROFILE" = "unknown"; then
echo
echo "WARNING: your target architecture is not a first-class citizen."
echo
echo "The test suite may not work as intended. Consider reaching out "
echo "to the mailing list about having the project add first-class "
echo "support for your architecture."
fi