autoconf
This commit is contained in:
parent
aec5d830a8
commit
1f366b4cd4
42 changed files with 30950 additions and 1097 deletions
197
.clang-format
Normal file
197
.clang-format
Normal file
|
@ -0,0 +1,197 @@
|
|||
# Basic .clang-format
|
||||
---
|
||||
BasedOnStyle: WebKit
|
||||
AlignAfterOpenBracket: DontAlign
|
||||
AlignConsecutiveAssignments: false
|
||||
AlignConsecutiveDeclarations: false
|
||||
AlignEscapedNewlines: Left
|
||||
AlignOperands: false
|
||||
AlignTrailingComments: true
|
||||
AllowAllArgumentsOnNextLine: false
|
||||
AllowAllParametersOfDeclarationOnNextLine: false
|
||||
AllowShortBlocksOnASingleLine: Never
|
||||
AllowShortCaseLabelsOnASingleLine: false
|
||||
AllowShortFunctionsOnASingleLine: InlineOnly
|
||||
AllowShortIfStatementsOnASingleLine: Never
|
||||
AllowShortLoopsOnASingleLine: false
|
||||
AlwaysBreakAfterReturnType: TopLevelDefinitions
|
||||
AlwaysBreakBeforeMultilineStrings: false
|
||||
AlwaysBreakTemplateDeclarations: MultiLine
|
||||
BinPackArguments: true
|
||||
BinPackParameters: true
|
||||
BreakBeforeBinaryOperators: None
|
||||
BreakBeforeBraces: WebKit
|
||||
BreakBeforeTernaryOperators: false
|
||||
# TODO: BreakStringLiterals can cause very strange formatting so turn it off?
|
||||
BreakStringLiterals: false
|
||||
# Prefer:
|
||||
# some_var = function(arg1,
|
||||
# arg2)
|
||||
# over:
|
||||
# some_var =
|
||||
# function(arg1, arg2)
|
||||
PenaltyBreakAssignment: 100
|
||||
# Prefer:
|
||||
# some_long_function(arg1, arg2
|
||||
# arg3)
|
||||
# over:
|
||||
# some_long_function(
|
||||
# arg1, arg2, arg3)
|
||||
PenaltyBreakBeforeFirstCallParameter: 100
|
||||
CompactNamespaces: true
|
||||
DerivePointerAlignment: false
|
||||
DisableFormat: false
|
||||
ForEachMacros:
|
||||
- ARB_ARRFOREACH
|
||||
- ARB_ARRFOREACH_REVWCOND
|
||||
- ARB_ARRFOREACH_REVERSE
|
||||
- ARB_FOREACH
|
||||
- ARB_FOREACH_FROM
|
||||
- ARB_FOREACH_SAFE
|
||||
- ARB_FOREACH_REVERSE
|
||||
- ARB_FOREACH_REVERSE_FROM
|
||||
- ARB_FOREACH_REVERSE_SAFE
|
||||
- BIT_FOREACH_ISCLR
|
||||
- BIT_FOREACH_ISSET
|
||||
- CPU_FOREACH
|
||||
- CPU_FOREACH_ISCLR
|
||||
- CPU_FOREACH_ISSET
|
||||
- FOREACH_THREAD_IN_PROC
|
||||
- FOREACH_PROC_IN_SYSTEM
|
||||
- FOREACH_PRISON_CHILD
|
||||
- FOREACH_PRISON_DESCENDANT
|
||||
- FOREACH_PRISON_DESCENDANT_LOCKED
|
||||
- FOREACH_PRISON_DESCENDANT_LOCKED_LEVEL
|
||||
- MNT_VNODE_FOREACH_ALL
|
||||
- MNT_VNODE_FOREACH_ACTIVE
|
||||
- RB_FOREACH
|
||||
- RB_FOREACH_FROM
|
||||
- RB_FOREACH_SAFE
|
||||
- RB_FOREACH_REVERSE
|
||||
- RB_FOREACH_REVERSE_FROM
|
||||
- RB_FOREACH_REVERSE_SAFE
|
||||
- SLIST_FOREACH
|
||||
- SLIST_FOREACH_FROM
|
||||
- SLIST_FOREACH_FROM_SAFE
|
||||
- SLIST_FOREACH_SAFE
|
||||
- SLIST_FOREACH_PREVPTR
|
||||
- SPLAY_FOREACH
|
||||
- LIST_FOREACH
|
||||
- LIST_FOREACH_FROM
|
||||
- LIST_FOREACH_FROM_SAFE
|
||||
- LIST_FOREACH_SAFE
|
||||
- STAILQ_FOREACH
|
||||
- STAILQ_FOREACH_FROM
|
||||
- STAILQ_FOREACH_FROM_SAFE
|
||||
- STAILQ_FOREACH_SAFE
|
||||
- TAILQ_FOREACH
|
||||
- TAILQ_FOREACH_FROM
|
||||
- TAILQ_FOREACH_FROM_SAFE
|
||||
- TAILQ_FOREACH_REVERSE
|
||||
- TAILQ_FOREACH_REVERSE_FROM
|
||||
- TAILQ_FOREACH_REVERSE_FROM_SAFE
|
||||
- TAILQ_FOREACH_REVERSE_SAFE
|
||||
- TAILQ_FOREACH_SAFE
|
||||
- VM_MAP_ENTRY_FOREACH
|
||||
- VM_PAGE_DUMP_FOREACH
|
||||
IndentCaseLabels: false
|
||||
IndentPPDirectives: None
|
||||
Language: Cpp
|
||||
NamespaceIndentation: None
|
||||
PointerAlignment: Right
|
||||
ContinuationIndentWidth: 4
|
||||
IndentWidth: 4
|
||||
TabWidth: 4
|
||||
ColumnLimit: 80
|
||||
UseTab: Never
|
||||
SpaceAfterCStyleCast: false
|
||||
IncludeBlocks: Regroup
|
||||
IncludeCategories:
|
||||
- Regex: '^\"opt_.*\.h\"'
|
||||
Priority: 1
|
||||
SortPriority: 10
|
||||
- Regex: '^<sys/cdefs\.h>'
|
||||
Priority: 2
|
||||
SortPriority: 20
|
||||
- Regex: '^<sys/types\.h>'
|
||||
Priority: 2
|
||||
SortPriority: 21
|
||||
- Regex: '^<sys/param\.h>'
|
||||
Priority: 2
|
||||
SortPriority: 22
|
||||
- Regex: '^<sys/systm\.h>'
|
||||
Priority: 2
|
||||
SortPriority: 23
|
||||
- Regex: '^<sys.*/'
|
||||
Priority: 2
|
||||
SortPriority: 24
|
||||
- Regex: '^<vm/vm\.h>'
|
||||
Priority: 3
|
||||
SortPriority: 30
|
||||
- Regex: '^<vm/'
|
||||
Priority: 3
|
||||
SortPriority: 31
|
||||
- Regex: '^<machine/'
|
||||
Priority: 4
|
||||
SortPriority: 40
|
||||
- Regex: '^<(x86|amd64|i386|xen)/'
|
||||
Priority: 5
|
||||
SortPriority: 50
|
||||
- Regex: '^<dev/'
|
||||
Priority: 6
|
||||
SortPriority: 60
|
||||
- Regex: '^<net.*/'
|
||||
Priority: 7
|
||||
SortPriority: 70
|
||||
- Regex: '^<protocols/'
|
||||
Priority: 7
|
||||
SortPriority: 71
|
||||
- Regex: '^<(fs|nfs(|client|server)|ufs)/'
|
||||
Priority: 8
|
||||
SortPriority: 80
|
||||
- Regex: '^<[^/].*\.h'
|
||||
Priority: 9
|
||||
SortPriority: 90
|
||||
- Regex: '^\".*\.h\"'
|
||||
Priority: 10
|
||||
SortPriority: 100
|
||||
# LLVM's header include ordering style is almost the exact opposite of ours.
|
||||
# Unfortunately, they have hard-coded their preferences into clang-format.
|
||||
# Clobbering this regular expression to avoid matching prevents non-system
|
||||
# headers from being forcibly moved to the top of the include list.
|
||||
# http://llvm.org/docs/CodingStandards.html#include-style
|
||||
IncludeIsMainRegex: 'BLAH_DONT_MATCH_ANYTHING'
|
||||
SortIncludes: true
|
||||
KeepEmptyLinesAtTheStartOfBlocks: true
|
||||
TypenameMacros:
|
||||
- ARB_ELMTYPE
|
||||
- ARB_HEAD
|
||||
- ARB8_HEAD
|
||||
- ARB16_HEAD
|
||||
- ARB32_HEAD
|
||||
- ARB_ENTRY
|
||||
- ARB8_ENTRY
|
||||
- ARB16_ENTRY
|
||||
- ARB32_ENTRY
|
||||
- LIST_CLASS_ENTRY
|
||||
- LIST_CLASS_HEAD
|
||||
- LIST_ENTRY
|
||||
- LIST_HEAD
|
||||
- QUEUE_TYPEOF
|
||||
- RB_ENTRY
|
||||
- RB_HEAD
|
||||
- SLIST_CLASS_HEAD
|
||||
- SLIST_CLASS_ENTRY
|
||||
- SLIST_HEAD
|
||||
- SLIST_ENTRY
|
||||
- SMR_POINTER
|
||||
- SPLAY_ENTRY
|
||||
- SPLAY_HEAD
|
||||
- STAILQ_CLASS_ENTRY
|
||||
- STAILQ_CLASS_HEAD
|
||||
- STAILQ_ENTRY
|
||||
- STAILQ_HEAD
|
||||
- TAILQ_CLASS_ENTRY
|
||||
- TAILQ_CLASS_HEAD
|
||||
- TAILQ_ENTRY
|
||||
- TAILQ_HEAD
|
149
.clang-tidy
Normal file
149
.clang-tidy
Normal file
|
@ -0,0 +1,149 @@
|
|||
# Generated from CLion Inspection settings
|
||||
#bugprone-reserved-identifier,
|
||||
---
|
||||
Checks: '-*,
|
||||
-deprecated-non-prototype
|
||||
bugprone-argument-comment,
|
||||
bugprone-assert-side-effect,
|
||||
bugprone-bad-signal-to-kill-thread,
|
||||
bugprone-branch-clone,
|
||||
bugprone-copy-constructor-init,
|
||||
bugprone-dangling-handle,
|
||||
bugprone-dynamic-static-initializers,
|
||||
bugprone-fold-init-type,
|
||||
bugprone-forward-declaration-namespace,
|
||||
bugprone-forwarding-reference-overload,
|
||||
bugprone-inaccurate-erase,
|
||||
bugprone-incorrect-roundings,
|
||||
bugprone-integer-division,
|
||||
bugprone-lambda-function-name,
|
||||
bugprone-macro-parentheses,
|
||||
bugprone-macro-repeated-side-effects,
|
||||
bugprone-misplaced-operator-in-strlen-in-alloc,
|
||||
bugprone-misplaced-pointer-arithmetic-in-alloc,
|
||||
bugprone-misplaced-widening-cast,
|
||||
bugprone-move-forwarding-reference,
|
||||
bugprone-multiple-statement-macro,
|
||||
bugprone-no-escape,
|
||||
bugprone-not-null-terminated-result,
|
||||
bugprone-parent-virtual-call,
|
||||
bugprone-posix-return,
|
||||
bugprone-sizeof-container,
|
||||
bugprone-sizeof-expression,
|
||||
bugprone-spuriously-wake-up-functions,
|
||||
bugprone-string-constructor,
|
||||
bugprone-string-integer-assignment,
|
||||
bugprone-string-literal-with-embedded-nul,
|
||||
bugprone-suspicious-enum-usage,
|
||||
bugprone-suspicious-include,
|
||||
bugprone-suspicious-memset-usage,
|
||||
bugprone-suspicious-missing-comma,
|
||||
bugprone-suspicious-semicolon,
|
||||
bugprone-suspicious-string-compare,
|
||||
bugprone-suspicious-memory-comparison,
|
||||
bugprone-suspicious-realloc-usage,
|
||||
bugprone-swapped-arguments,
|
||||
bugprone-terminating-continue,
|
||||
bugprone-throw-keyword-missing,
|
||||
bugprone-too-small-loop-variable,
|
||||
bugprone-undefined-memory-manipulation,
|
||||
bugprone-undelegated-constructor,
|
||||
bugprone-unhandled-self-assignment,
|
||||
bugprone-unused-raii,
|
||||
bugprone-unused-return-value,
|
||||
bugprone-use-after-move,
|
||||
bugprone-virtual-near-miss,
|
||||
cert-dcl21-cpp,
|
||||
cert-dcl58-cpp,
|
||||
cert-err34-c,
|
||||
cert-err52-cpp,
|
||||
cert-err60-cpp,
|
||||
cert-flp30-c,
|
||||
cert-msc50-cpp,
|
||||
cert-msc51-cpp,
|
||||
cert-str34-c,
|
||||
cppcoreguidelines-interfaces-global-init,
|
||||
cppcoreguidelines-narrowing-conversions,
|
||||
cppcoreguidelines-pro-type-member-init,
|
||||
cppcoreguidelines-pro-type-static-cast-downcast,
|
||||
cppcoreguidelines-slicing,
|
||||
google-default-arguments,
|
||||
google-explicit-constructor,
|
||||
google-runtime-operator,
|
||||
hicpp-exception-baseclass,
|
||||
hicpp-multiway-paths-covered,
|
||||
misc-misplaced-const,
|
||||
misc-new-delete-overloads,
|
||||
misc-no-recursion,
|
||||
misc-non-copyable-objects,
|
||||
misc-throw-by-value-catch-by-reference,
|
||||
misc-unconventional-assign-operator,
|
||||
misc-uniqueptr-reset-release,
|
||||
modernize-avoid-bind,
|
||||
modernize-concat-nested-namespaces,
|
||||
modernize-deprecated-headers,
|
||||
modernize-deprecated-ios-base-aliases,
|
||||
modernize-loop-convert,
|
||||
modernize-make-shared,
|
||||
modernize-make-unique,
|
||||
modernize-pass-by-value,
|
||||
modernize-raw-string-literal,
|
||||
modernize-redundant-void-arg,
|
||||
modernize-replace-auto-ptr,
|
||||
modernize-replace-disallow-copy-and-assign-macro,
|
||||
modernize-replace-random-shuffle,
|
||||
modernize-return-braced-init-list,
|
||||
modernize-shrink-to-fit,
|
||||
modernize-unary-static-assert,
|
||||
modernize-use-auto,
|
||||
modernize-use-bool-literals,
|
||||
modernize-use-emplace,
|
||||
modernize-use-equals-default,
|
||||
modernize-use-equals-delete,
|
||||
modernize-use-nodiscard,
|
||||
modernize-use-noexcept,
|
||||
modernize-use-nullptr,
|
||||
modernize-use-override,
|
||||
modernize-use-transparent-functors,
|
||||
modernize-use-uncaught-exceptions,
|
||||
mpi-buffer-deref,
|
||||
mpi-type-mismatch,
|
||||
openmp-use-default-none,
|
||||
performance-faster-string-find,
|
||||
performance-for-range-copy,
|
||||
performance-implicit-conversion-in-loop,
|
||||
performance-inefficient-algorithm,
|
||||
performance-inefficient-string-concatenation,
|
||||
performance-inefficient-vector-operation,
|
||||
performance-move-const-arg,
|
||||
performance-move-constructor-init,
|
||||
performance-no-automatic-move,
|
||||
performance-noexcept-move-constructor,
|
||||
performance-trivially-destructible,
|
||||
performance-type-promotion-in-math-fn,
|
||||
performance-unnecessary-copy-initialization,
|
||||
performance-unnecessary-value-param,
|
||||
portability-simd-intrinsics,
|
||||
readability-avoid-const-params-in-decls,
|
||||
readability-const-return-type,
|
||||
readability-container-size-empty,
|
||||
readability-convert-member-functions-to-static,
|
||||
readability-delete-null-pointer,
|
||||
readability-deleted-default,
|
||||
readability-inconsistent-declaration-parameter-name,
|
||||
readability-make-member-function-const,
|
||||
readability-misleading-indentation,
|
||||
readability-misplaced-array-index,
|
||||
readability-non-const-parameter,
|
||||
readability-redundant-control-flow,
|
||||
readability-redundant-declaration,
|
||||
readability-redundant-function-ptr-dereference,
|
||||
readability-redundant-smartptr-get,
|
||||
readability-redundant-string-cstr,
|
||||
readability-redundant-string-init,
|
||||
readability-simplify-subscript-expr,
|
||||
readability-static-accessed-through-instance,
|
||||
readability-static-definition-in-anonymous-namespace,
|
||||
readability-string-compare,
|
||||
readability-uniqueptr-delete-release,
|
||||
readability-use-anyofallof'
|
5
.envrc
Normal file
5
.envrc
Normal file
|
@ -0,0 +1,5 @@
|
|||
if ! has nix_direnv_version || ! nix_direnv_version 3.0.4; then
|
||||
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/3.0.4/direnvrc" "sha256-DzlYZ33mWF/Gs8DDeyjr8mnVmQGx7ASYqA5WlxwvBG4="
|
||||
fi
|
||||
watch_file devShell.nix shell.nix flake.nix
|
||||
use flake || use nix
|
14
.gitignore
vendored
14
.gitignore
vendored
|
@ -1,4 +1,10 @@
|
|||
*.a
|
||||
*.so
|
||||
src/*.o
|
||||
src/example
|
||||
build_unix/**
|
||||
*~
|
||||
TAGS
|
||||
tags
|
||||
.direnv/
|
||||
.idea/
|
||||
dist/autom4te.cache/
|
||||
dist/config.hin
|
||||
dist/configure
|
||||
dist/config.log
|
||||
|
|
39
Makefile
39
Makefile
|
@ -1,39 +0,0 @@
|
|||
LDFLAGS = -pthread
|
||||
CFLAGS = \
|
||||
-g -D_GNU_SOURCE \
|
||||
-I. -I./src -I./debug -I./include -I./examples -I./tests \
|
||||
-fPIC \
|
||||
|
||||
CFLAGS += -Wall
|
||||
CFLAGS += -O3
|
||||
#CFLAGS += -fsanitize=address -fuse-ld=gold
|
||||
|
||||
SKIPLIST = src/skiplist.o
|
||||
SHARED_LIB = libskiplist.so
|
||||
STATIC_LIB = libskiplist.a
|
||||
|
||||
EXAMPLE = \
|
||||
src/example.o \
|
||||
$(STATIC_LIB) \
|
||||
|
||||
PROGRAMS = \
|
||||
src/example \
|
||||
libskiplist.so \
|
||||
libskiplist.a \
|
||||
|
||||
all: $(PROGRAMS)
|
||||
|
||||
libskiplist.so: $(SKIPLIST)
|
||||
$(CC) -shared $(LDBFALGS) -o $(SHARED_LIB) $(SKIPLIST)
|
||||
|
||||
libskiplist.a: $(SKIPLIST)
|
||||
ar rcs $(STATIC_LIB) $(SKIPLIST)
|
||||
|
||||
src/example: $(EXAMPLE)
|
||||
$(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS)
|
||||
|
||||
format:
|
||||
clang-format -i src/*.[ch]
|
||||
|
||||
clean:
|
||||
rm -rf $(PROGRAMS) ./*.o ./*.so ./*/*.o ./*/*.so
|
|
@ -1,3 +1,8 @@
|
|||
# skiplist
|
||||
|
||||
Concurrent, lock-free Skip List in ANSI C99.
|
||||
Concurrent, lock-free Skip List in ANSI C99.
|
||||
|
||||
* Portions of this code are derived from work copyrighted by Jung-Sang Ahn
|
||||
* 2017-2024 Jung-Sang Ahn <jungsang.ahn@gmail.com> and made available under the
|
||||
* MIT License. (see: https://github.com/greensky00 Skiplist version: 0.2.9)
|
||||
*
|
||||
|
|
203
dist/Makefile.in
vendored
Normal file
203
dist/Makefile.in
vendored
Normal file
|
@ -0,0 +1,203 @@
|
|||
# SkipList
|
||||
|
||||
srcdir= @srcdir@/../src
|
||||
tstdir= @srcdir@/../test
|
||||
distdir= @srcdir@/../dist
|
||||
builddir=.
|
||||
|
||||
##################################################
|
||||
# Installation directories and permissions.
|
||||
##################################################
|
||||
prefix= @prefix@
|
||||
exec_prefix= @exec_prefix@
|
||||
bindir= @bindir@
|
||||
includedir= @includedir@
|
||||
libdir= @libdir@
|
||||
docdir= $(prefix)/docs
|
||||
|
||||
dmode= 755
|
||||
emode= 555
|
||||
fmode= 444
|
||||
|
||||
transform=@program_transform_name@
|
||||
|
||||
##################################################
|
||||
# Paths for standard user-level commands.
|
||||
##################################################
|
||||
SHELL= @db_cv_path_sh@
|
||||
ar= @db_cv_path_ar@
|
||||
awk= @db_cv_path_awk@
|
||||
chmod= @db_cv_path_chmod@
|
||||
cp= @db_cv_path_cp@
|
||||
depend= @db_cv_path_makedepend@
|
||||
grep= @db_cv_path_grep@
|
||||
ln= @db_cv_path_ln@
|
||||
mkdir= @db_cv_path_mkdir@
|
||||
ranlib= @db_cv_path_ranlib@
|
||||
rm= @db_cv_path_rm@
|
||||
rpm= @db_cv_path_rpm@
|
||||
sed= @db_cv_path_sed@
|
||||
perl= @db_cv_path_perl@
|
||||
splint= @db_cv_path_splint@
|
||||
strip= @db_cv_path_strip@
|
||||
|
||||
##################################################
|
||||
# General library information.
|
||||
##################################################
|
||||
DEF_LIB= @DEFAULT_LIB@
|
||||
INSTALLER= @INSTALLER@
|
||||
LIBTOOL= @LIBTOOL@
|
||||
POSTLINK= @POSTLINK@
|
||||
SOLINK= @MAKEFILE_SOLINK@
|
||||
SOFLAGS= @SOFLAGS@
|
||||
LIBMAJOR= @SKIPLIST_VERSION_MAJOR@
|
||||
LIBVERSION= @SKIPLIST_VERSION_MAJOR@.@SKIPLIST_VERSION_MINOR@
|
||||
CPPFLAGS= -I$(builddir) -I$(srcdir) @CPPFLAGS@
|
||||
|
||||
##################################################
|
||||
# C
|
||||
##################################################
|
||||
CFLAGS= -c $(CPPFLAGS) @CFLAGS@
|
||||
CC= @MAKEFILE_CC@
|
||||
CCLINK= @MAKEFILE_CCLINK@
|
||||
|
||||
LDFLAGS= @LDFLAGS@
|
||||
LIBS= @LIBS@
|
||||
LIBSO_LIBS= @LIBSO_LIBS@
|
||||
|
||||
libskiplist_base= libskiplist
|
||||
libskiplist= $(libskiplist_base).a
|
||||
libskiplist_version= $(libskiplist_base)-$(LIBVERSION).a
|
||||
libso= $(libskiplist_base)-$(LIBVERSION)@SOSUFFIX@
|
||||
libso_target= $(libskiplist_base)-$(LIBVERSION).la
|
||||
libso_default= $(libskiplist_base)@SOSUFFIX@
|
||||
libso_major= $(libskiplist_base)-$(LIBMAJOR)@SOSUFFIX@
|
||||
|
||||
##################################################
|
||||
# Source file lists.
|
||||
##################################################
|
||||
|
||||
C_FILES=\
|
||||
$(srcdir)/skiplist.c
|
||||
|
||||
##################################################
|
||||
# Object and utility lists.
|
||||
##################################################
|
||||
|
||||
C_OBJS=\
|
||||
skiplist@o@
|
||||
|
||||
##################################################
|
||||
# List of files installed into the library directory.
|
||||
##################################################
|
||||
LIB_INSTALL_FILE_LIST=\
|
||||
$(libdbsql) \
|
||||
$(libso) \
|
||||
$(libso_default) \
|
||||
$(libso_major) \
|
||||
$(libdbsql_version) \
|
||||
$(libso_target) \
|
||||
$(libtso) \
|
||||
$(libtso_default) \
|
||||
$(libtso_major) \
|
||||
$(libtso_static) \
|
||||
$(libtso_target)
|
||||
|
||||
##################################################
|
||||
# We're building a standard library or a RPM file hierarchy.
|
||||
# Note: "all" must be the first target in the Makefile.
|
||||
##################################################
|
||||
all: @BUILD_TARGET@
|
||||
|
||||
install-strip install: all @INSTALL_TARGET@
|
||||
|
||||
##################################################
|
||||
# Library build.
|
||||
##################################################
|
||||
library_build: $(libso_target) $(libtso_target)
|
||||
|
||||
# Static C library named libskiplist.a.
|
||||
$(libskiplist): $(DEF_LIB)
|
||||
$(rm) -f $@
|
||||
test ! -f .libs/$(libskiplist_version) || \
|
||||
$(ln) -s .libs/$(libskiplist_version) $@
|
||||
test -f .libs/$(libskiplist_version) || \
|
||||
(test -f $(libskiplist_version) &&
|
||||
$(ln) -s $(libskiplist_version) $@)
|
||||
|
||||
# Real static C library.
|
||||
$(libskiplist_version): skiplist.h $(C_OBJS)
|
||||
$(ar) cr $@ $(C_OBJS)
|
||||
test ! -f $(ranlib) || $(ranlib) $@
|
||||
|
||||
# Shared C library.
|
||||
$(libso_target): skiplist.h $(C_OBJS)
|
||||
$(SOLINK) $(SOFLAGS) $(LDFLAGS) -o $@ $(C_OBJS) $(LIBSO_LIBS)
|
||||
|
||||
##################################################
|
||||
# Testing.
|
||||
##################################################
|
||||
test: test@o@ munit@o@
|
||||
$(CCLINK) -o $@ $(LDFLAGS) \
|
||||
test@o@ $(DEF_LIB) $(LIBS)
|
||||
$(POSTLINK) $@
|
||||
|
||||
check: test
|
||||
./test
|
||||
|
||||
##################################################
|
||||
# Remaining standard Makefile targets.
|
||||
##################################################
|
||||
|
||||
CLEAN_LIST=\
|
||||
$(builddir)/example \
|
||||
$(tstdir)/test $(tstdir)/*.o
|
||||
|
||||
mostly-clean clean:
|
||||
$(rm) -rf $(C_OBJS)
|
||||
$(rm) -rf *.exe $(CLEAN_LIST)
|
||||
$(rm) -rf tags *@o@ *~ *.o *.o.lock *.lo core *.core *.loT
|
||||
$(rm) -rf .libs $(LIB_INSTALL_FILE_LIST)
|
||||
|
||||
REALCLEAN_LIST=\
|
||||
Makefile config.cache config.log config.status \
|
||||
configure.lineno skiplist.h
|
||||
|
||||
distclean maintainer-clean realclean: clean
|
||||
$(rm) -rf $(REALCLEAN_LIST)
|
||||
$(rm) -rf libtool
|
||||
|
||||
LIBTOOL_DEPS = @LIBTOOL_DEPS@
|
||||
libtool: $(LIBTOOL_DEPS)
|
||||
$(SHELL) ./deps/config.status $(builddir)/libtool
|
||||
|
||||
check dvi info obj TAGS:
|
||||
@echo "$@: make target not supported" && true
|
||||
|
||||
dist:
|
||||
@echo "$@: make target not supported" && false
|
||||
|
||||
##################################################
|
||||
# Example programs for C.
|
||||
##################################################
|
||||
|
||||
example: $(DEF_LIB) example@o@
|
||||
$(CCLINK) -o $@ $(LDFLAGS) \
|
||||
example@o@ $(DEF_LIB) $(LIBS)
|
||||
$(POSTLINK) $@
|
||||
|
||||
##################################################
|
||||
# C
|
||||
##################################################
|
||||
|
||||
example@o@: $(srcdir)/example.c
|
||||
$(CC) $(CFLAGS) $?
|
||||
|
||||
skiplist@o@: $(srcdir)/skiplist.c
|
||||
$(CC) $(CFLAGS) $?
|
||||
|
||||
munit@o@: $(tstdir)/munit.c
|
||||
$(CC) $(CFLAGS) $?
|
||||
|
||||
test@o@: $(tstdir)/test.c
|
||||
$(CC) $(CFLAGS) $?
|
9
dist/RELEASE
vendored
Normal file
9
dist/RELEASE
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
SKIPLIST_VERSION_MAJOR=0
|
||||
SKIPLIST_VERSION_MINOR=0
|
||||
SKIPLIST_VERSION_PATCH=1
|
||||
SKIPLIST_VERSION="$SKIPLIST_VERSION_MAJOR.$SKIPLIST_VERSION_MINOR.$SKIPLIST_VERSION_PATCH"
|
||||
|
||||
SKIPLIST_VERSION_UNIQUE_NAME=`printf "_%d%03d" $SKIPLIST_VERSION_MAJOR $SKIPLIST_VERSION_MINOR`
|
||||
|
||||
SKIPLIST_RELEASE_DATE=`date "+%B %e, %Y"`
|
||||
SKIPLIST_VERSION_STRING="A skiplist $SKIPLIST_VERSION: ($SKIPLIST_RELEASE_DATE)"
|
26
dist/aclocal/config.m4
vendored
Normal file
26
dist/aclocal/config.m4
vendored
Normal file
|
@ -0,0 +1,26 @@
|
|||
# Features we don't test for, but want the #defines to exist for
|
||||
# other ports.
|
||||
AH_TEMPLATE(DBSQL_WIN32,
|
||||
[We use DBSQL_WIN32 much as one would use _WIN32 -- to specify that
|
||||
we're using an operating system environment that supports Win32
|
||||
calls and semantics. We don't use _WIN32 because Cygwin/GCC also
|
||||
defines _WIN32, even though Cygwin/GCC closely emulates the Unix
|
||||
environment.])
|
||||
|
||||
AH_TEMPLATE(HAVE_FILESYSTEM_NOTZERO,
|
||||
[Define to 1 if allocated filesystem blocks are not zeroed.])
|
||||
|
||||
AH_TEMPLATE(HAVE_UNLINK_WITH_OPEN_FAILURE,
|
||||
[Define to 1 if unlink of file with open file descriptors will fail.])
|
||||
|
||||
AH_BOTTOM([/*
|
||||
* Exit success/failure macros.
|
||||
*/
|
||||
#ifndef HAVE_EXIT_SUCCESS
|
||||
#define EXIT_FAILURE 1
|
||||
#define EXIT_SUCCESS 0
|
||||
#endif
|
||||
|
||||
#ifdef DBSQL_WIN32
|
||||
#include "win_dbsql.h"
|
||||
#endif])
|
313
dist/aclocal/cxx.m4
vendored
Normal file
313
dist/aclocal/cxx.m4
vendored
Normal file
|
@ -0,0 +1,313 @@
|
|||
# C++ language checks
|
||||
|
||||
AC_DEFUN(AC_CXX_STDHEADERS, [
|
||||
AC_SUBST(cxx_have_stdheaders)
|
||||
AC_MSG_CHECKING(whether C++ supports the ISO C++ standard includes)
|
||||
AC_LANG_SAVE
|
||||
AC_LANG([C++])
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE(
|
||||
[[#include <iostream>]],
|
||||
[[std::ostream *o; return 0;]])],
|
||||
db_cv_cxx_have_stdheaders=yes, db_cv_cxx_have_stdheaders=no)
|
||||
AC_LANG_RESTORE
|
||||
AC_MSG_RESULT($db_cv_cxx_have_stdheaders)
|
||||
if test "$db_cv_cxx_have_stdheaders" = yes; then
|
||||
cxx_have_stdheaders="#define HAVE_CXX_STDHEADERS 1"
|
||||
fi])
|
||||
|
||||
AC_DEFUN(AC_CXX_WSTRING, [
|
||||
AC_MSG_CHECKING(whether C++ supports the wstring class)
|
||||
AC_SUBST(WSTRING_decl)
|
||||
AC_LANG_SAVE
|
||||
AC_LANG([C++])
|
||||
AC_LINK_IFELSE(AC_LANG_SOURCE(
|
||||
[[#include <string>]],
|
||||
[[using std::wstring;
|
||||
wstring ws; ws.find_first_of(ws);]]),
|
||||
[WSTRING_decl="#define HAVE_WSTRING 1" ;
|
||||
AC_MSG_RESULT(yes)],
|
||||
[WSTRING_decl="#undef HAVE_WSTRING" ;
|
||||
AC_MSG_RESULT(no)])
|
||||
AC_LANG_RESTORE
|
||||
])
|
||||
|
||||
AC_DEFUN(AC_CXX_SUPPORTS_TEMPLATES, [
|
||||
AC_MSG_CHECKING(whether the C++ compiler supports templates for STL)
|
||||
AC_LANG_SAVE
|
||||
AC_LANG([C++])
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
]], [[
|
||||
using std::string;
|
||||
using std::vector;
|
||||
namespace dbstl_configure_test {
|
||||
|
||||
template<typename T1, typename T2 = int>
|
||||
class MyClass
|
||||
{
|
||||
public:
|
||||
explicit MyClass(int i) { imem = i;}
|
||||
|
||||
MyClass(const T1& t1, const T2& t2, int i)
|
||||
{
|
||||
mem1 = t1;
|
||||
mem2 = t2;
|
||||
imem = i;
|
||||
}
|
||||
|
||||
template <typename T3>
|
||||
T2 templ_mem_func(T1 t1, T3 t3)
|
||||
{
|
||||
mem2 = t1;
|
||||
T3 t32 = t3;
|
||||
T2 t2;
|
||||
return t2;
|
||||
}
|
||||
|
||||
double templ_mem_func(T1 t1, double t3)
|
||||
{
|
||||
mem1 = t1;
|
||||
double t32 = t3;
|
||||
return t3;
|
||||
}
|
||||
|
||||
template <typename ReturnType, typename T7, typename T8>
|
||||
ReturnType templ_mem_func(T7, T8);
|
||||
|
||||
operator T1() const {return mem1;}
|
||||
private:
|
||||
T1 mem1;
|
||||
T2 mem2;
|
||||
int imem;
|
||||
};
|
||||
|
||||
template<typename T1, typename T2>
|
||||
template <typename ReturnType, typename T7, typename T8>
|
||||
ReturnType MyClass<T1, T2>::templ_mem_func(T7, T8)
|
||||
{
|
||||
ReturnType rt;
|
||||
return rt;
|
||||
}
|
||||
|
||||
template<>
|
||||
class MyClass<double, float>
|
||||
{
|
||||
public:
|
||||
explicit MyClass(int i) { imem = i;}
|
||||
|
||||
MyClass(const double& t1, const float& t2, int i)
|
||||
{
|
||||
mem1 = t1;
|
||||
mem2 = t2;
|
||||
imem = i;
|
||||
}
|
||||
|
||||
template <typename T3>
|
||||
float templ_mem_func(double t1, T3 t3)
|
||||
{
|
||||
mem2 = t1;
|
||||
T3 t32 = t3;
|
||||
float t2;
|
||||
return t2;
|
||||
}
|
||||
|
||||
double templ_mem_func(double t1, double t3)
|
||||
{
|
||||
mem1 = t1;
|
||||
double t32 = t3;
|
||||
return t3;
|
||||
}
|
||||
|
||||
template <typename ReturnType, typename T7, typename T8>
|
||||
ReturnType templ_mem_func(T7, T8);
|
||||
|
||||
operator double() const {return mem1;}
|
||||
private:
|
||||
double mem1;
|
||||
float mem2;
|
||||
int imem;
|
||||
};
|
||||
|
||||
template <typename ReturnType, typename T7, typename T8>
|
||||
ReturnType MyClass<double, float>::templ_mem_func(T7, T8)
|
||||
{
|
||||
ReturnType rt;
|
||||
return rt;
|
||||
}
|
||||
|
||||
template <typename T1, typename T2>
|
||||
class MyClass2 {
|
||||
public:
|
||||
MyClass2(const T1& t1, const T2&t2){}
|
||||
};
|
||||
|
||||
// partial specialization: both template parameters have same type
|
||||
template <typename T>
|
||||
class MyClass2<T,T> {
|
||||
public:
|
||||
MyClass2(const T& t1, const T&t2){}
|
||||
};
|
||||
|
||||
// partial specialization: second type is int
|
||||
template <typename T>
|
||||
class MyClass2<T,int> {
|
||||
public:
|
||||
MyClass2(const T& t1, const int&t2){}
|
||||
};
|
||||
|
||||
// partial specialization: both template parameters are pointer types
|
||||
template <typename T1, typename T2>
|
||||
class MyClass2<T1*,T2*> {
|
||||
public:
|
||||
MyClass2(const T1* t1, const T2*t2){}
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
class MyClass2<T*,T*> {
|
||||
public:
|
||||
MyClass2(const T* t1, const T*t2){}
|
||||
};
|
||||
|
||||
template <typename T4, typename T5>
|
||||
int part_spec_func(T4 t4, T5 t5)
|
||||
{
|
||||
// Zero Initialization should work.
|
||||
T4 t44 = T4();
|
||||
T5 t55 = T5();
|
||||
|
||||
t44 = t4;
|
||||
t55 = t5;
|
||||
}
|
||||
|
||||
template <typename T4>
|
||||
int part_spec_func(T4 t4, std::vector<T4> t55)
|
||||
{
|
||||
T4 t44 = t4;
|
||||
std::vector<T4> abc = t55;
|
||||
}
|
||||
|
||||
// maximum of two int values
|
||||
inline int const& max (int const& a, int const& b)
|
||||
{
|
||||
return a<b?b:a;
|
||||
}
|
||||
|
||||
// maximum of two values of any type
|
||||
template <typename T1, typename T2>
|
||||
inline T2 const max (T1 const& a, T2 const& b)
|
||||
{
|
||||
return a<b?b:a;
|
||||
}
|
||||
// maximum of two values of any type
|
||||
template <typename T>
|
||||
inline T const& max (T const& a, T const& b)
|
||||
{
|
||||
return a<b?b:a;
|
||||
}
|
||||
|
||||
// maximum of three values of any type
|
||||
template <typename T>
|
||||
inline T const& max (T const& a, T const& b, T const& c)
|
||||
{
|
||||
return max (max(a,b), c);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
class Base {
|
||||
public:
|
||||
void exit2(){}
|
||||
Base(){}
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
class Derived : public Base<T> {
|
||||
public:
|
||||
// Call Base<T>() explicitly here, otherwise can't access it.
|
||||
// Kind of like this->.
|
||||
Derived() : Base<T>(){}
|
||||
|
||||
void foo() {
|
||||
this->exit2();
|
||||
}
|
||||
};
|
||||
|
||||
} // dbstl_configure_test
|
||||
|
||||
using namespace dbstl_configure_test;], [
|
||||
char cc = 'a';
|
||||
int i = 4;
|
||||
double pi = 3.14;
|
||||
float gold = 0.618;
|
||||
|
||||
MyClass2<int,float> mif(i, gold); // uses MyClass2<T1,T2>
|
||||
MyClass2<float,float> mff(gold, gold); // uses MyClass2<T,T>
|
||||
MyClass2<float,int> mfi(gold, i); // uses MyClass2<T,int>
|
||||
MyClass2<int*,float*> mp(&i, &gold); // uses MyClass2<T1*,T2*>
|
||||
MyClass2<int*,int*> m(&i, &i); // uses MyClass2<T*, T*>
|
||||
|
||||
MyClass<char> obj1(i);
|
||||
obj1.templ_mem_func(cc, pi);
|
||||
obj1.templ_mem_func(cc, gold);
|
||||
obj1.templ_mem_func(i, pi);
|
||||
obj1.templ_mem_func(cc, cc);
|
||||
char ch = (char)obj1;
|
||||
|
||||
string str1("abc"), str2("def");
|
||||
MyClass<const char*, std::string> obj2(str1.c_str(), str2, i);
|
||||
obj2.templ_mem_func("klm", str2);
|
||||
obj2.templ_mem_func("hij", pi);
|
||||
|
||||
// Use j to help distinguish, otherwise unable to use the one defined
|
||||
// outside of class body.
|
||||
int j = obj2.templ_mem_func<int, char, char>(cc, cc);
|
||||
// Call explicitly.
|
||||
obj2.templ_mem_func<int, float, double>(gold, pi);
|
||||
const char *pch = (const char*)obj2;
|
||||
|
||||
MyClass<double, float> obj3(pi, gold, i);
|
||||
obj3.templ_mem_func(pi, i);
|
||||
obj3.templ_mem_func(pi, str1);
|
||||
obj3.templ_mem_func(pi, pi);
|
||||
obj3.templ_mem_func(cc, pi);
|
||||
obj3.templ_mem_func(cc, cc);
|
||||
double tmpd = (double)obj3;
|
||||
|
||||
MyClass<double, float> obj4(i);
|
||||
obj4.templ_mem_func(pi, i);
|
||||
obj4.templ_mem_func(pi, str1);
|
||||
obj4.templ_mem_func(pi, pi);
|
||||
obj4.templ_mem_func(gold, pi);
|
||||
tmpd = (double)obj4;
|
||||
|
||||
// Function template partial specialization.
|
||||
part_spec_func(pi, gold);
|
||||
part_spec_func(gold, i);
|
||||
part_spec_func(str1, str2);
|
||||
std::vector<std::string> strv;
|
||||
part_spec_func(str1, strv);
|
||||
std::vector<double> dblv;
|
||||
part_spec_func(pi, dblv);
|
||||
|
||||
// Function template overloads and explicit call and deduction.
|
||||
dbstl_configure_test::max(7, 42, 68); // calls the template for three arguments
|
||||
dbstl_configure_test::max(7.0, 42.0); // calls max<double> (by argument deduction)
|
||||
dbstl_configure_test::max('a', 'b'); // calls max<char> (by argument deduction)
|
||||
dbstl_configure_test::max(7, 42.0);
|
||||
dbstl_configure_test::max<double>(4,4.2); // instantiate T as double
|
||||
dbstl_configure_test::max(7, 42); // calls the nontemplate for two ints
|
||||
dbstl_configure_test::max<>(7, 42); // calls max<int> (by argument deduction)
|
||||
dbstl_configure_test::max<double, double>(7, 42); // calls max<double> (no argument deduction)
|
||||
dbstl_configure_test::max('a', 42.7); // calls the nontemplate for two ints
|
||||
|
||||
Base<double> bobj;
|
||||
bobj.exit2();
|
||||
// Using this-> to access base class members.
|
||||
Derived<double> dobj;
|
||||
dobj.foo();
|
||||
dobj.exit2();
|
||||
]])], AC_MSG_RESULT(yes), AC_MSG_ERROR(no))
|
||||
|
||||
AC_LANG_RESTORE
|
||||
])
|
19
dist/aclocal/gcc.m4
vendored
Normal file
19
dist/aclocal/gcc.m4
vendored
Normal file
|
@ -0,0 +1,19 @@
|
|||
# Version 2.96 of gcc (shipped with RedHat Linux 7.[01] and Mandrake) had
|
||||
# serious problems.
|
||||
AC_DEFUN(AC_GCC_CONFIG1, [
|
||||
AC_CACHE_CHECK([whether we are using gcc version 2.96],
|
||||
db_cv_gcc_2_96, [
|
||||
db_cv_gcc_2_96=no
|
||||
if test "$GCC" = "yes"; then
|
||||
GCC_VERSION=`${MAKEFILE_CC} --version`
|
||||
case ${GCC_VERSION} in
|
||||
2.96*)
|
||||
db_cv_gcc_2_96=yes;;
|
||||
esac
|
||||
fi])
|
||||
if test "$db_cv_gcc_2_96" = "yes"; then
|
||||
CFLAGS=`echo "$CFLAGS" | sed 's/-O2/-O/'`
|
||||
CXXFLAGS=`echo "$CXXFLAGS" | sed 's/-O2/-O/'`
|
||||
AC_MSG_WARN([INSTALLED GCC COMPILER HAS SERIOUS BUGS; PLEASE UPGRADE.])
|
||||
AC_MSG_WARN([GCC OPTIMIZATION LEVEL SET TO -O.])
|
||||
fi])
|
8400
dist/aclocal/libtool.m4
vendored
Normal file
8400
dist/aclocal/libtool.m4
vendored
Normal file
File diff suppressed because it is too large
Load diff
437
dist/aclocal/ltoptions.m4
vendored
Normal file
437
dist/aclocal/ltoptions.m4
vendored
Normal file
|
@ -0,0 +1,437 @@
|
|||
# Helper functions for option handling. -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2022 Free
|
||||
# Software Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 8 ltoptions.m4
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
|
||||
|
||||
|
||||
# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
|
||||
# ------------------------------------------
|
||||
m4_define([_LT_MANGLE_OPTION],
|
||||
[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
|
||||
|
||||
|
||||
# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
|
||||
# ---------------------------------------
|
||||
# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
|
||||
# matching handler defined, dispatch to it. Other OPTION-NAMEs are
|
||||
# saved as a flag.
|
||||
m4_define([_LT_SET_OPTION],
|
||||
[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
|
||||
m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
|
||||
_LT_MANGLE_DEFUN([$1], [$2]),
|
||||
[m4_warning([Unknown $1 option '$2'])])[]dnl
|
||||
])
|
||||
|
||||
|
||||
# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
|
||||
# ------------------------------------------------------------
|
||||
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
|
||||
m4_define([_LT_IF_OPTION],
|
||||
[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
|
||||
|
||||
|
||||
# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
|
||||
# -------------------------------------------------------
|
||||
# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
|
||||
# are set.
|
||||
m4_define([_LT_UNLESS_OPTIONS],
|
||||
[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
|
||||
[m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
|
||||
[m4_define([$0_found])])])[]dnl
|
||||
m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
|
||||
])[]dnl
|
||||
])
|
||||
|
||||
|
||||
# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
|
||||
# ----------------------------------------
|
||||
# OPTION-LIST is a space-separated list of Libtool options associated
|
||||
# with MACRO-NAME. If any OPTION has a matching handler declared with
|
||||
# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
|
||||
# the unknown option and exit.
|
||||
m4_defun([_LT_SET_OPTIONS],
|
||||
[# Set options
|
||||
m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
|
||||
[_LT_SET_OPTION([$1], _LT_Option)])
|
||||
|
||||
m4_if([$1],[LT_INIT],[
|
||||
dnl
|
||||
dnl Simply set some default values (i.e off) if boolean options were not
|
||||
dnl specified:
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
|
||||
])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
|
||||
])
|
||||
dnl
|
||||
dnl If no reference was made to various pairs of opposing options, then
|
||||
dnl we run the default mode handler for the pair. For example, if neither
|
||||
dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
|
||||
dnl archives by default:
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
|
||||
[_LT_ENABLE_FAST_INSTALL])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
|
||||
[_LT_WITH_AIX_SONAME([aix])])
|
||||
])
|
||||
])# _LT_SET_OPTIONS
|
||||
|
||||
|
||||
## --------------------------------- ##
|
||||
## Macros to handle LT_INIT options. ##
|
||||
## --------------------------------- ##
|
||||
|
||||
# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
|
||||
# -----------------------------------------
|
||||
m4_define([_LT_MANGLE_DEFUN],
|
||||
[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
|
||||
|
||||
|
||||
# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
|
||||
# -----------------------------------------------
|
||||
m4_define([LT_OPTION_DEFINE],
|
||||
[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
|
||||
])# LT_OPTION_DEFINE
|
||||
|
||||
|
||||
# dlopen
|
||||
# ------
|
||||
LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
|
||||
])
|
||||
|
||||
AU_DEFUN([AC_LIBTOOL_DLOPEN],
|
||||
[_LT_SET_OPTION([LT_INIT], [dlopen])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the 'dlopen' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
|
||||
|
||||
|
||||
# win32-dll
|
||||
# ---------
|
||||
# Declare package support for building win32 dll's.
|
||||
LT_OPTION_DEFINE([LT_INIT], [win32-dll],
|
||||
[enable_win32_dll=yes
|
||||
|
||||
case $host in
|
||||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
|
||||
AC_CHECK_TOOL(AS, as, false)
|
||||
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
|
||||
AC_CHECK_TOOL(OBJDUMP, objdump, false)
|
||||
;;
|
||||
esac
|
||||
|
||||
test -z "$AS" && AS=as
|
||||
_LT_DECL([], [AS], [1], [Assembler program])dnl
|
||||
|
||||
test -z "$DLLTOOL" && DLLTOOL=dlltool
|
||||
_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
|
||||
|
||||
test -z "$OBJDUMP" && OBJDUMP=objdump
|
||||
_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
|
||||
])# win32-dll
|
||||
|
||||
AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
|
||||
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
_LT_SET_OPTION([LT_INIT], [win32-dll])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the 'win32-dll' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
|
||||
|
||||
|
||||
# _LT_ENABLE_SHARED([DEFAULT])
|
||||
# ----------------------------
|
||||
# implement the --enable-shared flag, and supports the 'shared' and
|
||||
# 'disable-shared' LT_INIT options.
|
||||
# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
|
||||
m4_define([_LT_ENABLE_SHARED],
|
||||
[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([shared],
|
||||
[AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
|
||||
[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_shared=yes ;;
|
||||
no) enable_shared=no ;;
|
||||
*)
|
||||
enable_shared=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
|
||||
for pkg in $enableval; do
|
||||
IFS=$lt_save_ifs
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_shared=yes
|
||||
fi
|
||||
done
|
||||
IFS=$lt_save_ifs
|
||||
;;
|
||||
esac],
|
||||
[enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
|
||||
|
||||
_LT_DECL([build_libtool_libs], [enable_shared], [0],
|
||||
[Whether or not to build shared libraries])
|
||||
])# _LT_ENABLE_SHARED
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
|
||||
|
||||
# Old names:
|
||||
AC_DEFUN([AC_ENABLE_SHARED],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
|
||||
])
|
||||
|
||||
AC_DEFUN([AC_DISABLE_SHARED],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-shared])
|
||||
])
|
||||
|
||||
AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
|
||||
AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AM_ENABLE_SHARED], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_SHARED], [])
|
||||
|
||||
|
||||
|
||||
# _LT_ENABLE_STATIC([DEFAULT])
|
||||
# ----------------------------
|
||||
# implement the --enable-static flag, and support the 'static' and
|
||||
# 'disable-static' LT_INIT options.
|
||||
# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
|
||||
m4_define([_LT_ENABLE_STATIC],
|
||||
[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([static],
|
||||
[AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
|
||||
[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_static=yes ;;
|
||||
no) enable_static=no ;;
|
||||
*)
|
||||
enable_static=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
|
||||
for pkg in $enableval; do
|
||||
IFS=$lt_save_ifs
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_static=yes
|
||||
fi
|
||||
done
|
||||
IFS=$lt_save_ifs
|
||||
;;
|
||||
esac],
|
||||
[enable_static=]_LT_ENABLE_STATIC_DEFAULT)
|
||||
|
||||
_LT_DECL([build_old_libs], [enable_static], [0],
|
||||
[Whether or not to build static libraries])
|
||||
])# _LT_ENABLE_STATIC
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
|
||||
|
||||
# Old names:
|
||||
AC_DEFUN([AC_ENABLE_STATIC],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
|
||||
])
|
||||
|
||||
AC_DEFUN([AC_DISABLE_STATIC],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-static])
|
||||
])
|
||||
|
||||
AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
|
||||
AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AM_ENABLE_STATIC], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_STATIC], [])
|
||||
|
||||
|
||||
|
||||
# _LT_ENABLE_FAST_INSTALL([DEFAULT])
|
||||
# ----------------------------------
|
||||
# implement the --enable-fast-install flag, and support the 'fast-install'
|
||||
# and 'disable-fast-install' LT_INIT options.
|
||||
# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
|
||||
m4_define([_LT_ENABLE_FAST_INSTALL],
|
||||
[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([fast-install],
|
||||
[AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
|
||||
[optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_fast_install=yes ;;
|
||||
no) enable_fast_install=no ;;
|
||||
*)
|
||||
enable_fast_install=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
|
||||
for pkg in $enableval; do
|
||||
IFS=$lt_save_ifs
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_fast_install=yes
|
||||
fi
|
||||
done
|
||||
IFS=$lt_save_ifs
|
||||
;;
|
||||
esac],
|
||||
[enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
|
||||
|
||||
_LT_DECL([fast_install], [enable_fast_install], [0],
|
||||
[Whether or not to optimize for fast installation])dnl
|
||||
])# _LT_ENABLE_FAST_INSTALL
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
|
||||
|
||||
# Old names:
|
||||
AU_DEFUN([AC_ENABLE_FAST_INSTALL],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
|
||||
the 'fast-install' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
AU_DEFUN([AC_DISABLE_FAST_INSTALL],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
|
||||
the 'disable-fast-install' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
|
||||
|
||||
|
||||
# _LT_WITH_AIX_SONAME([DEFAULT])
|
||||
# ----------------------------------
|
||||
# implement the --with-aix-soname flag, and support the `aix-soname=aix'
|
||||
# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
|
||||
# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'.
|
||||
m4_define([_LT_WITH_AIX_SONAME],
|
||||
[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
|
||||
shared_archive_member_spec=
|
||||
case $host,$enable_shared in
|
||||
power*-*-aix[[5-9]]*,yes)
|
||||
AC_MSG_CHECKING([which variant of shared library versioning to provide])
|
||||
AC_ARG_WITH([aix-soname],
|
||||
[AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
|
||||
[shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
|
||||
[case $withval in
|
||||
aix|svr4|both)
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR([Unknown argument to --with-aix-soname])
|
||||
;;
|
||||
esac
|
||||
lt_cv_with_aix_soname=$with_aix_soname],
|
||||
[AC_CACHE_VAL([lt_cv_with_aix_soname],
|
||||
[lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
|
||||
with_aix_soname=$lt_cv_with_aix_soname])
|
||||
AC_MSG_RESULT([$with_aix_soname])
|
||||
if test aix != "$with_aix_soname"; then
|
||||
# For the AIX way of multilib, we name the shared archive member
|
||||
# based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
|
||||
# and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
|
||||
# Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
|
||||
# the AIX toolchain works better with OBJECT_MODE set (default 32).
|
||||
if test 64 = "${OBJECT_MODE-32}"; then
|
||||
shared_archive_member_spec=shr_64
|
||||
else
|
||||
shared_archive_member_spec=shr
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
with_aix_soname=aix
|
||||
;;
|
||||
esac
|
||||
|
||||
_LT_DECL([], [shared_archive_member_spec], [0],
|
||||
[Shared archive member basename, for filename based shared library versioning on AIX])dnl
|
||||
])# _LT_WITH_AIX_SONAME
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
|
||||
|
||||
|
||||
# _LT_WITH_PIC([MODE])
|
||||
# --------------------
|
||||
# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
|
||||
# LT_INIT options.
|
||||
# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'.
|
||||
m4_define([_LT_WITH_PIC],
|
||||
[AC_ARG_WITH([pic],
|
||||
[AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
|
||||
[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
|
||||
[lt_p=${PACKAGE-default}
|
||||
case $withval in
|
||||
yes|no) pic_mode=$withval ;;
|
||||
*)
|
||||
pic_mode=default
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
|
||||
for lt_pkg in $withval; do
|
||||
IFS=$lt_save_ifs
|
||||
if test "X$lt_pkg" = "X$lt_p"; then
|
||||
pic_mode=yes
|
||||
fi
|
||||
done
|
||||
IFS=$lt_save_ifs
|
||||
;;
|
||||
esac],
|
||||
[pic_mode=m4_default([$1], [default])])
|
||||
|
||||
_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
|
||||
])# _LT_WITH_PIC
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
|
||||
|
||||
# Old name:
|
||||
AU_DEFUN([AC_LIBTOOL_PICMODE],
|
||||
[_LT_SET_OPTION([LT_INIT], [pic-only])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the 'pic-only' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
|
||||
|
||||
## ----------------- ##
|
||||
## LTDL_INIT Options ##
|
||||
## ----------------- ##
|
||||
|
||||
m4_define([_LTDL_MODE], [])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
|
||||
[m4_define([_LTDL_MODE], [nonrecursive])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [recursive],
|
||||
[m4_define([_LTDL_MODE], [recursive])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [subproject],
|
||||
[m4_define([_LTDL_MODE], [subproject])])
|
||||
|
||||
m4_define([_LTDL_TYPE], [])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [installable],
|
||||
[m4_define([_LTDL_TYPE], [installable])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [convenience],
|
||||
[m4_define([_LTDL_TYPE], [convenience])])
|
123
dist/aclocal/ltsugar.m4
vendored
Normal file
123
dist/aclocal/ltsugar.m4
vendored
Normal file
|
@ -0,0 +1,123 @@
|
|||
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 6 ltsugar.m4
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
|
||||
|
||||
|
||||
# lt_join(SEP, ARG1, [ARG2...])
|
||||
# -----------------------------
|
||||
# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
|
||||
# associated separator.
|
||||
# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
|
||||
# versions in m4sugar had bugs.
|
||||
m4_define([lt_join],
|
||||
[m4_if([$#], [1], [],
|
||||
[$#], [2], [[$2]],
|
||||
[m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
|
||||
m4_define([_lt_join],
|
||||
[m4_if([$#$2], [2], [],
|
||||
[m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
|
||||
|
||||
|
||||
# lt_car(LIST)
|
||||
# lt_cdr(LIST)
|
||||
# ------------
|
||||
# Manipulate m4 lists.
|
||||
# These macros are necessary as long as will still need to support
|
||||
# Autoconf-2.59 which quotes differently.
|
||||
m4_define([lt_car], [[$1]])
|
||||
m4_define([lt_cdr],
|
||||
[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
|
||||
[$#], 1, [],
|
||||
[m4_dquote(m4_shift($@))])])
|
||||
m4_define([lt_unquote], $1)
|
||||
|
||||
|
||||
# lt_append(MACRO-NAME, STRING, [SEPARATOR])
|
||||
# ------------------------------------------
|
||||
# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
|
||||
# Note that neither SEPARATOR nor STRING are expanded; they are appended
|
||||
# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
|
||||
# No SEPARATOR is output if MACRO-NAME was previously undefined (different
|
||||
# than defined and empty).
|
||||
#
|
||||
# This macro is needed until we can rely on Autoconf 2.62, since earlier
|
||||
# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
|
||||
m4_define([lt_append],
|
||||
[m4_define([$1],
|
||||
m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
|
||||
|
||||
|
||||
|
||||
# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
|
||||
# ----------------------------------------------------------
|
||||
# Produce a SEP delimited list of all paired combinations of elements of
|
||||
# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
|
||||
# has the form PREFIXmINFIXSUFFIXn.
|
||||
# Needed until we can rely on m4_combine added in Autoconf 2.62.
|
||||
m4_define([lt_combine],
|
||||
[m4_if(m4_eval([$# > 3]), [1],
|
||||
[m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
|
||||
[[m4_foreach([_Lt_prefix], [$2],
|
||||
[m4_foreach([_Lt_suffix],
|
||||
]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
|
||||
[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
|
||||
|
||||
|
||||
# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
|
||||
# -----------------------------------------------------------------------
|
||||
# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
|
||||
# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
|
||||
m4_define([lt_if_append_uniq],
|
||||
[m4_ifdef([$1],
|
||||
[m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
|
||||
[lt_append([$1], [$2], [$3])$4],
|
||||
[$5])],
|
||||
[lt_append([$1], [$2], [$3])$4])])
|
||||
|
||||
|
||||
# lt_dict_add(DICT, KEY, VALUE)
|
||||
# -----------------------------
|
||||
m4_define([lt_dict_add],
|
||||
[m4_define([$1($2)], [$3])])
|
||||
|
||||
|
||||
# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
|
||||
# --------------------------------------------
|
||||
m4_define([lt_dict_add_subkey],
|
||||
[m4_define([$1($2:$3)], [$4])])
|
||||
|
||||
|
||||
# lt_dict_fetch(DICT, KEY, [SUBKEY])
|
||||
# ----------------------------------
|
||||
m4_define([lt_dict_fetch],
|
||||
[m4_ifval([$3],
|
||||
m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
|
||||
m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
|
||||
|
||||
|
||||
# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
|
||||
# -----------------------------------------------------------------
|
||||
m4_define([lt_if_dict_fetch],
|
||||
[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
|
||||
[$5],
|
||||
[$6])])
|
||||
|
||||
|
||||
# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
|
||||
# --------------------------------------------------------------
|
||||
m4_define([lt_dict_filter],
|
||||
[m4_if([$5], [], [],
|
||||
[lt_join(m4_quote(m4_default([$4], [[, ]])),
|
||||
lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
|
||||
[lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
|
||||
])
|
24
dist/aclocal/ltversion.m4
vendored
Normal file
24
dist/aclocal/ltversion.m4
vendored
Normal file
|
@ -0,0 +1,24 @@
|
|||
# ltversion.m4 -- version numbers -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation,
|
||||
# Inc.
|
||||
# Written by Scott James Remnant, 2004
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# @configure_input@
|
||||
|
||||
# serial 4245 ltversion.m4
|
||||
# This file is part of GNU Libtool
|
||||
|
||||
m4_define([LT_PACKAGE_VERSION], [2.4.7])
|
||||
m4_define([LT_PACKAGE_REVISION], [2.4.7])
|
||||
|
||||
AC_DEFUN([LTVERSION_VERSION],
|
||||
[macro_version='2.4.7'
|
||||
macro_revision='2.4.7'
|
||||
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
|
||||
_LT_DECL(, macro_revision, 0)
|
||||
])
|
99
dist/aclocal/lt~obsolete.m4
vendored
Normal file
99
dist/aclocal/lt~obsolete.m4
vendored
Normal file
|
@ -0,0 +1,99 @@
|
|||
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2022 Free
|
||||
# Software Foundation, Inc.
|
||||
# Written by Scott James Remnant, 2004.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 5 lt~obsolete.m4
|
||||
|
||||
# These exist entirely to fool aclocal when bootstrapping libtool.
|
||||
#
|
||||
# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
|
||||
# which have later been changed to m4_define as they aren't part of the
|
||||
# exported API, or moved to Autoconf or Automake where they belong.
|
||||
#
|
||||
# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
|
||||
# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
|
||||
# using a macro with the same name in our local m4/libtool.m4 it'll
|
||||
# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
|
||||
# and doesn't know about Autoconf macros at all.)
|
||||
#
|
||||
# So we provide this file, which has a silly filename so it's always
|
||||
# included after everything else. This provides aclocal with the
|
||||
# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
|
||||
# because those macros already exist, or will be overwritten later.
|
||||
# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
|
||||
#
|
||||
# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
|
||||
# Yes, that means every name once taken will need to remain here until
|
||||
# we give up compatibility with versions before 1.7, at which point
|
||||
# we need to keep only those names which we still refer to.
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
|
||||
|
||||
m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
|
||||
m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
|
||||
m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
|
||||
m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
|
||||
m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
|
||||
m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
|
||||
m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
|
||||
m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
|
||||
m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
|
||||
m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
|
||||
m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
|
||||
m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
|
||||
m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
|
||||
m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
|
||||
m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
|
||||
m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
|
||||
m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
|
||||
m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
|
||||
m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
|
||||
m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
|
||||
m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
|
||||
m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
|
||||
m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
|
||||
m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
|
||||
m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
|
||||
m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
|
||||
m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
|
||||
m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
|
||||
m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
|
||||
m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
|
||||
m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
|
||||
m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
|
||||
m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
|
||||
m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
|
||||
m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
|
||||
m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
|
||||
m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
|
||||
m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
|
||||
m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
|
||||
m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
|
45
dist/aclocal/options.m4
vendored
Normal file
45
dist/aclocal/options.m4
vendored
Normal file
|
@ -0,0 +1,45 @@
|
|||
# $Id: options.ac 7 2007-02-03 13:34:17Z gburd $
|
||||
|
||||
# Process user-specified options.
|
||||
AC_DEFUN(AM_OPTIONS_SET, [
|
||||
|
||||
|
||||
AC_MSG_CHECKING(if --disable-statistics option specified)
|
||||
AC_ARG_ENABLE(statistics,
|
||||
AS_HELP_STRING([--disable-statistics],
|
||||
[Do not build statistics support.]),, enableval="yes")
|
||||
db_cv_build_statistics="$enableval"
|
||||
case "$enableval" in
|
||||
no) AC_MSG_RESULT(yes);;
|
||||
yes) AC_MSG_RESULT(no);;
|
||||
esac
|
||||
|
||||
AC_MSG_CHECKING(if --enable-posixmutexes option specified)
|
||||
AC_ARG_ENABLE(posixmutexes,
|
||||
[AS_HELP_STRING([--enable-posixmutexes],
|
||||
[Force use of POSIX standard mutexes.])],
|
||||
[db_cv_posixmutexes="$enable_posixmutexes"], [db_cv_posixmutexes="no"])
|
||||
AC_MSG_RESULT($db_cv_posixmutexes)
|
||||
|
||||
AC_MSG_CHECKING(if --enable-debug option specified)
|
||||
AC_ARG_ENABLE(debug,
|
||||
[AS_HELP_STRING([--enable-debug],
|
||||
[Build a debugging version.])],
|
||||
[db_cv_debug="$enable_debug"], [db_cv_debug="no"])
|
||||
AC_MSG_RESULT($db_cv_debug)
|
||||
|
||||
AC_MSG_CHECKING(if --enable-diagnostic option specified)
|
||||
AC_ARG_ENABLE(diagnostic,
|
||||
[AS_HELP_STRING([--enable-diagnostic],
|
||||
[Build a version with run-time diagnostics.])],
|
||||
[db_cv_diagnostic="$enable_diagnostic"], [db_cv_diagnostic="no"])
|
||||
AC_MSG_RESULT($db_cv_diagnostic)
|
||||
|
||||
AC_MSG_CHECKING(if --enable-test option specified)
|
||||
AC_ARG_ENABLE(test,
|
||||
[AS_HELP_STRING([--enable-test],
|
||||
[Configure to run the test suite.])],
|
||||
[db_cv_test="$enable_test"], [db_cv_test="no"])
|
||||
AC_MSG_RESULT($db_cv_test)
|
||||
|
||||
])
|
113
dist/aclocal/programs.m4
vendored
Normal file
113
dist/aclocal/programs.m4
vendored
Normal file
|
@ -0,0 +1,113 @@
|
|||
# $Id: programs.ac 7 2007-02-03 13:34:17Z gburd $
|
||||
|
||||
# Check for programs used in building/installation.
|
||||
AC_DEFUN(AM_PROGRAMS_SET, [
|
||||
|
||||
AC_CHECK_TOOL(db_cv_path_ar, ar, missing_ar)
|
||||
if test "$db_cv_path_ar" = missing_ar; then
|
||||
AC_MSG_ERROR([No ar utility found.])
|
||||
fi
|
||||
|
||||
AC_CHECK_TOOL(db_cv_path_chmod, chmod, missing_chmod)
|
||||
if test "$db_cv_path_chmod" = missing_chmod; then
|
||||
AC_MSG_ERROR([No chmod utility found.])
|
||||
fi
|
||||
|
||||
AC_CHECK_TOOL(db_cv_path_sed, sed, missing_sed)
|
||||
if test "$db_cv_path_sed" = missing_sed; then
|
||||
AC_MSG_ERROR([No sed utility found.])
|
||||
fi
|
||||
|
||||
AC_CHECK_TOOL(db_cv_path_makedepend, makedepend, missing_makedepend)
|
||||
if test "$db_cv_path_makedepend" = missing_makedepend; then
|
||||
AC_MSG_RESULT([n |