Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
20a42316
Commit
20a42316
authored
Jun 07, 2004
by
tomas@poseidon.ndb.mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ndb source tree cleanup, see respective file
parent
5a8303a3
Changes
53
Hide whitespace changes
Inline
Side-by-side
Showing
53 changed files
with
279 additions
and
7526 deletions
+279
-7526
ndb/config/old_files/Defs.DEBUG.mk
ndb/config/old_files/Defs.DEBUG.mk
+0
-4
ndb/config/old_files/Defs.HPUX.HPPA.GCC.mk
ndb/config/old_files/Defs.HPUX.HPPA.GCC.mk
+0
-50
ndb/config/old_files/Defs.IBMAIX.POWERPC.GCC.mk
ndb/config/old_files/Defs.IBMAIX.POWERPC.GCC.mk
+0
-49
ndb/config/old_files/Defs.LINUX.x86.GCC.mk
ndb/config/old_files/Defs.LINUX.x86.GCC.mk
+0
-60
ndb/config/old_files/Defs.LINUX.x86.ICC.mk
ndb/config/old_files/Defs.LINUX.x86.ICC.mk
+0
-54
ndb/config/old_files/Defs.LINUX.x86_64.GCC.mk
ndb/config/old_files/Defs.LINUX.x86_64.GCC.mk
+0
-54
ndb/config/old_files/Defs.MACOSX.POWERPC.GCC.mk
ndb/config/old_files/Defs.MACOSX.POWERPC.GCC.mk
+0
-58
ndb/config/old_files/Defs.OSE.PPC750.DIAB.mk
ndb/config/old_files/Defs.OSE.PPC750.DIAB.mk
+0
-47
ndb/config/old_files/Defs.RELEASE.mk
ndb/config/old_files/Defs.RELEASE.mk
+0
-3
ndb/config/old_files/Defs.RELEASE_TRACE.mk
ndb/config/old_files/Defs.RELEASE_TRACE.mk
+0
-3
ndb/config/old_files/Defs.SIMCELLO.SOFTOSE.GCC.mk
ndb/config/old_files/Defs.SIMCELLO.SOFTOSE.GCC.mk
+0
-53
ndb/config/old_files/Defs.SOFTOSE.SPARC.GCC.mk
ndb/config/old_files/Defs.SOFTOSE.SPARC.GCC.mk
+0
-57
ndb/config/old_files/Defs.SOLARIS.SPARC.FORTE6.mk
ndb/config/old_files/Defs.SOLARIS.SPARC.FORTE6.mk
+0
-54
ndb/config/old_files/Defs.SOLARIS.SPARC.GCC.mk
ndb/config/old_files/Defs.SOLARIS.SPARC.GCC.mk
+0
-54
ndb/config/old_files/Defs.SOLARIS.SPARC_64.GCC.mk
ndb/config/old_files/Defs.SOLARIS.SPARC_64.GCC.mk
+0
-53
ndb/config/old_files/Defs.SOLARIS6.SPARC.GCC.mk
ndb/config/old_files/Defs.SOLARIS6.SPARC.GCC.mk
+0
-53
ndb/config/old_files/Defs.TRU64X.ALPHA.GCC.mk
ndb/config/old_files/Defs.TRU64X.ALPHA.GCC.mk
+0
-49
ndb/config/old_files/Defs.WIN32.x86.VC7.mk
ndb/config/old_files/Defs.WIN32.x86.VC7.mk
+0
-61
ndb/config/old_files/GuessConfig.sh
ndb/config/old_files/GuessConfig.sh
+0
-116
ndb/config/old_files/Makefile.am
ndb/config/old_files/Makefile.am
+0
-31
ndb/config/old_files/acinclude.m4
ndb/config/old_files/acinclude.m4
+0
-1513
ndb/config/old_files/config.h.in
ndb/config/old_files/config.h.in
+0
-993
ndb/config/old_files/configure.in
ndb/config/old_files/configure.in
+0
-2085
ndb/include/Makefile.am
ndb/include/Makefile.am
+0
-2
ndb/include/ndbapi/NdbDictionary.hpp
ndb/include/ndbapi/NdbDictionary.hpp
+8
-0
ndb/include/ndbapi/NdbRecAttr.hpp
ndb/include/ndbapi/NdbRecAttr.hpp
+3
-2
ndb/old_files/BinDist.sh
ndb/old_files/BinDist.sh
+0
-120
ndb/old_files/Defs.mk
ndb/old_files/Defs.mk
+0
-64
ndb/old_files/Epilogue.mk
ndb/old_files/Epilogue.mk
+0
-878
ndb/old_files/Makefile
ndb/old_files/Makefile
+0
-69
ndb/old_files/README
ndb/old_files/README
+0
-7
ndb/old_files/SrcDist.sh
ndb/old_files/SrcDist.sh
+0
-87
ndb/old_files/configure
ndb/old_files/configure
+0
-33
ndb/old_files/env.sh
ndb/old_files/env.sh
+0
-8
ndb/old_files/mysqlclusterenv.sh
ndb/old_files/mysqlclusterenv.sh
+0
-51
ndb/src/kernel/blocks/backup/restore/Restore.cpp
ndb/src/kernel/blocks/backup/restore/Restore.cpp
+44
-190
ndb/src/kernel/blocks/backup/restore/Restore.hpp
ndb/src/kernel/blocks/backup/restore/Restore.hpp
+7
-30
ndb/src/kernel/blocks/backup/restore/main.cpp
ndb/src/kernel/blocks/backup/restore/main.cpp
+31
-169
ndb/src/ndbapi/Makefile.am
ndb/src/ndbapi/Makefile.am
+0
-2
ndb/src/ndbapi/NdbDictionary.cpp
ndb/src/ndbapi/NdbDictionary.cpp
+76
-0
ndb/src/ndbapi/NdbRecAttr.cpp
ndb/src/ndbapi/NdbRecAttr.cpp
+74
-81
ndb/src/ndbapi/Ndberr.cpp
ndb/src/ndbapi/Ndberr.cpp
+0
-8
ndb/src/old_files/Makefile
ndb/src/old_files/Makefile
+0
-33
ndb/test/Makefile_old
ndb/test/Makefile_old
+0
-19
ndb/test/include/NdbSchemaCon.hpp
ndb/test/include/NdbSchemaCon.hpp
+0
-0
ndb/test/include/NdbSchemaOp.hpp
ndb/test/include/NdbSchemaOp.hpp
+0
-0
ndb/test/newtonapi/Makefile
ndb/test/newtonapi/Makefile
+0
-8
ndb/test/odbc/Makefile
ndb/test/odbc/Makefile
+0
-13
ndb/test/src/Makefile.am
ndb/test/src/Makefile.am
+2
-1
ndb/test/src/NDBT_ResultRow.cpp
ndb/test/src/NDBT_ResultRow.cpp
+2
-72
ndb/test/src/NdbBackup.cpp
ndb/test/src/NdbBackup.cpp
+8
-4
ndb/test/src/NdbSchemaCon.cpp
ndb/test/src/NdbSchemaCon.cpp
+20
-17
ndb/test/src/NdbSchemaOp.cpp
ndb/test/src/NdbSchemaOp.cpp
+4
-4
No files found.
ndb/config/old_files/Defs.DEBUG.mk
deleted
100644 → 0
View file @
5a8303a3
VERSION_FLAGS
:=
-DNDB_DEBUG
-DUSE_EMULATED_JAM
-DVM_TRACE
-DERROR_INSERT
-DARRAY_GUARD
#-DDEBUG_TRANSPORTER
ndb/config/old_files/Defs.HPUX.HPPA.GCC.mk
deleted
100644 → 0
View file @
5a8303a3
###
#
# Defines
SHELL
:=
/bin/sh
C++
:
= g++
CC
:=
gcc
AR_RCS
:=
ar rcs
SO
:=
ld
-b
-o
SHLIBEXT
:=
sl
MAKEDEPEND
:=
g++
-M
PIC
:=
-fPIC
RPCGENFLAGS
:=
-MA
-C
-N
ETAGS
:=
etags
CTAGS
:=
ctags
###
#
# Flags
#
CCFLAGS_WARNINGS
=
-Wno-long-long
-W
-Wall
-pedantic
# -Wno-sign-compare Use this flag if you are annoyed with all the warnings
CCFLAGS_TOP
=
-DHPUX
-D_REENTRANT
-D_POSIX_PTHREAD_SEMANTICS
-DNO_COMMAND_HANDLER
ifeq
(RELEASE, $(NDB_VERSION))
VERSION_FLAGS
+=
-O3
else
ifeq
(RELEASE_TRACE, $(NDB_VERSION))
VERSION_FLAGS
+=
-O3
-g
else
VERSION_FLAGS
+=
-g
endif
endif
CCFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
CFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
LDFLAGS_TOP
=
-lpthread
-lnsl
-lrt
LDFLAGS
=
$(LDFLAGS_LOC)
$(LDFLAGS_TOP)
LDLIBS
=
$(LDLIBS_LOC)
$(LDLIBS_TOP)
LINK.cc
=
$(PURE)
$
(
C++
)
$(CCFLAGS)
$(LDFLAGS)
LINK.c
=
$(PURE)
$(CC)
$(CFLAGS)
$(LDFLAGS)
ndb/config/old_files/Defs.IBMAIX.POWERPC.GCC.mk
deleted
100644 → 0
View file @
5a8303a3
###
#
# Defines
SHELL
:=
/bin/sh
C++
:
= g++
CC
:=
gcc
AR_RCS
:=
$(PURE)
ar rcs
SO
:=
g++
-shared
-o
MAKEDEPEND
:=
g++
-M
PIC
:=
-fPIC
RPCGENFLAGS
:=
-M
-C
-N
ETAGS
:=
etags
CTAGS
:=
ctags
###
#
# Flags
#
CCFLAGS_WARNINGS
=
-Wno-long-long
-Wall
#-pedantic
# Add these for more warnings -Weffc++ -W
CCFLAGS_TOP
=
-D_REENTRANT
-D_POSIX_PTHREAD_SEMANTICS
CCFLAGS_TOP
+=
-fno-rtti
ifeq
(RELEASE, $(NDB_VERSION))
VERSION_FLAGS
+=
-O3
else
ifeq
(RELEASE_TRACE, $(NDB_VERSION))
VERSION_FLAGS
+=
-O3
-g
else
VERSION_FLAGS
+=
-g
endif
endif
CCFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
CFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
LDFLAGS_TOP
=
-lpthread
-lrt
LDFLAGS
=
$(LDFLAGS_LOC)
$(LDFLAGS_TOP)
LDLIBS
=
$(LDLIBS_LOC)
$(LDLIBS_TOP)
LINK.cc
=
$(PURE)
$
(
C++
)
$(CCFLAGS)
$(LDFLAGS)
LINK.c
=
$(PURE)
$(CC)
$(CFLAGS)
$(LDFLAGS)
ndb/config/old_files/Defs.LINUX.x86.GCC.mk
deleted
100644 → 0
View file @
5a8303a3
###
#
# Defines
SHELL
:=
/bin/sh
C++
:
= gcc$(GCC_VERSION)
CC
:=
gcc
$(GCC_VERSION)
AR_RCS
:=
$(PURE)
ar rcs
SO
:=
gcc
$(GCC_VERSION)
-shared
-lpthread
-o
#SO := gcc$(GCC_VERSION) -shared -o
MAKEDEPEND
:=
gcc
$(GCC_VERSION)
-M
#MAKEDEPEND := gcc$(GCC_VERSION) -M -nostdinc -nostdinc++
PIC
:=
-fPIC
RPCGENFLAGS
:=
-M
-C
-N
ETAGS
:=
etags
CTAGS
:=
ctags
###
#
# Flags
#
# gcc3.3 __THROW problem if -pedantic and -O2
ifeq
($(NDB_VERSION),DEBUG)
CCFLAGS_WARNINGS
=
-Wno-long-long
-Wall
-pedantic
else
CCFLAGS_WARNINGS
=
-Wno-long-long
-Wall
endif
# Add these for more warnings -Weffc++ -W
CCFLAGS_TOP
=
#CCFLAGS_TOP = -DSAFE_MUTEX
CCFLAGS_TOP
+=
-fno-rtti
-fno-exceptions
ifeq
(RELEASE, $(NDB_VERSION))
VERSION_FLAGS
+=
-O2
else
ifeq
(RELEASE_TRACE, $(NDB_VERSION))
VERSION_FLAGS
+=
-O2
-g
else
VERSION_FLAGS
+=
-g
endif
endif
CCFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
CFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
LDFLAGS_TOP
=
LDFLAGS
=
$(LDFLAGS_LOC)
$(LDFLAGS_TOP)
LDLIBS
=
$(LDLIBS_LOC)
$(LDLIBS_TOP)
LINK.cc
=
$(PURE)
$(CC)
$(CCFLAGS)
$(LDFLAGS)
LINK.c
=
$(PURE)
$(CC)
$(CFLAGS)
$(LDFLAGS)
LDFLAGS_LAST
=
-lrt
-lpthread
$(NDB_TOP)
/src/common/portlib/gcc.cpp
#LDFLAGS_LAST = -lrt $(NDB_TOP)/src/common/portlib/gcc.cpp $(NDB_TOP)/../mysys/libmysys.a $(NDB_TOP)/../dbug/libdbug.a $(NDB_TOP)/../regex/libregex.a $(NDB_TOP)/../strings/libmystrings.a -lpthread
ndb/config/old_files/Defs.LINUX.x86.ICC.mk
deleted
100644 → 0
View file @
5a8303a3
###
#
# Defines
SHELL
:=
/bin/sh
C++
:
= icc
CC
:=
icc
AR_RCS
:=
$(PURE)
ar rcs
SO
:=
g++
$(GCC_VERSION)
-shared
-lpthread
-o
MAKEDEPEND
:=
g++
$(GCC_VERSION)
-M
PIC
:=
-fPIC
RPCGENFLAGS
:=
-M
-C
-N
ETAGS
:=
etags
CTAGS
:=
ctags
###
#
# Flags
#
# gcc3.3 __THROW problem if -pedantic and -O2
ifeq
($(NDB_VERSION),DEBUG)
CCFLAGS_WARNINGS
=
else
CCFLAGS_WARNINGS
=
endif
# Add these for more warnings -Weffc++ -W
CCFLAGS_TOP
=
-D_REENTRANT
-D_POSIX_PTHREAD_SEMANTICS
CCFLAGS_TOP
+=
ifeq
(RELEASE, $(NDB_VERSION))
VERSION_FLAGS
+=
-O2
else
ifeq
(RELEASE_TRACE, $(NDB_VERSION))
VERSION_FLAGS
+=
-O2
-g
else
VERSION_FLAGS
+=
-g
endif
endif
CCFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
CFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
LDFLAGS_TOP
=
-lpthread
-lrt
LDFLAGS
=
$(LDFLAGS_LOC)
$(LDFLAGS_TOP)
LDLIBS
=
$(LDLIBS_LOC)
$(LDLIBS_TOP)
LINK.cc
=
$(PURE)
$
(
C++
)
$(CCFLAGS)
$(LDFLAGS)
LINK.c
=
$(PURE)
$(CC)
$(CFLAGS)
$(LDFLAGS)
ndb/config/old_files/Defs.LINUX.x86_64.GCC.mk
deleted
100644 → 0
View file @
5a8303a3
###
#
# Defines
SHELL
:=
/bin/sh
C++
:
= g++
CC
:=
gcc
AR_RCS
:=
$(PURE)
ar rcs
SO
:=
g++
-shared
-lpthread
-o
MAKEDEPEND
:=
g++
-M
PIC
:=
-fPIC
RPCGENFLAGS
:=
-M
-C
-N
ETAGS
:=
etags
CTAGS
:=
ctags
###
#
# Flags
#
# gcc3.3 __THROW problem if -pedantic and -O2
ifeq
($(NDB_VERSION),DEBUG)
CCFLAGS_WARNINGS
=
-Wno-long-long
-Wall
-pedantic
else
CCFLAGS_WARNINGS
=
-Wno-long-long
-Wall
endif
# Add these for more warnings -Weffc++ -W
CCFLAGS_TOP
=
-D_REENTRANT
-D_POSIX_PTHREAD_SEMANTICS
CCFLAGS_TOP
+=
-fno-rtti
-fno-exceptions
-m64
ifeq
(RELEASE, $(NDB_VERSION))
VERSION_FLAGS
+=
-O2
else
ifeq
(RELEASE_TRACE, $(NDB_VERSION))
VERSION_FLAGS
+=
-O2
-g
else
VERSION_FLAGS
+=
-g
endif
endif
CCFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
CFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
LDFLAGS_TOP
=
-lpthread
-lrt
LDFLAGS
=
$(LDFLAGS_LOC)
$(LDFLAGS_TOP)
LDLIBS
=
$(LDLIBS_LOC)
$(LDLIBS_TOP)
LINK.cc
=
$(PURE)
$
(
C++
)
$(CCFLAGS)
$(LDFLAGS)
LINK.c
=
$(PURE)
$(CC)
$(CFLAGS)
$(LDFLAGS)
ndb/config/old_files/Defs.MACOSX.POWERPC.GCC.mk
deleted
100644 → 0
View file @
5a8303a3
###
#
# Defines
SHELL
:=
/bin/sh
C++
:
= gcc
CC
:=
gcc
CXX
:=
gcc
AR_RCS
:=
$(PURE)
ar rcs
#SO := g++ -dynamiclib -Wl,-segprot,__TEXT,rwx,rwx -o
SO
:=
gcc
-dynamiclib
-o
SHLIBEXT
:=
dylib
MAKEDEPEND
:=
gcc
-M
PIC
:=
-fPIC
RPCGENFLAGS
:=
-M
-C
-N
ETAGS
:=
etags
CTAGS
:=
ctags
###
#
# Flags
#
CCFLAGS_WARNINGS
=
-Wno-long-long
-Wall
-Winline
#-Werror#-pedantic
# Add these for more warnings -Weffc++ -W
CCFLAGS_TOP
=
-D_REENTRANT
-D_POSIX_PTHREAD_SEMANTICS
-D_BIG_ENDIAN
CXX_FLAGS_TOP
=
-fno-rtti
-felide-constructors
-fno-exceptions
-fno-omit-fram-pointer
C_FLAGS_TOP
+=
-fno-omit-frame-pointer
ifeq
(RELEASE, $(NDB_VERSION))
VERSION_FLAGS
+=
-O3
else
ifeq
(RELEASE_TRACE, $(NDB_VERSION))
VERSION_FLAGS
+=
-O3
-g
else
VERSION_FLAGS
+=
-g
endif
endif
CCFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(CXXFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
CFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(C_FLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
LDFLAGS_TOP
=
LDFLAGS
=
$(LDFLAGS_LOC)
$(LDFLAGS_TOP)
LDLIBS
=
$(LDLIBS_LOC)
$(LDLIBS_TOP)
LINK.cc
=
$(PURE)
$
(
C++
)
$(CCFLAGS)
$(LDFLAGS)
LINK.c
=
$(PURE)
$(CC)
$(CFLAGS)
$(LDFLAGS)
#LDFLAGS_LAST = -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
LDFLAGS_LAST
=
-lstdc
++
ndb/config/old_files/Defs.OSE.PPC750.DIAB.mk
deleted
100644 → 0
View file @
5a8303a3
###
#
# Defines
SHELL
:=
/bin/sh
C++
:
= dplus
CC
:=
dcc
AR_RCS
:=
$(PURE)
ar rcs
SO
:=
dar
-r
MAKEDEPEND
:=
g++
-M
-nostdinc
PIC
:=
RPCGENFLAGS
:=
-MA
-C
-N
###
#
# Flags
#
CCFLAGS_INCLUDE
=
-I
/vobs/cello/cls/rtosi_if/include
-I
/vobs/cello/cls/rtosi_if/include.mp750
-I
/vobs/cello/cls/rtosi_if/include.ppc
CCFLAGS_TOP
=
-tPPC750EH
-DBIG_ENDIAN
-D_BIG_ENDIAN
-DPPC
-DPPC750
-DOSE_DELTA
-DMP
-Xlint
-Xforce-prototypes
-DINLINE
=
__inline__
-Xansi
-Xsmall-data
=
0
-Xsmall-const
=
0
-Xstrings-in-text
ifeq
(RELEASE, $(NDB_VERSION))
VERSION_FLAGS
+=
-XO
else
ifeq
(RELEASE_TRACE, $(NDB_VERSION))
VERSION_FLAGS
+=
-XO
-g
else
VERSION_FLAGS
+=
-g
endif
endif
CCFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_INCLUDE)
CFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_INCLUDE)
LDFLAGS_TOP
=
LDFLAGS
=
$(LDFLAGS_LOC)
$(LDFLAGS_TOP)
LDLIBS
=
$(LDLIBS_LOC)
$(LDLIBS_TOP)
LINK.cc
=
$(PURE)
$
(
C++
)
$(CCFLAGS)
$(LDFLAGS)
LINK.c
=
$(PURE)
$(CC)
$(CFLAGS)
$(LDFLAGS)
ndb/config/old_files/Defs.RELEASE.mk
deleted
100644 → 0
View file @
5a8303a3
VERSION_FLAGS
:=
-DNDB_RELEASE
-DUSE_EMULATED_JAM
-DNDEBUG
ndb/config/old_files/Defs.RELEASE_TRACE.mk
deleted
100644 → 0
View file @
5a8303a3
VERSION_FLAGS
:=
-DNDB_RELEASE
-DUSE_EMULATED_JAM
-DNDEBUG
-DVM_TRACE
-DERROR_INSERT
-DARRAY_GUARD
ndb/config/old_files/Defs.SIMCELLO.SOFTOSE.GCC.mk
deleted
100644 → 0
View file @
5a8303a3
###
#
# Defines
SHELL
:=
/bin/sh
C++
:
= g++
CC
:=
gcc
AR_RCS
:=
$(PURE)
ar rcs
SO
:=
g++
-shared
-o
MAKEDEPEND
:=
g++
-M
PIC
:=
-fPIC
###
#
# Flags
#
NDB_STRDUP
:=
Y
CCFLAGS_WARNINGS
=
-Wall
-pedantic
-Wno-sign-compare
CC_FLAGS_OSE
=
-DSPARC
-DSIM
-DOSE_DELTA
-DMP
CCFLAGS_TOP
=
$(CC_FLAGS_OSE)
$(CC_FLAGS_WARNINGS)
-DNDB_STRDUP
ifeq
(RELEASE, $(NDB_VERSION))
VERSION_FLAGS
+=
-O3
else
ifeq
(RELEASE_TRACE, $(NDB_VERSION))
VERSION_FLAGS
+=
-O3
-g
else
VERSION_FLAGS
+=
-g
endif
endif
CCFLAGS_LOC_OSE
=
-I
/vobs/cello/cls/rtosi_if/include.sparc
CCFLAGS
=
$(CCFLAGS_LOC_OSE)
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
CFLAGS
=
$(CCFLAGS_LOC_OSE)
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
LDLIBS_LOC
=
-L
$(NDB_TOP)
/lib
-L
$(OSE_LOC)
/sfk-solaris2/lib
-L
$(OSE_LOC)
/sfk-solaris2/krn-solaris2/lib
LDLIBS_TOP
=
LDFLAGS
=
$(LDFLAGS_LOC)
$(LDFLAGS_TOP)
LDLIBS
=
$(LDLIBS_LOC)
$(LDLIBS_TOP)
LINK.cc
=
$(PURE)
$
(
C++
)
$(CCFLAGS)
$(LDFLAGS)
LINK.c
=
$(PURE)
$(CC)
$(LDFLAGS)
ndb/config/old_files/Defs.SOFTOSE.SPARC.GCC.mk
deleted
100644 → 0
View file @
5a8303a3
###
#
# Defines
SHELL
:=
/bin/sh
C++
:
= g++
CC
:=
gcc
AR_RCS
:=
$(PURE)
ar rcs
SO
:=
g++
-shared
-o
MAKEDEPEND
:=
g++
-M
PIC
:=
-fPIC
###
#
# Flags
#
NDB_STRDUP
:=
Y
CCFLAGS_WARNINGS
=
-Wno-long-long
-Wall
-pedantic
-Wno-sign-compare
-ansi
CC_FLAGS_OSE
=
-DUSE_OSEDEF_H
-DOSE_DELTA
-DOS_DEBUG
-DBIG_ENDIAN
CCFLAGS_TOP
=
$(CC_FLAGS_OSE)
$(CC_FLAGS_WARNINGS)
-DNDB_STRDUP
ifeq
(RELEASE, $(NDB_VERSION))
VERSION_FLAGS
+=
-O3
else
ifeq
(RELEASE_TRACE, $(NDB_VERSION))
VERSION_FLAGS
+=
-O3
-g
else
VERSION_FLAGS
+=
-g
-DOS_DEBUG
endif
endif
OSE_LOC
=
/opt/as/OSE/OSE4.3.1
CCFLAGS_LOC_OSESTD
=
-I
$(OSE_LOC)
/sfk-solaris2/std-include
CCFLAGS_LOC_OSE
=
-I
$(OSE_LOC)
/sfk-solaris2/include
-I
$(OSE_LOC)
/sfk-solaris2/krn-solaris2/include
-I
$(NDB_TOP)
/src/env/softose
CCFLAGS
=
$(CCFLAGS_LOC_OSE)
$(CCFLAGS_LOC_OSESTD)
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
CFLAGS
=
$(CCFLAGS_LOC_OSE)
$(CCFLAGS_LOC_OSESTD)
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
LDLIBS_LOC
=
-L
$(NDB_TOP)
/lib
-L
$(OSE_LOC)
/sfk-solaris2/lib
-L
$(OSE_LOC)
/sfk-solaris2/krn-solaris2/lib
LDLIBS_TOP
=
LDLIBS_LAST
=
-lsoftose_env
-lsoftose_krn
-llnh
-lefs
-lshell
-lfss
-ltosv
-lrtc
-lheap
-linetutil
-linetapi
-lsoftose
-lsoftose_env
-lsoftose_krn
-losepthread
-lrtc
-lnsl
-lsocket
-lpthread
-lcrt
-lm
LDFLAGS
=
$(LDFLAGS_LOC)
$(LDFLAGS_TOP)
LDLIBS
=
$(LDLIBS_LOC)
$(LDLIBS_TOP)
LINK.cc
=
$(PURE)
$
(
C++
)
$(CCFLAGS)
$(LDFLAGS)
LINK.c
=
$(PURE)
$(CC)
$(LDFLAGS)
ndb/config/old_files/Defs.SOLARIS.SPARC.FORTE6.mk
deleted
100644 → 0
View file @
5a8303a3
###
#
# Defines
SHELL
:=
/bin/sh
C++
:
= CC
CC
:=
/opt/as/forte6/SUNWspro/bin/cc
AR_RCS
:=
$(PURE)
CC
-xar
-o
SO
:=
CC
-G
-z
text
-o
MAKEDEPEND
:=
CC
-xM1
PIC
:=
-KPIC
ETAGS
:=
etags
CTAGS
:=
ctags
RPCGENFLAGS
:=
-MA
-C
-N
###
#
# Flags
CCFLAGS_TOP
=
-mt
-DSOLARIS
-D_REENTRANT
-D_POSIX_PTHREAD_SEMANTICS
ifneq
($(PURE),)
CCFLAGS_TOP
+=
-xs
CCFLAGS_TOP
+=
-DNDB_PURIFY
endif
ifeq
(RELEASE, $(NDB_VERSION))
VERSION_FLAGS
+=
-xO3
else
ifeq
(RELEASE_TRACE, $(NDB_VERSION))
VERSION_FLAGS
+=
-xO3
-g
else
VERSION_FLAGS
+=
-g
endif
endif
CCFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
CFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
LDFLAGS_TOP
=
-L
/opt/as/forte6/SUNWspro/WS6/lib
-lpthread
-lsocket
-lnsl
-lrt
LDFLAGS
=
$(LDFLAGS_LOC)
$(LDFLAGS_TOP)
LDLIBS
=
$(LDLIBS_LOC)
$(LDLIBS_TOP)
LINK.cc
=
$(PURE)
$
(
C++
)
-xildoff
$(CCFLAGS)
$(LDFLAGS)
LINK.c
=
$(PURE)
$(CC)
$(CFLAGS)
$(LDFLAGS)
ndb/config/old_files/Defs.SOLARIS.SPARC.GCC.mk
deleted
100644 → 0
View file @
5a8303a3
###
#
# Defines
SHELL
:=
/bin/sh
CXX
:=
gcc
C++
:
= g++
CC
:=
gcc
AR_RCS
:=
ar rcs
SO
:=
gcc
-G
-o
#GXX_VERSION := $(shell gcc --version | sed -e 's,.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*,\1,1' -e q)
MAKEDEPEND
:=
g++
-M
PIC
:=
-fPIC
RPCGENFLAGS
:=
-MA
-C
-N
ETAGS
:=
etags
CTAGS
:=
ctags
###
#
# Flags
#
CCFLAGS_WARNINGS
=
-Wno-long-long
-W
-Wall
-pedantic
# -Wno-sign-compare Use this flag if you are annoyed with all the warnings
CCFLAGS_TOP
=
-DSOLARIS
-D_REENTRANT
-D_POSIX_PTHREAD_SEMANTICS
-DNO_COMMAND_HANDLER
CCFLAGS_TOP
+=
-fno-rtti
ifeq
(RELEASE, $(NDB_VERSION))
VERSION_FLAGS
+=
-O2
else
ifeq
(RELEASE_TRACE, $(NDB_VERSION))
VERSION_FLAGS
+=
-O2
-g
else
VERSION_FLAGS
+=
-g
endif
endif
CCFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
CFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
LDFLAGS_TOP
=
LDFLAGS
=
$(LDFLAGS_LOC)
$(LDFLAGS_TOP)
LDLIBS
=
$(LDLIBS_LOC)
$(LDLIBS_TOP)
LINK.cc
=
$(PURE)
$(CXX)
$(CCFLAGS)
$(LDFLAGS)
LINK.c
=
$(PURE)
$(CC)
$(CFLAGS)
$(LDFLAGS)
LDFLAGS_LAST
=
-lpthread
-lsocket
-lnsl
-lrt
-Wl
,-Bstatic
-lstdc
++
-Wl
,-Bdynamic
ndb/config/old_files/Defs.SOLARIS.SPARC_64.GCC.mk
deleted
100644 → 0
View file @
5a8303a3
###
#
# Note: LD_LIBRARY_PATH must be set for /usr/local/lib/sparcv9 to dynamically link
# to 64-bit libraries
#
# Defines
SHELL
:=
/bin/sh
C++
:
= g++ -m64
CC
:=
gcc
-m64
AR_RCS
:=
ar rcs
SO
:=
g++
-m64
-shared
-o
MAKEDEPEND
:=
g++
-M
PIC
:=
-fPIC
RPCGENFLAGS
:=
-MA
-C
-N
ETAGS
:=
etags
CTAGS
:=
ctags
###
#
# Flags
#
CCFLAGS_WARNINGS
=
-Wno-long-long
-W
-Wall
-pedantic
# -Wno-sign-compare Use this flag if you are annoyed with all the warnings
CCFLAGS_TOP
=
-DSOLARIS
-D_REENTRANT
-D_POSIX_PTHREAD_SEMANTICS
-DNO_COMMAND_HANDLER
CCFLAGS_TOP
+=
-fno-rtti
ifeq
(RELEASE, $(NDB_VERSION))
VERSION_FLAGS
+=
-O2
else
ifeq
(RELEASE_TRACE, $(NDB_VERSION))
VERSION_FLAGS
+=
-O2
-g
else
VERSION_FLAGS
+=
-g
endif
endif
CCFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
CFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
LDFLAGS_TOP
=
-lpthread
-lsocket
-lnsl
-lrt
LDFLAGS
=
$(LDFLAGS_LOC)
$(LDFLAGS_TOP)
LDLIBS
=
$(LDLIBS_LOC)
$(LDLIBS_TOP)
LINK.cc
=
$(PURE)
$
(
C++
)
$(CCFLAGS)
$(LDFLAGS)
LINK.c
=
$(PURE)
$(CC)
$(CFLAGS)
$(LDFLAGS)
ndb/config/old_files/Defs.SOLARIS6.SPARC.GCC.mk
deleted
100644 → 0
View file @
5a8303a3
###
#
# Defines
SHELL
:=
/bin/sh
C++
:
= g++
CC
:=
gcc
AR_RCS
:=
$(PURE)
ar rcs
SO
:=
g++
-shared
-o
MAKEDEPEND
:=
g++
-M
PIC
:=
-fPIC
RPCGENFLAGS
:=
-MA
-C
-N
###
#
# Flags
#
CCFLAGS_WARNINGS
=
-Wno-long-long
-Wall
-pedantic
# -Wno-sign-compare Use this flag if you are annoyed with all the warnings
CCFLAGS_TOP
=
-DSOLARIS
-D_REENTRANT
-D_POSIX_PTHREAD_SEMANTICS
-DNO_COMMAND_HANDLER
# SOLARIS 6 should use the same settings as SOLARIS7
# if something in the SOLARIS 7 port does not work for SOLARIS 6
# it can be ifdefed using
# if ! defined NDB_SOLRIS6
CCFLAGS_TOP
=
-DNDB_SOLARIS
ifeq
(RELEASE, $(NDB_VERSION))
VERSION_FLAGS
+=
-O3
else
ifeq
(RELEASE_TRACE, $(NDB_VERSION))
VERSION_FLAGS
+=
-O3
else
VERSION_FLAGS
+=
-g
endif
endif
CCFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
CFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
LDFLAGS_TOP
=
-lpthread
-lsocket
-lnsl
-lposix4
LDFLAGS
=
$(LDFLAGS_LOC)
$(LDFLAGS_TOP)
LDLIBS
=
$(LDLIBS_LOC)
$(LDLIBS_TOP)
LINK.cc
=
$(PURE)
$
(
C++
)
$(CCFLAGS)
$(LDFLAGS)
LINK.c
=
$(PURE)
$(CC)
$(CFLAGS)
$(LDFLAGS)
ndb/config/old_files/Defs.TRU64X.ALPHA.GCC.mk
deleted
100644 → 0
View file @
5a8303a3
###
#
# Defines
SHELL
:=
/bin/sh
C++
:
= g++
CC
:=
gcc
AR_RCS
:=
$(PURE)
ar rcs
SO
:=
g++
-shared
-o
MAKEDEPEND
:=
g++
-M
PIC
:=
-fPIC
RPCGENFLAGS
:=
-M
-C
-N
ETAGS
:=
etags
CTAGS
:=
ctags
###
#
# Flags
#
CCFLAGS_WARNINGS
=
-Wno-long-long
-Wall
#-pedantic
# Add these for more warnings -Weffc++ -W
CCFLAGS_TOP
=
-D_REENTRANT
-D_POSIX_PTHREAD_SEMANTICS
CCFLAGS_TOP
+=
-fno-rtti
ifeq
(RELEASE, $(NDB_VERSION))
VERSION_FLAGS
+=
-O3
else
ifeq
(RELEASE_TRACE, $(NDB_VERSION))
VERSION_FLAGS
+=
-O3
-g
else
VERSION_FLAGS
+=
-g
endif
endif
CCFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
CFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
LDFLAGS_TOP
=
-lpthread
-lrt
LDFLAGS
=
$(LDFLAGS_LOC)
$(LDFLAGS_TOP)
LDLIBS
=
$(LDLIBS_LOC)
$(LDLIBS_TOP)
LINK.cc
=
$(PURE)
$
(
C++
)
$(CCFLAGS)
$(LDFLAGS)
LINK.c
=
$(PURE)
$(CC)
$(CFLAGS)
$(LDFLAGS)
ndb/config/old_files/Defs.WIN32.x86.VC7.mk
deleted
100644 → 0
View file @
5a8303a3
###
#
# Defines
SHELL
:=
/bin/sh
DEFINES
=
-D_WIN32
-D_M_IX86
=
600
-D_MSC_EXTENSIONS
=
0
-U_cdecl
-D_MT
#
MAKEDEPEND
=
g++
-M
--nostdinc
--nostdinc
++
-I
"
`
cygpath
-u
"
$(MSVCDIR)
\i
nclude"
`
"
-I
"
`
cygpath
-u
"
$(MSVCDIR)
\P
latformSDK
\i
nclude"
`
"
$(DEFINES)
PIC
=
-D_LIB
NON_PIC
=
-D_LIB
RPCGENFLAGS
:=
-M
-C
-N
ETAGS
:=
etags
CTAGS
:=
ctags
###
#
# Flags
#
CCFLAGS_WARNINGS
=
CCFLAGS_TOP
=
CCFLAGS_LOC
=
CCFLAGS_WIN
=
-DWIN32
-D_WIN32_WINNT
=
0x0500
-DWINVER
=
0x0500
-D_MBCS
-DNO_COMMAND_HANDLER
CCFLAGS_WIN
+=
-W3
-EHsc
#CCFLAGS_WIN += -clr
ifeq
(RELEASE, $(NDB_VERSION))
CCFLAGS_WIN
+=
-MT
-O2
-Ob1
-DNO_DEBUG_MESSAGES
else
ifeq
(RELEASE_TRACE, $(NDB_VERSION))
CCFLAGS_WIN
+=
-MT
-O2
-Ob1
-DNO_DEBUG_MESSAGES
else
CCFLAGS_WIN
+=
-MTd
-Zi
-Od
-GS
-D_DEBUG
endif
endif
C++
=
cl
-nologo
$(CCFLAGS_WIN)
CC
=
cl
-nologo
$(CCFLAGS_WIN)
CCFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
CFLAGS
=
$(CCFLAGS_LOC)
$(CCFLAGS_TOP)
$(USER_FLAGS)
$(VERSION_FLAGS)
$(CCFLAGS_WARNINGS)
LDFLAGS_TOP
=
LDFLAGS
=
$(LDFLAGS_LOC)
$(LDFLAGS_TOP)
LDLIBS
=
$(LDLIBS_LOC)
$(LDLIBS_TOP)
WIN_LIBS
:=
Ws2_32.lib Advapi32.lib
ifeq
(RELEASE, $(NDB_VERSION))
LINK.cc
=
link
-INCREMENTAL
:NO
-NOLOGO
-LARGEADDRESSAWARE
$(WIN_LIBS)
else
ifeq
(RELEASE_TRACE, $(NDB_VERSION))
LINK.cc
=
link
-INCREMENTAL
:NO
-NOLOGO
-LARGEADDRESSAWARE
$(WIN_LIBS)
else
LINK.cc
=
link
-INCREMENTAL
-NOLOGO
-DEBUG
-LARGEADDRESSAWARE
$(WIN_LIBS)
endif
endif
ndb/config/old_files/GuessConfig.sh
deleted
100755 → 0
View file @
5a8303a3
#! /bin/sh
if
[
-z
"
$NDB_TOP
"
]
then
echo
"You have not set NDB_TOP. Exiting"
1>&2
exit
1
fi
if
[
-z
"
$NDB_SCI
"
]
then
NDB_SCI
=
N
fi
if
[
-z
"
$NDB_SHM
"
]
then
NDB_SHM
=
N
fi
os
=
`
uname
-s
`
case
$os
in
Linux
)
NDB_OS
=
LINUX
NDB_ARCH
=
x86
NDB_COMPILER
=
GCC
;;
Darwin
)
NDB_OS
=
MACOSX
NDB_ARCH
=
POWERPC
NDB_COMPILER
=
GCC
;;
HP-UX
)
NDB_OS
=
HPUX
NDB_ARCH
=
HPPA
NDB_COMPILER
=
GCC
;;
CYGWIN_NT-5.0
)
NDB_OS
=
WIN32
NDB_ARCH
=
x86
NDB_COMPILER
=
VC7
;;
*
)
if
[
"
$os
"
=
"SunOS"
]
&&
[
`
uname
-r
`
=
"5.6"
]
then
NDB_OS
=
OSE
NDB_ARCH
=
PPC750
NDB_COMPILER
=
DIAB
else
NDB_OS
=
SOLARIS
NDB_ARCH
=
SPARC
NDB_COMPILER
=
GCC
fi
;;
esac
if
[
-z
"
$NDB_ODBC
"
]
then
NDB_ODBC
=
N
fi
mch
=
`
uname
-m
`
case
$mch
in
x86_64
)
NDB_ARCH
=
x86_64
;;
*
)
;;
esac
if
[
-f
$NDB_TOP
/config/Makefile
]
then
TERMCAP_LIB
=
`
grep
TERMCAP_LIB
$NDB_TOP
/config/Makefile |
sed
-e
s,
"TERMCAP_LIB.*=.*-l"
,
""
,g
`
fi
if
[
"
$TERMCAP_LIB
"
=
""
]
then
TERMCAP_LIB
=
termcap
fi
# defaults
NDB_VERSION
=
DEBUG
PACKAGE
=
VERSION
=
parse_arguments
()
{
for
arg
do
case
"
$arg
"
in
-GCC
)
NDB_COMPILER
=
GCC
;;
-R
)
NDB_VERSION
=
RELEASE
;;
-D
)
NDB_VERSION
=
DEBUG
;;
--PACKAGE
=
*
)
PACKAGE
=
`
echo
"
$arg
"
|
sed
-e
"s;--PACKAGE=;;"
`
;;
--VERSION
=
*
)
VERSION
=
`
echo
"
$arg
"
|
sed
-e
"s;--VERSION=;;"
`
;;
*
)
echo
"Unknown argument '
$arg
'"
exit
1
;;
esac
done
}
parse_arguments
"
$@
"
(
echo
"# This file was automatically generated
`
date
`
"
echo
"NDB_OS :=
$NDB_OS
"
echo
"NDB_ARCH :=
$NDB_ARCH
"
echo
"NDB_COMPILER :=
$NDB_COMPILER
"
echo
"NDB_VERSION :=
$NDB_VERSION
"
echo
"NDB_SCI :=
$NDB_SCI
"
echo
"NDB_SHM :=
$NDB_SHM
"
echo
"NDB_ODBC :=
$NDB_ODBC
"
echo
"TERMCAP_LIB :=
$TERMCAP_LIB
"
echo
"PACKAGE :=
$PACKAGE
"
echo
"VERSION :=
$VERSION
"
)
>
$NDB_TOP
/config/config.mk
exit
0
ndb/config/old_files/Makefile.am
deleted
100644 → 0
View file @
5a8303a3
# Copyright (C) 2003 MySQL AB
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# Process this file with automake to create Makefile.in
AUTOMAKE_OPTIONS
=
foreign
# These are built from source in the Docs directory
EXTRA_DIST
=
SUBDIRS
=
# Relink after clean
linked_sources
=
CLEANFILES
=
$(linked_sources)
# This is just so that the linking is done early.
config.h
:
ndb/config/old_files/acinclude.m4
deleted
100644 → 0
View file @
5a8303a3
# Local macros for automake & autoconf
AC_DEFUN(MYSQL_CHECK_LIBEDIT_INTERFACE,[
AC_CACHE_CHECK([libedit variant of rl_completion_entry_function], mysql_cv_libedit_interface,
AC_TRY_COMPILE(
[
#include "stdio.h"
#include "readline/readline.h"
],
[
char res= *(*rl_completion_entry_function)(0,0);
completion_matches(0,0);
],
[
mysql_cv_libedit_interface=yes
AC_DEFINE_UNQUOTED(USE_LIBEDIT_INTERFACE)
],
[mysql_cv_libedit_interface=no]
)
)
])
AC_DEFUN(MYSQL_CHECK_NEW_RL_INTERFACE,[
AC_CACHE_CHECK([defined rl_compentry_func_t and rl_completion_func_t], mysql_cv_new_rl_interface,
AC_TRY_COMPILE(
[
#include "stdio.h"
#include "readline/readline.h"
],
[
rl_completion_func_t *func1= (rl_completion_func_t*)0;
rl_compentry_func_t *func2= (rl_compentry_func_t*)0;
],
[
mysql_cv_new_rl_interface=yes
AC_DEFINE_UNQUOTED(USE_NEW_READLINE_INTERFACE)
],
[mysql_cv_new_rl_interface=no]
)
)
])
# A local version of AC_CHECK_SIZEOF that includes sys/types.h
dnl MYSQL_CHECK_SIZEOF(TYPE [, CROSS-SIZE])
AC_DEFUN(MYSQL_CHECK_SIZEOF,
[changequote(<<, >>)dnl
dnl The name to #define.
define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl
dnl The cache variable name.
define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
changequote([, ])dnl
AC_MSG_CHECKING(size of $1)
AC_CACHE_VAL(AC_CV_NAME,
[AC_TRY_RUN([#include <stdio.h>
#include <sys/types.h>
#if STDC_HEADERS
#include <stdlib.h>
#include <stddef.h>
#endif
main()
{
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf(f, "%d\n", sizeof($1));
exit(0);
}], AC_CV_NAME=`cat conftestval`, AC_CV_NAME=0, ifelse([$2], , , AC_CV_NAME=$2))])dnl
AC_MSG_RESULT($AC_CV_NAME)
AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME)
undefine([AC_TYPE_NAME])dnl
undefine([AC_CV_NAME])dnl
])
#---START: Used in for client configure
AC_DEFUN(MYSQL_TYPE_ACCEPT,
[ac_save_CXXFLAGS="$CXXFLAGS"
AC_CACHE_CHECK([base type of last arg to accept], mysql_cv_btype_last_arg_accept,
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
if test "$ac_cv_prog_gxx" = "yes"
then
CXXFLAGS=`echo $CXXFLAGS -Werror | sed 's/-fbranch-probabilities//'`
fi
mysql_cv_btype_last_arg_accept=none
[AC_TRY_COMPILE([#if defined(inline)
#undef inline
#endif
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
],
[int a = accept(1, (struct sockaddr *) 0, (socklen_t *) 0); return (a != 0);],
mysql_cv_btype_last_arg_accept=socklen_t)]
if test "$mysql_cv_btype_last_arg_accept" = "none"; then
[AC_TRY_COMPILE([#if defined(inline)
#undef inline
#endif
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
],
[int a = accept(1, (struct sockaddr *) 0, (size_t *) 0); return (a != 0);],
mysql_cv_btype_last_arg_accept=size_t)]
fi
if test "$mysql_cv_btype_last_arg_accept" = "none"; then
mysql_cv_btype_last_arg_accept=int
fi)
AC_LANG_RESTORE
AC_DEFINE_UNQUOTED(SOCKET_SIZE_TYPE, $mysql_cv_btype_last_arg_accept)
CXXFLAGS="$ac_save_CXXFLAGS"
])
#---END:
dnl Find type of qsort
AC_DEFUN(MYSQL_TYPE_QSORT,
[AC_CACHE_CHECK([return type of qsort], mysql_cv_type_qsort,
[AC_TRY_COMPILE([#include <stdlib.h>
#ifdef __cplusplus
extern "C"
#endif
void qsort(void *base, size_t nel, size_t width,
int (*compar) (const void *, const void *));
],
[int i;], mysql_cv_type_qsort=void, mysql_cv_type_qsort=int)])
AC_DEFINE_UNQUOTED(RETQSORTTYPE, $mysql_cv_type_qsort)
if test "$mysql_cv_type_qsort" = "void"
then
AC_DEFINE_UNQUOTED(QSORT_TYPE_IS_VOID, 1)
fi
])
AC_DEFUN(MYSQL_TIMESPEC_TS,
[AC_CACHE_CHECK([if struct timespec has a ts_sec member], mysql_cv_timespec_ts,
[AC_TRY_COMPILE([#include <pthread.h>
#ifdef __cplusplus
extern "C"
#endif
],
[struct timespec abstime;
abstime.ts_sec = time(NULL)+1;
abstime.ts_nsec = 0;
], mysql_cv_timespec_ts=yes, mysql_cv_timespec_ts=no)])
if test "$mysql_cv_timespec_ts" = "yes"
then
AC_DEFINE(HAVE_TIMESPEC_TS_SEC)
fi
])
AC_DEFUN(MYSQL_TZNAME,
[AC_CACHE_CHECK([if we have tzname variable], mysql_cv_tzname,
[AC_TRY_COMPILE([#include <time.h>
#ifdef __cplusplus
extern "C"
#endif
],
[ tzset();
return tzname[0] != 0;
], mysql_cv_tzname=yes, mysql_cv_tzname=no)])
if test "$mysql_cv_tzname" = "yes"
then
AC_DEFINE(HAVE_TZNAME)
fi
])
AC_DEFUN(MYSQL_CHECK_ZLIB_WITH_COMPRESS, [
save_LIBS="$LIBS"
LIBS="-l$1 $LIBS"
AC_CACHE_CHECK([if libz with compress], mysql_cv_compress,
[AC_TRY_RUN([#include <zlib.h>
#ifdef __cplusplus
extern "C"
#endif
int main(int argv, char **argc)
{
return 0;
}
int link_test()
{
return compress(0, (unsigned long*) 0, "", 0);
}
], mysql_cv_compress=yes, mysql_cv_compress=no)])
if test "$mysql_cv_compress" = "yes"
then
AC_DEFINE(HAVE_COMPRESS)
else
LIBS="$save_LIBS"
fi
])
#---START: Used in for client configure
AC_DEFUN(MYSQL_CHECK_ULONG,
[AC_MSG_CHECKING(for type ulong)
AC_CACHE_VAL(ac_cv_ulong,
[AC_TRY_RUN([#include <stdio.h>
#include <sys/types.h>
main()
{
ulong foo;
foo++;
exit(0);
}], ac_cv_ulong=yes, ac_cv_ulong=no, ac_cv_ulong=no)])
AC_MSG_RESULT($ac_cv_ulong)
if test "$ac_cv_ulong" = "yes"
then
AC_DEFINE(HAVE_ULONG)
fi
])
AC_DEFUN(MYSQL_CHECK_UCHAR,
[AC_MSG_CHECKING(for type uchar)
AC_CACHE_VAL(ac_cv_uchar,
[AC_TRY_RUN([#include <stdio.h>
#include <sys/types.h>
main()
{
uchar foo;
foo++;
exit(0);
}], ac_cv_uchar=yes, ac_cv_uchar=no, ac_cv_uchar=no)])
AC_MSG_RESULT($ac_cv_uchar)
if test "$ac_cv_uchar" = "yes"
then
AC_DEFINE(HAVE_UCHAR)
fi
])
AC_DEFUN(MYSQL_CHECK_UINT,
[AC_MSG_CHECKING(for type uint)
AC_CACHE_VAL(ac_cv_uint,
[AC_TRY_RUN([#include <stdio.h>
#include <sys/types.h>
main()
{
uint foo;
foo++;
exit(0);
}], ac_cv_uint=yes, ac_cv_uint=no, ac_cv_uint=no)])
AC_MSG_RESULT($ac_cv_uint)
if test "$ac_cv_uint" = "yes"
then
AC_DEFINE(HAVE_UINT)
fi
])
AC_DEFUN(MYSQL_CHECK_IN_ADDR_T,
[AC_MSG_CHECKING(for type in_addr_t)
AC_CACHE_VAL(ac_cv_in_addr_t,
[AC_TRY_RUN([#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
int main(int argc, char **argv)
{
in_addr_t foo;
exit(0);
}], ac_cv_in_addr_t=yes, ac_cv_in_addr_t=no, ac_cv_in_addr_t=no)])
AC_MSG_RESULT($ac_cv_in_addr_t)
if test "$ac_cv_in_addr_t" = "yes"
then
AC_DEFINE(HAVE_IN_ADDR_T)
fi
])
AC_DEFUN(MYSQL_PTHREAD_YIELD,
[AC_CACHE_CHECK([if pthread_yield takes zero arguments], ac_cv_pthread_yield_zero_arg,
[AC_TRY_LINK([#define _GNU_SOURCE
#include <pthread.h>
#ifdef __cplusplus
extern "C"
#endif
],
[
pthread_yield();
], ac_cv_pthread_yield_zero_arg=yes, ac_cv_pthread_yield_zero_arg=yeso)])
if test "$ac_cv_pthread_yield_zero_arg" = "yes"
then
AC_DEFINE(HAVE_PTHREAD_YIELD_ZERO_ARG)
fi
]
[AC_CACHE_CHECK([if pthread_yield takes 1 argument], ac_cv_pthread_yield_one_arg,
[AC_TRY_LINK([#define _GNU_SOURCE
#include <pthread.h>
#ifdef __cplusplus
extern "C"
#endif
],
[
pthread_yield(0);
], ac_cv_pthread_yield_one_arg=yes, ac_cv_pthread_yield_one_arg=no)])
if test "$ac_cv_pthread_yield_one_arg" = "yes"
then
AC_DEFINE(HAVE_PTHREAD_YIELD_ONE_ARG)
fi
]
)
#---END:
AC_DEFUN(MYSQL_CHECK_FP_EXCEPT,
[AC_MSG_CHECKING(for type fp_except)
AC_CACHE_VAL(ac_cv_fp_except,
[AC_TRY_RUN([#include <stdio.h>
#include <sys/types.h>
#include <ieeefp.h>
main()
{
fp_except foo;
foo++;
exit(0);
}], ac_cv_fp_except=yes, ac_cv_fp_except=no, ac_cv_fp_except=no)])
AC_MSG_RESULT($ac_cv_fp_except)
if test "$ac_cv_fp_except" = "yes"
then
AC_DEFINE(HAVE_FP_EXCEPT)
fi
])
# From fileutils-3.14/aclocal.m4
# @defmac AC_PROG_CC_STDC
# @maindex PROG_CC_STDC
# @ovindex CC
# If the C compiler in not in ANSI C mode by default, try to add an option
# to output variable @code{CC} to make it so. This macro tries various
# options that select ANSI C on some system or another. It considers the
# compiler to be in ANSI C mode if it defines @code{__STDC__} to 1 and
# handles function prototypes correctly.
#
# Patched by monty to only check if __STDC__ is defined. With the original
# check it's impossible to get things to work with the Sunpro compiler from
# Workshop 4.2
#
# If you use this macro, you should check after calling it whether the C
# compiler has been set to accept ANSI C; if not, the shell variable
# @code{am_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source
# code in ANSI C, you can make an un-ANSIfied copy of it by using the
# program @code{ansi2knr}, which comes with Ghostscript.
# @end defmac
AC_DEFUN(AM_PROG_CC_STDC,
[AC_REQUIRE([AC_PROG_CC])
AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C)
AC_CACHE_VAL(am_cv_prog_cc_stdc,
[am_cv_prog_cc_stdc=no
ac_save_CC="$CC"
# Don't try gcc -ansi; that turns off useful extensions and
# breaks some systems' header files.
# AIX -qlanglvl=ansi
# Ultrix and OSF/1 -std1
# HP-UX -Aa -D_HPUX_SOURCE
# SVR4 -Xc -D__EXTENSIONS__
# removed "-Xc -D__EXTENSIONS__" beacause sun c++ does not like it.
for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE"
do
CC="$ac_save_CC $ac_arg"
AC_TRY_COMPILE(
[#if !defined(__STDC__)
choke me
#endif
/* DYNIX/ptx V4.1.3 can't compile sys/stat.h with -Xc -D__EXTENSIONS__. */
#ifdef _SEQUENT_
# include <sys/types.h>
# include <sys/stat.h>
#endif
], [
int test (int i, double x);
struct s1 {int (*f) (int a);};
struct s2 {int (*f) (double a);};],
[am_cv_prog_cc_stdc="$ac_arg"; break])
done
CC="$ac_save_CC"
])
AC_MSG_RESULT($am_cv_prog_cc_stdc)
case "x$am_cv_prog_cc_stdc" in
x|xno) ;;
*) CC="$CC $am_cv_prog_cc_stdc" ;;
esac
])
#
# Check to make sure that the build environment is sane.
#
AC_DEFUN(AM_SANITY_CHECK,
[AC_MSG_CHECKING([whether build environment is sane])
sleep 1
echo timestamp > conftestfile
# Do this in a subshell so we don't clobber the current shell's
# arguments. FIXME: maybe try `-L' hack like GETLOADAVG test?
if (set X `ls -t $srcdir/configure conftestfile`; test "[$]2" = conftestfile)
then
# Ok.
:
else
AC_MSG_ERROR([newly created file is older than distributed files!
Check your system clock])
fi
rm -f conftest*
AC_MSG_RESULT(yes)])
# Orginal from bash-2.0 aclocal.m4, Changed to use termcap last by monty.
AC_DEFUN(MYSQL_CHECK_LIB_TERMCAP,
[
AC_CACHE_VAL(mysql_cv_termcap_lib,
[AC_CHECK_LIB(ncurses, tgetent, mysql_cv_termcap_lib=libncurses,
[AC_CHECK_LIB(curses, tgetent, mysql_cv_termcap_lib=libcurses,
[AC_CHECK_LIB(termcap, tgetent, mysql_cv_termcap_lib=libtermcap,
mysql_cv_termcap_lib=NOT_FOUND)])])])
AC_MSG_CHECKING(for termcap functions library)
if test "$mysql_cv_termcap_lib" = "NOT_FOUND"; then
AC_MSG_ERROR([No curses/termcap library found])
elif test "$mysql_cv_termcap_lib" = "libtermcap"; then
TERMCAP_LIB=-ltermcap
elif test "$mysql_cv_termcap_lib" = "libncurses"; then
TERMCAP_LIB=-lncurses
else
TERMCAP_LIB=-lcurses
fi
AC_MSG_RESULT($TERMCAP_LIB)
])
dnl Check type of signal routines (posix, 4.2bsd, 4.1bsd or v7)
AC_DEFUN(MYSQL_SIGNAL_CHECK,
[AC_REQUIRE([AC_TYPE_SIGNAL])
AC_MSG_CHECKING(for type of signal functions)
AC_CACHE_VAL(mysql_cv_signal_vintage,
[
AC_TRY_LINK([#include <signal.h>],[
sigset_t ss;
struct sigaction sa;
sigemptyset(&ss); sigsuspend(&ss);
sigaction(SIGINT, &sa, (struct sigaction *) 0);
sigprocmask(SIG_BLOCK, &ss, (sigset_t *) 0);
], mysql_cv_signal_vintage=posix,
[
AC_TRY_LINK([#include <signal.h>], [
int mask = sigmask(SIGINT);
sigsetmask(mask); sigblock(mask); sigpause(mask);
], mysql_cv_signal_vintage=4.2bsd,
[
AC_TRY_LINK([
#include <signal.h>
RETSIGTYPE foo() { }], [
int mask = sigmask(SIGINT);
sigset(SIGINT, foo); sigrelse(SIGINT);
sighold(SIGINT); sigpause(SIGINT);
], mysql_cv_signal_vintage=svr3, mysql_cv_signal_vintage=v7
)]
)]
)
])
AC_MSG_RESULT($mysql_cv_signal_vintage)
if test "$mysql_cv_signal_vintage" = posix; then
AC_DEFINE(HAVE_POSIX_SIGNALS)
elif test "$mysql_cv_signal_vintage" = "4.2bsd"; then
AC_DEFINE(HAVE_BSD_SIGNALS)
elif test "$mysql_cv_signal_vintage" = svr3; then
AC_DEFINE(HAVE_USG_SIGHOLD)
fi
])
AC_DEFUN(MYSQL_CHECK_GETPW_FUNCS,
[AC_MSG_CHECKING(whether programs are able to redeclare getpw functions)
AC_CACHE_VAL(mysql_cv_can_redecl_getpw,
[AC_TRY_COMPILE([#include <sys/types.h>
#include <pwd.h>
extern struct passwd *getpwent();], [struct passwd *z; z = getpwent();],
mysql_cv_can_redecl_getpw=yes,mysql_cv_can_redecl_getpw=no)])
AC_MSG_RESULT($mysql_cv_can_redecl_getpw)
if test "$mysql_cv_can_redecl_getpw" = "no"; then
AC_DEFINE(HAVE_GETPW_DECLS)
fi
])
AC_DEFUN(MYSQL_HAVE_TIOCGWINSZ,
[AC_MSG_CHECKING(for TIOCGWINSZ in sys/ioctl.h)
AC_CACHE_VAL(mysql_cv_tiocgwinsz_in_ioctl,
[AC_TRY_COMPILE([#include <sys/types.h>
#include <sys/ioctl.h>], [int x = TIOCGWINSZ;],
mysql_cv_tiocgwinsz_in_ioctl=yes,mysql_cv_tiocgwinsz_in_ioctl=no)])
AC_MSG_RESULT($mysql_cv_tiocgwinsz_in_ioctl)
if test "$mysql_cv_tiocgwinsz_in_ioctl" = "yes"; then
AC_DEFINE(GWINSZ_IN_SYS_IOCTL)
fi
])
AC_DEFUN(MYSQL_HAVE_FIONREAD,
[AC_MSG_CHECKING(for FIONREAD in sys/ioctl.h)
AC_CACHE_VAL(mysql_cv_fionread_in_ioctl,
[AC_TRY_COMPILE([#include <sys/types.h>
#include <sys/ioctl.h>], [int x = FIONREAD;],
mysql_cv_fionread_in_ioctl=yes,mysql_cv_fionread_in_ioctl=no)])
AC_MSG_RESULT($mysql_cv_fionread_in_ioctl)
if test "$mysql_cv_fionread_in_ioctl" = "yes"; then
AC_DEFINE(FIONREAD_IN_SYS_IOCTL)
fi
])
AC_DEFUN(MYSQL_HAVE_TIOCSTAT,
[AC_MSG_CHECKING(for TIOCSTAT in sys/ioctl.h)
AC_CACHE_VAL(mysql_cv_tiocstat_in_ioctl,
[AC_TRY_COMPILE([#include <sys/types.h>
#include <sys/ioctl.h>], [int x = TIOCSTAT;],
mysql_cv_tiocstat_in_ioctl=yes,mysql_cv_tiocstat_in_ioctl=no)])
AC_MSG_RESULT($mysql_cv_tiocstat_in_ioctl)
if test "$mysql_cv_tiocstat_in_ioctl" = "yes"; then
AC_DEFINE(TIOCSTAT_IN_SYS_IOCTL)
fi
])
AC_DEFUN(MYSQL_STRUCT_DIRENT_D_INO,
[AC_REQUIRE([AC_HEADER_DIRENT])
AC_MSG_CHECKING(if struct dirent has a d_ino member)
AC_CACHE_VAL(mysql_cv_dirent_has_dino,
[AC_TRY_COMPILE([
#include <stdio.h>
#include <sys/types.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif /* HAVE_UNISTD_H */
#if defined(HAVE_DIRENT_H)
# include <dirent.h>
#else
# define dirent direct
# ifdef HAVE_SYS_NDIR_H
# include <sys/ndir.h>
# endif /* SYSNDIR */
# ifdef HAVE_SYS_DIR_H
# include <sys/dir.h>
# endif /* SYSDIR */
# ifdef HAVE_NDIR_H
# include <ndir.h>
# endif
#endif /* HAVE_DIRENT_H */
],[
struct dirent d; int z; z = d.d_ino;
], mysql_cv_dirent_has_dino=yes, mysql_cv_dirent_has_dino=no)])
AC_MSG_RESULT($mysql_cv_dirent_has_dino)
if test "$mysql_cv_dirent_has_dino" = "yes"; then
AC_DEFINE(STRUCT_DIRENT_HAS_D_INO)
fi
])
AC_DEFUN(MYSQL_TYPE_SIGHANDLER,
[AC_MSG_CHECKING([whether signal handlers are of type void])
AC_CACHE_VAL(mysql_cv_void_sighandler,
[AC_TRY_COMPILE([#include <sys/types.h>
#include <signal.h>
#ifdef signal
#undef signal
#endif
#ifdef __cplusplus
extern "C"
#endif
void (*signal ()) ();],
[int i;], mysql_cv_void_sighandler=yes, mysql_cv_void_sighandler=no)])dnl
AC_MSG_RESULT($mysql_cv_void_sighandler)
if test "$mysql_cv_void_sighandler" = "yes"; then
AC_DEFINE(VOID_SIGHANDLER)
fi
])
AC_DEFUN(MYSQL_CXX_BOOL,
[
AC_REQUIRE([AC_PROG_CXX])
AC_MSG_CHECKING(if ${CXX} supports bool types)
AC_CACHE_VAL(mysql_cv_have_bool,
[
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_TRY_COMPILE(,[bool b = true;],
mysql_cv_have_bool=yes,
mysql_cv_have_bool=no)
AC_LANG_RESTORE
])
AC_MSG_RESULT($mysql_cv_have_bool)
if test "$mysql_cv_have_bool" = yes; then
AC_DEFINE(HAVE_BOOL)
fi
])dnl
AC_DEFUN(MYSQL_STACK_DIRECTION,
[AC_CACHE_CHECK(stack direction for C alloca, ac_cv_c_stack_direction,
[AC_TRY_RUN([#include <stdlib.h>
int find_stack_direction ()
{
static char *addr = 0;
auto char dummy;
if (addr == 0)
{
addr = &dummy;
return find_stack_direction ();
}
else
return (&dummy > addr) ? 1 : -1;
}
int main ()
{
exit (find_stack_direction() < 0);
}], ac_cv_c_stack_direction=1, ac_cv_c_stack_direction=-1,
ac_cv_c_stack_direction=0)])
AC_DEFINE_UNQUOTED(STACK_DIRECTION, $ac_cv_c_stack_direction)
])dnl
AC_DEFUN(MYSQL_FUNC_ALLOCA,
[
# Since we have heard that alloca fails on IRIX never define it on a
# SGI machine
if test ! "$host_vendor" = "sgi"
then
AC_REQUIRE_CPP()dnl Set CPP; we run AC_EGREP_CPP conditionally.
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
AC_CACHE_CHECK([for working alloca.h], ac_cv_header_alloca_h,
[AC_TRY_LINK([#include <alloca.h>], [char *p = alloca(2 * sizeof(int));],
ac_cv_header_alloca_h=yes, ac_cv_header_alloca_h=no)])
if test "$ac_cv_header_alloca_h" = "yes"
then
AC_DEFINE(HAVE_ALLOCA)
fi
AC_CACHE_CHECK([for alloca], ac_cv_func_alloca_works,
[AC_TRY_LINK([
#ifdef __GNUC__
# define alloca __builtin_alloca
#else
# if HAVE_ALLOCA_H
# include <alloca.h>
# else
# ifdef _AIX
#pragma alloca
# else
# ifndef alloca /* predefined by HP cc +Olibcalls */
char *alloca ();
# endif
# endif
# endif
#endif
], [char *p = (char *) alloca(1);],
ac_cv_func_alloca_works=yes, ac_cv_func_alloca_works=no)])
if test "$ac_cv_func_alloca_works" = "yes"; then
AC_DEFINE(HAVE_ALLOCA)
fi
if test "$ac_cv_func_alloca_works" = "no"; then
# The SVR3 libPW and SVR4 libucb both contain incompatible functions
# that cause trouble. Some versions do not even contain alloca or
# contain a buggy version. If you still want to use their alloca,
# use ar to extract alloca.o from them instead of compiling alloca.c.
ALLOCA=alloca.o
AC_DEFINE(C_ALLOCA)
AC_CACHE_CHECK(whether alloca needs Cray hooks, ac_cv_os_cray,
[AC_EGREP_CPP(webecray,
[#if defined(CRAY) && ! defined(CRAY2)
webecray
#else
wenotbecray
#endif
], ac_cv_os_cray=yes, ac_cv_os_cray=no)])
if test "$ac_cv_os_cray" = "yes"; then
for ac_func in _getb67 GETB67 getb67; do
AC_CHECK_FUNC($ac_func, [AC_DEFINE_UNQUOTED(CRAY_STACKSEG_END, $ac_func)
break])
done
fi
fi
AC_SUBST(ALLOCA)dnl
else
AC_MSG_RESULT("Skipped alloca tests")
fi
])
AC_DEFUN(MYSQL_CHECK_LONGLONG_TO_FLOAT,
[
AC_MSG_CHECKING(if conversion of longlong to float works)
AC_CACHE_VAL(ac_cv_conv_longlong_to_float,
[AC_TRY_RUN([#include <stdio.h>
typedef long long longlong;
main()
{
longlong ll=1;
float f;
FILE *file=fopen("conftestval", "w");
f = (float) ll;
fprintf(file,"%g\n",f);
fclose(file);
exit (0);
}], ac_cv_conv_longlong_to_float=`cat conftestval`, ac_cv_conv_longlong_to_float=0, ifelse([$2], , , ac_cv_conv_longlong_to_float=$2))])dnl
if test "$ac_cv_conv_longlong_to_float" = "1" -o "$ac_cv_conv_longlong_to_float" = "yes"
then
ac_cv_conv_longlong_to_float=yes
else
ac_cv_conv_longlong_to_float=no
fi
AC_MSG_RESULT($ac_cv_conv_longlong_to_float)
])
AC_DEFUN(MYSQL_CHECK_CPU,
[AC_CACHE_CHECK([if compiler supports optimizations for current cpu],
mysql_cv_cpu,[
ac_save_CFLAGS="$CFLAGS"
if test -r /proc/cpuinfo ; then
cpuinfo="cat /proc/cpuinfo"
cpu_family=`$cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
cpu_vendor=`$cpuinfo | grep 'vendor_id' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -1`
fi
if test "$cpu_vendor" = "AuthenticAMD"; then
if test $cpu_family -ge 6; then
cpu_set="athlon pentiumpro k5 pentium i486 i386";
elif test $cpu_family -eq 5; then
cpu_set="k5 pentium i486 i386";
elif test $cpu_family -eq 4; then
cpu_set="i486 i386"
else
cpu_set="i386"
fi
elif test "$cpu_vendor" = "GenuineIntel"; then
if test $cpu_family -ge 6; then
cpu_set="pentiumpro pentium i486 i386";
elif test $cpu_family -eq 5; then
cpu_set="pentium i486 i386";
elif test $cpu_family -eq 4; then
cpu_set="i486 i386"
else
cpu_set="i386"
fi
fi
for ac_arg in $cpu_set;
do
CFLAGS="$ac_save_CFLAGS -mcpu=$ac_arg -march=$ac_arg -DCPU=$ac_arg"
AC_TRY_COMPILE([],[int i],mysql_cv_cpu=$ac_arg; break;, mysql_cv_cpu="unknown")
done
if test "$mysql_cv_cpu" = "unknown"
then
CFLAGS="$ac_save_CFLAGS"
AC_MSG_RESULT(none)
else
AC_MSG_RESULT($mysql_cv_cpu)
fi
]]))
AC_DEFUN(MYSQL_CHECK_VIO, [
AC_ARG_WITH([vio],
[ --with-vio Include the Virtual IO support],
[vio="$withval"],
[vio=no])
if test "$vio" = "yes"
then
vio_dir="vio"
vio_libs="../vio/libvio.la"
AC_DEFINE(HAVE_VIO)
else
vio_dir=""
vio_libs=""
fi
AC_SUBST([vio_dir])
AC_SUBST([vio_libs])
])
AC_DEFUN(MYSQL_FIND_OPENSSL, [
incs="$1"
libs="$2"
case "$incs---$libs" in
---)
for d in /usr/ssl/include /usr/local/ssl/include /usr/include \
/usr/include/ssl /opt/ssl/include /opt/openssl/include \
/usr/local/ssl/include /usr/local/include ; do
if test -f $d/openssl/ssl.h ; then
OPENSSL_INCLUDE=-I$d
fi
done
for d in /usr/ssl/lib /usr/local/ssl/lib /usr/lib/openssl \
/usr/lib /usr/lib64 /opt/ssl/lib /opt/openssl/lib /usr/local/lib/ ; do
if test -f $d/libssl.a || test -f $d/libssl.so || test -f $d/libssl.dylib ; then
OPENSSL_LIB=$d
fi
done
;;
---* | *---)
AC_MSG_ERROR([if either 'includes' or 'libs' is specified, both must be specified])
;;
* )
if test -f $incs/openssl/ssl.h ; then
OPENSSL_INCLUDE=-I$incs
fi
if test -f $libs/libssl.a || test -f $libs/libssl.so || test -f $libs/libssl.dylib ; then
OPENSSL_LIB=$libs
fi
;;
esac
# On RedHat 9 we need kerberos to compile openssl
for d in /usr/kerberos/include
do
if test -f $d/krb5.h ; then
OPENSSL_KERBEROS_INCLUDE="$d"
fi
done
if test -z "$OPENSSL_LIB" -o -z "$OPENSSL_INCLUDE" ; then
echo "Could not find an installation of OpenSSL"
if test -n "$OPENSSL_LIB" ; then
if test "$IS_LINUX" = "true"; then
echo "Looks like you've forgotten to install OpenSSL development RPM"
fi
fi
exit 1
fi
])
AC_DEFUN(MYSQL_CHECK_OPENSSL, [
AC_MSG_CHECKING(for OpenSSL)
AC_ARG_WITH([openssl],
[ --with-openssl Include the OpenSSL support],
[openssl="$withval"],
[openssl=no])
AC_ARG_WITH([openssl-includes],
[
--with-openssl-includes=DIR
Find OpenSSL headers in DIR],
[openssl_includes="$withval"],
[openssl_includes=""])
AC_ARG_WITH([openssl-libs],
[
--with-openssl-libs=DIR
Find OpenSSL libraries in DIR],
[openssl_libs="$withval"],
[openssl_libs=""])
if test "$openssl" = "yes"
then
MYSQL_FIND_OPENSSL([$openssl_includes], [$openssl_libs])
#force VIO use
vio_dir="vio"
vio_libs="../vio/libvio.la"
AC_DEFINE(HAVE_VIO)
AC_MSG_RESULT(yes)
openssl_libs="-L$OPENSSL_LIB -lssl -lcrypto"
# Don't set openssl_includes to /usr/include as this gives us a lot of
# compiler warnings when using gcc 3.x
openssl_includes=""
if test "$OPENSSL_INCLUDE" != "-I/usr/include"
then
openssl_includes="$OPENSSL_INCLUDE"
fi
if test "$OPENSSL_KERBEROS_INCLUDE"
then
openssl_includes="$openssl_includes -I$OPENSSL_KERBEROS_INCLUDE"
fi
AC_DEFINE(HAVE_OPENSSL)
# openssl-devel-0.9.6 requires dlopen() and we can't link staticly
# on many platforms (We should actually test this here, but it's quite
# hard) to do as we are doing libtool for linking.
using_static=""
case "$CLIENT_EXTRA_LDFLAGS $MYSQLD_EXTRA_LDFLAGS" in
*-all-static*) using_static="yes" ;;
esac
if test "$using_static" = "yes"
then
echo "You can't use the --all-static link option when using openssl."
exit 1
fi
NON_THREADED_CLIENT_LIBS="$NON_THREADED_CLIENT_LIBS $openssl_libs"
else
AC_MSG_RESULT(no)
fi
AC_SUBST(openssl_libs)
AC_SUBST(openssl_includes)
])
AC_DEFUN(MYSQL_CHECK_MYSQLFS, [
AC_ARG_WITH([mysqlfs],
[
--with-mysqlfs Include the corba-based MySQL file system],
[mysqlfs="$withval"],
[mysqlfs=no])
dnl Call MYSQL_CHECK_ORBIT even if mysqlfs == no, so that @orbit_*@
dnl get substituted.
MYSQL_CHECK_ORBIT
AC_MSG_CHECKING(if we should build MySQLFS)
fs_dirs=""
if test "$mysqlfs" = "yes"
then
if test -n "$orbit_exec_prefix"
then
fs_dirs=fs
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT(disabled because ORBIT, the CORBA ORB, was not found)
fi
else
AC_MSG_RESULT([no])
fi
AC_SUBST([fs_dirs])
])
AC_DEFUN(MYSQL_CHECK_ORBIT, [
AC_MSG_CHECKING(for ORBit)
orbit_config_path=`which orbit-config`
if test -n "$orbit_config_path" -a $? = 0
then
orbit_exec_prefix=`orbit-config --exec-prefix`
orbit_includes=`orbit-config --cflags server`
orbit_libs=`orbit-config --libs server`
orbit_idl="$orbit_exec_prefix/bin/orbit-idl"
AC_MSG_RESULT(found!)
AC_DEFINE(HAVE_ORBIT)
else
orbit_exec_prefix=
orbit_includes=
orbit_libs=
orbit_idl=
AC_MSG_RESULT(not found)
fi
AC_SUBST(orbit_includes)
AC_SUBST(orbit_libs)
AC_SUBST(orbit_idl)
])
AC_DEFUN([MYSQL_CHECK_ISAM], [
AC_ARG_WITH([isam], [
--with-isam Enable the ISAM table type],
[with_isam="$withval"],
[with_isam=no])
isam_libs=
if test X"$with_isam" = X"yes"
then
AC_DEFINE(HAVE_ISAM)
isam_libs="\$(top_builddir)/isam/libnisam.a\
\$(top_builddir)/merge/libmerge.a"
fi
AC_SUBST(isam_libs)
])
dnl ---------------------------------------------------------------------------
dnl Macro: MYSQL_CHECK_BDB
dnl Sets HAVE_BERKELEY_DB if inst library is found
dnl Makes sure db version is correct.
dnl Looks in $srcdir for Berkeley distribution if not told otherwise
dnl ---------------------------------------------------------------------------
AC_DEFUN([MYSQL_CHECK_BDB], [
AC_ARG_WITH([berkeley-db],
[
--with-berkeley-db[=DIR]
Use BerkeleyDB located in DIR],
[bdb="$withval"],
[bdb=no])
AC_ARG_WITH([berkeley-db-includes],
[
--with-berkeley-db-includes=DIR
Find Berkeley DB headers in DIR],
[bdb_includes="$withval"],
[bdb_includes=default])
AC_ARG_WITH([berkeley-db-libs],
[
--with-berkeley-db-libs=DIR
Find Berkeley DB libraries in DIR],
[bdb_libs="$withval"],
[bdb_libs=default])
AC_MSG_CHECKING([for BerkeleyDB])
dnl SORT OUT THE SUPPLIED ARGUMENTS TO DETERMINE WHAT TO DO
dnl echo "DBG1: bdb='$bdb'; incl='$bdb_includes'; lib='$bdb_libs'"
have_berkeley_db=no
case "$bdb" in
no )
mode=no
AC_MSG_RESULT([no])
;;
yes | default )
case "$bdb_includes---$bdb_libs" in
default---default )
mode=search-$bdb
AC_MSG_RESULT([searching...])
;;
default---* | *---default | yes---* | *---yes )
AC_MSG_ERROR([if either 'includes' or 'libs' is specified, both must be specified])
;;
* )
mode=supplied-two
AC_MSG_RESULT([supplied])
;;
esac
;;
* )
mode=supplied-one
AC_MSG_RESULT([supplied])
;;
esac
dnl echo "DBG2: [$mode] bdb='$bdb'; incl='$bdb_includes'; lib='$bdb_libs'"
case $mode in
no )
bdb_includes=
bdb_libs=
bdb_libs_with_path=
;;
supplied-two )
MYSQL_CHECK_INSTALLED_BDB([$bdb_includes], [$bdb_libs])
case $bdb_dir_ok in
installed ) mode=yes ;;
* ) AC_MSG_ERROR([didn't find valid BerkeleyDB: $bdb_dir_ok]) ;;
esac
;;
supplied-one )
MYSQL_CHECK_BDB_DIR([$bdb])
case $bdb_dir_ok in
source ) mode=compile ;;
installed ) mode=yes ;;
* ) AC_MSG_ERROR([didn't find valid BerkeleyDB: $bdb_dir_ok]) ;;
esac
;;
search-* )
MYSQL_SEARCH_FOR_BDB
case $bdb_dir_ok in
source ) mode=compile ;;
installed ) mode=yes ;;
* )
# not found
case $mode in
*-yes ) AC_MSG_ERROR([no suitable BerkeleyDB found]) ;;
* ) mode=no ;;
esac
bdb_includes=
bdb_libs=
bdb_libs_with_path=
;;
esac
;;
*)
AC_MSG_ERROR([impossible case condition '$mode': please report this to bugs@lists.mysql.com])
;;
esac
dnl echo "DBG3: [$mode] bdb='$bdb'; incl='$bdb_includes'; lib='$bdb_libs'"
case $mode in
no )
AC_MSG_RESULT([Not using Berkeley DB])
;;
yes )
have_berkeley_db="yes"
AC_MSG_RESULT([Using Berkeley DB in '$bdb_includes'])
;;
compile )
have_berkeley_db="$bdb"
AC_MSG_RESULT([Compiling Berekeley DB in '$have_berkeley_db'])
;;
* )
AC_MSG_ERROR([impossible case condition '$mode': please report this to bugs@lists.mysql.com])
;;
esac
AC_SUBST(bdb_includes)
AC_SUBST(bdb_libs)
AC_SUBST(bdb_libs_with_path)
])
AC_DEFUN([MYSQL_CHECK_INSTALLED_BDB], [
dnl echo ["MYSQL_CHECK_INSTALLED_BDB ($1) ($2)"]
inc="$1"
lib="$2"
if test -f "$inc/db.h"
then
MYSQL_CHECK_BDB_VERSION([$inc/db.h],
[.*#define[ ]*], [[ ][ ]*])
if test X"$bdb_version_ok" = Xyes; then
save_LDFLAGS="$LDFLAGS"
LDFLAGS="-L$lib $LDFLAGS"
AC_CHECK_LIB(db,db_env_create, [
bdb_dir_ok=installed
MYSQL_TOP_BUILDDIR([inc])
MYSQL_TOP_BUILDDIR([lib])
bdb_includes="-I$inc"
bdb_libs="-L$lib -ldb"
bdb_libs_with_path="$lib/libdb.a"
])
LDFLAGS="$save_LDFLAGS"
else
bdb_dir_ok="$bdb_version_ok"
fi
else
bdb_dir_ok="no db.h file in '$inc'"
fi
])
AC_DEFUN([MYSQL_CHECK_BDB_DIR], [
dnl ([$bdb])
dnl echo ["MYSQL_CHECK_BDB_DIR ($1)"]
dir="$1"
MYSQL_CHECK_INSTALLED_BDB([$dir/include], [$dir/lib])
if test X"$bdb_dir_ok" != Xinstalled; then
# test to see if it's a source dir
rel="$dir/dist/RELEASE"
if test -f "$rel"; then
MYSQL_CHECK_BDB_VERSION([$rel], [], [=])
if test X"$bdb_version_ok" = Xyes; then
bdb_dir_ok=source
bdb="$dir"
MYSQL_TOP_BUILDDIR([dir])
bdb_includes="-I$dir/build_unix"
bdb_libs="-L$dir/build_unix -ldb"
bdb_libs_with_path="$dir/build_unix/libdb.a"
else
bdb_dir_ok="$bdb_version_ok"
fi
else
bdb_dir_ok="'$dir' doesn't look like a BDB directory ($bdb_dir_ok)"
fi
fi
])
AC_DEFUN([MYSQL_SEARCH_FOR_BDB], [
dnl echo ["MYSQL_SEARCH_FOR_BDB"]
bdb_dir_ok="no BerkeleyDB found"
for test_dir in $srcdir/bdb $srcdir/db-*.*.* /usr/local/BerkeleyDB*; do
dnl echo "-----------> Looking at ($test_dir; `cd $test_dir && pwd`)"
MYSQL_CHECK_BDB_DIR([$test_dir])
if test X"$bdb_dir_ok" = Xsource || test X"$bdb_dir_ok" = Xinstalled; then
dnl echo "-----------> Found it ($bdb), ($srcdir)"
dnl This is needed so that 'make distcheck' works properly (VPATH build).
dnl VPATH build won't work if bdb is not under the source tree; but in
dnl that case, hopefully people will just make and install inside the
dnl tree, or install BDB first, and then use the installed version.
case "$bdb" in
"$srcdir/"* ) bdb=`echo "$bdb" | sed -e "s,^$srcdir/,,"` ;;
esac
break
fi
done
])
dnl MYSQL_CHECK_BDB_VERSION takes 3 arguments:
dnl 1) the file to look in
dnl 2) the search pattern before DB_VERSION_XXX
dnl 3) the search pattern between DB_VERSION_XXX and the number
dnl It assumes that the number is the last thing on the line
AC_DEFUN([MYSQL_CHECK_BDB_VERSION], [
db_major=`sed -e '/^[$2]DB_VERSION_MAJOR[$3]/ !d' -e 's///' [$1]`
db_minor=`sed -e '/^[$2]DB_VERSION_MINOR[$3]/ !d' -e 's///' [$1]`
db_patch=`sed -e '/^[$2]DB_VERSION_PATCH[$3]/ !d' -e 's///' [$1]`
test -z "$db_major" && db_major=0
test -z "$db_minor" && db_minor=0
test -z "$db_patch" && db_patch=0
# This is ugly, but about as good as it can get
# mysql_bdb=
# if test $db_major -eq 3 && test $db_minor -eq 2 && test $db_patch -eq 3
# then
# mysql_bdb=h
# elif test $db_major -eq 3 && test $db_minor -eq 2 && test $db_patch -eq 9
# then
# want_bdb_version="3.2.9a" # hopefully this will stay up-to-date
# mysql_bdb=a
# fi
dnl RAM:
want_bdb_version="4.1.24"
bdb_version_ok=yes
# if test -n "$mysql_bdb" && \
# grep "DB_VERSION_STRING.*:.*$mysql_bdb: " [$1] > /dev/null
# then
# bdb_version_ok=yes
# else
# bdb_version_ok="invalid version $db_major.$db_minor.$db_patch"
# bdb_version_ok="$bdb_version_ok (must be version 3.2.3h or $want_bdb_version)"
# fi
])
AC_DEFUN([MYSQL_TOP_BUILDDIR], [
case "$[$1]" in
/* ) ;; # don't do anything with an absolute path
"$srcdir"/* )
# If BDB is under the source directory, we need to look under the
# build directory for bdb/build_unix.
# NOTE: I'm being lazy, and assuming the user did not specify
# something like --with-berkeley-db=bdb (it would be missing "./").
[$1]="\$(top_builddir)/"`echo "$[$1]" | sed -e "s,^$srcdir/,,"`
;;
* )
AC_MSG_ERROR([The BDB directory must be directly under the MySQL source directory, or be specified using the full path. ('$srcdir'; '$[$1]')])
;;
esac
if test X"$[$1]" != "/"
then
[$1]=`echo $[$1] | sed -e 's,/$,,'`
fi
])
dnl ---------------------------------------------------------------------------
dnl END OF MYSQL_CHECK_BDB SECTION
dnl ---------------------------------------------------------------------------
dnl ---------------------------------------------------------------------------
dnl Macro: MYSQL_CHECK_INNODB
dnl Sets HAVE_INNOBASE_DB if --with-innodb is used
dnl ---------------------------------------------------------------------------
AC_DEFUN([MYSQL_CHECK_INNODB], [
AC_ARG_WITH([innodb],
[
--without-innodb Do not include the InnoDB table handler],
[innodb="$withval"],
[innodb=yes])
AC_MSG_CHECKING([for Innodb])
have_innodb=no
innodb_includes=
innodb_libs=
case "$innodb" in
yes )
AC_MSG_RESULT([Using Innodb])
AC_DEFINE(HAVE_INNOBASE_DB)
have_innodb="yes"
innodb_includes="-I../innobase/include"
innodb_system_libs=""
dnl Some libs are listed several times, in order for gcc to sort out
dnl circular references.
innodb_libs="\
\$(top_builddir)/innobase/usr/libusr.a\
\$(top_builddir)/innobase/srv/libsrv.a\
\$(top_builddir)/innobase/dict/libdict.a\
\$(top_builddir)/innobase/que/libque.a\
\$(top_builddir)/innobase/srv/libsrv.a\
\$(top_builddir)/innobase/ibuf/libibuf.a\
\$(top_builddir)/innobase/row/librow.a\
\$(top_builddir)/innobase/pars/libpars.a\
\$(top_builddir)/innobase/btr/libbtr.a\
\$(top_builddir)/innobase/trx/libtrx.a\
\$(top_builddir)/innobase/read/libread.a\
\$(top_builddir)/innobase/usr/libusr.a\
\$(top_builddir)/innobase/buf/libbuf.a\
\$(top_builddir)/innobase/ibuf/libibuf.a\
\$(top_builddir)/innobase/eval/libeval.a\
\$(top_builddir)/innobase/log/liblog.a\
\$(top_builddir)/innobase/fsp/libfsp.a\
\$(top_builddir)/innobase/fut/libfut.a\
\$(top_builddir)/innobase/fil/libfil.a\
\$(top_builddir)/innobase/lock/liblock.a\
\$(top_builddir)/innobase/mtr/libmtr.a\
\$(top_builddir)/innobase/page/libpage.a\
\$(top_builddir)/innobase/rem/librem.a\
\$(top_builddir)/innobase/thr/libthr.a\
\$(top_builddir)/innobase/sync/libsync.a\
\$(top_builddir)/innobase/data/libdata.a\
\$(top_builddir)/innobase/mach/libmach.a\
\$(top_builddir)/innobase/ha/libha.a\
\$(top_builddir)/innobase/dyn/libdyn.a\
\$(top_builddir)/innobase/mem/libmem.a\
\$(top_builddir)/innobase/sync/libsync.a\
\$(top_builddir)/innobase/ut/libut.a\
\$(top_builddir)/innobase/os/libos.a\
\$(top_builddir)/innobase/ut/libut.a"
AC_CHECK_LIB(rt, aio_read, [innodb_system_libs="-lrt"])
;;
* )
AC_MSG_RESULT([Not using Innodb])
;;
esac
AC_SUBST(innodb_includes)
AC_SUBST(innodb_libs)
AC_SUBST(innodb_system_libs)
])
dnl ---------------------------------------------------------------------------
dnl END OF MYSQL_CHECK_INNODB SECTION
dnl ---------------------------------------------------------------------------
dnl ---------------------------------------------------------------------------
dnl Macro: MYSQL_CHECK_NDBCLUSTER
dnl Sets HAVE_NDBCLUSTER_DB if --with-ndbcluster is used
dnl ---------------------------------------------------------------------------
AC_DEFUN([MYSQL_CHECK_NDBCLUSTER], [
AC_ARG_WITH([ndbcluster],
[
--without-ndbcluster Do not include the Ndb Cluster table handler],
[ndbcluster="$withval"],
[ndbcluster=yes])
AC_MSG_CHECKING([for Ndb Cluster])
have_ndbcluster=no
ndbcluster_includes=
ndbcluster_libs=
case "$ndbcluster" in
yes )
AC_MSG_RESULT([Using Ndb Cluster])
AC_DEFINE(HAVE_NDBCLUSTER_DB)
have_ndbcluster="yes"
ndbcluster_includes="-I../ndb/include -I../ndb/include/ndbapi"
ndbcluster_libs="\$(top_builddir)/ndb/lib/libNDB_API.a"
ndbcluster_system_libs=""
esac
AC_SUBST(ndbcluster_includes)
AC_SUBST(ndbcluster_libs)
AC_SUBST(ndbcluster_system_libs)
])
dnl ---------------------------------------------------------------------------
dnl END OF MYSQL_CHECK_NDBCLUSTER SECTION
dnl ---------------------------------------------------------------------------
dnl By default, many hosts won't let programs access large files;
dnl one must use special compiler options to get large-file access to work.
dnl For more details about this brain damage please see:
dnl http://www.sas.com/standards/large.file/x_open.20Mar96.html
dnl Written by Paul Eggert <eggert@twinsun.com>.
dnl Internal subroutine of AC_SYS_LARGEFILE.
dnl AC_SYS_LARGEFILE_FLAGS(FLAGSNAME)
AC_DEFUN(AC_SYS_LARGEFILE_FLAGS,
[AC_CACHE_CHECK([for $1 value to request large file support],
ac_cv_sys_largefile_$1,
[if ($GETCONF LFS_$1) >conftest.1 2>conftest.2 && test ! -s conftest.2
then
ac_cv_sys_largefile_$1=`cat conftest.1`
else
ac_cv_sys_largefile_$1=no
ifelse($1, CFLAGS,
[case "$host_os" in
# HP-UX 10.20 requires -D__STDC_EXT__ with gcc 2.95.1.
changequote(, )dnl
hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)
changequote([, ])dnl
if test "$GCC" = yes; then
case `$CC --version 2>/dev/null` in
2.95.*) ac_cv_sys_largefile_CFLAGS=-D__STDC_EXT__ ;;
esac
fi
;;
# IRIX 6.2 and later require cc -n32.
changequote(, )dnl
irix6.[2-9]* | irix6.1[0-9]* | irix[7-9].* | irix[1-9][0-9]*)
changequote([, ])dnl
if test "$GCC" != yes; then
ac_cv_sys_largefile_CFLAGS=-n32
fi
esac
if test "$ac_cv_sys_largefile_CFLAGS" != no; then
ac_save_CC="$CC"
CC="$CC $ac_cv_sys_largefile_CFLAGS"
AC_TRY_LINK(, , , ac_cv_sys_largefile_CFLAGS=no)
CC="$ac_save_CC"
fi])
fi
rm -f conftest*])])
dnl Internal subroutine of AC_SYS_LARGEFILE.
dnl AC_SYS_LARGEFILE_SPACE_APPEND(VAR, VAL)
AC_DEFUN(AC_SYS_LARGEFILE_SPACE_APPEND,
[case $2 in
no) ;;
?*)
case "[$]$1" in
'') $1=$2 ;;
*) $1=[$]$1' '$2 ;;
esac ;;
esac])
dnl Internal subroutine of AC_SYS_LARGEFILE.
dnl AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, CACHE-VAR, COMMENT, CODE-TO-SET-DEFAULT)
AC_DEFUN(AC_SYS_LARGEFILE_MACRO_VALUE,
[AC_CACHE_CHECK([for $1], $2,
[$2=no
changequote(, )dnl
for ac_flag in $ac_cv_sys_largefile_CFLAGS no; do
case "$ac_flag" in
-D$1)
$2=1 ;;
-D$1=*)
$2=`expr " $ac_flag" : '[^=]*=\(.*\)'` ;;
esac
done
$4
changequote([, ])dnl
])
if test "[$]$2" != no; then
AC_DEFINE_UNQUOTED([$1], [$]$2, [$3])
fi])
AC_DEFUN(MYSQL_SYS_LARGEFILE,
[AC_REQUIRE([AC_CANONICAL_HOST])
AC_ARG_ENABLE(largefile,
[ --disable-largefile Omit support for large files])
if test "$enable_largefile" != no; then
AC_CHECK_TOOL(GETCONF, getconf)
AC_SYS_LARGEFILE_FLAGS(CFLAGS)
AC_SYS_LARGEFILE_FLAGS(LDFLAGS)
AC_SYS_LARGEFILE_FLAGS(LIBS)
for ac_flag in $ac_cv_sys_largefile_CFLAGS no; do
case "$ac_flag" in
no) ;;
-D_FILE_OFFSET_BITS=*) ;;
-D_LARGEFILE_SOURCE | -D_LARGEFILE_SOURCE=*) ;;
-D_LARGE_FILES | -D_LARGE_FILES=*) ;;
-D?* | -I?*)
AC_SYS_LARGEFILE_SPACE_APPEND(CPPFLAGS, "$ac_flag") ;;
*)
AC_SYS_LARGEFILE_SPACE_APPEND(CFLAGS, "$ac_flag") ;;
esac
done
AC_SYS_LARGEFILE_SPACE_APPEND(LDFLAGS, "$ac_cv_sys_largefile_LDFLAGS")
AC_SYS_LARGEFILE_SPACE_APPEND(LIBS, "$ac_cv_sys_largefile_LIBS")
AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS,
ac_cv_sys_file_offset_bits,
[Number of bits in a file offset, on hosts where this is settable.],
[case "$host_os" in
# HP-UX 10.20 and later
hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)
ac_cv_sys_file_offset_bits=64 ;;
# We can't declare _FILE_OFFSET_BITS here as this will cause
# compile errors as AC_PROG_CC adds include files in confdefs.h
# We solve this (until autoconf is fixed) by instead declaring it
# as define instead
solaris2.[8,9])
CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64"
CXXFLAGS="$CXXFLAGS -D_FILE_OFFSET_BITS=64"
ac_cv_sys_file_offset_bits=no ;;
esac])
AC_SYS_LARGEFILE_MACRO_VALUE(_LARGEFILE_SOURCE,
ac_cv_sys_largefile_source,
[Define to make fseeko etc. visible, on some hosts.],
[case "$host_os" in
# HP-UX 10.20 and later
hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)
ac_cv_sys_largefile_source=1 ;;
esac])
AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES,
ac_cv_sys_large_files,
[Define for large files, on AIX-style hosts.],
[case "$host_os" in
# AIX 4.2 and later
aix4.[2-9]* | aix4.1[0-9]* | aix[5-9].* | aix[1-9][0-9]*)
ac_cv_sys_large_files=1 ;;
esac])
fi
])
# Local version of _AC_PROG_CXX_EXIT_DECLARATION that does not
# include #stdlib.h as default as this breaks things on Solaris
# (Conflicts with pthreads and big file handling)
m4_define([_AC_PROG_CXX_EXIT_DECLARATION],
[for ac_declaration in \
''\
'extern "C" void std::exit (int) throw (); using std::exit;' \
'extern "C" void std::exit (int); using std::exit;' \
'extern "C" void exit (int) throw ();' \
'extern "C" void exit (int);' \
'void exit (int);' \
'#include <stdlib.h>'
do
_AC_COMPILE_IFELSE([AC_LANG_PROGRAM([@%:@include <stdlib.h>
$ac_declaration],
[exit (42);])],
[],
[continue])
_AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$ac_declaration],
[exit (42);])],
[break])
done
rm -f conftest*
if test -n "$ac_declaration"; then
echo '#ifdef __cplusplus' >>confdefs.h
echo $ac_declaration >>confdefs.h
echo '#endif' >>confdefs.h
fi
])# _AC_PROG_CXX_EXIT_DECLARATION
dnl ---------------------------------------------------------------------------
ndb/config/old_files/config.h.in
deleted
100644 → 0
View file @
5a8303a3
/* config.h.in. Generated from configure.in by autoheader. */
/* acconfig.h
This file is in the public domain.
Descriptive text for the C preprocessor macros that
the distributed Autoconf macros can define.
No software package will use all of them; autoheader copies the ones
your configure.in uses into your configuration header file templates.
The entries are in sort -df order: alphabetical, case insensitive,
ignoring punctuation (such as underscores). Although this order
can split up related entries, it makes it easier to check whether
a given entry is in the file.
Leave the following blank line there!! Autoheader needs it. */
#undef C_ALLOCA
#undef CRAY_STACKSEG_END
/* Define the default charset name */
#undef MYSQL_DEFAULT_CHARSET_NAME
/* Define the default charset name */
#undef MYSQL_DEFAULT_COLLATION_NAME
/* Version of .frm files */
#undef DOT_FRM_VERSION
/* If LOAD DATA LOCAL INFILE should be enabled by default */
#undef ENABLED_LOCAL_INFILE
/* READLINE: */
#undef FIONREAD_IN_SYS_IOCTL
/* READLINE: Define if your system defines TIOCGWINSZ in sys/ioctl.h. */
#undef GWINSZ_IN_SYS_IOCTL
/* Handing of large files on Solaris 2.6 */
#undef _FILE_OFFSET_BITS
/* Do we have FIONREAD */
#undef FIONREAD_IN_SYS_IOCTL
/* Do we need to define _GNU_SOURCE */
#undef _GNU_SOURCE
/* atomic_add() from <asm/atomic.h> (Linux only) */
#undef HAVE_ATOMIC_ADD
/* atomic_sub() from <asm/atomic.h> (Linux only) */
#undef HAVE_ATOMIC_SUB
/* If we have a working alloca() implementation */
#undef HAVE_ALLOCA
/* bool is not defined by all C++ compilators */
#undef HAVE_BOOL
/* Have berkeley db installed */
#undef HAVE_BERKELEY_DB
/* DSB style signals ? */
#undef HAVE_BSD_SIGNALS
/* Can netinet be included */
#undef HAVE_BROKEN_NETINET_INCLUDES
/* READLINE: */
#undef HAVE_BSD_SIGNALS
/* Define charsets you want */
#undef HAVE_CHARSET_armscii8
#undef HAVE_CHARSET_ascii
#undef HAVE_CHARSET_big5
#undef HAVE_CHARSET_cp1250
#undef HAVE_CHARSET_cp1251
#undef HAVE_CHARSET_cp1256
#undef HAVE_CHARSET_cp1257
#undef HAVE_CHARSET_cp850
#undef HAVE_CHARSET_cp852
#undef HAVE_CHARSET_cp866
#undef HAVE_CHARSET_dec8
#undef HAVE_CHARSET_euckr
#undef HAVE_CHARSET_gb2312
#undef HAVE_CHARSET_gbk
#undef HAVE_CHARSET_greek
#undef HAVE_CHARSET_hebrew
#undef HAVE_CHARSET_hp8
#undef HAVE_CHARSET_keybcs2
#undef HAVE_CHARSET_koi8r
#undef HAVE_CHARSET_koi8u
#undef HAVE_CHARSET_latin1
#undef HAVE_CHARSET_latin2
#undef HAVE_CHARSET_latin5
#undef HAVE_CHARSET_latin7
#undef HAVE_CHARSET_macce
#undef HAVE_CHARSET_macroman
#undef HAVE_CHARSET_sjis
#undef HAVE_CHARSET_swe7
#undef HAVE_CHARSET_tis620
#undef HAVE_CHARSET_ucs2
#undef HAVE_CHARSET_ujis
#undef HAVE_CHARSET_utf8
/* ZLIB and compress: */
#undef HAVE_COMPRESS
/* Define if we are using OSF1 DEC threads */
#undef HAVE_DEC_THREADS
/* Define if we are using OSF1 DEC threads on 3.2 */
#undef HAVE_DEC_3_2_THREADS
/* fp_except from ieeefp.h */
#undef HAVE_FP_EXCEPT
/* READLINE: */
#undef HAVE_GETPW_DECLS
/* Solaris define gethostbyname_r with 5 arguments. glibc2 defines
this with 6 arguments */
#undef HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE
/* In OSF 4.0f the 3'd argument to gethostname_r is hostent_data * */
#undef HAVE_GETHOSTBYNAME_R_RETURN_INT
/* Define if int8, int16 and int32 types exist */
#undef HAVE_INT_8_16_32
/* Using Innobase DB */
#undef HAVE_INNOBASE_DB
/* Using old ISAM tables */
#undef HAVE_ISAM
/* Define if we have GNU readline */
#undef HAVE_LIBREADLINE
/* Define if have -lwrap */
#undef HAVE_LIBWRAP
/* Define if we are using Xavier Leroy's LinuxThreads */
#undef HAVE_LINUXTHREADS
/* Do we have lstat */
#undef HAVE_LSTAT
/* Do we use user level threads */
#undef HAVE_mit_thread
/* Using Ndb Cluster DB */
#undef HAVE_NDBCLUSTER_DB
/* For some non posix threads */
#undef HAVE_NONPOSIX_PTHREAD_GETSPECIFIC
/* For some non posix threads */
#undef HAVE_NONPOSIX_PTHREAD_MUTEX_INIT
/* READLINE: */
#undef HAVE_POSIX_SIGNALS
/* Well.. */
#undef HAVE_POSIX_SIGSETJMP
/* sigwait with one argument */
#undef HAVE_NONPOSIX_SIGWAIT
/* ORBIT */
#undef HAVE_ORBIT
/* pthread_attr_setscope */
#undef HAVE_PTHREAD_ATTR_SETSCOPE
/* pthread_yield that doesn't take any arguments */
#undef HAVE_PTHREAD_YIELD_ZERO_ARG
/* pthread_yield function with one argument */
#undef HAVE_PTHREAD_YIELD_ONE_ARG
/* POSIX readdir_r */
#undef HAVE_READDIR_R
/* Have Gemini db installed */
#undef HAVE_GEMINI_DB
/* POSIX sigwait */
#undef HAVE_SIGWAIT
/* crypt */
#undef HAVE_CRYPT
/* If we want to have query cache */
#undef HAVE_QUERY_CACHE
/* Solaris define gethostbyaddr_r with 7 arguments. glibc2 defines
this with 8 arguments */
#undef HAVE_SOLARIS_STYLE_GETHOST
/* MIT pthreads does not support connecting with unix sockets */
#undef HAVE_THREADS_WITHOUT_SOCKETS
/* Timespec has a ts_sec instead of tv_sev */
#undef HAVE_TIMESPEC_TS_SEC
/* Have the tzname variable */
#undef HAVE_TZNAME
/* Define if the system files define uchar */
#undef HAVE_UCHAR
/* Define if the system files define uint */
#undef HAVE_UINT
/* Define if the system files define ulong */
#undef HAVE_ULONG
/* Define if the system files define in_addr_t */
#undef HAVE_IN_ADDR_T
/* UNIXWARE7 threads are not posix */
#undef HAVE_UNIXWARE7_THREADS
/* new UNIXWARE7 threads that are not yet posix */
#undef HAVE_UNIXWARE7_POSIX
/* OpenSSL */
#undef HAVE_OPENSSL
/* READLINE: */
#undef HAVE_USG_SIGHOLD
/* Virtual IO */
#undef HAVE_VIO
/* Handling of large files on Solaris 2.6 */
#undef _LARGEFILE_SOURCE
/* Handling of large files on Solaris 2.6 */
#undef _LARGEFILE64_SOURCE
/* Define if want -lwrap */
#undef LIBWRAP
/* Define to machine type name eg sun10 */
#undef MACHINE_TYPE
#undef MUST_REINSTALL_SIGHANDLERS
/* Defined to used character set */
#undef MY_CHARSET_CURRENT
/* READLINE: no sys file*/
#undef NO_SYS_FILE
/* Program name */
#undef PACKAGE
/* mysql client protocoll version */
#undef PROTOCOL_VERSION
/* Define if qsort returns void */
#undef QSORT_TYPE_IS_VOID
/* Define as the return type of qsort (int or void). */
#undef RETQSORTTYPE
/* Size of off_t */
#undef SIZEOF_OFF_T
/* Define as the base type of the last arg to accept */
#undef SOCKET_SIZE_TYPE
/* Last argument to get/setsockopt */
#undef SOCKOPT_OPTLEN_TYPE
#undef SPEED_T_IN_SYS_TYPES
#undef SPRINTF_RETURNS_PTR
#undef SPRINTF_RETURNS_INT
#undef SPRINTF_RETURNS_GARBAGE
/* Needed to get large file support on HPUX 10.20 */
#undef __STDC_EXT__
#undef STACK_DIRECTION
#undef STRCOLL_BROKEN
#undef STRUCT_DIRENT_HAS_D_FILENO
#undef STRUCT_DIRENT_HAS_D_INO
#undef STRUCT_WINSIZE_IN_SYS_IOCTL
#undef STRUCT_WINSIZE_IN_TERMIOS
/* Define to name of system eg solaris*/
#undef SYSTEM_TYPE
/* Define if you want to have threaded code. This may be undef on client code */
#undef THREAD
/* Should be client be thread safe */
#undef THREAD_SAFE_CLIENT
/* READLINE: */
#undef TIOCSTAT_IN_SYS_IOCTL
/* Use multi-byte character routines */
#undef USE_MB
#undef USE_MB_IDENT
/* the pstack backtrace library */
#undef USE_PSTACK
/* Use MySQL RAID */
#undef USE_RAID
/* Program version */
#undef VERSION
/* READLINE: */
#undef VOID_SIGHANDLER
/* used libedit interface (can we dereference result of rl_completion_entry_function?) */
#undef USE_LIBEDIT_INTERFACE
/* used new readline interface (does rl_completion_func_t and rl_compentry_func_t defined?) */
#undef USE_NEW_READLINE_INTERFACE
/* macro for libedit */
#undef HAVE_VIS_H
#undef HAVE_FGETLN
#undef HAVE_ISSETUGID
#undef HAVE_STRLCPY
#undef HAVE_GETLINE
#undef HAVE_FLOCKFILE
#undef HAVE_SYS_TYPES_H
#undef HAVE_SYS_CDEFS_H
/* Leave that blank line there!! Autoheader needs it.
If you're adding to this file, keep in mind:
The entries are in sort -df order: alphabetical, case insensitive,
ignoring punctuation (such as underscores). */
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems.
*/
#undef CRAY_STACKSEG_END
/* Define to 1 if using `alloca.c'. */
#undef C_ALLOCA
/* Define to 1 if you have the `alarm' function. */
#undef HAVE_ALARM
/* Define to 1 if you have `alloca', as a function or macro. */
#undef HAVE_ALLOCA
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#undef HAVE_ALLOCA_H
/* Define to 1 if you have the <arpa/inet.h> header file. */
#undef HAVE_ARPA_INET_H
/* Define to 1 if you have the <asm/termbits.h> header file. */
#undef HAVE_ASM_TERMBITS_H
/* Define to 1 if you have the `bcmp' function. */
#undef HAVE_BCMP
/* Define to 1 if you have the `bfill' function. */
#undef HAVE_BFILL
/* Define to 1 if you have the `bmove' function. */
#undef HAVE_BMOVE
/* Define to 1 if you have the `bzero' function. */
#undef HAVE_BZERO
/* Define to 1 if you have the `chsize' function. */
#undef HAVE_CHSIZE
/* Define to 1 if you have the `clock_gettime' function. */
#undef HAVE_CLOCK_GETTIME
/* Define to 1 if you have the <crypt.h> header file. */
#undef HAVE_CRYPT_H
/* Define to 1 if you have the <curses.h> header file. */
#undef HAVE_CURSES_H
/* Define to 1 if you have the `cuserid' function. */
#undef HAVE_CUSERID
/* Define to 1 if you have the <dirent.h> header file. */
#undef HAVE_DIRENT_H
/* Define to 1 if you have the `dlerror' function. */
#undef HAVE_DLERROR
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you have the `dlopen' function. */
#undef HAVE_DLOPEN
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
#undef HAVE_DOPRNT
/* Define to 1 if you have the `fchmod' function. */
#undef HAVE_FCHMOD
/* Define to 1 if you have the `fcntl' function. */
#undef HAVE_FCNTL
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* Define to 1 if you have the `fconvert' function. */
#undef HAVE_FCONVERT
/* Define to 1 if you have the `fdatasync' function. */
#undef HAVE_FDATASYNC
/* Define to 1 if you have the `fgetln' function. */
#undef HAVE_FGETLN
/* Define to 1 if you have the `finite' function. */
#undef HAVE_FINITE
/* Define to 1 if you have the <floatingpoint.h> header file. */
#undef HAVE_FLOATINGPOINT_H
/* Define to 1 if you have the <float.h> header file. */
#undef HAVE_FLOAT_H
/* Define to 1 if you have the `flockfile' function. */
#undef HAVE_FLOCKFILE
/* Define to 1 if you have the `fpresetsticky' function. */
#undef HAVE_FPRESETSTICKY
/* Define to 1 if you have the `fpsetmask' function. */
#undef HAVE_FPSETMASK
/* Define to 1 if you have the `fsync' function. */
#undef HAVE_FSYNC
/* Define to 1 if you have the `ftruncate' function. */
#undef HAVE_FTRUNCATE
/* Define to 1 if you have the `getcwd' function. */
#undef HAVE_GETCWD
/* Define to 1 if you have the `gethostbyaddr_r' function. */
#undef HAVE_GETHOSTBYADDR_R
/* Define to 1 if you have the `gethostbyname_r' function. */
#undef HAVE_GETHOSTBYNAME_R
/* Define to 1 if you have the `getline' function. */
#undef HAVE_GETLINE
/* Define to 1 if you have the `getpagesize' function. */
#undef HAVE_GETPAGESIZE
/* Define to 1 if you have the `getpass' function. */
#undef HAVE_GETPASS
/* Define to 1 if you have the `getpassphrase' function. */
#undef HAVE_GETPASSPHRASE
/* Define to 1 if you have the `getpwnam' function. */
#undef HAVE_GETPWNAM
/* Define to 1 if you have the `getpwuid' function. */
#undef HAVE_GETPWUID
/* Define to 1 if you have the `getrlimit' function. */
#undef HAVE_GETRLIMIT
/* Define to 1 if you have the `getrusage' function. */
#undef HAVE_GETRUSAGE
/* Define to 1 if you have the `getwd' function. */
#undef HAVE_GETWD
/* Define to 1 if you have the `gmtime_r' function. */
#undef HAVE_GMTIME_R
/* Define to 1 if you have the <grp.h> header file. */
#undef HAVE_GRP_H
/* Define to 1 if you have the <ieeefp.h> header file. */
#undef HAVE_IEEEFP_H
/* Define to 1 if you have the `index' function. */
#undef HAVE_INDEX
/* Define to 1 if you have the `initgroups' function. */
#undef HAVE_INITGROUPS
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* isinf() macro or function */
#undef HAVE_ISINF
/* Define to 1 if you have the `isnan' function. */
#undef HAVE_ISNAN
/* Define to 1 if you have the `issetugid' function. */
#undef HAVE_ISSETUGID
/* Define to 1 if you have the `bind' library (-lbind). */
#undef HAVE_LIBBIND
/* Define to 1 if you have the `compat' library (-lcompat). */
#undef HAVE_LIBCOMPAT
/* Define to 1 if you have the `crypt' library (-lcrypt). */
#undef HAVE_LIBCRYPT
/* Define to 1 if you have the `c_r' library (-lc_r). */
#undef HAVE_LIBC_R
/* Define to 1 if you have the `dl' library (-ldl). */
#undef HAVE_LIBDL
/* Define to 1 if you have the `gen' library (-lgen). */
#undef HAVE_LIBGEN
/* Define to 1 if you have the `m' library (-lm). */
#undef HAVE_LIBM
/* Define to 1 if you have the `nsl' library (-lnsl). */
#undef HAVE_LIBNSL
/* Define to 1 if you have the `nsl_r' library (-lnsl_r). */
#undef HAVE_LIBNSL_R
/* Define to 1 if you have the `posix4' library (-lposix4). */
#undef HAVE_LIBPOSIX4
/* Define to 1 if you have the `pthread' library (-lpthread). */
#undef HAVE_LIBPTHREAD
/* Define to 1 if you have the `socket' library (-lsocket). */
#undef HAVE_LIBSOCKET
/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
/* Define to 1 if you have the <linux/config.h> header file. */
#undef HAVE_LINUX_CONFIG_H
/* Define to 1 if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
/* Define to 1 if you have the `localtime_r' function. */
#undef HAVE_LOCALTIME_R
/* Define to 1 if you have the `locking' function. */
#undef HAVE_LOCKING
/* Define to 1 if you have the `longjmp' function. */
#undef HAVE_LONGJMP
/* Define to 1 if you have the `lrand48' function. */
#undef HAVE_LRAND48
/* Define to 1 if you have the `lstat' function. */
#undef HAVE_LSTAT
/* Define to 1 if you have the `madvise' function. */
#undef HAVE_MADVISE
/* Define to 1 if you have the `mallinfo' function. */
#undef HAVE_MALLINFO
/* Define to 1 if you have the <malloc.h> header file. */
#undef HAVE_MALLOC_H
/* Define to 1 if you have the `memcpy' function. */
#undef HAVE_MEMCPY
/* Define to 1 if you have the `memmove' function. */
#undef HAVE_MEMMOVE
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the `mkstemp' function. */
#undef HAVE_MKSTEMP
/* Define to 1 if you have the `mlockall' function. */
#undef HAVE_MLOCKALL
/* Define to 1 if you have a working `mmap' system call. */
#undef HAVE_MMAP
/* Define to 1 if you have the <ndir.h> header file. */
#undef HAVE_NDIR_H
/* Define to 1 if you have the <netinet/in.h> header file. */
#undef HAVE_NETINET_IN_H
/* Define to 1 if you have the <paths.h> header file. */
#undef HAVE_PATHS_H
/* Define to 1 if you have the `perror' function. */
#undef HAVE_PERROR
/* Define to 1 if you have the `poll' function. */
#undef HAVE_POLL
/* Define to 1 if you have the `pread' function. */
#undef HAVE_PREAD
/* Define to 1 if you have the `pthread_attr_create' function. */
#undef HAVE_PTHREAD_ATTR_CREATE
/* Define to 1 if you have the `pthread_attr_getstacksize' function. */
#undef HAVE_PTHREAD_ATTR_GETSTACKSIZE
/* Define to 1 if you have the `pthread_attr_setprio' function. */
#undef HAVE_PTHREAD_ATTR_SETPRIO
/* Define to 1 if you have the `pthread_attr_setschedparam' function. */
#undef HAVE_PTHREAD_ATTR_SETSCHEDPARAM
/* Define to 1 if you have the `pthread_attr_setstacksize' function. */
#undef HAVE_PTHREAD_ATTR_SETSTACKSIZE
/* Define to 1 if you have the `pthread_condattr_create' function. */
#undef HAVE_PTHREAD_CONDATTR_CREATE
/* Define to 1 if you have the `pthread_getsequence_np' function. */
#undef HAVE_PTHREAD_GETSEQUENCE_NP
/* Define to 1 if you have the `pthread_init' function. */
#undef HAVE_PTHREAD_INIT
/* Define to 1 if you have the `pthread_key_delete' function. */
#undef HAVE_PTHREAD_KEY_DELETE
/* Define to 1 if you have the `pthread_rwlock_rdlock' function. */
#undef HAVE_PTHREAD_RWLOCK_RDLOCK
/* Define to 1 if you have the `pthread_setprio' function. */
#undef HAVE_PTHREAD_SETPRIO
/* Define to 1 if you have the `pthread_setprio_np' function. */
#undef HAVE_PTHREAD_SETPRIO_NP
/* Define to 1 if you have the `pthread_setschedparam' function. */
#undef HAVE_PTHREAD_SETSCHEDPARAM
/* Define to 1 if you have the `pthread_sigmask' function. */
#undef HAVE_PTHREAD_SIGMASK
/* Define to 1 if you have the `putenv' function. */
#undef HAVE_PUTENV
/* Define to 1 if you have the <pwd.h> header file. */
#undef HAVE_PWD_H
/* Define to 1 if you have the `readlink' function. */
#undef HAVE_READLINK
/* Define to 1 if you have the `realpath' function. */
#undef HAVE_REALPATH
/* Define to 1 if you have the `regcomp' function. */
#undef HAVE_REGCOMP
/* Define to 1 if you have the `rename' function. */
#undef HAVE_RENAME
/* Define to 1 if system calls automatically restart after interruption by a
signal. */
#undef HAVE_RESTARTABLE_SYSCALLS
/* Define to 1 if you have the `re_comp' function. */
#undef HAVE_RE_COMP
/* Define to 1 if you have the `rint' function. */
#undef HAVE_RINT
/* Define to 1 if you have the `rwlock_init' function. */
#undef HAVE_RWLOCK_INIT
/* Define to 1 if you have the <sched.h> header file. */
#undef HAVE_SCHED_H
/* Define to 1 if you have the `select' function. */
#undef HAVE_SELECT
/* Define to 1 if you have the <select.h> header file. */
#undef HAVE_SELECT_H
/* Define to 1 if you have the <semaphore.h> header file. */
#undef HAVE_SEMAPHORE_H
/* Define to 1 if you have the `setenv' function. */
#undef HAVE_SETENV
/* Define to 1 if you have the `setlocale' function. */
#undef HAVE_SETLOCALE
/* Define to 1 if you have the `setupterm' function. */
#undef HAVE_SETUPTERM
/* Define to 1 if you have the `sighold' function. */
#undef HAVE_SIGHOLD
/* Define to 1 if you have the `sigset' function. */
#undef HAVE_SIGSET
/* Define to 1 if you have the `sigthreadmask' function. */
#undef HAVE_SIGTHREADMASK
/* Define to 1 if you have the `snprintf' function. */
#undef HAVE_SNPRINTF
/* Define to 1 if you have the `socket' function. */
#undef HAVE_SOCKET
/* Define to 1 if you have the <stdarg.h> header file. */
#undef HAVE_STDARG_H
/* Define to 1 if you have the <stddef.h> header file. */
#undef HAVE_STDDEF_H
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the `stpcpy' function. */
#undef HAVE_STPCPY
/* Define to 1 if you have the `strcasecmp' function. */
#undef HAVE_STRCASECMP
/* Define to 1 if you have the `strcoll' function. */
#undef HAVE_STRCOLL
/* Define to 1 if you have the `strdup' function. */
#undef HAVE_STRDUP
/* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the `strlcat' function. */
#undef HAVE_STRLCAT
/* Define to 1 if you have the `strlcpy' function. */
#undef HAVE_STRLCPY
/* Define to 1 if you have the `strnlen' function. */
#undef HAVE_STRNLEN
/* Define to 1 if you have the `strpbrk' function. */
#undef HAVE_STRPBRK
/* Define to 1 if you have the `strstr' function. */
#undef HAVE_STRSTR
/* Define to 1 if you have the `strtok_r' function. */
#undef HAVE_STRTOK_R
/* Define to 1 if you have the `strtol' function. */
#undef HAVE_STRTOL
/* Define to 1 if you have the `strtoll' function. */
#undef HAVE_STRTOLL
/* Define to 1 if you have the `strtoul' function. */
#undef HAVE_STRTOUL
/* Define to 1 if you have the `strtoull' function. */
#undef HAVE_STRTOULL
/* Define to 1 if `st_rdev' is member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_RDEV
/* Define to 1 if your `struct stat' has `st_rdev'. Deprecated, use
`HAVE_STRUCT_STAT_ST_RDEV' instead. */
#undef HAVE_ST_RDEV
/* Define to 1 if you have the <synch.h> header file. */
#undef HAVE_SYNCH_H
/* Define to 1 if you have the <sys/cdefs.h> header file. */
#undef HAVE_SYS_CDEFS_H
/* Define to 1 if you have the <sys/dir.h> header file. */
#undef HAVE_SYS_DIR_H
/* Define to 1 if you have the <sys/file.h> header file. */
#undef HAVE_SYS_FILE_H
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#undef HAVE_SYS_IOCTL_H
/* Define to 1 if you have the <sys/malloc.h> header file. */
#undef HAVE_SYS_MALLOC_H
/* Define to 1 if you have the <sys/mman.h> header file. */
#undef HAVE_SYS_MMAN_H
/* Define to 1 if you have the <sys/ndir.h> header file. */
#undef HAVE_SYS_NDIR_H
/* Define to 1 if you have the <sys/ptem.h> header file. */
#undef HAVE_SYS_PTEM_H
/* Define to 1 if you have the <sys/pte.h> header file. */
#undef HAVE_SYS_PTE_H
/* Define to 1 if you have the <sys/select.h> header file. */
#undef HAVE_SYS_SELECT_H
/* Define to 1 if you have the <sys/socket.h> header file. */
#undef HAVE_SYS_SOCKET_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/stream.h> header file. */
#undef HAVE_SYS_STREAM_H
/* Define to 1 if you have the <sys/timeb.h> header file. */
#undef HAVE_SYS_TIMEB_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the <sys/un.h> header file. */
#undef HAVE_SYS_UN_H
/* Define to 1 if you have the <sys/utime.h> header file. */
#undef HAVE_SYS_UTIME_H
/* Define to 1 if you have the <sys/vadvise.h> header file. */
#undef HAVE_SYS_VADVISE_H
/* Define to 1 if you have the <sys/wait.h> header file. */
#undef HAVE_SYS_WAIT_H
/* Define to 1 if you have the `tcgetattr' function. */
#undef HAVE_TCGETATTR
/* Define to 1 if you have the `tell' function. */
#undef HAVE_TELL
/* Define to 1 if you have the `tempnam' function. */
#undef HAVE_TEMPNAM
/* Define to 1 if you have the <termbits.h> header file. */
#undef HAVE_TERMBITS_H
/* Define to 1 if you have the <termcap.h> header file. */
#undef HAVE_TERMCAP_H
/* Define to 1 if you have the <termios.h> header file. */
#undef HAVE_TERMIOS_H
/* Define to 1 if you have the <termio.h> header file. */
#undef HAVE_TERMIO_H
/* Define to 1 if you have the <term.h> header file. */
#undef HAVE_TERM_H
/* Define to 1 if you have the `thr_setconcurrency' function. */
#undef HAVE_THR_SETCONCURRENCY
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if you have the <utime.h> header file. */
#undef HAVE_UTIME_H
/* Define to 1 if `utime(file, NULL)' sets file's timestamp to the present. */
#undef HAVE_UTIME_NULL
/* Define to 1 if you have the <varargs.h> header file. */
#undef HAVE_VARARGS_H
/* Define to 1 if you have the `vidattr' function. */
#undef HAVE_VIDATTR
/* Define to 1 if you have the <vis.h> header file. */
#undef HAVE_VIS_H
/* Define to 1 if you have the `vprintf' function. */
#undef HAVE_VPRINTF
/* Name of package */
#undef PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Define as the return type of signal handlers (`int' or `void'). */
#undef RETSIGTYPE
/* The size of a `char', as computed by sizeof. */
#undef SIZEOF_CHAR
/* The size of a `char*', as computed by sizeof. */
#undef SIZEOF_CHARP
/* The size of a `int', as computed by sizeof. */
#undef SIZEOF_INT
/* The size of a `long', as computed by sizeof. */
#undef SIZEOF_LONG
/* The size of a `long long', as computed by sizeof. */
#undef SIZEOF_LONG_LONG
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
#undef STACK_DIRECTION
/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
#undef STAT_MACROS_BROKEN
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME
/* Define to 1 if your <sys/time.h> declares `struct tm'. */
#undef TM_IN_SYS_TIME
/* Version number of package */
#undef VERSION
/* Define to 1 if your processor stores words with the most significant byte
first (like Motorola and SPARC, unlike Intel and VAX). */
#undef WORDS_BIGENDIAN
/* Number of bits in a file offset, on hosts where this is settable. */
#undef _FILE_OFFSET_BITS
/* Define to make fseeko etc. visible, on some hosts. */
#undef _LARGEFILE_SOURCE
/* Define for large files, on AIX-style hosts. */
#undef _LARGE_FILES
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define as `__inline' if that's what the C compiler calls it, or to nothing
if it is not supported. */
#undef inline
/* Define to `long' if <sys/types.h> does not define. */
#undef off_t
/* Define to `unsigned' if <sys/types.h> does not define. */
#undef size_t
ndb/config/old_files/configure.in
deleted
100644 → 0
View file @
5a8303a3
dnl -
*
- ksh -
*
-
dnl Process this file with autoconf to produce a configure script.
AC_INIT
(
../../sql/mysqld.cc
)
AC_CANONICAL_SYSTEM
# The Docs Makefile.am parses this line!
AM_INIT_AUTOMAKE
(
mysql, 4.1.2-3.4.3-alpha
)
AM_CONFIG_HEADER
(
config.h
)
PROTOCOL_VERSION
=
10
DOT_FRM_VERSION
=
6
# See the libtool docs for information on how to do shared lib versions.
SHARED_LIB_VERSION
=
14:0:0
# Set all version vars based on $VERSION. How do we do this more elegant ?
# Remember that regexps needs to quote [ and ] since this is run through m4
MYSQL_NO_DASH_VERSION
=
`
echo
$VERSION
|
sed
-e
"s|[[a-z]]*-.*
$|
|"
`
MYSQL_BASE_VERSION
=
`
echo
$MYSQL_NO_DASH_VERSION
|
sed
-e
"s|
\.
[[^.]]*
$|
|"
`
MYSQL_VERSION_ID
=
`
echo
$MYSQL_NO_DASH_VERSION
.
|
sed
-e
's/\./ /g; s/ \([[0-9]]\) / 0\\1 /g; s/ //g'
`
# The port should be constant for a LONG time
MYSQL_TCP_PORT_DEFAULT
=
3306
MYSQL_UNIX_ADDR_DEFAULT
=
"/tmp/mysql.sock"
#####
#####
AC_SUBST
(
MYSQL_NO_DASH_VERSION
)
AC_SUBST
(
MYSQL_BASE_VERSION
)
AC_SUBST
(
MYSQL_VERSION_ID
)
AC_SUBST
(
PROTOCOL_VERSION
)
AC_DEFINE_UNQUOTED
(
PROTOCOL_VERSION,
$PROTOCOL_VERSION
)
AC_SUBST
(
DOT_FRM_VERSION
)
AC_DEFINE_UNQUOTED
(
DOT_FRM_VERSION,
$DOT_FRM_VERSION
)
AC_SUBST
(
SHARED_LIB_VERSION
)
# Canonicalize the configuration name.
SYSTEM_TYPE
=
"
$host_vendor
-
$host_os
"
MACHINE_TYPE
=
"
$host_cpu
"
AC_SUBST
(
SYSTEM_TYPE
)
AC_DEFINE_UNQUOTED
(
SYSTEM_TYPE,
"
$SYSTEM_TYPE
"
)
AC_SUBST
(
MACHINE_TYPE
)
AC_DEFINE_UNQUOTED
(
MACHINE_TYPE,
"
$MACHINE_TYPE
"
)
# Detect intel x86 like processor
BASE_MACHINE_TYPE
=
$MACHINE_TYPE
case
$MACHINE_TYPE
in
i?86
)
BASE_MACHINE_TYPE
=
i386
;;
esac
# Save some variables and the command line options for mysqlbug
SAVE_ASFLAGS
=
"
$ASFLAGS
"
SAVE_CFLAGS
=
"
$CFLAGS
"
SAVE_CXXFLAGS
=
"
$CXXFLAGS
"
SAVE_LDFLAGS
=
"
$LDFLAGS
"
SAVE_CXXLDFLAGS
=
"
$CXXLDFLAGS
"
CONF_COMMAND
=
"
$0
$ac_configure_args
"
AC_SUBST
(
CONF_COMMAND
)
AC_SUBST
(
SAVE_ASFLAGS
)
AC_SUBST
(
SAVE_CFLAGS
)
AC_SUBST
(
SAVE_CXXFLAGS
)
AC_SUBST
(
SAVE_LDFLAGS
)
AC_SUBST
(
SAVE_CXXLDFLAGS
)
AC_SUBST
(
CXXLDFLAGS
)
AC_PREREQ
(
2.12
)
dnl Minimum Autoconf version required.
AM_MAINTAINER_MODE
#AC_ARG_PROGRAM # Automaticly invoked by AM_INIT_AUTOMAKE
AM_SANITY_CHECK
# This is needed is SUBDIRS is set
AC_PROG_MAKE_SET
# This is need before AC_PROG_CC
#
if
test
"x
${
CFLAGS
-
}
"
=
x
;
then
cflags_is_set
=
no
else
cflags_is_set
=
yes
fi
if
test
"x
${
CPPFLAGS
-
}
"
=
x
;
then
cppflags_is_set
=
no
else
cppflags_is_set
=
yes
fi
if
test
"x
${
LDFLAGS
-
}
"
=
x
;
then
ldflags_is_set
=
no
else
ldflags_is_set
=
yes
fi
# The following hack should ensure that configure doesn't add optimizing
# or debugging flags to CFLAGS or CXXFLAGS
CFLAGS
=
"
$CFLAGS
"
CXXFLAGS
=
"
$CXXFLAGS
"
dnl Checks
for
programs.
AC_PROG_AWK
AC_PROG_CC
AC_PROG_CXX
AC_PROG_CPP
# Print version of CC and CXX compiler (if they support --version)
case
$SYSTEM_TYPE
in
*
netware
*
)
CC_VERSION
=
`
$CC
-version
|
grep
-i
version
`
;;
*
)
CC_VERSION
=
`
$CC
--version
|
sed
1q
`
;;
esac
if
test
$?
-eq
"0"
then
AC_MSG_CHECKING
(
"C Compiler version"
)
;
AC_MSG_RESULT
(
"
$CC
$CC_VERSION
"
)
else
CC_VERSION
=
""
fi
case
$SYSTEM_TYPE
in
*
netware
*
)
CXX_VERSION
=
`
$CXX
-version
|
grep
-i
version
`
;;
*
)
CXX_VERSION
=
`
$CXX
--version
|
sed
1q
`
;;
esac
if
test
$?
-eq
"0"
then
AC_MSG_CHECKING
(
"C++ compiler version"
)
;
AC_MSG_RESULT
(
"
$CXX
$CXX_VERSION
"
)
else
CXX_VERSION
=
""
fi
AC_SUBST
(
CXX_VERSION
)
AC_SUBST
(
CC_VERSION
)
# Fix for sgi gcc / sgiCC which tries to emulate gcc
if
test
"
$CC
"
=
"sgicc"
then
ac_cv_prog_gcc
=
"no"
fi
if
test
"
$CXX
"
=
"sgi++"
then
GXX
=
"no"
fi
if
test
"
$ac_cv_prog_gcc
"
=
"yes"
then
AS
=
"
$CC
-c"
AC_SUBST
(
AS
)
else
AC_PATH_PROG
(
AS, as, as
)
fi
# Still need ranlib for readline; local static use only so no libtool.
AC_PROG_RANLIB
# We use libtool
#AC_LIBTOOL_WIN32_DLL
AC_PROG_LIBTOOL
# Ensure that we have --preserve-dup-deps defines, otherwise we get link
# problems of 'mysql' with CXX=g++
LIBTOOL
=
"
$LIBTOOL
--preserve-dup-deps"
AC_SUBST
(
LIBTOOL
)
dnl
#AC_LIBTOOL_DLOPEN AC_LIBTOOL_WIN32_DLL AC_DISABLE_FAST_INSTALL AC_DISABLE_SHARED AC_DISABLE_STATIC
# AC_PROG_INSTALL
AC_PROG_INSTALL
test
-z
"
$INSTALL_SCRIPT
"
&&
INSTALL_SCRIPT
=
'${INSTALL_PROGRAM}'
# Not critical since the generated file is distributed
AC_PROG_YACC
AC_CHECK_PROG
(
PDFMANUAL, pdftex, manual.pdf
)
AC_CHECK_PROG
(
DVIS, tex, manual.dvi
)
AC_MSG_CHECKING
(
"return type of sprintf"
)
#check the return type of sprintf
case
$SYSTEM_TYPE
in
*
netware
*
)
AC_DEFINE
(
SPRINTF_RETURNS_INT
)
AC_MSG_RESULT
(
"int"
)
;;
*
)
AC_TRY_RUN
([
int main
()
{
char
*
s
=
"hello"
;
char buf[6]
;
if
((
int
)
sprintf
(
buf, s
)
==
strlen
(
s
))
return
0
;
return
-1
;
}
]
,
AC_DEFINE
(
SPRINTF_RETURNS_INT
)
AC_MSG_RESULT
(
"int"
)
,
AC_TRY_RUN
([
int main
()
{
char
*
s
=
"hello"
;
char buf[6]
;
if
((
char
*
)
sprintf
(
buf,s
)
==
buf + strlen
(
s
))
return
0
;
return
-1
;
}
]
, AC_DEFINE
(
SPRINTF_RETURNS_PTR
)
AC_MSG_RESULT
(
"ptr"
)
,
AC_DEFINE
(
SPRINTF_RETURNS_GARBAGE
)
AC_MSG_RESULT
(
"garbage"
)))
;;
esac
# option, cache_name, variable,
# code to execute if yes, code to exectute if fail
AC_DEFUN
(
AC_SYS_COMPILER_FLAG,
[
AC_MSG_CHECKING
(
$1
)
OLD_CFLAGS
=
"[
$]
CFLAGS"
AC_CACHE_VAL
(
mysql_cv_option_
$2
,
[
CFLAGS
=
"[
$]
OLD_CFLAGS
$1
"
AC_TRY_RUN
([
int main
(){
exit
(
0
)
;
}]
,mysql_cv_option_
$2
=
yes
,mysql_cv_option_
$2
=
no,mysql_cv_option_
$2
=
no
)
])
CFLAGS
=
"[
$]
OLD_CFLAGS"
if
test
x
"[
$]
mysql_cv_option_
$2
"
=
"xyes"
;
then
$3
=
"[
$]$3
$1
"
AC_MSG_RESULT
(
yes
)
$5
else
AC_MSG_RESULT
(
no
)
$4
fi
])
# arch, option, cache_name, variable
AC_DEFUN
(
AC_SYS_CPU_COMPILER_FLAG,
[
if
test
"
`
uname
-m
2>/dev/null
`
"
=
"
$1
"
;
then
AC_SYS_COMPILER_FLAG
(
$2
,
$3
,
$4
)
fi
])
# os, option, cache_name, variable
AC_DEFUN
(
AC_SYS_OS_COMPILER_FLAG,
[
if
test
"x
$mysql_cv_sys_os
"
=
"x
$1
"
;
then
AC_SYS_COMPILER_FLAG
(
$2
,
$3
,
$4
)
fi
])
# We need some special hacks when running slowaris
AC_PATH_PROG
(
uname_prog,
uname
, no
)
# We should go through this and put all the explictly system dependent
# stuff in one place
AC_MSG_CHECKING
(
operating system
)
AC_CACHE_VAL
(
mysql_cv_sys_os,
[
if
test
"
$uname_prog
"
!=
"no"
;
then
mysql_cv_sys_os
=
"
`
uname
`
"
else
mysql_cv_sys_os
=
"Not Solaris"
fi
])
AC_MSG_RESULT
(
$mysql_cv_sys_os
)
# This should be rewritten to use $target_os
case
"
$target_os
"
in
sco3.2v5
*
)
CFLAGS
=
"
$CFLAGS
-DSCO"
CXXFLAGS
=
"
$CXXFLAGS
-DSCO"
LD
=
'$(CC) $(CFLAGS)'
case
"
$CFLAGS
"
in
*
-belf
*
)
AC_SYS_COMPILER_FLAG
(
-belf
,sco_belf_option,CFLAGS,[],[
case
"
$LDFLAGS
"
in
*
-belf
*
)
;;
*
)
echo
"Adding -belf option to ldflags."
LDFLAGS
=
"
$LDFLAGS
-belf"
;;
esac
])
;;
*
)
AC_SYS_COMPILER_FLAG
(
-belf
,sco_belf_option,CFLAGS,[],[
case
"
$LDFLAGS
"
in
*
-belf
*
)
;;
*
)
echo
"Adding -belf option to ldflags."
LDFLAGS
=
"
$LDFLAGS
-belf"
;;
esac
])
;;
esac
;;
sysv5UnixWare
*
)
if
test
"
$GCC
"
!=
"yes"
;
then
# We are using built-in inline function
CFLAGS
=
"
$CFLAGS
-Kalloca"
fi
CXXFLAGS
=
"
$CXXFLAGS
-DNO_CPLUSPLUS_ALLOCA"
;;
sysv5OpenUNIX8
*
)
if
test
"
$GCC
"
!=
"yes"
;
then
# We are using built-in inline function
CFLAGS
=
"
$CFLAGS
-Kalloca"
fi
CXXFLAGS
=
"
$CXXFLAGS
-DNO_CPLUSPLUS_ALLOCA"
;;
esac
AC_SUBST
(
CC
)
AC_SUBST
(
CFLAGS
)
AC_SUBST
(
CXX
)
AC_SUBST
(
CXXFLAGS
)
AC_SUBST
(
LD
)
AC_SUBST
(
INSTALL_SCRIPT
)
export
CC CXX CFLAGS LD LDFLAGS AR
if
test
"
$GXX
"
=
"yes"
then
# mysqld requires -fno-implicit-templates.
# Disable exceptions as they seams to create problems with gcc and threads.
# mysqld doesn't use run-time-type-checking, so we disable it.
CXXFLAGS
=
"
$CXXFLAGS
-fno-implicit-templates -fno-exceptions -fno-rtti"
# If you are using 'gcc' 3.0 (not g++) to compile C++ programs on Linux,
# we will gets some problems when linking static programs.
# The following code is used to fix this problem.
if
test
"
$CXX
"
=
"gcc"
-o
"
$CXX
"
=
"ccache gcc"
then
if
$CXX
-v
2>&1 |
grep
'version 3'
>
/dev/null 2>&1
then
CXXFLAGS
=
"
$CXXFLAGS
-DUSE_MYSYS_NEW -DDEFINE_CXA_PURE_VIRTUAL"
fi
fi
fi
# Avoid bug in fcntl on some versions of linux
AC_MSG_CHECKING
(
"if we should use 'skip-locking' as default for
$target_os
"
)
# Any wariation of Linux
if
expr
"
$target_os
"
:
"[[Ll]]inux.*"
>
/dev/null
then
MYSQLD_DEFAULT_SWITCHES
=
"--skip-locking"
IS_LINUX
=
"true"
AC_MSG_RESULT
(
"yes"
)
;
else
MYSQLD_DEFAULT_SWITCHES
=
""
IS_LINUX
=
"false"
AC_MSG_RESULT
(
"no"
)
;
fi
AC_SUBST
(
MYSQLD_DEFAULT_SWITCHES
)
AC_SUBST
(
IS_LINUX
)
dnl Find paths to some shell programs
AC_PATH_PROG
(
LN,
ln
,
ln
)
# This must be able to take a -f flag like normal unix ln.
AC_PATH_PROG
(
LN_CP_F,
ln
,
ln
)
if
!
(
expr
"
$SYSTEM_TYPE
"
:
".*netware.*"
>
/dev/null
)
;
then
# If ln -f does not exists use -s (AFS systems)
if
test
-n
"
$LN_CP_F
"
;
then
LN_CP_F
=
"
$LN_CP_F
-s"
fi
fi
AC_PATH_PROG
(
MV,
mv
,
mv
)
AC_PATH_PROG
(
RM,
rm
,
rm
)
AC_PATH_PROG
(
CP,
cp
,
cp
)
AC_PATH_PROG
(
SED,
sed
,
sed
)
AC_PATH_PROG
(
CMP, cmp, cmp
)
AC_PATH_PROG
(
CHMOD,
chmod
,
chmod
)
AC_PATH_PROG
(
HOSTNAME,
hostname
,
hostname
)
# Check for a GNU tar named 'gtar', or 'gnutar' (MacOS X) and
# fall back to 'tar' otherwise and hope that it's a GNU tar as well
AC_CHECK_PROGS
(
TAR, gnutar gtar
tar
)
dnl We use a path
for
perl so the script startup works
dnl We make sure to use perl, not perl5,
in
hopes that the RPMs will
dnl not depend on the perl5 binary being installed
(
probably a bug
in
RPM
)
AC_PATH_PROG
(
PERL, perl, no
)
if
test
"
$PERL
"
!=
"no"
&&
$PERL
-e
'require 5'
>
/dev/null 2>&1
then
PERL5
=
$PERL
else
AC_PATH_PROG
(
PERL5, perl5, no
)
if
test
"
$PERL5
"
!=
no
then
PERL
=
$PERL5
ac_cv_path_PERL
=
$ac_cv_path_PERL5
fi
fi
AC_SUBST
(
HOSTNAME
)
AC_SUBST
(
PERL
)
AC_SUBST
(
PERL5
)
# Lock for PS
AC_PATH_PROG
(
PS, ps, ps
)
AC_MSG_CHECKING
(
"how to check if pid exists"
)
PS
=
$ac_cv_path_PS
# Linux style
if
$PS
p
$$
2> /dev/null |
grep
$0
>
/dev/null
then
FIND_PROC
=
"
$PS
p
\$\$
PID | grep mysqld > /dev/null"
# Solaris
elif
$PS
-p
$$
2> /dev/null |
grep
$0
>
/dev/null
then
FIND_PROC
=
"
$PS
-p
\$\$
PID | grep mysqld > /dev/null"
# BSD style
elif
$PS
-uaxww
2> /dev/null |
grep
$0
>
/dev/null
then
FIND_PROC
=
"
$PS
-uaxww | grep mysqld | grep
\"
\$\$
PID
\"
> /dev/null"
# SysV style
elif
$PS
-ef
2> /dev/null |
grep
$0
>
/dev/null
then
FIND_PROC
=
"
$PS
-ef | grep mysqld | grep
\"
\$\$
PID
\"
> /dev/null"
# Do anybody use this?
elif
$PS
$$
2> /dev/null |
grep
$0
>
/dev/null
then
FIND_PROC
=
"
$PS
\$\$
PID | grep mysqld > /dev/null"
else
case
$SYSTEM_TYPE
in
*
freebsd
*
)
FIND_PROC
=
"
$PS
p
\$\$
PID | grep mysqld > /dev/null"
;;
*
darwin
*
)
FIND_PROC
=
"
$PS
-uaxww | grep mysqld | grep
\"
\$\$
PID
\"
> /dev/null"
;;
*
cygwin
*
)
FIND_PROC
=
"
$PS
-e | grep mysqld | grep
\"
\$\$
PID
\"
> /dev/null"
;;
*
netware
*
|
*
modesto
*
)
FIND_PROC
=
;;
*
)
AC_MSG_ERROR
([
Could not find the right ps switches. Which OS is this ?. See the Installation chapter
in
the Reference Manual.]
)
esac
fi
AC_SUBST
(
FIND_PROC
)
AC_MSG_RESULT
(
"
$FIND_PROC
"
)
# Check if a pid is valid
AC_PATH_PROG
(
KILL,
kill
,
kill
)
AC_MSG_CHECKING
(
"for kill switches"
)
if
$ac_cv_path_KILL
-0
$$
then
CHECK_PID
=
"
$ac_cv_path_KILL
-0
\$\$
PID > /dev/null 2> /dev/null"
elif
kill
-s
0
$$
then
CHECK_PID
=
"
$ac_cv_path_KILL
-s 0
\$\$
PID > /dev/null 2> /dev/null"
else
AC_MSG_WARN
([
kill
-0
to check
for
pid seems to fail]
)
CHECK_PID
=
"
$ac_cv_path_KILL
-s SIGCONT
\$\$
PID > /dev/null 2> /dev/null"
fi
AC_SUBST
(
CHECK_PID
)
AC_MSG_RESULT
(
"
$CHECK_PID
"
)
# We need a ANSI C compiler
AM_PROG_CC_STDC
# We need an assembler, too
AM_PROG_AS
if
test
"
$am_cv_prog_cc_stdc
"
=
"no"
then
AC_MSG_ERROR
([
MySQL requires a ANSI C compiler
(
and a C++ compiler
)
.
Try gcc. See the Installation chapter
in
the Reference Manual.]
)
fi
NOINST_LDFLAGS
=
static_nss
=
""
STATIC_NSS_FLAGS
=
""
OTHER_LIBC_LIB
=
""
AC_ARG_WITH
(
other-libc,
[
--with-other-libc
=
DIR Link against libc and other standard libraries
installed
in
the specified non-standard location
overriding default. Originally added to be able to
link
against glibc 2.2 without making the user
upgrade the standard libc installation.],
[
other_libc_include
=
"
$withval
/include"
other_libc_lib
=
"
$withval
/lib"
with_other_libc
=
"yes"
enable_shared
=
"no"
all_is_static
=
"yes"
CFLAGS
=
"
$CFLAGS
-I
$other_libc_include
"
# There seems to be a feature in gcc that treats system and libc headers
# silently when they violatate ANSI C++ standard, but it is strict otherwise
# since gcc cannot now recognize that our headers are libc, we work around
# by telling it to be permissive. Note that this option only works with
# new versions of gcc (2.95.x and above)
CXXFLAGS
=
"
$CXXFLAGS
-fpermissive -I
$other_libc_include
"
if
test
-f
"
$other_libc_lib
/libnss_files.a"
then
# libc has been compiled with --enable-static-nss
# we need special flags, but we will have to add those later
STATIC_NSS_FLAGS
=
"-lc -lnss_files -lnss_dns -lresolv"
STATIC_NSS_FLAGS
=
"
$STATIC_NSS_FLAGS
$STATIC_NSS_FLAGS
"
OTHER_LIBC_LIB
=
"-static -L
$other_libc_lib
"
static_nss
=
1
else
# this is a dirty hack. We if we detect static nss glibc in the special
# location, we do not re-direct the linker to get libraries from there
# during check. The reason is that if we did, we would have to find a
# way to append the special static nss flags to LIBS every time we do
# any check - this is definitely feasible, but not worthwhile the risk
# of breaking other things. So for our purposes it would be sufficient
# to assume that whoever is using static NSS knows what he is doing and
# has sensible libraries in the regular location
LDFLAGS
=
"
$LDFLAGS
-static -L
$other_libc_lib
"
fi
# When linking against custom libc installed separately, we want to force
# all binary builds to be static, including the build done by configure
# itself to test for system features.
with_mysqld_ldflags
=
"-all-static"
with_client_ldflags
=
"-all-static"
NOINST_LDFLAGS
=
"-all-static"
]
,
[
other_libc_include
=
other_libc_lib
=
with_other_libc
=
"no"
]
)
AC_SUBST
(
NOINST_LDFLAGS
)
#
# Check if we are using Linux and a glibc compiled with static nss
# (this is true on the MySQL build machines to avoid NSS problems)
#
if
test
"
$IS_LINUX
"
=
"true"
-a
"
$static_nss
"
=
""
then
tmp
=
`
nm /usr/lib/libc.a |
grep
_nss_files_getaliasent_r
`
if
test
-n
"
$tmp
"
then
STATIC_NSS_FLAGS
=
"-lc -lnss_files -lnss_dns -lresolv"
STATIC_NSS_FLAGS
=
"
$STATIC_NSS_FLAGS
$STATIC_NSS_FLAGS
"
static_nss
=
1
fi
fi
AC_ARG_WITH
(
server-suffix,
[
--with-server-suffix
Append value to the version string.],
[
MYSQL_SERVER_SUFFIX
=
`
echo
"
$withval
"
|
sed
-e
's/^\(...................................\)..*$/\1/'
`
]
,
[
MYSQL_SERVER_SUFFIX
=
]
)
AC_SUBST
(
MYSQL_SERVER_SUFFIX
)
# Set flags if we wants to have MIT threads.
AC_ARG_WITH
(
mit-threads,
[
--with-mit-threads
Always use included thread lib.],
[
with_mit_threads
=
$withval
]
,
[
with_mit_threads
=
no
]
)
if
test
"
$with_mit_threads
"
=
"yes"
then
enable_largefile
=
"no"
# Will not work on Linux.
fi
# Set flags if we want to force to use pthreads
AC_ARG_WITH
(
pthread,
[
--with-pthread
Force use of pthread library.],
[
with_pthread
=
$withval
]
,
[
with_pthread
=
no
]
)
# Force use of thread libs LIBS
AC_ARG_WITH
(
named-thread-libs,
[
--with-named-thread-libs
=
ARG
Use specified thread libraries instead of
those automatically found by configure.],
[
with_named_thread
=
$withval
]
,
[
with_named_thread
=
no
]
)
# Force use of a curses libs
AC_ARG_WITH
(
named-curses-libs,
[
--with-named-curses-libs
=
ARG
Use specified curses libraries instead of
those automatically found by configure.],
[
with_named_curses
=
$withval
]
,
[
with_named_curses
=
no
]
)
# Force use of a zlib (compress)
AC_ARG_WITH
(
named-z-libs,
[
--with-named-z-libs
=
ARG
Use specified zlib libraries instead of
those automatically found by configure.],
[
with_named_zlib
=
$withval
]
,
[
with_named_zlib
=
z
]
)
# Make thread safe client
AC_ARG_ENABLE
(
thread-safe-client,
[
--enable-thread-safe-client
Compile the client with threads.],
[
THREAD_SAFE_CLIENT
=
$enableval
]
,
[
THREAD_SAFE_CLIENT
=
no
]
)
# compile with strings functions in assembler
AC_ARG_ENABLE
(
assembler,
[
--enable-assembler
Use assembler versions of some string
functions
if
available.],
[
ENABLE_ASSEMBLER
=
$enableval
]
,
[
ENABLE_ASSEMBLER
=
no
]
)
AC_MSG_CHECKING
(
if
we should use assembler functions
)
# For now we only support assembler on i386 and sparc systems
AM_CONDITIONAL
(
ASSEMBLER_x86,
test
"
$ENABLE_ASSEMBLER
"
=
"yes"
-a
"
$BASE_MACHINE_TYPE
"
=
"i386"
)
AM_CONDITIONAL
(
ASSEMBLER_sparc32,
test
"
$ENABLE_ASSEMBLER
"
=
"yes"
-a
"
$BASE_MACHINE_TYPE
"
=
"sparc"
)
AM_CONDITIONAL
(
ASSEMBLER_sparc64,
test
"
$ENABLE_ASSEMBLER
"
=
"yes"
-a
"
$BASE_MACHINE_TYPE
"
=
"sparcv9"
)
AM_CONDITIONAL
(
ASSEMBLER,
test
"
$ASSEMBLER_x86_TRUE
"
=
""
-o
"
$ASSEMBLER_sparc32_TRUE
"
=
""
)
if
test
"
$ASSEMBLER_TRUE
"
=
""
then
AC_MSG_RESULT
([
yes
])
else
AC_MSG_RESULT
([
no]
)
fi
AC_MSG_CHECKING
(
if
we should use RAID
)
AC_ARG_WITH
(
raid,
[
--with-raid
Enable RAID Support],
[
USE_RAID
=
$withval
]
,
[
USE_RAID
=
no
]
)
if
test
"
$USE_RAID
"
=
"yes"
then
AC_MSG_RESULT
([
yes
])
AC_DEFINE
([
USE_RAID]
)
else
AC_MSG_RESULT
([
no]
)
fi
# Use this to set the place used for unix socket used to local communication.
AC_ARG_WITH
(
unix-socket-path,
[
--with-unix-socket-path
=
SOCKET
Where to put the unix-domain socket. SOCKET must be
an absolute file name.],
[
MYSQL_UNIX_ADDR
=
$withval
]
,
[
MYSQL_UNIX_ADDR
=
$MYSQL_UNIX_ADDR_DEFAULT
]
)
AC_SUBST
(
MYSQL_UNIX_ADDR
)
AC_ARG_WITH
(
tcp-port,
[
--with-tcp-port
=
port-number
Which port to use
for
MySQL services
(
default 3306
)]
,
[
MYSQL_TCP_PORT
=
$withval
]
,
[
MYSQL_TCP_PORT
=
$MYSQL_TCP_PORT_DEFAULT
]
)
AC_SUBST
(
MYSQL_TCP_PORT
)
# We might want to document the assigned port in the manual.
AC_SUBST
(
MYSQL_TCP_PORT_DEFAULT
)
# Use this to set the place used for unix socket used to local communication.
AC_ARG_WITH
(
mysqld-user,
[
--with-mysqld-user
=
username
What user the mysqld daemon shall be run as.],
[
MYSQLD_USER
=
$withval
]
,
[
MYSQLD_USER
=
mysql
]
)
AC_SUBST
(
MYSQLD_USER
)
# If we should allow LOAD DATA LOCAL
AC_MSG_CHECKING
(
If we should should
enable
LOAD DATA LOCAL by default
)
AC_ARG_ENABLE
(
local-infile,
[
--enable-local-infile
Enable LOAD DATA LOCAL INFILE
(
default: disabled
)]
,
[
ENABLED_LOCAL_INFILE
=
$enableval
]
,
[
ENABLED_LOCAL_INFILE
=
no
]
)
if
test
"
$ENABLED_LOCAL_INFILE
"
=
"yes"
then
AC_MSG_RESULT
([
yes
])
AC_DEFINE
([
ENABLED_LOCAL_INFILE]
)
else
AC_MSG_RESULT
([
no]
)
fi
MYSQL_SYS_LARGEFILE
# Types that must be checked AFTER large file support is checked
AC_TYPE_SIZE_T
#--------------------------------------------------------------------
# Check for system header files
#--------------------------------------------------------------------
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS
(
fcntl.h float.h floatingpoint.h ieeefp.h limits.h
\
memory.h pwd.h
select
.h
\
stdlib.h stddef.h
\
strings.h string.h synch.h sys/mman.h sys/socket.h netinet/in.h arpa/inet.h
\
sys/timeb.h sys/types.h sys/un.h sys/vadvise.h sys/wait.h term.h
\
unistd.h utime.h sys/utime.h termio.h termios.h sched.h crypt.h alloca.h
\
sys/ioctl.h malloc.h sys/malloc.h linux/config.h
)
#--------------------------------------------------------------------
# Check for system libraries. Adds the library to $LIBS
# and defines HAVE_LIBM etc
#--------------------------------------------------------------------
AC_CHECK_LIB
(
m, floor,
[]
, AC_CHECK_LIB
(
m, __infinity
))
AC_CHECK_LIB
(
nsl_r, gethostbyname_r,
[]
,
AC_CHECK_LIB
(
nsl, gethostbyname_r
))
AC_CHECK_FUNC
(
gethostbyname_r
)
AC_CHECK_FUNC
(
setsockopt, , AC_CHECK_LIB
(
socket, setsockopt
))
AC_CHECK_FUNC
(
yp_get_default_domain, ,
AC_CHECK_LIB
(
nsl, yp_get_default_domain
))
AC_CHECK_FUNC
(
p2open, , AC_CHECK_LIB
(
gen, p2open
))
# This may get things to compile even if bind-8 is installed
AC_CHECK_FUNC
(
bind
, , AC_CHECK_LIB
(
bind
,
bind
))
# For crypt() on Linux
AC_CHECK_LIB
(
crypt, crypt
)
AC_CHECK_FUNC
(
crypt, AC_DEFINE
(
HAVE_CRYPT
))
# For sem_xxx functions on Solaris 2.6
AC_CHECK_FUNC
(
sem_init, , AC_CHECK_LIB
(
posix4, sem_init
))
# For compress in zlib
MYSQL_CHECK_ZLIB_WITH_COMPRESS
(
$with_named_zlib
)
#--------------------------------------------------------------------
# Check for TCP wrapper support
#--------------------------------------------------------------------
AC_ARG_WITH
(
libwrap,
[
--with-libwrap
[=
DIR] Compile
in
libwrap
(
tcp_wrappers
)
support],[
case
"
$with_libwrap
"
in
no
)
:
;;
yes
|
*
)
_cppflags
=
${
CPPFLAGS
}
_ldflags
=
${
LDFLAGS
}
if
test
"
$with_libwrap
"
!=
"yes"
;
then
CPPFLAGS
=
"
${
CPPFLAGS
}
-I
$with_libwrap
/include"
LDFLAGS
=
"
${
LDFLAGS
}
-L
$with_libwrap
/lib"
fi
_libs
=
${
LIBS
}
AC_CHECK_HEADER
(
tcpd.h,
LIBS
=
"-lwrap
$LIBS
"
AC_MSG_CHECKING
(
for
TCP wrappers library
-lwrap
)
AC_TRY_LINK
([
#include <tcpd.h>
int allow_severity
=
0
;
int deny_severity
=
0
;
struct request_info
*
req
;
]
,[hosts_access
(
req
)]
,
AC_MSG_RESULT
(
yes
)
AC_DEFINE
(
LIBWRAP
)
AC_DEFINE
(
HAVE_LIBWRAP
)
if
test
"
$with_libwrap
"
!=
"yes"
;
then
WRAPLIBS
=
"-L
${
with_libwrap
}
/lib"
fi
WRAPLIBS
=
"
${
WRAPLIBS
}
-lwrap"
,
AC_MSG_RESULT
(
no
)
CPPFLAGS
=
${
_cppflags
}
LDFLAGS
=
${
_ldflags
}
)
,
CPPFLAGS
=
${
_cppflags
}
LDFLAGS
=
${
_ldflags
}
)
LDFLAGS
=
${
_ldflags
}
LIBS
=
${
_libs
}
;;
esac
])
AC_SUBST
(
WRAPLIBS
)
if
test
"
$IS_LINUX
"
=
"true"
;
then
AC_MSG_CHECKING
([
for
atomic operations]
)
atom_ops
=
AC_TRY_RUN
([
#include <asm/atomic.h>
int main
()
{
atomic_t v
;
atomic_set
(
&v, 23
)
;
atomic_add
(
5, &v
)
;
return
atomic_read
(
&v
)
==
28 ? 0 :
-1
;
}
]
, AC_DEFINE
(
HAVE_ATOMIC_ADD
)
atom_ops
=
"
${
atom_ops
}
atomic_add "
,
)
AC_TRY_RUN
([
#include <asm/atomic.h>
int main
()
{
atomic_t v
;
atomic_set
(
&v, 23
)
;
atomic_sub
(
5, &v
)
;
return
atomic_read
(
&v
)
==
18 ? 0 :
-1
;
}
]
, AC_DEFINE
(
HAVE_ATOMIC_SUB
)
atom_ops
=
"
${
atom_ops
}
atomic_sub "
,
)
if
test
-z
"
$atom_ops
"
;
then
atom_ops
=
"no"
;
fi
AC_MSG_RESULT
(
$atom_ops
)
AC_ARG_WITH
(
pstack,
[
--with-pstack
Use the pstack backtrace library],
[
USE_PSTACK
=
$withval
]
,
[
USE_PSTACK
=
no
])
pstack_libs
=
pstack_dirs
=
if
test
"
$USE_PSTACK
"
=
yes
-a
"
$IS_LINUX
"
=
"true"
-a
"
$BASE_MACHINE_TYPE
"
=
"i386"
-a
"
$with_mit_threads
"
=
"no"
then
have_libiberty
=
have_libbfd
=
my_save_LIBS
=
"
$LIBS
"
dnl I have no idea
if
this is a good
test
- can not find docs
for
libiberty
AC_CHECK_LIB
([
iberty],
[
fdmatch],
[
have_libiberty
=
yes
AC_CHECK_LIB
([
bfd],
[
bfd_openr],
[
have_libbfd
=
yes
]
, ,
[
-liberty
])])
LIBS
=
"
$my_save_LIBS
"
if
test
x
"
$have_libiberty
"
=
xyes
-a
x
"
$have_libbfd
"
=
xyes
then
pstack_dirs
=
'$(top_srcdir)'
/pstack
pstack_libs
=
"../pstack/libpstack.a -lbfd -liberty"
# We must link staticly when using pstack
with_mysqld_ldflags
=
"-all-static"
AC_SUBST
([
pstack_dirs]
)
AC_SUBST
([
pstack_libs]
)
AC_DEFINE
([
USE_PSTACK]
)
dnl This check isn
't needed, but might be nice to give some feedback....
dnl AC_CHECK_HEADER(libiberty.h,
dnl have_libiberty_h=yes,
dnl have_libiberty_h=no)
else
USE_PSTACK="no"
fi
else
USE_PSTACK="no"
fi
fi
AM_CONDITIONAL(COMPILE_PSTACK, test "$USE_PSTACK" = "yes")
AC_MSG_CHECKING([if we should use pstack])
AC_MSG_RESULT([$USE_PSTACK])
# Check for gtty if termio.h doesn'
t exists
if
test
"
$ac_cv_header_termio_h
"
=
"no"
-a
"
$ac_cv_header_termios_h
"
=
"no"
then
AC_CHECK_FUNC
(
gtty, , AC_CHECK_LIB
(
compat, gtty
))
fi
# We make a special variable for client library's to avoid including
# thread libs in the client.
NON_THREADED_CLIENT_LIBS
=
"
$LIBS
"
AC_MSG_CHECKING
([
for
int8]
)
case
$SYSTEM_TYPE
in
*
netware
)
AC_MSG_RESULT
([
no]
)
;;
*
)
AC_TRY_RUN
([
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
#ifdef HAVE_STDDEF_H
#include <stddef.h>
#endif
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
int main
()
{
int8 i
;
return
0
;
}
]
, AC_DEFINE
(
HAVE_INT_8_16_32
)
AC_MSG_RESULT
([
yes
])
, AC_MSG_RESULT
([
no]
)
)
;;
esac
#
# Some system specific hacks
#
MAX_C_OPTIMIZE
=
"-O3"
MAX_CXX_OPTIMIZE
=
"-O3"
case
$SYSTEM_TYPE
in
*
solaris2.7
*
)
# Solaris 2.7 has a broken /usr/include/widec.h
# Make a fixed copy in ./include
echo
"Fixing broken include files for
$SYSTEM_TYPE
"
echo
" - Creating local copy of widec.h"
if
test
!
-d
include
then
mkdir
./include
fi
builddir
=
`
pwd
`
sed
-e
"s|^#if[ ]*!defined(lint) && !defined(__lint)|#if !defined
\(
lint
\)
\&\&
!defined
\(
__lint
\)
\&\&
!defined
\(
getwc
\)
|"
< /usr/include/widec.h
>
include/widec.h
CFLAGS
=
"
$CFLAGS
-DHAVE_CURSES_H -I
$builddir
/include -DHAVE_RWLOCK_T"
CXXFLAGS
=
"
$CXXFLAGS
-DHAVE_CURSES_H -I
$builddir
/include -DHAVE_RWLOCK_T"
;;
*
solaris2.8
*
)
# Solaris 2.8 has a broken /usr/include/widec.h
# Make a fixed copy in ./include
echo
"Fixing broken include files for
$SYSTEM_TYPE
"
echo
" - Creating local copy of widec.h"
if
test
!
-d
include
then
mkdir
./include
fi
builddir
=
`
pwd
`
sed
-e
"s|^#if[ ]*!defined(__lint)|#if !defined
\(
__lint
\)
\&\&
!defined
\(
getwc
\)
|"
< /usr/include/widec.h
>
include/widec.h
CFLAGS
=
"
$CFLAGS
-DHAVE_CURSES_H -I
$builddir
/include -DHAVE_RWLOCK_T"
CXXFLAGS
=
"
$CXXFLAGS
-DHAVE_CURSES_H -I
$builddir
/include -DHAVE_RWLOCK_T"
;;
*
solaris2.5.1
*
)
echo
"Enabling getpass() workaround for Solaris 2.5.1"
CFLAGS
=
"
$CFLAGS
-DHAVE_BROKEN_GETPASS -DSOLARIS -DHAVE_RWLOCK_T"
;
CXXFLAGS
=
"
$CXXFLAGS
-DHAVE_RWLOCK_T -DSOLARIS"
;;
*
solaris
*
)
CFLAGS
=
"
$CFLAGS
-DHAVE_RWLOCK_T"
CXXFLAGS
=
"
$CXXFLAGS
-DHAVE_RWLOCK_T"
;;
*
SunOS
*
)
echo
"Enabling getpass() workaround for SunOS"
CFLAGS
=
"
$CFLAGS
-DHAVE_BROKEN_GETPASS -DSOLARIS"
;
;;
*
hpux10.20
*
)
echo
"Enabling workarounds for hpux 10.20"
CFLAGS
=
"
$CFLAGS
-DHAVE_BROKEN_SNPRINTF -DSIGNALS_DONT_BREAK_READ -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHPUX10 -DSIGNAL_WITH_VIO_CLOSE -DHAVE_BROKEN_PTHREAD_COND_TIMEDWAIT -DHAVE_POSIX1003_4a_MUTEX"
CXXFLAGS
=
"
$CXXFLAGS
-DHAVE_BROKEN_SNPRINTF -D_INCLUDE_LONGLONG -DSIGNALS_DONT_BREAK_READ -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHPUX10 -DSIGNAL_WITH_VIO_CLOSE -DHAVE_BROKEN_PTHREAD_COND_TIMEDWAIT -DHAVE_POSIX1003_4a_MUTEX"
if
test
"
$with_named_thread
"
=
"no"
then
echo
"Using --with-named-thread=-lpthread"
with_named_thread
=
"-lcma"
fi
;;
*
hpux11.
*
)
echo
"Enabling workarounds for hpux 11"
CFLAGS
=
"
$CFLAGS
-DHPUX11 -DHAVE_BROKEN_PREAD -DDONT_USE_FINITE -DHAVE_BROKEN_GETPASS -DNO_FCNTL_NONBLOCK -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHAVE_BROKEN_PTHREAD_COND_TIMEDWAIT"
CXXFLAGS
=
"
$CXXFLAGS
-DHPUX11 -DHAVE_BROKEN_PREAD -DDONT_USE_FINITE -D_INCLUDE_LONGLONG -DNO_FCNTL_NONBLOCK -DDO_NOT_REMOVE_THREAD_WRAPPERS -DHAVE_BROKEN_PTHREAD_COND_TIMEDWAIT"
if
test
"
$with_named_thread
"
=
"no"
then
echo
"Using --with-named-thread=-lpthread"
with_named_thread
=
"-lpthread"
fi
# Fixes for HPUX 11.0 compiler
if
test
"
$ac_cv_prog_gcc
"
=
"no"
then
CFLAGS
=
"
$CFLAGS
-DHAVE_BROKEN_INLINE"
CXXFLAGS
=
"
$CXXFLAGS
+O2"
MAX_C_OPTIMIZE
=
""
MAX_CXX_OPTIMIZE
=
""
fi
;;
*
rhapsody
*
)
if
test
"
$ac_cv_prog_gcc
"
=
"yes"
then
CPPFLAGS
=
"
$CPPFLAGS
-traditional-cpp "
CFLAGS
=
"-DHAVE_CTHREADS_WRAPPER -DDO_NOT_REMOVE_THREAD_WRAPPERS"
CXXFLAGS
=
"-DHAVE_CTHREADS_WRAPPER"
if
test
$with_named_curses
=
"no"
then
with_named_curses
=
""
fi
fi
;;
*
darwin5
*
)
if
test
"
$ac_cv_prog_gcc
"
=
"yes"
then
FLAGS
=
"-traditional-cpp -DHAVE_DARWIN_THREADS -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DHAVE_BROKEN_REALPATH"
CFLAGS
=
"
$CFLAGS
$FLAGS
"
CXXFLAGS
=
"
$CXXFLAGS
$FLAGS
"
MAX_C_OPTIMIZE
=
"-O"
with_named_curses
=
""
fi
;;
*
darwin6
*
)
if
test
"
$ac_cv_prog_gcc
"
=
"yes"
then
FLAGS
=
"-DHAVE_DARWIN_THREADS -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DHAVE_BROKEN_REALPATH"
CFLAGS
=
"
$CFLAGS
$FLAGS
"
CXXFLAGS
=
"
$CXXFLAGS
$FLAGS
"
MAX_C_OPTIMIZE
=
"-O"
fi
;;
*
darwin7
*
)
if
test
"
$ac_cv_prog_gcc
"
=
"yes"
then
FLAGS
=
"-DHAVE_DARWIN_THREADS -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ"
CFLAGS
=
"
$CFLAGS
$FLAGS
"
CXXFLAGS
=
"
$CXXFLAGS
$FLAGS
"
MAX_C_OPTIMIZE
=
"-O"
fi
;;
*
freebsd
*
)
echo
"Adding fix for interrupted reads"
OSVERSION
=
`
sysctl
-a
|
grep
osreldate |
awk
'{ print $2 }'
`
if
test
"
$OSVERSION
"
-gt
"480100"
&&
\
test
"
$OSVERSION
"
-lt
"500000"
||
\
test
"
$OSVERSION
"
-gt
"500109"
then
CXXFLAGS
=
"
$CXXFLAGS
-DMYSQLD_NET_RETRY_COUNT=1000000"
else
CFLAGS
=
"
$CFLAGS
-DHAVE_BROKEN_REALPATH"
CXXFLAGS
=
"
$CXXFLAGS
-DMYSQLD_NET_RETRY_COUNT=1000000 -DHAVE_BROKEN_REALPATH"
fi
;;
*
netbsd
*
)
echo
"Adding flag -Dunix"
CFLAGS
=
"
$CFLAGS
-Dunix"
CXXFLAGS
=
"
$CXXFLAGS
-Dunix"
OVERRIDE_MT_LD_ADD
=
"
\$
(top_srcdir)/mit-pthreads/obj/libpthread.a"
;;
*
bsdi
*
)
echo
"Adding fix for BSDI"
CFLAGS
=
"
$CFLAGS
-D__BSD__ -DHAVE_BROKEN_REALPATH"
AC_DEFINE_UNQUOTED
(
SOCKOPT_OPTLEN_TYPE, size_t
)
;;
*
sgi-irix6
*
)
if
test
"
$with_named_thread
"
=
"no"
then
echo
"Using --with-named-thread=-lpthread"
with_named_thread
=
"-lpthread"
fi
CXXFLAGS
=
"
$CXXFLAGS
-D_BOOL"
;;
*
aix4.3
*
)
echo
"Adding defines for AIX"
CFLAGS
=
"
$CFLAGS
-Wa,-many -DUNDEF_HAVE_INITGROUPS -DSIGNALS_DONT_BREAK_READ"
CXXFLAGS
=
"
$CXXFLAGS
-Wa,-many -DUNDEF_HAVE_INITGROUPS -DSIGNALS_DONT_BREAK_READ"
;;
dnl Is this the right match
for
DEC OSF on alpha?
*
dec-osf
*
)
if
test
"
$ac_cv_prog_gcc
"
=
"yes"
&&
test
"
$host_cpu
"
=
"alpha"
then
echo
"Adding defines for DEC OSF on alpha"
CFLAGS
=
"
$CFLAGS
-mieee"
CXXFLAGS
=
"
$CXXFLAGS
-mieee"
fi
echo
"Adding defines for OSF1"
# gethostbyname_r is deprecated and doesn't work ok on OSF1
CFLAGS
=
"
$CFLAGS
-DUNDEF_HAVE_GETHOSTBYNAME_R"
CXXFLAGS
=
"
$CXXFLAGS
-DUNDEF_HAVE_GETHOSTBYNAME_R"
;;
*
netware
*
)
# No need for curses library so set it to null
with_named_curses
=
""
# No thread library - in LibC
with_named_thread
=
""
#
# Edit Makefile.in files.
#
echo
-n
"configuring Makefile.in files for NetWare... "
for
file
in
sql/Makefile.in libmysql/Makefile.in libmysql_r/Makefile.in sql/share/Makefile.in strings/Makefile.in client/Makefile.in
do
# echo "#### $file ####"
filedir
=
"
`
dirname
$file
`
"
filebase
=
"
`
basename
$file
`
"
filesed
=
$filedir
/
$filebase
.sed
#
# Backup and always use original file
#
if
test
-f
$file
.bk
then
cp
-fp
$file
.bk
$file
else
cp
-fp
$file
$file
.bk
fi
case
$file
in
sql/Makefile.in
)
# Use gen_lex_hash.linux instead of gen_lex_hash
# Add library dependencies to mysqld_DEPENDENCIES
lib_DEPENDENCIES
=
"
\$
(bdb_libs_with_path)
\$
(innodb_libs)
\$
(pstack_libs)
\$
(innodb_system_libs)
\$
(openssl_libs)"
cat
>
$filesed
<<
EOF
s,
\(
^.*
\$
(MAKE) gen_lex_hash
\)
,#
\1
,
s,
\(\.
/gen_lex_hash
\)
,
\1
.linux,
s%
\(
mysqld_DEPENDENCIES =
\)
%
\1
$lib_DEPENDENCIES
%
EOF
;;
sql/share/Makefile.in
)
cat
>
$filesed
<<
EOF
s,
\(
extra/comp_err
\)
,
\1
.linux,
EOF
;;
libmysql/Makefile.in
)
cat
>
$filesed
<<
EOF
s,
\(\.
/conf_to_src
\)\(
\$
(top_srcdir)
\)
,
\1
.linux
\2
,
s,
\(
: conf_to_src
\)
,
\1
.linux,
EOF
;;
libmysql_r/Makefile.in
)
cat
>
$filesed
<<
EOF
s,
\(\.
/conf_to_src
\)\(
\$
(top_srcdir)
\)
,
\1
.linux
\2
,
s,
\(
: conf_to_src
\)
,
\1
.linux,
EOF
;;
strings/Makefile.in
)
cat
>
$filesed
<<
EOF
s,
\(\.
/conf_to_src
\)\(
\$
(top_srcdir)
\)
,
\1
.linux
\2
,
s,
\(
: conf_to_src
\)
,
\1
.linux,
EOF
;;
client/Makefile.in
)
#
cat
>
$filesed
<<
EOF
s,libmysqlclient.la,.libs/libmysqlclient.a,
EOF
;;
esac
if
`
sed
-f
$filesed
$file
>
$file
.nw
`
;
\
then
mv
-f
$file
.nw
$file
rm
-f
$filesed
else
exit
1
fi
# wait for file system changes to complete
sleep
1
done
echo
"done"
#
# Make sure the following files are writable.
#
# When the files are retrieved from some source code control systems they are read-only.
#
echo
-n
"making sure specific build files are writable... "
for
file
in
\
Docs/include.texi
\
Docs/mysql.info
\
Docs/manual.txt
\
Docs/manual_toc.html
\
Docs/manual.html
\
Docs/INSTALL-BINARY
\
INSTALL-SOURCE
\
COPYING
\
COPYING.LIB
\
MIRRORS
do
if
test
-e
$file
;
then
chmod
+w
$file
fi
done
echo
"done"
;;
esac
#---START: Used in for client configure
# Check if we threads are in libc or if we should use
# -lpthread, -lpthreads or mit-pthreads
# We have to check libc last because else it fails on Solaris 2.6
with_posix_threads
=
"no"
# Hack for DEC-UNIX (OSF1)
if
test
"
$with_named_thread
"
=
"no"
-a
"
$with_mit_threads
"
=
"no"
then
# Look for LinuxThreads.
AC_MSG_CHECKING
(
"LinuxThreads"
)
res
=
`
grep
Linuxthreads /usr/include/pthread.h 2>/dev/null |
wc
-l
`
if
test
"
$res
"
-gt
0
then
AC_MSG_RESULT
(
"Found"
)
AC_DEFINE
(
HAVE_LINUXTHREADS
)
# Linux 2.0 sanity check
AC_TRY_COMPILE
([
#include <sched.h>], [int a = sched_get_priority_min(1);], ,
AC_MSG_ERROR
([
Syntax error
in
sched.h. Change _P to __P
in
the /usr/include/sched.h file. See the Installation chapter
in
the Reference Manual]
))
# RedHat 5.0 does not work with dynamic linking of this. -static also
# gives a speed increase in linux so it does not hurt on other systems.
with_named_thread
=
"-lpthread"
else
AC_MSG_RESULT
(
"Not found"
)
# If this is a linux machine we should barf
if
test
"
$IS_LINUX
"
=
"true"
then
AC_MSG_ERROR
([
This is a linux system and Linuxthreads was not
found. On linux Linuxthreads should be used. Please
install
Linuxthreads
(
or a new glibc
)
and try again. See the Installation chapter
in
the
Reference Manual
for
more information.]
)
else
AC_MSG_CHECKING
(
"DEC threads"
)
if
test
-f
/usr/shlib/libpthread.so
-a
-f
/usr/lib/libmach.a
-a
-f
/usr/ccs/lib/cmplrs/cc/libexc.a
then
with_named_thread
=
"-lpthread -lmach -lexc"
CFLAGS
=
"
$CFLAGS
-D_REENTRANT"
CXXFLAGS
=
"
$CXXFLAGS
-D_REENTRANT"
AC_DEFINE
(
HAVE_DEC_THREADS
)
AC_MSG_RESULT
(
"yes"
)
else
AC_MSG_RESULT
(
"no"
)
AC_MSG_CHECKING
(
"DEC 3.2 threads"
)
if
test
-f
/usr/shlib/libpthreads.so
-a
-f
/usr/lib/libmach.a
-a
-f
/usr/ccs/lib/cmplrs/cc/libexc.a
then
with_named_thread
=
"-lpthreads -lmach -lc_r"
AC_DEFINE
(
HAVE_DEC_THREADS
)
AC_DEFINE
(
HAVE_DEC_3_2_THREADS
)
with_osf32_threads
=
"yes"
MYSQLD_DEFAULT_SWITCHES
=
"--skip-thread-priority"
AC_MSG_RESULT
(
"yes"
)
else
AC_MSG_RESULT
(
"no"
)
fi
fi
fi
fi
fi
dnl This is needed because
-lsocket
has to come after the thread
dnl library on SCO.
AC_DEFUN
([
MYSQL_REMOVE_SOCKET_FROM_LIBS_HACK],
[
LIBS
=
`
echo
"
$LIBS
"
|
sed
-e
's/ -lsocket / /g'
`
])
# Hack for SCO UNIX
if
test
"
$with_named_thread
"
=
"no"
then
AC_MSG_CHECKING
(
"SCO threads"
)
if
expr
"
$SYSTEM_TYPE
"
:
".*sco.*"
>
/dev/null
then
if
test
-f
/usr/lib/libgthreads.a
-o
-f
/usr/lib/libgthreads.so
then
MYSQL_REMOVE_SOCKET_FROM_LIBS_HACK
with_named_thread
=
"-lgthreads -lsocket -lgthreads"
# sched.h conflicts with fsu-threads
touch
./include/sched.h
# We must have gcc
if
expr
"
$CC
"
:
".*gcc.*"
then
AC_MSG_RESULT
(
"yes"
)
else
AC_MSG_ERROR
([
On SCO UNIX MySQL must be compiled with gcc. See the Installation chapter
in
the Reference Manual.]
)
;
fi
AC_MSG_RESULT
(
"yes"
)
elif
test
-f
/usr/local/lib/libpthread.a
-o
-f
/usr/local/lib/libpthread.so
then
MYSQL_REMOVE_SOCKET_FROM_LIBS_HACK
with_named_thread
=
"-lpthread -lsocket"
# sched.h conflicts with fsu-threads
# touch ./include/sched.h
AC_MSG_CHECKING
(
"for gcc"
)
# We must have gcc
if
expr
"
$CC
"
:
".*gcc.*"
then
AC_MSG_RESULT
(
"yes"
)
else
AC_MSG_ERROR
([
On SCO UNIX MySQL must be compiled with gcc. See the Installation chapter
in
the Reference Manual.]
)
;
fi
AC_MSG_RESULT
(
"yes"
)
# Hack for SCO UnixWare 7.1.x
#
elif
test
"
$with_named_thread
"
=
"no"
then
AC_MSG_RESULT
(
"no"
)
AC_MSG_CHECKING
(
"SCO UnixWare 7.1.x native threads"
)
if
expr
"
$SYSTEM_TYPE
"
:
".*sco.*"
>
/dev/null
then
if
test
-f
/usr/lib/libthread.so
-o
-f
/usr/lib/libthreadT.so
then
MYSQL_REMOVE_SOCKET_FROM_LIBS_HACK
if
expr
"
$CC
"
:
".*gcc.*"
then
with_named_thread
=
"-pthread -lsocket -lnsl"
else
with_named_thread
=
"-Kthread -lsocket -lnsl"
fi
if
expr
"
$SYSTEM_TYPE
"
:
".*unixware7.0.0"
>
/dev/null
then
AC_DEFINE
(
HAVE_UNIXWARE7_THREADS
)
else
AC_DEFINE
(
HAVE_UNIXWARE7_POSIX
)
fi
AC_MSG_RESULT
(
"yes"
)
# We must have cc
AC_MSG_CHECKING
(
"for gcc"
)
if
expr
"
$CC
"
:
".*gcc.*"
then
CC
=
"
$CC
-pthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK"
;
CXX
=
"
$CXX
-pthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK"
;
else
CC
=
"
$CC
-Kthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK"
;
CXX
=
"
$CXX
-Kthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK"
;
fi
else
{
echo
"configure: error: Can't find thread libs on SCO UnixWare7. See the Installation chapter in the Reference Manual."
1>&2
;
exit
1
;
}
;
fi
else
AC_MSG_RESULT
(
"no"
)
fi
else
AC_MSG_ERROR
([
On SCO UNIX MySQL requires that the FSUThreads package is installed. See the Installation chapter
in
the Reference Manual.]
)
;
fi
else
AC_MSG_RESULT
(
"no"
)
fi
fi
# Hack for SCO UnixWare7
#
if
test
"
$with_named_thread
"
=
"no"
then
AC_MSG_CHECKING
(
"SCO UnixWare7 native threads"
)
if
expr
"
$SYSTEM_TYPE
"
:
".*UnixWare*"
>
/dev/null
then
if
test
-f
/usr/lib/libthread.so
-o
-f
/usr/lib/libthreadT.so
then
MYSQL_REMOVE_SOCKET_FROM_LIBS_HACK
if
expr
"
$CC
"
:
".*gcc.*"
then
with_named_thread
=
"-pthread -lsocket -lnsl"
else
with_named_thread
=
"-Kthread -lsocket -lnsl"
fi
if
expr
"
$SYSTEM_TYPE
"
:
".*unixware7.0.0"
>
/dev/null
then
AC_DEFINE
(
HAVE_UNIXWARE7_THREADS
)
else
AC_DEFINE
(
HAVE_UNIXWARE7_POSIX
)
fi
# We must have cc
AC_MSG_CHECKING
(
"for gcc"
)
if
expr
"
$CC
"
:
".*gcc.*"
then
CC
=
"
$CC
-pthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK"
;
CXX
=
"
$CXX
-pthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK"
;
else
CC
=
"
$CC
-Kthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK"
;
CXX
=
"
$CXX
-Kthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK"
;
fi
AC_MSG_RESULT
(
"yes"
)
else
{
echo
"configure: error: Can't find thread libs on SCO UnixWare7. See the Installation chapter in the Reference Manual."
1>&2
;
exit
1
;
}
;
fi
else
AC_MSG_RESULT
(
"no"
)
fi
fi
# Hack for Caldera OpenUNIX8
#
if
test
"
$with_named_thread
"
=
"no"
then
AC_MSG_CHECKING
(
"OpenUNIX8 native threads"
)
if
expr
"
$SYSTEM_TYPE
"
:
".*OpenUNIX*"
>
/dev/null
then
if
test
-f
/usr/lib/libthread.so
-o
-f
/usr/lib/libthreadT.so
then
MYSQL_REMOVE_SOCKET_FROM_LIBS_HACK
if
expr
"
$CC
"
:
".*gcc.*"
then
with_named_thread
=
"-pthread -lsocket -lnsl"
else
with_named_thread
=
"-Kthread -lsocket -lnsl"
fi
if
expr
"
$SYSTEM_TYPE
"
:
".*unixware7.0.0"
>
/dev/null
then
AC_DEFINE
(
HAVE_UNIXWARE7_THREADS
)
else
AC_DEFINE
(
HAVE_UNIXWARE7_POSIX
)
fi
# We must have cc
AC_MSG_CHECKING
(
"for gcc"
)
if
expr
"
$CC
"
:
".*gcc.*"
then
CC
=
"
$CC
-pthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK"
;
CXX
=
"
$CXX
-pthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK"
;
else
CC
=
"
$CC
-Kthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK"
;
CXX
=
"
$CXX
-Kthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK"
;
fi
AC_MSG_RESULT
(
"yes"
)
else
{
echo
"configure: error: Can't find thread libs on Caldera OpenUNIX 8. See the Installation chapter in the Reference Manual."
1>&2
;
exit
1
;
}
;
fi
else
AC_MSG_RESULT
(
"no"
)
fi
fi
# Hack for Siemens UNIX
if
test
"
$with_named_thread
"
=
"no"
-a
"
$with_mit_threads
"
=
"no"
then
AC_MSG_CHECKING
(
"Siemens threads"
)
if
test
-f
/usr/lib/libxnet.so
-a
"
$SYSTEM_TYPE
"
=
"sni-sysv4"
then
LIBS
=
"-lxnet
$LIBS
"
NON_THREADED_CLIENT_LIBS
=
"
$NON_THREADED_CLIENT_LIBS
-lxnet"
with_named_thread
=
"-Kthread
$LDFLAGS
-lxnet"
LD_FLAGS
=
""
CFLAGS
=
"-Kthread
$CFLAGS
"
CXXFLAGS
=
"-Kthread
$CXXFLAGS
"
AC_MSG_RESULT
(
"yes"
)
else
AC_MSG_RESULT
(
"no"
)
fi
fi
# Use library named -lpthread
if
test
"
$with_named_thread
"
=
"no"
-a
"
$with_pthread
"
=
"yes"
then
with_named_thread
=
"-lpthread"
fi
#---END:
# Hack for Solaris >= 2.5
# We want both the new and the old interface
if
test
"
$with_named_thread
"
=
"no"
-a
"
$with_mit_threads
"
=
"no"
then
AC_MSG_CHECKING
(
"Solaris threads"
)
if
test
-f
/usr/lib/libpthread.so
-a
-f
/usr/lib/libthread.so
then
with_named_thread
=
"-lpthread -lthread"
AC_MSG_RESULT
(
"yes"
)
else
AC_MSG_RESULT
(
"no"
)
fi
fi
TOOLS_LIBS
=
"
$NON_THREADED_CLIENT_LIBS
"
# Should we use named pthread library ?
AC_MSG_CHECKING
(
"named thread libs:"
)
if
test
"
$with_named_thread
"
!=
"no"
then
LIBS
=
"
$with_named_thread
$LIBS
$with_named_thread
"
TOOLS_LIBS
=
"
$with_named_thread
$TOOLS_LIBS
$with_named_thread
"
with_posix_threads
=
"yes"
with_mit_threads
=
"no"
AC_MSG_RESULT
(
"
$with_named_thread
"
)
else
AC_MSG_RESULT
(
"no"
)
if
test
"
$with_mit_threads
"
=
"no"
then
# pthread_create is in standard libraries (As in BSDI 3.0)
AC_MSG_CHECKING
(
"for pthread_create in -libc"
)
;
AC_TRY_LINK
(
[
#include <pthread.h>],
[
(
void
)
pthread_create
((
pthread_t
*
)
0,
(
pthread_attr_t
*
)
0, 0, 0
)
;
]
,
with_posix_threads
=
yes
,
with_posix_threads
=
no
)
AC_MSG_RESULT
(
"
$with_posix_threads
"
)
if
test
"
$with_posix_threads
"
=
"no"
then
AC_MSG_CHECKING
(
"for pthread_create in -lpthread"
)
;
ac_save_LIBS
=
"
$LIBS
"
ac_save_TOOLS_LIBS
=
"
$TOOLS_LIBS
"
LIBS
=
"
$LIBS
-lpthread"
TOOLS_LIBS
=
"
$TOOLS_LIBS
-lpthread"
AC_TRY_LINK
(
[
#include <pthread.h>],
[
(
void
)
pthread_create
((
pthread_t
*
)
0,
(
pthread_attr_t
*
)
0, 0, 0
)
;
]
,
with_posix_threads
=
yes
,
with_posix_threads
=
no
)
AC_MSG_RESULT
(
"
$with_posix_threads
"
)
if
test
"
$with_posix_threads
"
=
"no"
then
LIBS
=
"
$ac_save_LIBS
-lpthreads"
TOOLS_LIBS
=
"
$ac_save_TOOLS_LIBS
-lpthreads"
AC_MSG_CHECKING
(
"for pthread_create in -lpthreads"
)
;
AC_TRY_LINK
(
[
#include <pthread.h>],
[
pthread_create
((
pthread_t
*
)
0,
(
pthread_attr_t
*
)
0, 0, 0
)
;
]
,
with_posix_threads
=
yes
,
with_posix_threads
=
no
)
AC_MSG_RESULT
(
"
$with_posix_threads
"
)
if
test
"
$with_posix_threads
"
=
"no"
then
# This is for FreeBSD
LIBS
=
"
$ac_save_LIBS
-pthread"
TOOLS_LIBS
=
"
$ac_save_TOOLS_LIBS
-pthread"
AC_MSG_CHECKING
(
"for pthread_create in -pthread"
)
;
AC_TRY_LINK
(
[
#include <pthread.h>],
[
pthread_create
((
pthread_t
*
)
0,
(
pthread_attr_t
*
)
0, 0, 0
)
;
]
,
with_posix_threads
=
yes
,
with_posix_threads
=
no
)
AC_MSG_RESULT
(
"
$with_posix_threads
"
)
if
test
"
$with_posix_threads
"
=
"no"
then
with_mit_threads
=
"yes"
LIBS
=
"
$ac_save_LIBS
"
TOOLS_LIBS
=
"
$ac_save_TOOLS_LIBS
"
fi
fi
fi
fi
fi
fi
#---START: Used in for client configure
# Must be checked after, because strtok_r may be in -lpthread
# On AIX strtok_r is in libc_r
my_save_LIBS
=
"
$LIBS
"
AC_CHECK_LIB
(
pthread,strtok_r
)
LIBS
=
"
$my_save_LIBS
"
if
test
"
$ac_cv_lib_pthread_strtok_r
"
=
"no"
then
AC_CHECK_LIB
(
c_r,strtok_r
)
case
"
$with_osf32_threads
---
$target_os
"
in
# Don't keep -lc_r in LIBS; -pthread handles it magically
yes---
*
|
*
---freebsd
*
|
*
---hpux
*
)
LIBS
=
"
$my_save_LIBS
"
;;
esac
AC_CHECK_FUNCS
(
strtok_r pthread_init
)
else
AC_CHECK_FUNCS
(
strtok_r
)
fi
#---END:
# Check for dlopen, needed for user definable functions
# This must be checked after threads on AIX
# We only need this for mysqld, not for the clients.
my_save_LIBS
=
"
$LIBS
"
LIBS
=
""
AC_CHECK_LIB
(
dl,dlopen
)
LIBDL
=
$LIBS
LIBS
=
"
$my_save_LIBS
"
AC_SUBST
(
LIBDL
)
# System characteristics
case
$SYSTEM_TYPE
in
*
netware
*
|
*
modesto
*
)
;;
*
)
AC_SYS_RESTARTABLE_SYSCALLS
;;
esac
# Build optimized or debug version ?
# First check for gcc and g++
if
test
"
$ac_cv_prog_gcc
"
=
"yes"
then
DEBUG_CFLAGS
=
"-g"
DEBUG_OPTIMIZE_CC
=
"-O"
OPTIMIZE_CFLAGS
=
"
$MAX_C_OPTIMIZE
"
else
DEBUG_CFLAGS
=
"-g"
DEBUG_OPTIMIZE_CC
=
""
OPTIMIZE_CFLAGS
=
"-O"
fi
if
test
"
$ac_cv_prog_cxx_g
"
=
"yes"
then
DEBUG_CXXFLAGS
=
"-g"
DEBUG_OPTIMIZE_CXX
=
"-O"
OPTIMIZE_CXXFLAGS
=
"
$MAX_CXX_OPTIMIZE
"
else
DEBUG_CXXFLAGS
=
"-g"
DEBUG_OPTIMIZE_CXX
=
""
OPTIMIZE_CXXFLAGS
=
"-O"
fi
if
expr
"
$SYSTEM_TYPE
"
:
".*netware.*"
>
/dev/null
;
then
DEBUG_CFLAGS
=
"
$DEBUG_CFLAGS
-DDEBUG -sym internal,codeview4"
DEBUG_CXXFLAGS
=
"
$DEBUG_CXXFLAGS
-DDEBUG -sym internal,codeview4"
OPTIMIZE_CFLAGS
=
"
$OPTIMIZE_CFLAGS
-DNDEBUG"
OPTIMIZE_CXXFLAGS
=
"
$OPTIMIZE_CXXFLAGS
-DNDEBUG"
fi
AC_ARG_WITH
(
debug,
[
--without-debug
Build a production version without debugging code],
[
with_debug
=
$withval
]
,
[
with_debug
=
no]
)
if
test
"
$with_debug
"
=
"yes"
then
# Medium debug.
CFLAGS
=
"
$DEBUG_CFLAGS
$DEBUG_OPTIMIZE_CC
-DDBUG_ON -DSAFE_MUTEX
$CFLAGS
"
CXXFLAGS
=
"
$DEBUG_CXXFLAGS
$DEBUG_OPTIMIZE_CXX
-DSAFE_MUTEX
$CXXFLAGS
"
elif
test
"
$with_debug
"
=
"full"
then
# Full debug. Very slow in some cases
CFLAGS
=
"
$DEBUG_CFLAGS
-DDBUG_ON -DSAFE_MUTEX -DSAFEMALLOC
$CFLAGS
"
CXXFLAGS
=
"
$DEBUG_CXXFLAGS
-DSAFE_MUTEX -DSAFEMALLOC
$CXXFLAGS
"
else
# Optimized version. No debug
CFLAGS
=
"
$OPTIMIZE_CFLAGS
-DDBUG_OFF
$CFLAGS
"
CXXFLAGS
=
"
$OPTIMIZE_CXXFLAGS
-DDBUG_OFF
$CXXFLAGS
"
fi
# Force static compilation to avoid linking problems/get more speed
AC_ARG_WITH
(
mysqld-ldflags,
[
--with-mysqld-ldflags
Extra linking arguments
for
mysqld],
[
MYSQLD_EXTRA_LDFLAGS
=
$withval
]
,
[
MYSQLD_EXTRA_LDFLAGS
=])
AC_SUBST
(
MYSQLD_EXTRA_LDFLAGS
)
AC_ARG_WITH
(
client-ldflags,
[
--with-client-ldflags
Extra linking arguments
for
clients],
[
CLIENT_EXTRA_LDFLAGS
=
$withval
]
,
[
CLIENT_EXTRA_LDFLAGS
=])
AC_SUBST
(
CLIENT_EXTRA_LDFLAGS
)
AC_ARG_WITH
(
lib-ccflags,
[
--with-lib-ccflags
Extra CC options
for
libraries],
[
LIB_EXTRA_CCFLAGS
=
$withval
]
,
[
LIB_EXTRA_CCFLAGS
=])
AC_SUBST
(
LIB_EXTRA_CCFLAGS
)
# Avoid stupid bug on some OS
AC_ARG_WITH
(
low-memory,
[
--with-low-memory
Try to use less memory to compile to avoid
memory limitations.],
[
with_lowmem
=
$withval
]
,
[
with_lowmem
=
no]
)
if
test
"
$with_lowmem
"
=
"yes"
then
if
test
"
$ac_cv_prog_gcc
"
=
"yes"
then
LM_CFLAGS
=
"-fno-inline"
else
LM_CFLAGS
=
"-O0"
fi
else
LM_CFLAGS
=
""
fi
AC_SUBST
(
LM_CFLAGS
)
AC_ARG_WITH
(
comment,
[
--with-comment
Comment about compilation environment.],
[
with_comment
=
$withval
]
,
[
with_comment
=
no]
)
if
test
"
$with_comment
"
!=
"no"
then
COMPILATION_COMMENT
=
$with_comment
else
COMPILATION_COMMENT
=
"Source distribution"
fi
AC_SUBST
(
COMPILATION_COMMENT
)
AC_MSG_CHECKING
(
"need of special linking flags"
)
if
test
"
$IS_LINUX
"
=
"true"
-a
"
$ac_cv_prog_gcc
"
=
"yes"
-a
"
$all_is_static
"
!=
"yes"
then
LDFLAGS
=
"
$LDFLAGS
-rdynamic"
AC_MSG_RESULT
(
"-rdynamic"
)
else
AC_MSG_RESULT
(
"none"
)
fi
dnl Checks
for
typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_C_INLINE
AC_TYPE_OFF_T
AC_STRUCT_ST_RDEV
AC_HEADER_TIME
AC_STRUCT_TM
# AC_CHECK_SIZEOF return 0 when it does not find the size of a
# type. We want a error instead.
AC_CHECK_SIZEOF
(
char, 1
)
if
test
"
$ac_cv_sizeof_char
"
-eq
0
then
AC_MSG_ERROR
([
No size
for
char type.
A likely cause
for
this could be that there isn
't any
static libraries installed. You can verify this by checking if you have libm.a
in /lib, /usr/lib or some other standard place. If this is the problem,
install the static libraries and try again. If this isn'
t the problem,
examine config.log
for
possible errors. If you want to report this, use
'scripts/mysqlbug'
and include at least the last 20 rows from config.log!]
)
fi
AC_CHECK_SIZEOF
(
char
*
, 4
)
AC_CHECK_SIZEOF
(
int, 4
)
if
test
"
$ac_cv_sizeof_int
"
-eq
0
then
AC_MSG_ERROR
(
"No size for int type."
)
fi
AC_CHECK_SIZEOF
(
long, 4
)
if
test
"
$ac_cv_sizeof_long
"
-eq
0
then
AC_MSG_ERROR
(
"No size for long type."
)
fi
AC_CHECK_SIZEOF
(
long long, 8
)
if
test
"
$ac_cv_sizeof_long_long
"
-eq
0
then
AC_MSG_ERROR
(
"MySQL needs a long long type."
)
fi
# off_t is not a builtin type
MYSQL_CHECK_SIZEOF
(
off_t, 4
)
if
test
"
$ac_cv_sizeof_off_t
"
-eq
0
then
AC_MSG_ERROR
(
"MySQL needs a off_t type."
)
fi
# This always gives a warning. Ignore it unless you are cross compiling
AC_C_BIGENDIAN
#---START: Used in for client configure
# Check base type of last arg to accept
MYSQL_TYPE_ACCEPT
#---END:
# Find where the stack goes
MYSQL_STACK_DIRECTION
# We want to skip alloca on irix unconditionally. It may work on some version..
MYSQL_FUNC_ALLOCA
# Do struct timespec have members tv_sec or ts_sec
MYSQL_TIMESPEC_TS
# Do we have the tzname variable
MYSQL_TZNAME
# Do the system files define ulong
MYSQL_CHECK_ULONG
# Do the system files define uchar
MYSQL_CHECK_UCHAR
# Do the system files define uint
MYSQL_CHECK_UINT
# Check for fp_except in ieeefp.h
MYSQL_CHECK_FP_EXCEPT
# Check for IN_ADDR_T
MYSQL_CHECK_IN_ADDR_T
# Do the c++ compiler have a bool type
MYSQL_CXX_BOOL
# Check some common bugs with gcc 2.8.# on sparc
if
!
(
expr
"
$SYSTEM_TYPE
"
:
".*netware.*"
>
/dev/null
)
;
then
MYSQL_CHECK_LONGLONG_TO_FLOAT
if
test
"
$ac_cv_conv_longlong_to_float
"
!=
"yes"
then
AC_MSG_ERROR
([
Your compiler cannot convert a longlong value to a float!
If you are using gcc 2.8.# you should upgrade to egcs 1.0.3 or newer and try
again]
)
;
fi
fi
MYSQL_PTHREAD_YIELD
######################################################################
# For readline/libedit (We simply move the mimimum amount of stuff from
# the readline/libedit configure.in here)
dnl Checks
for
header files.
AC_CHECK_HEADERS
(
malloc.h sys/cdefs.h
)
dnl Checks
for
library functions.
AC_FUNC_ALLOCA
AC_PROG_GCC_TRADITIONAL
AC_TYPE_SIGNAL
AC_CHECK_FUNCS
(
re_comp regcomp strdup
)
AC_CHECK_HEADERS
(
vis.h
)
AC_CHECK_FUNCS
(
strlcat strlcpy
)
AC_CHECK_FUNCS
(
issetugid
)
AC_CHECK_FUNCS
(
fgetln
)
AC_CHECK_FUNCS
(
getline flockfile
)
# from old readline settting:
MAKE_SHELL
=
/bin/sh
AC_SUBST
(
MAKE_SHELL
)
# Already-done: stdlib.h string.h unistd.h termios.h
AC_CHECK_HEADERS
(
varargs.h stdarg.h dirent.h locale.h ndir.h sys/dir.h
\
sys/file.h sys/ndir.h sys/ptem.h sys/pte.h sys/select.h sys/stream.h
\
sys/mman.h curses.h termcap.h termio.h termbits.h asm/termbits.h grp.h
\
paths.h semaphore.h
)
# Already-done: strcasecmp
AC_CHECK_FUNCS
(
lstat putenv
select
setenv setlocale strcoll tcgetattr
)
AC_STAT_MACROS_BROKEN
MYSQL_SIGNAL_CHECK
MYSQL_CHECK_GETPW_FUNCS
MYSQL_HAVE_TIOCGWINSZ
MYSQL_HAVE_FIONREAD
MYSQL_HAVE_TIOCSTAT
MYSQL_STRUCT_DIRENT_D_INO
MYSQL_TYPE_SIGHANDLER
if
test
"
$with_named_curses
"
=
"no"
then
MYSQL_CHECK_LIB_TERMCAP
else
TERMCAP_LIB
=
"
$with_named_curses
"
fi
AC_SUBST
(
TERMCAP_LIB
)
# End of readline/libedit stuff
#########################################################################
dnl Checks
for
library functions.
#
# The following code disables intrinsic function support while we test for
# library functions. This is to avoid configure problems with Intel ecc
# compiler
ORG_CFLAGS
=
"
$CFLAGS
"
if
test
"
$GCC
"
!=
"yes"
;
then
AC_SYS_COMPILER_FLAG
(
-nolib_inline
,nolib_inline,CFLAGS,[],[]
)
fi
AC_FUNC_MMAP
AC_TYPE_SIGNAL
MYSQL_TYPE_QSORT
AC_FUNC_UTIME_NULL
AC_FUNC_VPRINTF
AC_CHECK_FUNCS
(
alarm bcmp bfill bmove bzero chsize cuserid fchmod fcntl
\
fconvert fdatasync finite fpresetsticky fpsetmask fsync ftruncate
\
getcwd gethostbyaddr_r gethostbyname_r getpass getpassphrase getpwnam
\
getpwuid getrlimit getrusage getwd gmtime_r index initgroups isnan
\
localtime_r locking longjmp lrand48 madvise mallinfo memcpy memmove
\
mkstemp mlockall perror poll pread pthread_attr_create clock_gettime
\
pthread_attr_getstacksize pthread_attr_setprio pthread_attr_setschedparam
\
pthread_attr_setstacksize pthread_condattr_create pthread_getsequence_np
\
pthread_key_delete pthread_rwlock_rdlock pthread_setprio
\
pthread_setprio_np pthread_setschedparam pthread_sigmask
readlink
\
realpath
rename rint rwlock_init setupterm sighold sigset sigthreadmask
\
snprintf socket stpcpy strcasecmp strerror strnlen strpbrk strstr strtol
\
strtoll strtoul strtoull tell tempnam thr_setconcurrency vidattr
)
# isinf() could be a function or a macro (HPUX)
AC_MSG_CHECKING
(
for
isinf with <math.h>
)
AC_TRY_LINK
([
#include <math.h>], [float f = 0.0; isinf(f)],
AC_MSG_RESULT
(
yes
)
AC_DEFINE
(
HAVE_ISINF,,[isinf
()
macro or
function
])
,
AC_MSG_RESULT
(
no
))
CFLAGS
=
"
$ORG_CFLAGS
"
# Sanity check: We chould not have any fseeko symbol unless
# large_file_support=yes
AC_CHECK_FUNC
(
fseeko,
[
if
test
"
$large_file_support
"
=
no
-a
"
$IS_LINUX
"
=
"true"
;
then
AC_MSG_ERROR
(
"Found fseeko symbol but large_file_support is not enabled!"
)
;
fi
]
)
my_save_LIBS
=
"
$LIBS
"
LIBS
=
"
$LIBS
$LIBDL
"
AC_CHECK_FUNCS
(
dlopen dlerror
)
LIBS
=
"
$my_save_LIBS
"
# Check definition of gethostbyaddr_r (glibc2 defines this with 8 arguments)
ac_save_CXXFLAGS
=
"
$CXXFLAGS
"
AC_CACHE_CHECK
([
style of gethost
*
routines], mysql_cv_gethost_style,
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
# Do not treat warnings as errors if we are linking against other libc
# this is to work around gcc not being permissive on non-system includes
# with respect to ANSI C++
# We also remove the -fbranch-probabilities option as this will give warnings
# about not profiled code, which confuses configure
if
test
"
$ac_cv_prog_gxx
"
=
"yes"
-a
"
$with_other_libc
"
=
"no"
then
CXXFLAGS
=
`
echo
"
$CXXFLAGS
-Werror"
|
sed
's/-fbranch-probabilities//'
`
fi
AC_TRY_COMPILE
(
[
#undef inline
#if !defined(SCO) && !defined(__osf__) && !defined(_REENTRANT)
#define _REENTRANT
#endif
#include <pthread.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>],
[
int skr
;
struct hostent
*
foo
=
gethostbyaddr_r
((
const char
*
)
0,
0, 0,
(
struct hostent
*
)
0,
(
char
*
)
NULL, 0, &skr
)
;
return
(
foo
==
0
)
;
]
,
mysql_cv_gethost_style
=
solaris,
mysql_cv_gethost_style
=
other
))
AC_LANG_RESTORE
CXXFLAGS
=
"
$ac_save_CXXFLAGS
"
if
test
"
$mysql_cv_gethost_style
"
=
"solaris"
then
AC_DEFINE
(
HAVE_SOLARIS_STYLE_GETHOST
)
fi
#---START: Used in for client configure
# Check definition of gethostbyname_r (glibc2.0.100 is different from Solaris)
ac_save_CXXFLAGS
=
"
$CXXFLAGS
"
AC_CACHE_CHECK
([
style of gethostname_r routines], mysql_cv_gethostname_style,
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
if
test
"
$ac_cv_prog_gxx
"
=
"yes"
-a
"
$with_other_libc
"
=
"no"
then
CXXFLAGS
=
`
echo
"
$CXXFLAGS
-Werror"
|
sed
's/-fbranch-probabilities//'
`
fi
AC_TRY_COMPILE
(
[
#undef inline
#if !defined(SCO) && !defined(__osf__) && !defined(_REENTRANT)
#define _REENTRANT
#endif
#include <pthread.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>],
[
int skr
;
skr
=
gethostbyname_r
((
const char
*
)
0,
(
struct hostent
*
)
0,
(
char
*
)
0, 0,
(
struct hostent
**
)
0, &skr
)
;
]
,
mysql_cv_gethostname_style
=
glibc2,
mysql_cv_gethostname_style
=
other
))
AC_LANG_RESTORE
CXXFLAGS
=
"
$ac_save_CXXFLAGS
"
if
test
"
$mysql_cv_gethostname_style
"
=
"glibc2"
then
AC_DEFINE
(
HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE
)
fi
# Check 3rd argument of getthostbyname_r
ac_save_CXXFLAGS
=
"
$CXXFLAGS
"
AC_CACHE_CHECK
([
3 argument to gethostname_r routines], mysql_cv_gethostname_arg,
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
if
test
"
$ac_cv_prog_gxx
"
=
"yes"
-a
"
$with_other_libc
"
=
"no"
then
CXXFLAGS
=
`
echo
"
$CXXFLAGS
-Werror"
|
sed
's/-fbranch-probabilities//'
`
fi
AC_TRY_COMPILE
(
[
#undef inline
#if !defined(SCO) && !defined(__osf__) && !defined(_REENTRANT)
#define _REENTRANT
#endif
#include <pthread.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>],
[
int skr
;
skr
=
gethostbyname_r
((
const char
*
)
0,
(
struct hostent
*
)
0,
(
struct hostent_data
*
)
0
)
;
]
,
mysql_cv_gethostname_arg
=
hostent_data,
mysql_cv_gethostname_arg
=
char
))
AC_LANG_RESTORE
CXXFLAGS
=
"
$ac_save_CXXFLAGS
"
if
test
"
$mysql_cv_gethostname_arg
"
=
"hostent_data"
then
AC_DEFINE
(
HAVE_GETHOSTBYNAME_R_RETURN_INT
)
fi
if
test
"
$with_mit_threads
"
=
"no"
then
# Check definition of pthread_getspecific
AC_CACHE_CHECK
(
"args to pthread_getspecific"
, mysql_cv_getspecific_args,
AC_TRY_COMPILE
(
[
#if !defined(SCO) && !defined(__osf__) && !defined(_REENTRANT)
#define _REENTRANT
#endif
#define _POSIX_PTHREAD_SEMANTICS
#include <pthread.h> ],
[
void
*
pthread_getspecific
(
pthread_key_t key
)
;
pthread_getspecific
((
pthread_key_t
)
NULL
)
;
]
,
mysql_cv_getspecific_args
=
POSIX,
mysql_cv_getspecific_args
=
other
))
if
test
"
$mysql_cv_getspecific_args
"
=
"other"
then
AC_DEFINE
(
HAVE_NONPOSIX_PTHREAD_GETSPECIFIC
)
fi
# Check definition of pthread_mutex_init
AC_CACHE_CHECK
(
"args to pthread_mutex_init"
, mysql_cv_mutex_init_args,
AC_TRY_COMPILE
(
[
#if !defined(SCO) && !defined(__osf__)
#define _REENTRANT
#endif
#define _POSIX_PTHREAD_SEMANTICS
#include <pthread.h> ],
[
pthread_mutexattr_t attr
;
pthread_mutex_t mp
;
pthread_mutex_init
(
&mp,&attr
)
;
]
,
mysql_cv_mutex_init_args
=
POSIX,
mysql_cv_mutex_init_args
=
other
))
if
test
"
$mysql_cv_mutex_init_args
"
=
"other"
then
AC_DEFINE
(
HAVE_NONPOSIX_PTHREAD_MUTEX_INIT
)
fi
fi
#---END:
#---START: Used in for client configure
# Check definition of readdir_r
AC_CACHE_CHECK
(
"args to readdir_r"
, mysql_cv_readdir_r,
AC_TRY_LINK
(
[
#if !defined(SCO) && !defined(__osf__)
#define _REENTRANT
#endif
#define _POSIX_PTHREAD_SEMANTICS
#include <pthread.h>
#include <dirent.h>],
[
int readdir_r
(
DIR
*
dirp, struct dirent
*
entry, struct dirent
**
result
)
;
readdir_r
((
DIR
*
)
NULL,
(
struct dirent
*
)
NULL,
(
struct dirent
**
)
NULL
)
;
]
,
mysql_cv_readdir_r
=
POSIX,
mysql_cv_readdir_r
=
other
))
if
test
"
$mysql_cv_readdir_r
"
=
"POSIX"
then
AC_DEFINE
(
HAVE_READDIR_R
)
fi
# Check definition of posix sigwait()
AC_CACHE_CHECK
(
"style of sigwait"
, mysql_cv_sigwait,
AC_TRY_LINK
(
[
#if !defined(SCO) && !defined(__osf__)
#define _REENTRANT
#endif
#define _POSIX_PTHREAD_SEMANTICS
#include <pthread.h>
#include <signal.h>],
[
#ifndef _AIX
sigset_t
set
;
int sig
;
sigwait
(
&set,&sig
)
;
#endif],
mysql_cv_sigwait
=
POSIX,
mysql_cv_sigwait
=
other
))
if
test
"
$mysql_cv_sigwait
"
=
"POSIX"
then
AC_DEFINE
(
HAVE_SIGWAIT
)
fi
if
test
"
$mysql_cv_sigwait
"
!=
"POSIX"
then
unset
mysql_cv_sigwait
# Check definition of posix sigwait()
AC_CACHE_CHECK
(
"style of sigwait"
, mysql_cv_sigwait,
AC_TRY_LINK
(
[
#if !defined(SCO) && !defined(__osf__)
#define _REENTRANT
#endif
#define _POSIX_PTHREAD_SEMANTICS
#include <pthread.h>
#include <signal.h>],
[
sigset_t
set
;
int sig
;
sigwait
(
&set
)
;
]
,
mysql_cv_sigwait
=
NONPOSIX,
mysql_cv_sigwait
=
other
))
if
test
"
$mysql_cv_sigwait
"
=
"NONPOSIX"
then
AC_DEFINE
(
HAVE_NONPOSIX_SIGWAIT
)
fi
fi
#---END:
# Check if pthread_attr_setscope() exists
AC_CACHE_CHECK
(
"for pthread_attr_setscope"
, mysql_cv_pthread_attr_setscope,
AC_TRY_LINK
(
[
#if !defined(SCO) && !defined(__osf__)
#define _REENTRANT
#endif
#define _POSIX_PTHREAD_SEMANTICS
#include <pthread.h>],
[
pthread_attr_t thr_attr
;
pthread_attr_setscope
(
&thr_attr,0
)
;
]
,
mysql_cv_pthread_attr_setscope
=
yes
,
mysql_cv_pthread_attr_setscope
=
no
))
if
test
"
$mysql_cv_pthread_attr_setscope
"
=
"yes"
then
AC_DEFINE
(
HAVE_PTHREAD_ATTR_SETSCOPE
)
fi
# Check for bad includes
AC_MSG_CHECKING
(
"can netinet files be included"
)
AC_TRY_COMPILE
(
[
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in_systm.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>],
[
printf
(
"1
\n
"
)
;
]
,
netinet_inc
=
yes
,
netinet_inc
=
no
)
if
test
"
$netinet_inc
"
=
"no"
then
AC_DEFINE
(
HAVE_BROKEN_NETINET_INCLUDES
)
fi
AC_MSG_RESULT
(
"
$netinet_inc
"
)
# Some usefull subst
AC_SUBST
(
CC
)
AC_SUBST
(
GXX
)
# Output results
AC_OUTPUT
(
Makefile dnl
, ,
[
test
-z
"
$CONFIG_HEADERS
"
||
echo
timestamp
>
stamp-h
])
ndb/include/Makefile.am
View file @
20a42316
...
@@ -22,8 +22,6 @@ ndbapi/NdbReceiver.hpp \
...
@@ -22,8 +22,6 @@ ndbapi/NdbReceiver.hpp \
ndbapi/NdbResultSet.hpp
\
ndbapi/NdbResultSet.hpp
\
ndbapi/NdbScanFilter.hpp
\
ndbapi/NdbScanFilter.hpp
\
ndbapi/NdbScanOperation.hpp
\
ndbapi/NdbScanOperation.hpp
\
ndbapi/NdbSchemaCon.hpp
\
ndbapi/NdbSchemaOp.hpp
\
ndbapi/ndberror.h
ndbapi/ndberror.h
mgmapiinclude_HEADERS
=
\
mgmapiinclude_HEADERS
=
\
...
...
ndb/include/ndbapi/NdbDictionary.hpp
View file @
20a42316
...
@@ -298,6 +298,11 @@ public:
...
@@ -298,6 +298,11 @@ public:
*/
*/
int
getLength
()
const
;
int
getLength
()
const
;
/**
* Get size of element
*/
int
Column
::
getSize
()
const
;
/**
/**
* Set distribution key
* Set distribution key
*
*
...
@@ -349,6 +354,7 @@ public:
...
@@ -349,6 +354,7 @@ public:
#endif
#endif
private:
private:
friend
class
NdbRecAttr
;
friend
class
NdbColumnImpl
;
friend
class
NdbColumnImpl
;
class
NdbColumnImpl
&
m_impl
;
class
NdbColumnImpl
&
m_impl
;
Column
(
NdbColumnImpl
&
);
Column
(
NdbColumnImpl
&
);
...
@@ -1030,4 +1036,6 @@ public:
...
@@ -1030,4 +1036,6 @@ public:
};
};
};
};
class
NdbOut
&
operator
<<
(
class
NdbOut
&
ndbout
,
const
NdbDictionary
::
Column
::
Type
type
);
#endif
#endif
ndb/include/ndbapi/NdbRecAttr.hpp
View file @
20a42316
...
@@ -20,7 +20,6 @@
...
@@ -20,7 +20,6 @@
#include <NdbDictionary.hpp>
#include <NdbDictionary.hpp>
class
NdbOperation
;
class
NdbOperation
;
class
AttrInfo
;
/**
/**
* @class NdbRecAttr
* @class NdbRecAttr
...
@@ -77,7 +76,8 @@ class NdbRecAttr
...
@@ -77,7 +76,8 @@ class NdbRecAttr
friend
class
NdbEventOperationImpl
;
friend
class
NdbEventOperationImpl
;
friend
class
NdbScanReceiver
;
friend
class
NdbScanReceiver
;
friend
class
Ndb
;
friend
class
Ndb
;
friend
class
NdbOut
&
operator
<<
(
class
NdbOut
&
,
const
class
AttributeS
&
);
public:
public:
/**
/**
* @name Getting meta information
* @name Getting meta information
...
@@ -254,6 +254,7 @@ private:
...
@@ -254,6 +254,7 @@ private:
void
next
(
NdbRecAttr
*
aRecAttr
);
void
next
(
NdbRecAttr
*
aRecAttr
);
NdbRecAttr
*
next
()
const
;
NdbRecAttr
*
next
()
const
;
int
setup
(
const
class
NdbDictionary
::
Column
*
col
,
char
*
aValue
);
int
setup
(
const
class
NdbColumnImpl
*
anAttrInfo
,
char
*
aValue
);
int
setup
(
const
class
NdbColumnImpl
*
anAttrInfo
,
char
*
aValue
);
/* Set up attributes and buffers */
/* Set up attributes and buffers */
bool
copyoutRequired
()
const
;
/* Need to copy data to application */
bool
copyoutRequired
()
const
;
/* Need to copy data to application */
...
...
ndb/old_files/BinDist.sh
deleted
100644 → 0
View file @
5a8303a3
#
# Invoked from scripts/make_binary_distribution as "sh BinDist.sh".
# Prints list of dirs and files to include under mysql/ndb.
#
# release notes
grep
-v
'^#'
<<
__END__
#ReleaseNotes.html
mysqlclusterenv.sh
__END__
# subset of bins, libs, includes
grep
-v
'^#'
<<
__END__
bin/
bin/ndb
bin/mgmtsrvr
bin/mgmtclient
bin/mysqlcluster
bin/mysqlcluster_install_db
bin/mysqlclusterd
bin/restore
bin/ndb_rep
bin/desc
bin/flexBench
bin/select_all
bin/select_count
bin/delete_all
#bin/ndbsql
bin/drop_tab
bin/drop_index
bin/list_tables
bin/waiter
lib/
lib/libNEWTON_API.a
lib/libNEWTON_API.so
lib/libNDB_API.a
lib/libNDB_API.so
lib/libMGM_API.a
lib/libMGM_API.so
#lib/libNDB_ODBC.so
lib/libMGM_API_pic.a
lib/libNDB_API_pic.a
include/
include/ndb_types.h
include/ndb_version.h
include/mgmapi/
include/mgmapi/mgmapi.h
include/mgmapi/mgmapi_debug.h
include/ndbapi/
include/ndbapi/ndbapi_limits.h
include/ndbapi/Ndb.hpp
include/ndbapi/NdbApi.hpp
include/ndbapi/NdbConnection.hpp
include/ndbapi/NdbCursorOperation.hpp
include/ndbapi/NdbDictionary.hpp
include/ndbapi/NdbError.hpp
include/ndbapi/NdbEventOperation.hpp
include/ndbapi/NdbIndexOperation.hpp
include/ndbapi/NdbOperation.hpp
include/ndbapi/NdbPool.hpp
include/ndbapi/NdbRecAttr.hpp
include/ndbapi/NdbReceiver.hpp
include/ndbapi/NdbResultSet.hpp
include/ndbapi/NdbScanFilter.hpp
include/ndbapi/NdbScanOperation.hpp
include/ndbapi/NdbSchemaCon.hpp
include/ndbapi/NdbSchemaOp.hpp
include/newtonapi/dba.h
include/newtonapi/defs/pcn_types.h
__END__
#if [ -f /usr/local/lib/libstdc++.a ]; then
# cp /usr/local/lib/libstdc++.a lib/.
# echo lib/libstdc++.a
#fi
#if [ -f /usr/local/lib/libstdc++.so.5 ]; then
# cp /usr/local/lib/libstdc++.so.5 lib/.
# echo lib/libstdc++.so.5
#fi
#if [ -f /usr/local/lib/libgcc_s.so.1 ]; then
# cp /usr/local/lib/libgcc_s.so.1 lib/.
# echo lib/libgcc_s.so.1
#fi
# docs
#find docs/*.html docs/*.pdf -print | sort -t/
# demos
find demos
-print
|
grep
-v
/SCCS |
sort
-t
/
# examples
grep
-v
'^#'
<<
__END__
examples/
examples/Makefile
examples/ndbapi_example1/
examples/ndbapi_example1/Makefile
examples/ndbapi_example1/ndbapi_example1.cpp
examples/ndbapi_example2/
examples/ndbapi_example2/Makefile
examples/ndbapi_example2/ndbapi_example2.cpp
examples/ndbapi_example3/
examples/ndbapi_example3/Makefile
examples/ndbapi_example3/ndbapi_example3.cpp
examples/ndbapi_example4/
examples/ndbapi_example4/Makefile
examples/ndbapi_example4/ndbapi_example4.cpp
examples/ndbapi_example5/
examples/ndbapi_example5/Makefile
examples/ndbapi_example5/ndbapi_example5.cpp
examples/select_all/
examples/select_all/Makefile
examples/select_all/select_all.cpp
__END__
exit
0
ndb/old_files/Defs.mk
deleted
100644 → 0
View file @
5a8303a3
include
$(NDB_TOP)/config/config.mk
include
$(NDB_TOP)/config/Defs.$(NDB_VERSION).mk
include
$(NDB_TOP)/config/Defs.$(NDB_OS).$(NDB_ARCH).$(NDB_COMPILER).mk
ifeq
($(NDB_OS), WIN32)
# Windows specific definitions
OBJEXT
:=
obj
LIBEXT
:=
lib
LIBPREFIX
:=
fixpath
=
`
cygpath
-w
$1
`
ar_rcs
=
lib
-out
:
`
cygpath
-w
$1
`
$2
link_so
=
link
-DLL
-OUT
:
`
cygpath
-w
$1
`
$(WIN_LIBS)
$2
#check-odbc = Y
USE_EDITLINE
:=
N
#STRCASECMP is defined in include/portlib/PortDefs.h to _strcmpi
else
#Common definitions for almost all non-Windows environments
OBJEXT
:=
o
LIBEXT
:=
a
LIBPREFIX
:=
lib
fixpath
=
$1
ar_rcs
=
$(AR_RCS)
$1
$2
#check-odbc = $(findstring sqlext.h, $(wildcard /usr/include/sqlext.h) $(wildcard /usr/local/include/sqlext.h))
endif
ifeq
($(NDB_OS), WIN32)
SHLIBEXT
:=
dll
endif
ifeq
($(NDB_OS), LINUX)
SHLIBEXT
:=
so
endif
ifeq
($(NDB_OS), SOLARIS)
SHLIBEXT
:=
so
endif
ifeq
($(NDB_OS), HPUX)
SHLIBEXT
:=
sl
endif
ifeq
($(NDB_OS), MACOSX)
SHLIBEXT
:=
dylib
endif
ifeq
($(NDB_OS), OSE)
SHLIBEXT
:=
so
endif
ifeq
($(NDB_OS), SOFTOSE)
SHLIBEXT
:=
so
endif
ifeq
($(NDB_SCI), Y)
CCFLAGS_TOP
+=
-DHAVE_NDB_SCI
endif
ifeq
($(NDB_SHM), Y)
CCFLAGS_TOP
+=
-DHAVE_NDB_SHM
endif
ifneq
($(findstring OSE, $(NDB_OS)),)
USE_EDITLINE
:=
N
endif
ndb/old_files/Epilogue.mk
deleted
100644 → 0
View file @
5a8303a3
# .KEEP_STATE:
# bk test !!!
###
# For building some intermediary targets in /tmp (only useful on solaris)
ifneq
($(NDB_BUILDROOT),)
NDB_TOPABS
:=
$(
shell
cd
$(NDB_TOP)
&&
/bin/pwd
)
NDB_BUILDDIR
:=
$(
subst
$(NDB_TOPABS)
,
$(NDB_BUILDROOT)
,
$(CURDIR)
)
/
ifeq
($(wildcard $(NDB_BUILDDIR)),)
dummy
:=
$(
shell
mkdir
-p
$(NDB_BUILDDIR)
)
endif
endif
###
CCFLAGS_TOP
+=
-DNDB_
$(NDB_OS)
-DNDB_
$(NDB_ARCH)
-DNDB_
$(NDB_COMPILER)
ifdef
BIN_TARGET
BIN_EXE
=
Y
endif
###
#
# OS specifics
#
# Disable shared libraries on HP-UX for the time being.
ifeq
($(NDB_OS), HPUX)
SO_LIB
:=
N
PIC_LIB
:=
N
PIC_ARCHIVE
:=
N
NONPIC_ARCHIVE
:=
Y
endif
ifeq
($(NDB_OS), OSE)
SO_LIB
:=
N
PIC_LIB
:=
N
PIC_ARCHIVE
:=
N
NONPIC_ARCHIVE
:=
Y
ifdef
BIN_TARGET
BIN_LIB_TARGET
:=
lib
$(BIN_TARGET)
.a
BIN_TARGET
:=
lib
$(BIN_TARGET)
.a
endif
endif
ifeq
($(NDB_OS), SOFTOSE)
SO_LIB
:=
N
PIC_LIB
:=
N
PIC_ARCHIVE
:=
N
ifdef
BIN_TARGET
BIN_EXE_TARGET
:=
$(BIN_TARGET)
BIN_LIB_TARGET
:=
lib
$(BIN_TARGET)
.a
EXTRA_MAIN
:=
osemain.o
endif
endif
ifeq
($(filter OSE, $(NDB_OS)),)
BIN_EXE_TARGET
:=
$(BIN_TARGET)
endif
ifeq
($(NDB_OS), MACOSX)
.LIBPATTERNS
=
lib%.dylib lib%.a
endif
###
#
#
###
# External dependencies definition : the place we store libraries
# we get from outside the NDB development group.
EXTERNAL_DEPENDS_TOP
=
$(NDB_TOP)
/src/external/
$(NDB_OS)
.
$(NDB_ARCH)
###
#
# TYPE Handling
#
# TYPE := kernel
#
ifneq
($(filter kernel, $(TYPE)),)
CCFLAGS_LOC
+=
\
-I
$(
call
fixpath,
$(NDB_TOP)
/src/kernel/vm
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/src/kernel/error
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/src/kernel
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/kernel
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/transporter
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/debugger
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/mgmcommon
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/mgmapi
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/ndbapi
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/util
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/portlib
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/logger
)
endif
#
# TYPE := ndbapi
#
ifneq
($(filter ndbapi, $(TYPE)),)
CCFLAGS_LOC
+=
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/kernel
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/transporter
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/debugger
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/mgmcommon
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/mgmapi
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/ndbapi
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/util
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/portlib
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/logger
)
endif
#
# TYPE := ndbapiclient
#
ifneq
($(filter ndbapiclient, $(TYPE)),)
CCFLAGS_LOC
+=
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/ndbapi
)
BIN_TARGET_LIBS
+=
NDB_API
endif
#
# TYPE := mgmapiclient
#
ifneq
($(filter mgmapiclient, $(TYPE)),)
CCFLAGS_LOC
+=
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/mgmapi
)
BIN_TARGET_LIBS
+=
MGM_API
endif
#
# TYPE := ndbapitest
#
ifneq
($(filter ndbapitest, $(TYPE)),)
CCFLAGS_LOC
+=
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/ndbapi
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/util
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/portlib
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/test/include
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/mgmapi
)
BIN_TARGET_LIBS
+=
NDBT
LDFLAGS_LOC
+=
-lNDB_API
-lMGM_API
-lm
endif
#
# TYPE := signalsender
#
ifneq
($(filter signalsender, $(TYPE)),)
CCFLAGS_LOC
+=
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/ndbapi
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/src/ndbapi
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/src/ndbapi/signal-sender
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/util
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/portlib
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/transporter
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/mgmcommon
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/kernel
)
BIN_TARGET_LIBS
+=
NDB_API
BIN_TARGET_ARCHIVES
+=
editline signal-sender
endif
#
# TYPE := repserver
#
ifneq
($(filter repserver, $(TYPE)),)
CCFLAGS_LOC
+=
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/ndbapi
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/src
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/src/ndbapi
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/src/ndbapi/signal-sender
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/util
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/portlib
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/transporter
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/mgmcommon
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/kernel
)
endif
#
# TYPE := odbcclient
#
ifneq
($(filter odbcclient, $(TYPE)),)
TYPE
+=
util
LDFLAGS_LOC
+=
-lm
#ifneq ($(call check-odbc),)
ifneq
($(NDB_ODBC),N)
ifeq
($(NDB_OS), SOLARIS)
CCFLAGS_LOC
+=
-I
/usr/local/include
BIN_TARGET_LIBS_DIRS
+=
/usr/local/lib
BIN_TARGET_LIBS
+=
odbc odbcinst NDBT
endif
ifeq
($(NDB_OS), LINUX)
BIN_TARGET_LIBS
+=
odbc odbcinst NDBT
endif
ifeq
($(NDB_OS), MACOSX)
BIN_TARGET_LIBS
+=
odbc odbcinst NDBT
endif
ifeq
($(NDB_OS), IBMAIX)
BIN_TARGET_LIBS
+=
odbc odbcinst NDBT
endif
ifeq
($(NDB_OS), TRU64X)
BIN_TARGET_LIBS
+=
odbc odbcinst NDBT
endif
else
BIN_EXE
=
N
endif
endif
#
# TYPE := *
#
#
# TYPE := util
#
ifneq
($(filter util, $(TYPE)),)
CCFLAGS_LOC
+=
-I
$(
call
fixpath,
$(NDB_TOP)
/include/util
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/portlib
)
\
-I
$(
call
fixpath,
$(NDB_TOP)
/include/logger
)
BIN_TARGET_LIBS
+=
logger general portlib
endif
CCFLAGS_LOC
+=
-I
$(
call
fixpath,
$(NDB_TOP)
/include
)
-I
$(
call
fixpath,
$(NDB_TOP)
/../include
)
ifeq
($(NDB_SCI), Y)
BIN_TARGET_LIBS
+=
sisci
BIN_TARGET_LIBS_DIRS
+=
$(EXTERNAL_DEPENDS_TOP)
/sci/lib
CCFLAGS_LOC
+=
-I
$(
call
fixpath,
$(EXTERNAL_DEPENDS_TOP)
/sci/include
)
endif
#
# TYPE Handling
###
###
#
# First rule
#
first
:
$(MAKE)
libs
$(MAKE)
bins
ifeq
($(findstring all,$(replace-targets)),)
all
:
first
endif
###
#
# Nice to have rules
api
:
libs
$(MAKE)
-C
$(NDB_TOP)
/src/ndbapi bins
mgm
:
libs
$(MAKE)
-C
$(NDB_TOP)
/src/mgmsrv bins
ndb
:
libs
$(MAKE)
-C
$(NDB_TOP)
/src/kernel/ndb-main bins
apitest
:
first
$(MAKE)
-C
$(NDB_TOP)
/test/ndbapi all
#-lNDBT:
# $(MAKE) -C $(NDB_TOP)/test/src all
#
#-lNDB_API: libs
# $(MAKE) -C $(NDB_TOP)/src/ndbapi bins
#
# Libs/Bins
#
ifdef
PREREQ_LOC
_libs
::
$(PREREQ_LOC)
_bins
::
$(PREREQ_LOC)
endif
L_DIRS
:=
$(LIB_DIRS)
$(DIRS)
B_DIRS
:=
$(BIN_DIRS)
$(DIRS)
A_DIRS
:=
$(LIB_DIRS)
$(BIN_DIRS)
$(DIRS)
_libs
::
_bins
::
libs
:
_libs $(patsubst %
,
_libs_%
,
$(L_DIRS))
$(patsubst %, _libs_%, $(L_DIRS))
:
DUMMY
$(MAKE)
-C
$(
patsubst
_libs_%,%,
$@
)
libs
bins
:
_bins $(patsubst %
,
_bins_%
,
$(B_DIRS))
$(patsubst %, _bins_%, $(B_DIRS))
:
DUMMY
$(MAKE)
-C
$(
patsubst
_bins_%,%,
$@
)
bins
###
#
# Links
_links
:
-
$(NDB_TOP)
/tools/make-links.sh
$(NDB_TOP)
/include
`
pwd
`
links
:
_links $(patsubst %
,
_links_%
,
$(A_DIRS))
$(patsubst %, _links_%, $(A_DIRS))
:
DUMMY
$(MAKE)
-C
$(
patsubst
_links_%,%,
$@
)
links
####
#
# OSE build_spec (
ifdef
SOURCES
BS
:=
Y
endif
ifdef
SOURCES_c
BS
:=
Y
endif
_build_spec
:
Makefile
ifdef
BS
@
echo
"TYPE = SWU"
>
build.spec
@
echo
"include
$(NDB_TOP)
/Ndb.mk"
>>
build.spec
# @for i in $(CCFLAGS_LOC); do echo "INC += $$i" >> build.spec ; done
@for
i
in
$(patsubst
-I%,
%,
$(CCFLAGS_LOC));
do
echo
"INC += $$i"
>>
build.spec
;
done
@echo
"INC += /vobs/cello/cls/rtosi_if/include"
>>
build.spec
@echo
"INC += /vobs/cello/cls/rtosi_if/include.@@@"
>>
build.spec
@echo
"INC += /vobs/cello/cls/rtosi_if/include.<<<"
>>
build.spec
endif
build_spec
:
_build_spec $(patsubst %
,
_build_spec_%
,
$(A_DIRS))
$(patsubst %, _build_spec_%, $(A_DIRS))
:
DUMMY
$(MAKE)
-C
$(
patsubst
_build_spec_%,%,
$@
)
build_spec
###
#
# Phony targets
.PHONY
:
$(A_DIRS)
###
#
# Dummy rule
DUMMY
:
###
#
# Definitions of...
PIC_DIR
:=
$(NDB_BUILDDIR)
.pic
A_TMP_DIR
:=
$(NDB_BUILDDIR)
.a_tmp
SO_TMP_DIR
:=
$(NDB_BUILDDIR)
.so_tmp
PIC_TMP_DIR
:=
$(NDB_BUILDDIR)
.pic_tmp
$(PIC_DIR)
:
mkdir
-p
$(PIC_DIR)
SRC_C
:=
$(
filter
%.C,
$(SOURCES)
)
SRC_CPP
:=
$(
filter
%.cpp,
$(SOURCES)
)
SRC_CC
:=
$(
filter
%.cc,
$(SOURCES)
)
SRC_c
:=
$(
filter
%.c,
$(SOURCES)
)
$(
filter
%.c,
$(SOURCES.c)
)
SRC_YPP
:=
$(
filter
%.ypp,
$(SOURCES)
)
SRC_LPP
:=
$(
filter
%.lpp,
$(SOURCES)
)
OBJECTS
:=
$
(
SRC_C:%.C
=
%.
$(OBJEXT)
)
\
$
(
SRC_CPP:%.cpp
=
%.
$(OBJEXT)
)
\
$
(
SRC_CC:%.cc
=
%.
$(OBJEXT)
)
\
$
(
SRC_c:%.c
=
%.
$(OBJEXT)
)
\
$
(
SRC_YPP:%.ypp
=
%.tab.
$(OBJEXT)
)
\
$
(
SRC_LPP:%.lpp
=
%.yy.
$(OBJEXT)
)
\
$(OBJECTS_LOC)
PIC_OBJS
:=
$
(
OBJECTS:%
=
$(PIC_DIR)
/%
)
LIB_DIR
:=
$(NDB_TOP)
/lib
BIN_DIR
:=
$(NDB_TOP)
/bin
###
#
# ARCHIVE_TARGET
#
ifdef
ARCHIVE_TARGET
ifndef
NONPIC_ARCHIVE
NONPIC_ARCHIVE
:=
Y
endif
ifeq
($(NONPIC_ARCHIVE), Y)
_libs
::
$(LIB_DIR)/$(LIBPREFIX)$(ARCHIVE_TARGET).$(LIBEXT)
$(LIB_DIR)/$(LIBPREFIX)$(ARCHIVE_TARGET).$(LIBEXT)
:
$(OBJECTS)
$(
call
ar_rcs,
$@
,
$(OBJECTS)
)
endif
# NONPIC_ARCHIVE := Y
ifeq
($(PIC_ARCHIVE), Y)
_libs
::
$(PIC_DIR) $(LIB_DIR)/$(LIBPREFIX)$(ARCHIVE_TARGET)_pic.$(LIBEXT)
$(LIB_DIR)/$(LIBPREFIX)$(ARCHIVE_TARGET)_pic.$(LIBEXT)
:
$(PIC_OBJS)
cd
$(PIC_DIR)
&&
$(
call
ar_rcs,../
$@
,
$(OBJECTS)
)
PIC_DEP
:=
Y
endif
# PIC_ARCHIVE := Y
endif
# ARCHIVE_TARGET
###
#
# LIB_TARGET
#
ifdef
LIB_TARGET
ifeq
($(A_LIB), Y)
A_LIB_ARCHIVES
:=
$
(
LIB_TARGET_ARCHIVES:%
=
$(LIB_DIR)
/
$(LIBPREFIX)
%.
$(LIBEXT)
)
_bins
::
$(LIB_DIR)/$(LIBPREFIX)$(LIB_TARGET).$(LIBEXT)
$(LIB_DIR)/$(LIBPREFIX)$(LIB_TARGET).$(LIBEXT)
:
$(A_LIB_ARCHIVES)
@
rm
-rf
$(A_TMP_DIR)
&&
mkdir
$(A_TMP_DIR)
cd
$(A_TMP_DIR)
&&
for
i
in
$^
;
do
ar
-x
../
$$
i
;
done
&&
$(
call
ar_rcs,../
$@
,
*
.
$(OBJEXT)
)
$(NDB_TOP)
/home/bin/ndb_deploy
$@
endif
# A_LIB := Y
ifeq
($(SO_LIB), Y)
ifneq
($(NDB_OS), WIN32)
SO_LIB_ARCHIVES
:=
$
(
LIB_TARGET_ARCHIVES:%
=
$(LIB_DIR)
/
$(LIBPREFIX)
%_pic.
$(LIBEXT)
)
_bins
::
$(LIB_DIR)/$(LIBPREFIX)$(LIB_TARGET).$(SHLIBEXT)
$(LIB_DIR)/$(LIBPREFIX)$(LIB_TARGET).$(SHLIBEXT)
:
$(SO_LIB_ARCHIVES)
@
rm
-rf
$(SO_TMP_DIR)
&&
mkdir
$(SO_TMP_DIR)
cd
$(SO_TMP_DIR)
&&
for
i
in
$^
;
do
ar
-x
../
$$
i
;
done
ifneq
($(NDB_OS), MACOSX)
$(SO)
$@
.new
$(SO_TMP_DIR)
/
*
.
$(OBJEXT)
-L
$(LIB_DIR)
$(LIB_TARGET_LIBS)
$(LDFLAGS_LAST)
rm
-f
$@
;
mv
$@
.new
$@
else
$(SO)
$@
$(SO_TMP_DIR)
/
*
.
$(OBJEXT)
-L
$(LIB_DIR)
$(LIB_TARGET_LIBS)
$(LDFLAGS_LAST)
endif
ifeq
($(NDB_VERSION), RELEASE)
ifneq
($(NDB_OS), MACOSX)
strip
$@
endif
endif
$(NDB_TOP)
/home/bin/ndb_deploy
$@
else
# WIN32
SO_LIB_ARCHIVES
:=
$
(
LIB_TARGET_ARCHIVES:%
=
$(LIB_DIR)
/
$(LIBPREFIX)
%_pic.
$(LIBEXT)
)
_bins
::
$(LIB_DIR)/$(LIBPREFIX)$(LIB_TARGET).$(SHLIBEXT)
$(LIB_DIR)/$(LIBPREFIX)$(LIB_TARGET).$(SHLIBEXT)
:
$(SO_LIB_ARCHIVES)
@
rm
-rf
$(SO_TMP_DIR)
&&
mkdir
$(SO_TMP_DIR)
cd
$(SO_TMP_DIR)
&&
for
i
in
$^
;
do
ar
-x
../
$$
i
;
done
$(
call
link_so,
$@
.new,
$(SO_TMP_DIR)
/
*
.
$(OBJEXT)
)
rm
-f
$@
;
mv
$@
.new
$@
#ifeq ($(NDB_VERSION), RELEASE)
# strip $@
#endif
endif
endif
# SO_LIB := Y
ifeq
($(PIC_LIB), Y)
PIC_LIB_ARCHIVES
:=
$
(
LIB_TARGET_ARCHIVES:%
=
$(LIB_DIR)
/
$(LIBPREFIX)
%_pic.
$(LIBEXT)
)
_bins
::
$(LIB_DIR)/$(LIBPREFIX)$(LIB_TARGET)_pic.$(LIBEXT)
$(LIB_DIR)/$(LIBPREFIX)$(LIB_TARGET)_pic.$(LIBEXT)
:
$(PIC_LIB_ARCHIVES)
@
rm
-rf
$(PIC_TMP_DIR)
&&
mkdir
$(PIC_TMP_DIR)
cd
$(PIC_TMP_DIR)
&&
for
i
in
$^
;
do
ar
-x
../
$$
i
;
done
&&
$(
call
ar_rcs,../
$@
,
*
.
$(OBJEXT)
)
endif
# PIC_LIB := Y
endif
# LIB_TARGET
###
#
# BIN_TARGET
#
ifeq
($(BIN_EXE), Y)
ifneq
($(NDB_OS), WIN32)
BIN_LIBS
:=
$
(
BIN_TARGET_ARCHIVES:%
=
$(LIB_DIR)
/
$(LIBPREFIX)
%.
$(LIBEXT)
)
BIN_LIBS
+=
$
(
BIN_TARGET_LIBS:%
=
-l
%
)
BIN_DEPS
:=
$(OBJECTS)
$(EXTRA_MAIN)
$(BIN_LIBS)
BIN_LIB_DIRS
:=
$
(
BIN_TARGET_LIBS_DIRS:%
=
-L
%
)
BIN_FLAGS
:=
$(BIN_LIB_DIRS)
$(BIN_DEPS)
VPATH
:=
$(LIB_DIR)
$(BIN_TARGET_LIBS_DIRS)
_bins
::
$(BIN_DIR)/$(BIN_TARGET)
$(BIN_DIR)/$(BIN_TARGET)
:
$(BIN_DEPS)
$(LINK.cc)
$(LDFLAGS)
$(LDLIBS)
-L
$(LIB_DIR)
$(BIN_FLAGS)
-o
$@
.new
$(LDFLAGS_LAST)
rm
-f
$@
;
mv
$@
.new
$@
ifeq
($(NDB_VERSION), RELEASE)
ifneq
($(NDB_OS), MACOSX)
strip
$@
endif
endif
$(NDB_TOP)
/home/bin/ndb_deploy
$@
else
# WIN32
BIN_LIBS
:=
$(
foreach
lib,
$(BIN_TARGET_ARCHIVES)
,
$(
call
fixpath,
$(LIB_DIR)
/
$(LIBPREFIX)$(lib)
.
$(LIBEXT)
))
BIN_LIBS
+=
$
(
BIN_TARGET_LIBS:%
=
$(LIBPREFIX)
%.
$(LIBEXT)
)
BIN_DEPS
:=
$(OBJECTS)
$
(
BIN_TARGET_ARCHIVES:%
=
$(LIB_DIR)
/
$(LIBPREFIX)
%.
$(LIBEXT)
)
BIN_LIB_DIRS
:=
-libpath
:
$(
call
fixpath,
$(LIB_DIR)
)
$
(
BIN_TARGET_LIBS_DIRS:%
=
-libpath
:%
)
BIN_FLAGS
:=
$(BIN_LIB_DIRS)
VPATH
:=
$(LIB_DIR)
$(BIN_TARGET_LIBS_DIRS)
_bins
::
$(BIN_DIR)/$(BIN_TARGET).exe
$(BIN_DIR)/$(BIN_TARGET).exe
:
$(BIN_DEPS)
$(LINK.cc)
-out
:
$(
call
fixpath,
$@
.new
)
$(OBJECTS)
$(BIN_FLAGS)
$(BIN_LIBS)
rm
-f
$@
;
mv
$@
.new
$@
ifeq
($(NDB_VERSION), RELEASE)
strip
$@
endif
endif
endif
###
#
# SOURCES.sh
#
ifdef
SOURCES.sh
BIN_SRC
:=
$
(
SOURCES.sh:%
=
$(BIN_DIR)
/%
)
_bins
::
$(BIN_SRC)
$(BIN_SRC)
:
$(SOURCES.sh)
rm
-f
$
(
^:%
=
$(BIN_DIR)
/%
)
cp
$^
$(BIN_DIR)
endif
#
# Compile rules PIC objects
#
ifeq
($(NDB_OS), WIN32)
OUT
:=
-Fo
else
OUT
:=
-o
endif
$(PIC_DIR)/%.$(OBJEXT)
:
%.C
$
(
C++
)
$(OUT)$@
-c
$(CCFLAGS)
$
(
CFLAGS_
$<
)
$(PIC)
$<
$(PIC_DIR)/%.$(OBJEXT)
:
%.cpp
$
(
C++
)
$(OUT)$@
-c
$(CCFLAGS)
$
(
CFLAGS_
$<
)
$(PIC)
$<
$(PIC_DIR)/%.$(OBJEXT)
:
%.cc
$
(
C++
)
$(OUT)$@
-c
$(CCFLAGS)
$
(
CFLAGS_
$<
)
$(PIC)
$<
$(PIC_DIR)/%.$(OBJEXT)
:
%.c
$(CC)
$(OUT)$@
-c
$(CFLAGS)
$
(
CFLAGS_
$<
)
$(PIC)
$<
#
# Compile rules
#
%.$(OBJEXT)
:
%.cpp
$
(
C++
)
$(OUT)$@
-c
$(CCFLAGS)
$
(
CFLAGS_
$<
)
$(NON_PIC)
$<
%.$(OBJEXT)
:
%.C
$
(
C++
)
$(OUT)$@
-c
$(CCFLAGS)
$
(
CFLAGS_
$<
)
$(NON_PIC)
$<
%.$(OBJEXT)
:
%.cc
$
(
C++
)
$(OUT)$@
-c
$(CCFLAGS)
$
(
CFLAGS_
$<
)
$(NON_PIC)
$<
%.$(OBJEXT)
:
%.c
$(CC)
$(OUT)$@
-c
$(CFLAGS)
$
(
CFLAGS_
$<
)
$(NON_PIC)
$<
%.s
:
%.C
$
(
C++
)
-S
$(CCFLAGS)
$
(
CFLAGS_
$<
)
$(NON_PIC)
$<
%.s
:
%.cpp
$
(
C++
)
-S
$(CCFLAGS)
$
(
CFLAGS_
$<
)
$(NON_PIC)
$<
%.s
:
%.cc
$
(
C++
)
-S
$(CCFLAGS)
$
(
CFLAGS_
$<
)
$(NON_PIC)
$<
%.s
:
%.c
$(CC)
-S
$(CCFLAGS)
$
(
CFLAGS_
$<
)
$(NON_PIC)
$<
BISON
=
bison
BISONHACK
=
:
%.tab.cpp %.tab.hpp
:
%.ypp
$(BISON)
$<
$(BISONHACK)
$*
.tab.cpp
$*
.tab.hpp
FLEX
=
flex
FLEXHACK
=
:
%.yy.cpp
:
%.lpp
$(FLEX)
-o
$@
$<
$(FLEXHACK)
$@
###
#
# Defines regarding dependencies
DEPMK
:=
$(NDB_BUILDDIR)
.depend.mk
DEPDIR
:=
$(NDB_BUILDDIR)
.depend
DEPENDENCIES
:=
$
(
SRC_C:%.C
=
$(DEPDIR)
/%.d
)
\
$
(
SRC_CC:%.cc
=
$(DEPDIR)
/%.d
)
\
$
(
SRC_CPP:%.cpp
=
$(DEPDIR)
/%.d
)
\
$
(
SRC_c:%.c
=
$(DEPDIR)
/%.d
)
\
$
(
SRC_YPP:%.ypp
=
$(DEPDIR)
/%.tab.d
)
\
$
(
SRC_LPP:%.lpp
=
$(DEPDIR)
/%.yy.d
)
###
#
# Dependency rule
_depend
:
$(DEPMK)
depend
:
_depend $(patsubst %
,
_depend_%
,
$(A_DIRS))
$(patsubst %, _depend_%, $(A_DIRS))
:
DUMMY
$(MAKE)
-C
$(
patsubst
_depend_%,%,
$@
)
depend
###
#
# Clean dependencies
_clean_dep
:
-
rm
-rf
$(DEPMK)
$(DEPDIR)
/
*
clean_dep
:
_clean_dep $(patsubst %
,
_clean_dep_%
,
$(A_DIRS))
$(patsubst %, _clean_dep_%, $(A_DIRS))
:
DUMMY
$(MAKE)
-C
$(
patsubst
_clean_dep_%,%,
$@
)
clean_dep
###
#
# Generate dependencies
$(DEPDIR)
:
-
@mkdir
-p
$(DEPDIR)
$(DEPDIR)/%.d
:
%.C
@
echo
Generating depend
for
$<
@
$(MAKEDEPEND)
$(CCFLAGS)
$
(
CFLAGS_
$<
)
$<
>
$@
$(DEPDIR)/%.d
:
%.c
@
echo
Generating depend
for
$<
@
$(MAKEDEPEND)
$(CCFLAGS)
$
(
CFLAGS_
$<
)
$<
>
$@
$(DEPDIR)/%.d
:
%.cpp
@
echo
Generating depend
for
$<
@
$(MAKEDEPEND)
$(CCFLAGS)
$
(
CFLAGS_
$<
)
$<
>
$@
$(DEPDIR)/%.d
:
%.cc
@
echo
Generating depend
for
$<
@
$(MAKEDEPEND)
$(CCFLAGS)
$
(
CFLAGS_
$<
)
$<
>
$@
ifeq
($(NDB_OS), WIN32)
ifndef
PIC_DEP
DEP_PTN
:=
-e
's/\(.*\)\.o[ :]*/\1.
$(OBJEXT)
$(DEPDIR)
\/\1.d : /g'
else
DEP_PTN
:=
-e
's/\(.*\)\.o[ :]*/\1.
$(OBJEXT)
$(PIC_DIR)
\/\1.
$(OBJEXT)
$(DEPDIR)
\/\1.d : /g'
endif
else
ifndef
PIC_DEP
DEP_PTN
:=
-e
's!\(.*\)\.
$(OBJEXT)
[ :]*!\1.
$(OBJEXT)
$(DEPDIR)
\/\1.d : !g'
else
DEP_PTN
:=
-e
's!\(.*\)\.
$(OBJEXT)
[ :]*!\1.
$(OBJEXT)
$(PIC_DIR)
\/\1.
$(OBJEXT)
$(DEPDIR)
\/\1.d : !g'
endif
endif
#DEP_PTN += -e 's!/usr/include/[-+a-zA-Z0-9_/.]*!!g'
#DEP_PTN += -e 's!/usr/local/lib/gcc-lib/[-+a-zA-Z0-9_/.]*!!g'
$(DEPMK)
:
$(DEPDIR) $(SRC_YPP:%.ypp=%.tab.hpp) $(SRC_LPP:%.lpp=%.yy.cpp) $(DEPENDENCIES) $(wildcard $(NDB_TOP)/.update.d)
@
echo
"updating .depend.mk"
@
sed
$(DEP_PTN)
/dev/null
$(DEPENDENCIES)
>
$(DEPMK)
###
#
# clean
#
_clean
:
-
rm
-rf
SunWS_cache
$(PIC_DIR)
/SunWS_cache
ifeq
($(NONPIC_ARCHIVE), Y)
-
rm
-f
$(OBJECTS)
$(LIB_DIR)
/
$(LIBPREFIX)$(ARCHIVE_TARGET)
.
$(LIBEXT)
endif
ifeq
($(PIC_ARCHIVE), Y)
-
rm
-f
$(PIC_OBJS)
$(LIB_DIR)
/
$(LIBPREFIX)$(ARCHIVE_TARGET)
_pic.
$(LIBEXT)
endif
ifdef
BIN_TARGET
-
rm
-f
$(OBJECTS)
endif
ifdef
LIB_TARGET
ifeq
($(A_LIB), Y)
-
rm
-f
$(A_TMP_DIR)
/
*
endif
ifeq
($(SO_LIB), Y)
-
rm
-f
$(SO_TMP_DIR)
/
*
endif
ifeq
($(PIC_LIB), Y)
-
rm
-f
$(PIC_TMP_DIR)
/
*
endif
endif
ifneq
($(SRC_YPP),)
-
rm
-f
$
(
SRC_YPP:%.ypp
=
%.tab.[hc]pp
)
$(SRC_YPP:%.ypp=%.output)
endif
ifneq
($(SRC_LPP),)
-
rm
-f
$
(
SRC_LPP:%.lpp
=
%.yy.
*
)
endif
ifdef
CLEAN_LOC
-
rm
-f
$(CLEAN_LOC)
endif
###
#
# clean all
#
clobber
:
cleanall
_cleanall
:
_clean clean_links
-
rm
-f
osemain.con osemain.c
ifdef
LIB_TARGET
ifeq
($(A_LIB), Y)
-
rm
-f
$(LIB_DIR)
/
$(LIBPREFIX)$(LIB_TARGET)
.
$(LIBEXT)
endif
ifeq
($(SO_LIB), Y)
-
rm
-f
$(LIB_DIR)
/
$(LIBPREFIX)$(LIB_TARGET)
.
$(SHLIBEXT)
endif
ifeq
($(PIC_LIB), Y)
-
rm
-f
$(LIB_DIR)
/
$(LIBPREFIX)$(LIB_TARGET)
_pic.
$(LIBEXT)
endif
endif
ifdef
BIN_TARGET
-
rm
-f
$(BIN_DIR)
/
$(BIN_TARGET)
endif
clean_links
:
###
#
# Dist clean
#
_distclean
:
_tidy
rm
-rf
$(DEPDIR)
$(PIC_DIR)
$(PIC_TMP_DIR)
$(SO_TMP_DIR)
$(A_TMP_DIR)
Sources build.spec
###
#
# tidy
#
_tidy
:
_cleanall _clean_dep
-
rm
-f
*
~
*
.
$(OBJEXT)
*
.
$(LIBEXT)
*
.
${SHLIBEXT}
#
# clean cleanall tidy - recursion
#
ifeq
($(findstring clean,$(replace-targets)),)
clean
:
_clean $(patsubst %
,
_clean_%
,
$(A_DIRS))
endif
$(patsubst %, _clean_%, $(A_DIRS))
:
DUMMY
$(MAKE)
-C
$(
patsubst
_clean_%,%,
$@
)
clean
cleanall
:
_cleanall $(patsubst %
,
_cleanall_%
,
$(A_DIRS))
$(patsubst %, _cleanall_%, $(A_DIRS))
:
DUMMY
$(MAKE)
-C
$(
patsubst
_cleanall_%,%,
$@
)
cleanall
tidy
:
_tidy $(patsubst %
,
_tidy_%
,
$(A_DIRS))
$(patsubst %, _tidy_%, $(A_DIRS))
:
DUMMY
$(MAKE)
-C
$(
patsubst
_tidy_%,%,
$@
)
tidy
distclean
:
_distclean $(patsubst %
,
_distclean_%
,
$(A_DIRS))
$(patsubst %, _distclean_%, $(A_DIRS))
:
DUMMY
$(MAKE)
-C
$(
patsubst
_distclean_%,%,
$@
)
distclean
###
#
# Guess configuration
$(NDB_TOP)/config/config.mk
:
$(NDB_TOP)/config/GuessConfig.sh
$(NDB_TOP)
/config/GuessConfig.sh
-D
$(NDB_TOP)/config/Defs....mk
:
$(NDB_TOP)/config/config.mk
$(NDB_TOP)/config/Defs..mk
:
$(NDB_TOP)/config/config.mk
###
# Soft ose envirment stuff
#
osemain.con
:
$(NDB_TOP)/src/env/softose/osemain_con.org
cp
$<
$@
echo
"PRI_PROC(init_
$(BIN_TARGET)
, init_
$(BIN_TARGET)
, 65535, 3, ndb, 0, NULL)"
>>
$@
osemain.c
:
$(OSE_LOC)/sfk-solaris2/krn-solaris2/src/osemain.c
ln
-s
$<
$@
osemain.o
:
osemain.con
$(DEPDIR)/osemain.d
:
osemain.con
###
#
# These target dont want dependencies
NO_DEP
=
clean clobber cleanall tidy clean_dep
$(DEPDIR)
build_spec
\
$(NDB_TOP)
/config/config.mk distclean osemain.con osemain.c
ifeq
($(filter $(NO_DEP), $(MAKECMDGOALS)),)
ifneq
($(strip $(DEPENDENCIES)),)
include
$(DEPMK)
endif
endif
###
#
# Auxiliary targets
sources
:
Sources
Sources
:
Makefile
@
rm
-f
$@
@
for
f
in
Makefile
$(A_DIRS)
$(SOURCES)
$(SOURCES.c)
;
do
echo
$$
f
;
done
>
$@
###
#
# TAG generation for emacs and vi folks
#
# In emacs "Esc- ." or "M- ." to find a symbol location
# In vi use the :\tag command
# by convention:
# TAGS is used with emacs
# tags is used with vi
#
# Hopefully the make is being done from $(NDB_TOP)/src
# and your TAGS/tags file then is in the same directory.
TAGS
:
DUMMY
rm
-f
TAGS
find
$(NDB_TOP)
-name
"*.[ch]"
| xargs
$(ETAGS)
--append
find
$(NDB_TOP)
-name
"*.[ch]pp"
| xargs
$(ETAGS)
--append
tags
:
DUMMY
rm
-f
tags
find
$(NDB_TOP)
-name
"*.[ch]"
| xargs
$(CTAGS)
--append
find
$(NDB_TOP)
-name
"*.[ch]pp"
| xargs
$(CTAGS)
--append
install
:
ebrowse
:
DUMMY
cd
$(NDB_TOP)
;
rm
-f
EBROWSE
cd
$(NDB_TOP)
;
find
.
-name
"*.hpp"
-or
-name
"*.cpp"
-or
-name
"*.h"
-or
-name
"*.c"
>
tmpfile~
cd
$(NDB_TOP)
;
ebrowse
--file
tmpfile~
cd
$(NDB_TOP)
;
rm
-f
tmpfile~
srcdir
=
$(NDB_TOP)
top_distdir
=
$(NDB_TOP)
/..
mkinstalldirs
:=
/bin/sh ../mkinstalldirs
distdir
=
$(top_distdir)
/
$(PACKAGE)
-
$(VERSION)
/ndb
distdir
:
$(mkinstalldirs)
$(distdir)
@
list
=
'
$(
shell
/bin/sh SrcDist.sh
)
'
;
for
file
in
$$
list
;
do
\
if
test
-f
$$
file
||
test
-d
$$
file
;
then
d
=
.
;
else
d
=
$(srcdir)
;
fi
;
\
dir
=
`
echo
"
$$
file"
|
sed
-e
's,/[^/]*$$,,'
`
;
\
if
test
"
$$
dir"
!=
"
$$
file"
&&
test
"
$$
dir"
!=
"."
;
then
\
dir
=
"/
$$
dir"
;
\
$(mkinstalldirs)
"
$(distdir)$$
dir"
;
\
else
\
dir
=
''
;
\
fi
;
\
if
test
-f
$$
d/
$$
file
;
then
\
test
-f
$(distdir)
/
$$
file
\
||
cp
-p
$$
d/
$$
file
$(distdir)
/
$$
file
\
||
exit
1
;
\
fi
;
\
done
ndb/old_files/Makefile
deleted
100644 → 0
View file @
5a8303a3
include
.defs.mk
DIRS
:=
src
test
tools examples
# hack before full autoconf
replace-targets
:=
all clean
NDB_RELEASE
:=
$(
shell
../scripts/mysql_config
--version
)
all
:
$(MAKE)
-j
1
-C
src
$(MAKE)
-j
1
-C
test
/src
$(MAKE)
-j
1
-C
tools
$(MAKE)
-j
1
-C
test
/ndbapi/flexBench
$(MAKE)
-j
1
-C
test
/tools/waiter
include
$(NDB_TOP)/Epilogue.mk
_libs_test
:
_bins_src
_libs_tools
:
_libs_test
_libs_examples
:
_bins_src
_bins_src
:
_libs_src
_bins_tools
:
_bins_src
# always release compile except for ndbapi static lib
old-all
:
$(MAKE)
-C
src/ndbapi libs
$(MAKE)
libs
NDB_VERSION
=
RELEASE
$(MAKE)
bins
NDB_VERSION
=
RELEASE
ifeq
($(NDB_OS),LINUX)
NDB_RELEASE
=
$(NDB_RELEASE)
$(MAKE)
-j1
-C
docs all </dev/null
||
:
endif
# old distclean matches clean better
clean
:
distclean
$(MAKE)
-C
docs clean
nuke-deps
:
find
.
-name
'.depend*'
| xargs
rm
-rf
vim-tags
:
bk sfiles
-g
| ctags
--c-types
=
+p
--extra
=
+fq
-L
-
cvs-update
:
ifeq
($(NDB_VERSION),main)
-
cvs update
-d
else
ifeq
($(NDB_TAG),HEAD)
-
cvs
-q
update
-
cd
include
&&
cvs
-q
update
-d
-
cd
src
&&
cvs
-q
update
-d
-
cd test
&&
cvs
-q
update
-d
-
cd
tools
&&
cvs
-q
update
-d
else
-
cvs
-q
update
-r
$(NDB_TAG)
-
cd
include
&&
cvs
-q
update
-d
-r
$(NDB_TAG)
-
cd
src
&&
cvs
-q
update
-d
-r
$(NDB_TAG)
-
cd test
&&
cvs
-q
update
-d
-r
$(NDB_TAG)
-
cd
tools
&&
cvs
-q
update
-d
-r
$(NDB_TAG)
endif
endif
make nuke-deps
make vim-tags
make TAGS
bk-update
:
bk pull
make nuke-deps
make vim-tags
make TAGS
ndb/old_files/README
deleted
100644 → 0
View file @
5a8303a3
INSTALLATION
To compile a pentium version of MySQL Cluster from this BK clone do:
shell> cd /home/bk/mysql-4.1-ndb
shell> BUILD/compile-pentium-debug -c --prefix=/usr/local/mysql-4.1-ndb
shell> make
ndb/old_files/SrcDist.sh
deleted
100644 → 0
View file @
5a8303a3
#
# Invoked from make distdir.
# Prints list of dirs and files to include under mysql/ndb.
#
# top dir
grep
-v
'^#'
<<
__END__
#ReleaseNotes.html
.defs.mk
Defs.mk
configure
Makefile
Epilogue.mk
SrcDist.sh
BinDist.sh
mysqlclusterenv.sh
__END__
# subset of bins, libs
grep
-v
'^#'
<<
__END__
bin/
bin/mysqlcluster
bin/mysqlcluster_install_db
bin/mysqlclusterd
lib/
__END__
# docs
#find docs/*.html docs/*.pdf -print
# include
find include
-print
|
grep
-v
/SCCS
# config
find config
-print
|
grep
-v
/SCCS
# tools
find tools
-print
|
grep
-v
/SCCS |
grep
-v
'\.o'
|
grep
-v
'\.depend'
|
grep
-v
tools/ndbsql
# home
find home
-print
|
grep
-v
/SCCS
# test
find
test
-print
|
grep
-v
/SCCS |
grep
-v
'\.o'
|
grep
-v
'\.depend'
|
grep
-v
test
/odbc
# src
find src
-print
|
grep
-v
/SCCS |
grep
-v
'\.o'
|
grep
-v
'\.depend'
|
grep
-v
src/client/odbc |
grep
-v
cpcc-win32
# demos
find demos
-print
|
grep
-v
/SCCS |
grep
-v
'\.o'
|
grep
-v
'\.depend'
# examples
grep
-v
'^#'
<<
__END__
examples/
examples/Makefile
examples/ndbapi_example1/
examples/ndbapi_example1/Makefile
examples/ndbapi_example1/ndbapi_example1.cpp
examples/ndbapi_example2/
examples/ndbapi_example2/Makefile
examples/ndbapi_example2/ndbapi_example2.cpp
examples/ndbapi_example3/
examples/ndbapi_example3/Makefile
examples/ndbapi_example3/ndbapi_example3.cpp
examples/ndbapi_example4/
examples/ndbapi_example4/Makefile
examples/ndbapi_example4/ndbapi_example4.cpp
examples/ndbapi_example5/
examples/ndbapi_example5/Makefile
examples/ndbapi_example5/ndbapi_example5.cpp
examples/select_all/
examples/select_all/Makefile
examples/select_all/select_all.cpp
__END__
exit
0
ndb/old_files/configure
deleted
100755 → 0
View file @
5a8303a3
#! /bin/sh
if
[
$#
-gt
0
-a
"
$1
"
=
"-p"
]
then
shift
NDB_TOP
=
$1
shift
else
NDB_TOP
=
`
pwd
`
fi
cd
$NDB_TOP
NDB_TOP
=
`
pwd
`
for
i
in
`
find
.
-name
'Makefile'
-exec
dirname
{}
\;
`
do
cd
$i
rel_path
=
.
while
[
$NDB_TOP
!=
`
pwd
`
]
do
rel_path
=
$rel_path
"/.."
cd
..
done
(
echo
"NDB_TOP=
$rel_path
"
echo
"include
$rel_path
/Defs.mk"
)
>
$i
/.defs.mk
done
(
cd
config
;
aclocal
;
automake
;
aclocal
;
autoconf
;
./configure
)
export
NDB_TOP
.
config/GuessConfig.sh
$*
ndb/old_files/env.sh
deleted
100644 → 0
View file @
5a8303a3
#
NDB_TOP
=
`
pwd
`
export
NDB_TOP
NDB_PROJ_HOME
=
$NDB_TOP
/home
export
NDB_PROJ_HOME
ndb/old_files/mysqlclusterenv.sh
deleted
100644 → 0
View file @
5a8303a3
# Sets necessary environment variables for mysqlcluster install scripts
mytop
=
if
[
-f
bin/mysql
]
;
then
mytop
=
`
/bin/pwd
`
elif
[
-f
bin/ndb
]
;
then
mytop
=
`
dirname
\`
/bin/pwd
\`
`
fi
if
[
"
$mytop
"
]
;
then
MYSQLCLUSTER_TOP
=
$mytop
PATH
=
$MYSQLCLUSTER_TOP
/bin:
$MYSQLCLUSTER_TOP
/ndb/bin:
$PATH
LD_LIBRARY_PATH
=
$MYSQLCLUSTER_TOP
/lib:
$LD_LIBRARY_PATH
LD_LIBRARY_PATH
=
$MYSQLCLUSTER_TOP
/ndb/lib:
$LD_LIBRARY_PATH
export
MYSQLCLUSTER_TOP PATH LD_LIBRARY_PATH
else
if
[
-d
SCCS
]
;
then
if
[
-f
ndb/mysqlclusterenv.sh
]
;
then
mytop
=
`
/bin/pwd
`
elif
[
-f
mysqlclusterenv.sh
]
;
then
mytop
=
`
dirname
\`
/bin/pwd
\`
`
fi
fi
if
[
"
$mytop
"
]
;
then
# we're in the development tree
if
[
"
$REAL_EMAIL
"
]
;
then
:
;
else
#Guessing REAL_EMAIL
REAL_EMAIL
=
`
whoami
`
@mysql.com
export
REAL_EMAIL
echo
Setting
REAL_EMAIL
=
$REAL_EMAIL
fi
MYSQLCLUSTER_TOP
=
$mytop
NDB_TOP
=
$MYSQLCLUSTER_TOP
/ndb
export
NDB_TOP
NDB_PROJ_HOME
=
$NDB_TOP
/home
export
NDB_PROJ_HOME
PATH
=
$MYSQLCLUSTER_TOP
/ndb/bin:
$MYSQLCLUSTER_TOP
/ndb/home/bin:
$PATH
PATH
=
$MYSQLCLUSTER_TOP
/client:
$PATH
PATH
=
$MYSQLCLUSTER_TOP
/sql:
$PATH
LD_LIBRARY_PATH
=
$MYSQLCLUSTER_TOP
/libmysql:
$LD_LIBRARY_PATH
LD_LIBRARY_PATH
=
$MYSQLCLUSTER_TOP
/libmysqld:
$LD_LIBRARY_PATH
LD_LIBRARY_PATH
=
$MYSQLCLUSTER_TOP
/ndb/lib:
$LD_LIBRARY_PATH
LD_LIBRARY_PATH
=
$MYSQLCLUSTER_TOP
/libmysql_r/.libs:
$LD_LIBRARY_PATH
export
MYSQLCLUSTER_TOP PATH LD_LIBRARY_PATH
else
echo
"Please source this file (mysqlclusterenv.sh) from installation top directory"
fi
fi
mytop
=
ndb/src/kernel/blocks/backup/restore/Restore.cpp
View file @
20a42316
...
@@ -104,8 +104,9 @@ int
...
@@ -104,8 +104,9 @@ int
RestoreMetaData
::
loadContent
()
RestoreMetaData
::
loadContent
()
{
{
Uint32
noOfTables
=
readMetaTableList
();
Uint32
noOfTables
=
readMetaTableList
();
if
(
noOfTables
==
0
)
if
(
noOfTables
==
0
)
{
return
-
3
;
return
1
;
}
for
(
Uint32
i
=
0
;
i
<
noOfTables
;
i
++
){
for
(
Uint32
i
=
0
;
i
<
noOfTables
;
i
++
){
if
(
!
readMetaTableDesc
()){
if
(
!
readMetaTableDesc
()){
return
0
;
return
0
;
...
@@ -201,188 +202,46 @@ RestoreMetaData::readGCPEntry() {
...
@@ -201,188 +202,46 @@ RestoreMetaData::readGCPEntry() {
return
true
;
return
true
;
}
}
TableS
::
TableS
(
NdbTableImpl
*
tableImpl
)
:
m_dictTable
(
tableImpl
)
{
m_dictTable
=
tableImpl
;
m_noOfNullable
=
m_nullBitmaskSize
=
0
;
struct
tmpTableS
{
for
(
Uint32
i
=
0
;
i
<
tableImpl
->
getNoOfColumns
();
i
++
)
Uint32
tableId
;
createAttr
(
tableImpl
->
getColumn
(
i
));
Uint32
schemaVersion
;
}
Uint32
noOfAttributes
;
};
// tmpTableS
static
const
SimpleProperties
::
SP2StructMapping
RestoreTabMap
[]
=
{
// Map the basic stuff to begin with
DTIMAP
(
tmpTableS
,
TableId
,
tableId
),
DTIMAP
(
tmpTableS
,
TableVersion
,
schemaVersion
),
DTIMAP
(
tmpTableS
,
NoOfAttributes
,
noOfAttributes
),
DTIBREAK
(
AttributeName
)
};
// RestoreTabMap
static
const
Uint32
TabMapSize
=
sizeof
(
RestoreTabMap
)
/
sizeof
(
SimpleProperties
::
SP2StructMapping
);
/**
* Use a temporary struct to keep variables in AttributeDesc private
* and DTIMAP requires all Uint32
*/
struct
tmpAttrS
{
// Just the basic needed stuff is yet implemented
char
name
[
AttrNameLenC
];
Uint32
attrId
;
Uint32
type
;
Uint32
nullable
;
Uint32
key
;
Uint32
size
;
Uint32
arraySize
;
};
static
const
SimpleProperties
::
SP2StructMapping
RestoreAttrMap
[]
=
{
// Map the most basic properties
DTIMAP
(
tmpAttrS
,
AttributeId
,
attrId
),
DTIMAP
(
tmpAttrS
,
AttributeType
,
type
),
DTIMAP
(
tmpAttrS
,
AttributeNullableFlag
,
nullable
),
DTIMAP
(
tmpAttrS
,
AttributeKeyFlag
,
key
),
DTIMAP
(
tmpAttrS
,
AttributeSize
,
size
),
DTIMAP
(
tmpAttrS
,
AttributeArraySize
,
arraySize
),
DTIBREAK
(
AttributeEnd
)
};
// RestoreAttrMap
static
const
Uint32
AttrMapSize
=
sizeof
(
RestoreAttrMap
)
/
sizeof
(
SimpleProperties
::
SP2StructMapping
);
// Parse dictTabInfo buffer and pushback to to vector storage
// Parse dictTabInfo buffer and pushback to to vector storage
// Using SimpleProperties (here we don't need ntohl, ref:ejonore)
bool
bool
RestoreMetaData
::
parseTableDescriptor
(
const
Uint32
*
data
,
Uint32
len
)
RestoreMetaData
::
parseTableDescriptor
(
const
Uint32
*
data
,
Uint32
len
)
{
{
SimplePropertiesLinearReader
it
(
data
,
len
);
NdbTableImpl
*
tableImpl
=
0
;
SimpleProperties
::
UnpackStatus
spStatus
;
int
ret
=
NdbDictInterface
::
parseTableInfo
(
&
tableImpl
,
data
,
len
,
false
);
// Parse table name
if
(
it
.
getKey
()
!=
DictTabInfo
::
TableName
)
{
err
<<
"readMetaTableDesc getKey table name error"
<<
endl
;
return
false
;
}
// if
char
tableName
[
MAX_TAB_NAME_SIZE
*
2
];
// * 2 for db and schema.-.
it
.
getString
(
tableName
);
if
(
strlen
(
tableName
)
=
=
0
)
{
if
(
ret
!
=
0
)
{
err
<<
"
readMetaTableDesc getString table name error
"
<<
endl
;
err
<<
"
parseTableInfo "
<<
" failed
"
<<
endl
;
return
false
;
return
false
;
}
// if
}
if
(
tableImpl
==
0
)
return
false
;
debug
<<
"parseTableInfo "
<<
tableImpl
->
getName
()
<<
" done"
<<
endl
;
TableS
*
table
=
new
TableS
(
table
Name
);
TableS
*
table
=
new
TableS
(
table
Impl
);
if
(
table
==
NULL
)
{
if
(
table
==
NULL
)
{
return
false
;
return
false
;
}
}
table
->
setBackupVersion
(
m_fileHeader
.
NdbVersion
);
table
->
setBackupVersion
(
m_fileHeader
.
NdbVersion
);
tmpTableS
tmpTable
;
spStatus
=
SimpleProperties
::
unpack
(
it
,
&
tmpTable
,
RestoreTabMap
,
TabMapSize
,
true
,
true
);
if
((
spStatus
!=
SimpleProperties
::
Break
)
||
it
.
getKey
()
!=
DictTabInfo
::
AttributeName
)
{
err
<<
"readMetaTableDesc sp.unpack error"
<<
endl
;
delete
table
;
return
false
;
}
// if
debug
<<
"Parsed table id "
<<
tmpTable
.
tableId
<<
endl
;
debug
<<
"Parsed table id "
<<
table
->
getTableId
()
<<
endl
;
table
->
setTableId
(
tmpTable
.
tableId
);
debug
<<
"Parsed table #attr "
<<
table
->
getNoOfAttributes
()
<<
endl
;
debug
<<
"Parsed table #attr "
<<
tmpTable
.
noOfAttributes
<<
endl
;
debug
<<
"Parsed table schema version not used "
<<
endl
;
debug
<<
"Parsed table schema version not used "
<<
endl
;
for
(
Uint32
i
=
0
;
i
<
tmpTable
.
noOfAttributes
;
i
++
)
{
debug
<<
"Pushing table "
<<
table
->
getTableName
()
<<
endl
;
if
(
it
.
getKey
()
!=
DictTabInfo
::
AttributeName
)
{
err
<<
"readMetaTableDesc error "
<<
endl
;
delete
table
;
return
false
;
}
// if
tmpAttrS
tmpAttr
;
if
(
it
.
getValueLen
()
>
AttrNameLenC
){
err
<<
"readMetaTableDesc attribute name too long??"
<<
endl
;
delete
table
;
return
false
;
}
it
.
getString
(
tmpAttr
.
name
);
spStatus
=
SimpleProperties
::
unpack
(
it
,
&
tmpAttr
,
RestoreAttrMap
,
AttrMapSize
,
true
,
true
);
if
((
spStatus
!=
SimpleProperties
::
Break
)
||
(
it
.
getKey
()
!=
DictTabInfo
::
AttributeEnd
))
{
err
<<
"readMetaTableDesc sp unpack attribute "
<<
i
<<
" error"
<<
endl
;
delete
table
;
return
false
;
}
// if
debug
<<
"Creating attribute "
<<
i
<<
" "
<<
tmpAttr
.
name
<<
endl
;
bool
thisNullable
=
(
bool
)(
tmpAttr
.
nullable
);
// Really not needed (now)
KeyType
thisKey
=
(
KeyType
)(
tmpAttr
.
key
);
// These are identical (right now)
// Convert attribute size from enum to Uint32
// The static consts are really enum taking the value in DictTabInfo
// e.g. 3 is not ...0011 but rather ...0100
//TODO: rather do a switch if the constants should change
Uint32
thisSize
=
1
<<
tmpAttr
.
size
;
// Convert attribute type to AttrType
AttrType
thisType
;
switch
(
tmpAttr
.
type
)
{
case
0
:
// SignedType
thisType
=
Signed
;
break
;
case
1
:
// UnSignedType
thisType
=
UnSigned
;
break
;
case
2
:
// FloatingPointType
thisType
=
Float
;
break
;
case
3
:
// StringType:
debug
<<
"String type detected "
<<
endl
;
thisType
=
String
;
break
;
default:
// What, default to unsigned?
thisType
=
UnSigned
;
break
;
}
// switch
/* ndbout_c << " type: " << thisType << " size: " << thisSize <<" arraySize: "
<< tmpAttr.arraySize << " nullable: " << thisNullable << " key: "
<< thisKey << endl;
*/
table
->
createAttr
(
tmpAttr
.
name
,
thisType
,
thisSize
,
tmpAttr
.
arraySize
,
thisNullable
,
thisKey
);
if
(
!
it
.
next
())
{
break
;
// Check number of created attributes and compare with expected
//ndbout << "readMetaTableDesc expecting more attributes" << endl;
//return false;
}
// if
}
// for
debug
<<
"Pushing table "
<<
tableName
<<
endl
;
debug
<<
" with "
<<
table
->
getNoOfAttributes
()
<<
" attributes"
<<
endl
;
debug
<<
" with "
<<
table
->
getNoOfAttributes
()
<<
" attributes"
<<
endl
;
allTables
.
push_back
(
table
);
allTables
.
push_back
(
table
);
NdbTableImpl
*
tableImpl
=
0
;
int
ret
=
NdbDictInterface
::
parseTableInfo
(
&
tableImpl
,
data
,
len
,
false
);
if
(
ret
!=
0
)
{
err
<<
"parseTableInfo "
<<
tableName
<<
" failed"
<<
endl
;
return
false
;
}
if
(
tableImpl
==
0
)
return
false
;
debug
<<
"parseTableInfo "
<<
tableName
<<
" done"
<<
endl
;
table
->
m_dictTable
=
tableImpl
;
return
true
;
return
true
;
}
}
...
@@ -509,7 +368,7 @@ RestoreDataIterator::getNextTuple(int & res) {
...
@@ -509,7 +368,7 @@ RestoreDataIterator::getNextTuple(int & res) {
const
Uint32
attrId
=
m_currentTable
->
m_variableAttribs
[
i
]
->
attrId
;
const
Uint32
attrId
=
m_currentTable
->
m_variableAttribs
[
i
]
->
attrId
;
AttributeS
*
attr
=
tup
->
allAttributes
[
attrId
];
AttributeS
*
attr
=
tup
->
allAttributes
[
attrId
];
if
(
attr
->
Desc
->
nullable
){
if
(
attr
->
Desc
->
m_column
->
getNullable
()
){
const
Uint32
ind
=
attr
->
Desc
->
m_nullBitIndex
;
const
Uint32
ind
=
attr
->
Desc
->
m_nullBitIndex
;
if
(
BitmaskImpl
::
get
(
m_currentTable
->
m_nullBitmaskSize
,
if
(
BitmaskImpl
::
get
(
m_currentTable
->
m_nullBitmaskSize
,
tup
->
getDataRecord
(),
ind
)){
tup
->
getDataRecord
(),
ind
)){
...
@@ -755,44 +614,39 @@ RestoreDataIterator::validateFragmentFooter() {
...
@@ -755,44 +614,39 @@ RestoreDataIterator::validateFragmentFooter() {
return
true
;
return
true
;
}
// RestoreDataIterator::getFragmentFooter
}
// RestoreDataIterator::getFragmentFooter
void
TableS
::
createAttr
(
const
char
*
name
,
AttributeDesc
::
AttributeDesc
(
NdbDictionary
::
Column
*
c
)
const
AttrType
type
,
:
m_column
(
c
)
const
unsigned
int
size
,
// in bytes
const
unsigned
int
arraySize
,
const
bool
nullable
,
const
KeyType
key
)
{
{
AttributeDesc
desc
;
size
=
c
->
getSize
()
*
8
;
arraySize
=
c
->
getLength
();
strncpy
(
desc
.
name
,
name
,
AttrNameLenC
);
}
desc
.
type
=
type
;
desc
.
size
=
size
;
desc
.
arraySize
=
arraySize
;
desc
.
nullable
=
nullable
;
desc
.
key
=
key
;
desc
.
attrId
=
allAttributesDesc
.
size
();
AttributeDesc
*
d
=
new
AttributeDesc
(
desc
);
void
TableS
::
createAttr
(
NdbDictionary
::
Column
*
column
)
{
AttributeDesc
*
d
=
new
AttributeDesc
(
column
);
if
(
d
==
NULL
)
{
if
(
d
==
NULL
)
{
ndbout_c
(
"Restore: Failed to allocate memory"
);
ndbout_c
(
"Restore: Failed to allocate memory"
);
abort
();
abort
();
}
}
d
->
m_table
=
this
;
d
->
attrId
=
allAttributesDesc
.
size
()
;
allAttributesDesc
.
push_back
(
d
);
allAttributesDesc
.
push_back
(
d
);
if
(
desc
.
key
!=
NoKey
/* && not variable */
){
if
(
d
->
m_column
->
getPrimaryKey
()
/* && not variable */
)
{
m_fixedKeys
.
push_back
(
d
);
m_fixedKeys
.
push_back
(
d
);
return
;
return
;
}
}
if
(
!
nullable
){
if
(
!
d
->
m_column
->
getNullable
())
{
m_fixedAttribs
.
push_back
(
d
);
m_fixedAttribs
.
push_back
(
d
);
return
;
return
;
}
}
if
(
nullable
){
d
->
m_nullBitIndex
=
m_noOfNullable
;
/* Nullable attr*/
m_noOfNullable
++
;
d
->
m_nullBitIndex
=
m_noOfNullable
;
m_nullBitmaskSize
=
(
m_noOfNullable
+
31
)
/
32
;
m_noOfNullable
++
;
}
m_nullBitmaskSize
=
(
m_noOfNullable
+
31
)
/
32
;
m_variableAttribs
.
push_back
(
d
);
m_variableAttribs
.
push_back
(
d
);
}
// TableS::createAttr
}
// TableS::createAttr
...
...
ndb/src/kernel/blocks/backup/restore/Restore.hpp
View file @
20a42316
...
@@ -20,7 +20,6 @@
...
@@ -20,7 +20,6 @@
#include <ndb_global.h>
#include <ndb_global.h>
#include <BackupFormat.hpp>
#include <BackupFormat.hpp>
#include <NdbApi.hpp>
#include <NdbApi.hpp>
#include <NdbSchemaCon.hpp>
#include "myVector.hpp"
#include "myVector.hpp"
#include <ndb_version.h>
#include <ndb_version.h>
...
@@ -62,29 +61,22 @@ struct AttributeData {
...
@@ -62,29 +61,22 @@ struct AttributeData {
struct
AttributeDesc
{
struct
AttributeDesc
{
//private:
//private:
// TODO (sometimes): use a temporary variable in DTIMAP so we can
// hide AttributeDesc private variables
friend
class
TupleS
;
friend
class
TupleS
;
friend
class
TableS
;
friend
class
TableS
;
friend
class
RestoreDataIterator
;
friend
class
RestoreDataIterator
;
friend
class
RestoreMetaData
;
friend
class
RestoreMetaData
;
friend
struct
AttributeS
;
friend
struct
AttributeS
;
char
name
[
AttrNameLenC
];
Uint32
attrId
;
AttrType
type
;
bool
nullable
;
KeyType
key
;
Uint32
size
;
// bits
Uint32
size
;
// bits
Uint32
arraySize
;
Uint32
arraySize
;
Uint32
attrId
;
NdbDictionary
::
Column
*
m_column
;
Uint32
m_nullBitIndex
;
Uint32
m_nullBitIndex
;
public:
public:
AttributeDesc
()
{
AttributeDesc
(
NdbDictionary
::
Column
*
column
);
name
[
0
]
=
0
;
AttributeDesc
();
}
const
TableS
*
m_table
;
Uint32
getSizeInWords
()
const
{
return
(
size
*
arraySize
+
31
)
/
32
;}
Uint32
getSizeInWords
()
const
{
return
(
size
*
arraySize
+
31
)
/
32
;}
};
// AttributeDesc
};
// AttributeDesc
...
@@ -118,8 +110,6 @@ class TableS {
...
@@ -118,8 +110,6 @@ class TableS {
friend
class
RestoreMetaData
;
friend
class
RestoreMetaData
;
friend
class
RestoreDataIterator
;
friend
class
RestoreDataIterator
;
Uint32
tableId
;
char
tableName
[
TableNameLenC
];
Uint32
schemaVersion
;
Uint32
schemaVersion
;
Uint32
backupVersion
;
Uint32
backupVersion
;
myVector
<
AttributeDesc
*>
allAttributesDesc
;
myVector
<
AttributeDesc
*>
allAttributesDesc
;
...
@@ -138,26 +128,14 @@ class TableS {
...
@@ -138,26 +128,14 @@ class TableS {
char mysqlDatabaseName[1024];
char mysqlDatabaseName[1024];
*/
*/
void
createAttr
(
const
char
*
name
,
void
createAttr
(
NdbDictionary
::
Column
*
column
);
const
AttrType
type
,
const
unsigned
int
size
,
// in bits
const
unsigned
int
arraySize
,
const
bool
nullable
,
const
KeyType
key
);
public:
public:
class
NdbDictionary
::
Table
*
m_dictTable
;
class
NdbDictionary
::
Table
*
m_dictTable
;
TableS
(
const
char
*
name
){
TableS
(
class
NdbTableImpl
*
dictTable
);
snprintf
(
tableName
,
sizeof
(
tableName
),
name
);
m_noOfNullable
=
m_nullBitmaskSize
=
0
;
}
void
setTableId
(
Uint32
id
)
{
tableId
=
id
;
}
Uint32
getTableId
()
const
{
Uint32
getTableId
()
const
{
return
tableId
;
return
m_dictTable
->
getTableId
()
;
}
}
/*
/*
void setMysqlTableName(char * tableName) {
void setMysqlTableName(char * tableName) {
...
@@ -174,7 +152,6 @@ public:
...
@@ -174,7 +152,6 @@ public:
void
setBackupVersion
(
Uint32
version
)
{
void
setBackupVersion
(
Uint32
version
)
{
backupVersion
=
version
;
backupVersion
=
version
;
}
}
Uint32
getBackupVersion
()
const
{
Uint32
getBackupVersion
()
const
{
return
backupVersion
;
return
backupVersion
;
...
...
ndb/src/kernel/blocks/backup/restore/main.cpp
View file @
20a42316
...
@@ -96,7 +96,9 @@ public:
...
@@ -96,7 +96,9 @@ public:
virtual
void
logEntry
(
const
LogEntry
&
){}
virtual
void
logEntry
(
const
LogEntry
&
){}
virtual
void
endOfLogEntrys
(){}
virtual
void
endOfLogEntrys
(){}
protected:
protected:
#ifdef USE_MYSQL
int
create_table_string
(
const
TableS
&
table
,
char
*
,
char
*
);
int
create_table_string
(
const
TableS
&
table
,
char
*
,
char
*
);
#endif
};
};
class
BackupPrinter
:
public
BackupConsumer
class
BackupPrinter
:
public
BackupConsumer
...
@@ -361,7 +363,7 @@ main(int argc, const char** argv)
...
@@ -361,7 +363,7 @@ main(int argc, const char** argv)
return
-
1
;
return
-
1
;
}
}
if
(
res
==
-
3
)
if
(
metaData
.
getNoOfTables
()
==
0
)
{
{
ndbout_c
(
"Restore: The backup contains no tables "
);
ndbout_c
(
"Restore: The backup contains no tables "
);
return
-
1
;
return
-
1
;
...
@@ -505,7 +507,7 @@ main(int argc, const char** argv)
...
@@ -505,7 +507,7 @@ main(int argc, const char** argv)
NdbOut
&
NdbOut
&
operator
<<
(
NdbOut
&
ndbout
,
const
AttributeS
&
attr
){
operator
<<
(
NdbOut
&
ndbout
,
const
AttributeS
&
attr
){
const
AttributeData
&
data
=
attr
.
Data
;
const
AttributeData
&
data
=
attr
.
Data
;
const
AttributeDesc
&
desc
=
*
attr
.
Desc
;
const
AttributeDesc
&
desc
=
*
attr
.
Desc
;
if
(
data
.
null
)
if
(
data
.
null
)
{
{
...
@@ -513,89 +515,10 @@ operator<<(NdbOut& ndbout, const AttributeS& attr){
...
@@ -513,89 +515,10 @@ operator<<(NdbOut& ndbout, const AttributeS& attr){
return
ndbout
;
return
ndbout
;
}
}
if
(
desc
.
arraySize
>
1
)
NdbRecAttr
tmprec
;
ndbout
<<
"[ "
;
tmprec
.
setup
(
desc
.
m_column
,
(
char
*
)
data
.
void_value
);
for
(
Uint32
j
=
0
;
j
<
desc
.
arraySize
;
j
++
)
ndbout
<<
tmprec
;
{
// Print strings without spaces,
// (but ndbout char does not work as expected, see below)
switch
(
desc
.
type
)
{
case
Signed
:
switch
(
desc
.
size
)
{
case
8
:
ndbout
<<
(
short
)
data
.
int8_value
[
j
];
break
;
case
16
:
ndbout
<<
data
.
int16_value
[
j
];
break
;
case
32
:
ndbout
<<
data
.
int32_value
[
j
];
break
;
case
64
:
ndbout
<<
data
.
int64_value
[
j
];
break
;
case
128
:
ndbout
<<
"Signed sz = 128 - this is something wrong??"
<<
endl
;
break
;
default:
// Unknown, error
break
;
}
// switch size
break
;
case
UnSigned
:
switch
(
desc
.
size
)
{
case
8
:
ndbout
<<
(
short
)
data
.
u_int8_value
[
j
];
break
;
case
16
:
ndbout
<<
data
.
u_int16_value
[
j
];
break
;
case
32
:
ndbout
<<
data
.
u_int32_value
[
j
];
break
;
case
64
:
ndbout
<<
data
.
u_int64_value
[
j
];
break
;
case
128
:
ndbout
<<
"UnSigned sz = 128 - this is something wrong??"
<<
endl
;
break
;
default:
// Unknown, error
break
;
}
// switch size
break
;
case
String
:
if
(
desc
.
size
==
8
){
NdbDictionary
::
Column
::
Type
type
=
desc
.
m_table
->
m_dictTable
->
getColumn
(
desc
.
attrId
)
->
getType
();
if
(
type
==
NdbDictionary
::
Column
::
Varchar
){
short
len
=
ntohs
(
data
.
u_int16_value
[
0
]);
ndbout
.
print
(
"%.*s"
,
len
,
(
data
.
string_value
+
2
));
}
else
{
ndbout
<<
data
.
string_value
;
}
}
// if
else
{
ndbout
<<
"String sz != 8 - this is something wrong??"
<<
endl
;
}
j
=
desc
.
arraySize
;
break
;
case
Float
:
// Not yet supported to print float
ndbout
<<
"float"
;
break
;
default:
ndbout
<<
"Not defined Attr Type"
;
}
// switch AttrType
ndbout
<<
" "
;
}
// for ArraySize
if
(
desc
.
arraySize
>
1
)
{
ndbout
<<
"]"
;
}
return
ndbout
;
return
ndbout
;
}
}
...
@@ -607,7 +530,7 @@ operator<<(NdbOut& ndbout, const TupleS& tuple)
...
@@ -607,7 +530,7 @@ operator<<(NdbOut& ndbout, const TupleS& tuple)
for
(
int
i
=
0
;
i
<
tuple
.
getNoOfAttributes
();
i
++
)
for
(
int
i
=
0
;
i
<
tuple
.
getNoOfAttributes
();
i
++
)
{
{
const
AttributeS
*
attr
=
tuple
[
i
];
const
AttributeS
*
attr
=
tuple
[
i
];
debug
<<
i
<<
" "
<<
attr
->
Desc
->
name
;
debug
<<
i
<<
" "
<<
attr
->
Desc
->
m_column
->
getName
()
;
ndbout
<<
(
*
attr
);
ndbout
<<
(
*
attr
);
if
(
i
!=
(
tuple
.
getNoOfAttributes
()
-
1
))
if
(
i
!=
(
tuple
.
getNoOfAttributes
()
-
1
))
...
@@ -638,7 +561,7 @@ operator<<(NdbOut& ndbout, const LogEntry& logE)
...
@@ -638,7 +561,7 @@ operator<<(NdbOut& ndbout, const LogEntry& logE)
for
(
int
i
=
0
;
i
<
logE
.
m_values
.
size
();
i
++
)
for
(
int
i
=
0
;
i
<
logE
.
m_values
.
size
();
i
++
)
{
{
const
AttributeS
*
attr
=
logE
.
m_values
[
i
];
const
AttributeS
*
attr
=
logE
.
m_values
[
i
];
ndbout
<<
attr
->
Desc
->
name
<<
"="
;
ndbout
<<
attr
->
Desc
->
m_column
->
getName
()
<<
"="
;
ndbout
<<
(
*
attr
);
ndbout
<<
(
*
attr
);
if
(
i
<
(
logE
.
m_values
.
size
()
-
1
))
if
(
i
<
(
logE
.
m_values
.
size
()
-
1
))
ndbout
<<
", "
;
ndbout
<<
", "
;
...
@@ -653,55 +576,8 @@ operator<<(NdbOut& ndbout, const TableS & table){
...
@@ -653,55 +576,8 @@ operator<<(NdbOut& ndbout, const TableS & table){
for
(
int
j
=
0
;
j
<
table
.
getNoOfAttributes
();
j
++
)
for
(
int
j
=
0
;
j
<
table
.
getNoOfAttributes
();
j
++
)
{
{
const
AttributeDesc
*
desc
=
table
[
j
];
const
AttributeDesc
*
desc
=
table
[
j
];
ndbout
<<
desc
->
name
<<
": "
;
ndbout
<<
desc
->
m_column
->
getName
()
<<
": "
<<
desc
->
m_column
->
getType
();
NdbDictionary
::
Column
::
Type
type
=
table
.
m_dictTable
->
getColumn
(
desc
->
attrId
)
->
getType
();
ndbout
<<
" key: "
<<
desc
->
m_column
->
getPrimaryKey
();
switch
(
type
){
case
NdbDictionary
:
:
Column
::
Int
:
ndbout
<<
"Int "
;
break
;
case
NdbDictionary
:
:
Column
::
Unsigned
:
ndbout
<<
"Unsigned "
;
break
;
case
NdbDictionary
:
:
Column
::
Float
:
ndbout
<<
"Float "
;
break
;
case
NdbDictionary
:
:
Column
::
Decimal
:
ndbout
<<
"Decimal "
;
break
;
case
NdbDictionary
:
:
Column
::
Char
:
ndbout
<<
"Char "
;
break
;
case
NdbDictionary
:
:
Column
::
Varchar
:
ndbout
<<
"Varchar "
;
break
;
case
NdbDictionary
:
:
Column
::
Binary
:
ndbout
<<
"Binary "
;
break
;
case
NdbDictionary
:
:
Column
::
Varbinary
:
ndbout
<<
"Varbinary "
;
break
;
case
NdbDictionary
:
:
Column
::
Bigint
:
ndbout
<<
"Bigint "
;
break
;
case
NdbDictionary
:
:
Column
::
Bigunsigned
:
ndbout
<<
"Bigunsigned "
;
break
;
case
NdbDictionary
:
:
Column
::
Double
:
ndbout
<<
"Double "
;
break
;
case
NdbDictionary
:
:
Column
::
Datetime
:
ndbout
<<
"Datetime "
;
break
;
case
NdbDictionary
:
:
Column
::
Timespec
:
ndbout
<<
"Timespec "
;
break
;
case
NdbDictionary
:
:
Column
::
Undefined
:
ndbout
<<
"Undefined "
;
break
;
default:
ndbout
<<
"Unknown("
<<
type
<<
")"
;
}
ndbout
<<
" key: "
<<
desc
->
key
;
ndbout
<<
" array: "
<<
desc
->
arraySize
;
ndbout
<<
" array: "
<<
desc
->
arraySize
;
ndbout
<<
" size: "
<<
desc
->
size
<<
endl
;
ndbout
<<
" size: "
<<
desc
->
size
<<
endl
;
}
// for
}
// for
...
@@ -973,7 +849,6 @@ BackupRestore::table(const TableS & table, MYSQL * mysqlp){
...
@@ -973,7 +849,6 @@ BackupRestore::table(const TableS & table, MYSQL * mysqlp){
return
true
;
return
true
;
}
}
#endif
int
int
BackupConsumer
::
create_table_string
(
const
TableS
&
table
,
BackupConsumer
::
create_table_string
(
const
TableS
&
table
,
...
@@ -991,9 +866,8 @@ BackupConsumer::create_table_string(const TableS & table,
...
@@ -991,9 +866,8 @@ BackupConsumer::create_table_string(const TableS & table,
{
{
const
AttributeDesc
*
desc
=
table
[
j
];
const
AttributeDesc
*
desc
=
table
[
j
];
// ndbout << desc->name << ": ";
// ndbout << desc->name << ": ";
pos
+=
sprintf
(
buf
+
pos
,
"%s%s"
,
desc
->
name
,
" "
);
pos
+=
sprintf
(
buf
+
pos
,
"%s%s"
,
desc
->
m_column
->
getName
(),
" "
);
NdbDictionary
::
Column
::
Type
type
=
table
.
m_dictTable
->
getColumn
(
desc
->
attrId
)
->
getType
();
switch
(
desc
->
m_column
->
getType
()){
switch
(
type
){
case
NdbDictionary
:
:
Column
::
Int
:
case
NdbDictionary
:
:
Column
::
Int
:
pos
+=
sprintf
(
buf
+
pos
,
"%s"
,
"int"
);
pos
+=
sprintf
(
buf
+
pos
,
"%s"
,
"int"
);
break
;
break
;
...
@@ -1048,9 +922,9 @@ BackupConsumer::create_table_string(const TableS & table,
...
@@ -1048,9 +922,9 @@ BackupConsumer::create_table_string(const TableS & table,
attrSize
,
attrSize
,
")"
);
")"
);
}
}
if
(
table
.
m_dictTable
->
getColumn
(
desc
->
attrId
)
->
getPrimaryKey
())
{
if
(
desc
->
m_column
->
getPrimaryKey
())
{
pos
+=
sprintf
(
buf
+
pos
,
"%s"
,
" not null"
);
pos
+=
sprintf
(
buf
+
pos
,
"%s"
,
" not null"
);
pos2
+=
sprintf
(
buf2
+
pos2
,
"%s%s"
,
desc
->
name
,
","
);
pos2
+=
sprintf
(
buf2
+
pos2
,
"%s%s"
,
desc
->
m_column
->
getName
()
,
","
);
}
}
pos
+=
sprintf
(
buf
+
pos
,
"%s"
,
","
);
pos
+=
sprintf
(
buf
+
pos
,
"%s"
,
","
);
}
// for
}
// for
...
@@ -1063,6 +937,7 @@ BackupConsumer::create_table_string(const TableS & table,
...
@@ -1063,6 +937,7 @@ BackupConsumer::create_table_string(const TableS & table,
return
0
;
return
0
;
}
}
#endif // USE_MYSQL
bool
bool
...
@@ -1198,10 +1073,9 @@ void BackupRestore::tupleAsynch(const TupleS & tup, restore_callback_t * cbData)
...
@@ -1198,10 +1073,9 @@ void BackupRestore::tupleAsynch(const TupleS & tup, restore_callback_t * cbData)
const
AttributeS
*
attr
=
tup
[
i
];
const
AttributeS
*
attr
=
tup
[
i
];
int
size
=
attr
->
Desc
->
size
;
int
size
=
attr
->
Desc
->
size
;
int
arraySize
=
attr
->
Desc
->
arraySize
;
int
arraySize
=
attr
->
Desc
->
arraySize
;
const
KeyType
key
=
attr
->
Desc
->
key
;
char
*
dataPtr
=
attr
->
Data
.
string_value
;
char
*
dataPtr
=
attr
->
Data
.
string_value
;
Uint32
length
=
(
size
*
arraySize
)
/
8
;
Uint32
length
=
(
size
*
arraySize
)
/
8
;
if
(
key
==
TupleKey
)
if
(
attr
->
Desc
->
m_column
->
getPrimaryKey
()
)
{
{
ret
=
op
->
equal
(
i
,
dataPtr
,
length
);
ret
=
op
->
equal
(
i
,
dataPtr
,
length
);
if
(
ret
<
0
)
if
(
ret
<
0
)
...
@@ -1224,14 +1098,14 @@ void BackupRestore::tupleAsynch(const TupleS & tup, restore_callback_t * cbData)
...
@@ -1224,14 +1098,14 @@ void BackupRestore::tupleAsynch(const TupleS & tup, restore_callback_t * cbData)
const
AttributeS
*
attr
=
tup
[
i
];
const
AttributeS
*
attr
=
tup
[
i
];
int
size
=
attr
->
Desc
->
size
;
int
size
=
attr
->
Desc
->
size
;
int
arraySize
=
attr
->
Desc
->
arraySize
;
int
arraySize
=
attr
->
Desc
->
arraySize
;
KeyType
key
=
attr
->
Desc
->
key
;
char
*
dataPtr
=
attr
->
Data
.
string_value
;
char
*
dataPtr
=
attr
->
Data
.
string_value
;
Uint32
length
=
(
size
*
arraySize
)
/
8
;
Uint32
length
=
(
size
*
arraySize
)
/
8
;
if
(
key
==
NoKey
&&
!
attr
->
Data
.
null
)
if
(
!
attr
->
Desc
->
m_column
->
getPrimaryKey
())
ret
=
op
->
setValue
(
i
,
dataPtr
,
length
);
if
(
attr
->
Data
.
null
)
else
if
(
key
==
NoKey
&&
attr
->
Data
.
null
)
ret
=
op
->
setValue
(
i
,
NULL
,
0
);
ret
=
op
->
setValue
(
i
,
NULL
,
0
);
else
ret
=
op
->
setValue
(
i
,
dataPtr
,
length
);
if
(
ret
<
0
)
if
(
ret
<
0
)
{
{
...
@@ -1372,14 +1246,11 @@ BackupRestore::tuple(const TupleS & tup)
...
@@ -1372,14 +1246,11 @@ BackupRestore::tuple(const TupleS & tup)
const
AttributeS
*
attr
=
tup
[
i
];
const
AttributeS
*
attr
=
tup
[
i
];
int
size
=
attr
->
Desc
->
size
;
int
size
=
attr
->
Desc
->
size
;
int
arraySize
=
attr
->
Desc
->
arraySize
;
int
arraySize
=
attr
->
Desc
->
arraySize
;
KeyType
key
=
attr
->
Desc
->
key
;
const
char
*
dataPtr
=
attr
->
Data
.
string_value
;
const
char
*
dataPtr
=
attr
->
Data
.
string_value
;
const
Uint32
length
=
(
size
*
arraySize
)
/
8
;
const
Uint32
length
=
(
size
*
arraySize
)
/
8
;
if
(
key
==
TupleKey
)
if
(
attr
->
Desc
->
m_column
->
getPrimaryKey
())
{
op
->
equal
(
i
,
dataPtr
,
length
);
op
->
equal
(
i
,
dataPtr
,
length
);
}
}
}
for
(
int
i
=
0
;
i
<
tup
.
getNoOfAttributes
();
i
++
)
for
(
int
i
=
0
;
i
<
tup
.
getNoOfAttributes
();
i
++
)
...
@@ -1387,18 +1258,14 @@ BackupRestore::tuple(const TupleS & tup)
...
@@ -1387,18 +1258,14 @@ BackupRestore::tuple(const TupleS & tup)
const
AttributeS
*
attr
=
tup
[
i
];
const
AttributeS
*
attr
=
tup
[
i
];
int
size
=
attr
->
Desc
->
size
;
int
size
=
attr
->
Desc
->
size
;
int
arraySize
=
attr
->
Desc
->
arraySize
;
int
arraySize
=
attr
->
Desc
->
arraySize
;
KeyType
key
=
attr
->
Desc
->
key
;
const
char
*
dataPtr
=
attr
->
Data
.
string_value
;
const
char
*
dataPtr
=
attr
->
Data
.
string_value
;
const
Uint32
length
=
(
size
*
arraySize
)
/
8
;
const
Uint32
length
=
(
size
*
arraySize
)
/
8
;
if
(
key
==
NoKey
&&
!
attr
->
Data
.
null
)
if
(
!
attr
->
Desc
->
m_column
->
getPrimaryKey
())
{
if
(
attr
->
Data
.
null
)
op
->
setValue
(
i
,
dataPtr
,
length
);
op
->
setValue
(
i
,
NULL
,
0
);
}
else
else
if
(
key
==
NoKey
&&
attr
->
Data
.
null
)
op
->
setValue
(
i
,
dataPtr
,
length
);
{
op
->
setValue
(
i
,
NULL
,
0
);
}
}
}
int
ret
=
trans
->
execute
(
Commit
);
int
ret
=
trans
->
execute
(
Commit
);
if
(
ret
!=
0
)
if
(
ret
!=
0
)
...
@@ -1475,18 +1342,13 @@ BackupRestore::logEntry(const LogEntry & tup)
...
@@ -1475,18 +1342,13 @@ BackupRestore::logEntry(const LogEntry & tup)
const
AttributeS
*
attr
=
tup
.
m_values
[
i
];
const
AttributeS
*
attr
=
tup
.
m_values
[
i
];
int
size
=
attr
->
Desc
->
size
;
int
size
=
attr
->
Desc
->
size
;
int
arraySize
=
attr
->
Desc
->
arraySize
;
int
arraySize
=
attr
->
Desc
->
arraySize
;
KeyType
key
=
attr
->
Desc
->
key
;
const
char
*
dataPtr
=
attr
->
Data
.
string_value
;
const
char
*
dataPtr
=
attr
->
Data
.
string_value
;
const
Uint32
length
=
(
size
/
8
)
*
arraySize
;
const
Uint32
length
=
(
size
/
8
)
*
arraySize
;
if
(
key
==
TupleKey
)
if
(
attr
->
Desc
->
m_column
->
getPrimaryKey
())
{
op
->
equal
(
attr
->
Desc
->
attrId
,
dataPtr
,
length
);
op
->
equal
(
attr
->
Desc
->
attrId
,
dataPtr
,
length
);
}
else
else
if
(
key
==
NoKey
)
{
op
->
setValue
(
attr
->
Desc
->
attrId
,
dataPtr
,
length
);
op
->
setValue
(
attr
->
Desc
->
attrId
,
dataPtr
,
length
);
}
}
}
#if 1
#if 1
...
...
ndb/src/ndbapi/Makefile.am
View file @
20a42316
...
@@ -31,8 +31,6 @@ libndbapi_la_SOURCES = \
...
@@ -31,8 +31,6 @@ libndbapi_la_SOURCES = \
NdbEventOperationImpl.cpp
\
NdbEventOperationImpl.cpp
\
NdbApiSignal.cpp
\
NdbApiSignal.cpp
\
NdbRecAttr.cpp
\
NdbRecAttr.cpp
\
NdbSchemaCon.cpp
\
NdbSchemaOp.cpp
\
NdbUtil.cpp
\
NdbUtil.cpp
\
NdbReceiver.cpp
\
NdbReceiver.cpp
\
NdbDictionary.cpp
\
NdbDictionary.cpp
\
...
...
ndb/src/ndbapi/NdbDictionary.cpp
View file @
20a42316
...
@@ -103,6 +103,11 @@ NdbDictionary::Column::getLength() const{
...
@@ -103,6 +103,11 @@ NdbDictionary::Column::getLength() const{
return
m_impl
.
m_length
;
return
m_impl
.
m_length
;
}
}
int
NdbDictionary
::
Column
::
getSize
()
const
{
return
m_impl
.
m_attrSize
;
}
void
void
NdbDictionary
::
Column
::
setNullable
(
bool
val
){
NdbDictionary
::
Column
::
setNullable
(
bool
val
){
m_impl
.
m_nullable
=
val
;
m_impl
.
m_nullable
=
val
;
...
@@ -797,3 +802,74 @@ const struct NdbError &
...
@@ -797,3 +802,74 @@ const struct NdbError &
NdbDictionary
::
Dictionary
::
getNdbError
()
const
{
NdbDictionary
::
Dictionary
::
getNdbError
()
const
{
return
m_impl
.
getNdbError
();
return
m_impl
.
getNdbError
();
}
}
NdbOut
&
operator
<<
(
NdbOut
&
ndbout
,
const
NdbDictionary
::
Column
::
Type
type
)
{
switch
(
type
){
case
NdbDictionary
:
:
Column
::
Bigunsigned
:
ndbout
<<
"[Bigunsigned]"
;
break
;
case
NdbDictionary
:
:
Column
::
Unsigned
:
ndbout
<<
"[Unsigned]"
;
break
;
case
NdbDictionary
:
:
Column
::
Smallunsigned
:
ndbout
<<
"[Smallunsigned]"
;
break
;
case
NdbDictionary
:
:
Column
::
Tinyunsigned
:
ndbout
<<
"[Tinyunsigned]"
;
break
;
case
NdbDictionary
:
:
Column
::
Bigint
:
ndbout
<<
"[Bigint]"
;
break
;
case
NdbDictionary
:
:
Column
::
Int
:
ndbout
<<
"[Int]"
;
break
;
case
NdbDictionary
:
:
Column
::
Smallint
:
ndbout
<<
"[Smallint]"
;
break
;
case
NdbDictionary
:
:
Column
::
Tinyint
:
ndbout
<<
"[Tinyint]"
;
break
;
case
NdbDictionary
:
:
Column
::
Char
:
ndbout
<<
"[Char]"
;
break
;
case
NdbDictionary
:
:
Column
::
Varchar
:
ndbout
<<
"[Varchar]"
;
break
;
case
NdbDictionary
:
:
Column
::
Float
:
ndbout
<<
"[Float]"
;
break
;
case
NdbDictionary
:
:
Column
::
Double
:
ndbout
<<
"[Double]"
;
break
;
case
NdbDictionary
:
:
Column
::
Mediumint
:
ndbout
<<
"[Mediumint]"
;
break
;
case
NdbDictionary
:
:
Column
::
Mediumunsigned
:
ndbout
<<
"[Mediumunsigend]"
;
break
;
case
NdbDictionary
:
:
Column
::
Binary
:
ndbout
<<
"[Binary]"
;
break
;
case
NdbDictionary
:
:
Column
::
Varbinary
:
ndbout
<<
"[Varbinary]"
;
break
;
case
NdbDictionary
:
:
Column
::
Decimal
:
ndbout
<<
"[Decimal]"
;
break
;
case
NdbDictionary
:
:
Column
::
Timespec
:
ndbout
<<
"[Timespec]"
;
break
;
case
NdbDictionary
:
:
Column
::
Blob
:
ndbout
<<
"[Blob]"
;
break
;
case
NdbDictionary
:
:
Column
::
Undefined
:
ndbout
<<
"[Undefined]"
;
break
;
default:
ndbout
<<
"[Unknown type]"
;
break
;
}
return
ndbout
;
}
ndb/src/ndbapi/NdbRecAttr.cpp
View file @
20a42316
...
@@ -30,15 +30,11 @@ Adjust: 971206 UABRONM First version
...
@@ -30,15 +30,11 @@ Adjust: 971206 UABRONM First version
#include <NdbOut.hpp>
#include <NdbOut.hpp>
#include <NdbRecAttr.hpp>
#include <NdbRecAttr.hpp>
#include "NdbDictionaryImpl.hpp"
#include "NdbDictionaryImpl.hpp"
#include <NdbTCP.h>
NdbRecAttr
::
NdbRecAttr
()
:
NdbRecAttr
::
NdbRecAttr
()
theStorageX
(
NULL
),
{
theValue
(
NULL
),
init
();
theRef
(
NULL
),
theNext
(
NULL
),
theAttrId
(
0xFFFF
),
theNULLind
(
-
1
)
{
}
}
NdbRecAttr
::~
NdbRecAttr
()
NdbRecAttr
::~
NdbRecAttr
()
...
@@ -46,6 +42,11 @@ NdbRecAttr::~NdbRecAttr()
...
@@ -46,6 +42,11 @@ NdbRecAttr::~NdbRecAttr()
release
();
release
();
}
}
int
NdbRecAttr
::
setup
(
const
class
NdbDictionary
::
Column
*
col
,
char
*
aValue
)
{
return
setup
(
&
(
col
->
m_impl
),
aValue
);
}
int
int
NdbRecAttr
::
setup
(
const
NdbColumnImpl
*
anAttrInfo
,
char
*
aValue
)
NdbRecAttr
::
setup
(
const
NdbColumnImpl
*
anAttrInfo
,
char
*
aValue
)
{
{
...
@@ -54,6 +55,7 @@ NdbRecAttr::setup(const NdbColumnImpl* anAttrInfo, char* aValue)
...
@@ -54,6 +55,7 @@ NdbRecAttr::setup(const NdbColumnImpl* anAttrInfo, char* aValue)
Uint32
tAttrByteSize
=
tAttrSize
*
tArraySize
;
Uint32
tAttrByteSize
=
tAttrSize
*
tArraySize
;
m_column
=
anAttrInfo
;
m_column
=
anAttrInfo
;
theAttrId
=
anAttrInfo
->
m_attrId
;
theAttrId
=
anAttrInfo
->
m_attrId
;
theAttrSize
=
tAttrSize
;
theAttrSize
=
tAttrSize
;
theArraySize
=
tArraySize
;
theArraySize
=
tArraySize
;
...
@@ -126,7 +128,7 @@ NdbRecAttr::clone() const {
...
@@ -126,7 +128,7 @@ NdbRecAttr::clone() const {
return
ret
;
return
ret
;
}
}
NdbOut
&
operator
<<
(
NdbOut
&
ndbout
,
const
NdbRecAttr
&
r
)
NdbOut
&
operator
<<
(
NdbOut
&
ndbout
,
const
NdbRecAttr
&
r
)
{
{
if
(
r
.
isNULL
())
if
(
r
.
isNULL
())
{
{
...
@@ -134,78 +136,69 @@ NdbOut& operator <<(NdbOut& ndbout, const NdbRecAttr &r)
...
@@ -134,78 +136,69 @@ NdbOut& operator <<(NdbOut& ndbout, const NdbRecAttr &r)
return
ndbout
;
return
ndbout
;
}
}
switch
(
r
.
getType
()){
if
(
r
.
arraySize
()
>
1
)
ndbout
<<
"["
;
case
NdbDictionary
:
:
Column
::
Bigunsigned
:
ndbout
<<
r
.
u_64_value
();
for
(
Uint32
j
=
0
;
j
<
r
.
arraySize
();
j
++
)
break
;
{
case
NdbDictionary
:
:
Column
::
Unsigned
:
if
(
j
>
0
)
ndbout
<<
r
.
u_32_value
();
ndbout
<<
" "
;
break
;
case
NdbDictionary
:
:
Column
::
Smallunsigned
:
switch
(
r
.
getType
())
ndbout
<<
r
.
u_short_value
();
{
break
;
case
NdbDictionary
:
:
Column
::
Bigunsigned
:
case
NdbDictionary
:
:
Column
::
Tinyunsigned
:
ndbout
<<
r
.
u_64_value
();
ndbout
<<
(
unsigned
)
r
.
u_char_value
();
break
;
break
;
case
NdbDictionary
:
:
Column
::
Unsigned
:
case
NdbDictionary
:
:
Column
::
Bigint
:
ndbout
<<
r
.
u_32_value
();
ndbout
<<
r
.
int64_value
();
break
;
break
;
case
NdbDictionary
:
:
Column
::
Smallunsigned
:
case
NdbDictionary
:
:
Column
::
Int
:
ndbout
<<
r
.
u_short_value
();
ndbout
<<
r
.
int32_value
();
break
;
break
;
case
NdbDictionary
:
:
Column
::
Tinyunsigned
:
case
NdbDictionary
:
:
Column
::
Smallint
:
ndbout
<<
(
unsigned
)
r
.
u_char_value
();
ndbout
<<
r
.
short_value
();
break
;
break
;
case
NdbDictionary
:
:
Column
::
Bigint
:
case
NdbDictionary
:
:
Column
::
Tinyint
:
ndbout
<<
r
.
int64_value
();
ndbout
<<
(
int
)
r
.
char_value
();
break
;
break
;
case
NdbDictionary
:
:
Column
::
Int
:
ndbout
<<
r
.
int32_value
();
case
NdbDictionary
:
:
Column
::
Char
:
break
;
case
NdbDictionary
:
:
Column
::
Varchar
:
case
NdbDictionary
:
:
Column
::
Smallint
:
{
ndbout
<<
r
.
short_value
();
int
aSize
=
r
.
arraySize
();
break
;
char
*
buf
=
new
char
[
aSize
+
1
];
case
NdbDictionary
:
:
Column
::
Tinyint
:
memcpy
(
buf
,
r
.
aRef
(),
aSize
);
ndbout
<<
(
int
)
r
.
char_value
();
buf
[
aSize
]
=
0
;
break
;
ndbout
<<
buf
;
case
NdbDictionary
:
:
Column
::
Char
:
delete
[]
buf
;
ndbout
.
print
(
"%.*s"
,
r
.
arraySize
(),
r
.
aRef
());
}
j
=
r
.
arraySize
();
break
;
break
;
case
NdbDictionary
:
:
Column
::
Varchar
:
case
NdbDictionary
:
:
Column
::
Float
:
{
ndbout
<<
r
.
float_value
();
short
len
=
ntohs
(
r
.
u_short_value
());
break
;
ndbout
.
print
(
"%.*s"
,
len
,
r
.
aRef
()
+
2
);
case
NdbDictionary
:
:
Column
::
Double
:
}
ndbout
<<
r
.
double_value
();
j
=
r
.
arraySize
();
break
;
break
;
case
NdbDictionary
:
:
Column
::
Mediumint
:
case
NdbDictionary
:
:
Column
::
Float
:
ndbout
<<
"[Mediumint]"
;
ndbout
<<
r
.
float_value
();
break
;
break
;
case
NdbDictionary
:
:
Column
::
Mediumunsigned
:
case
NdbDictionary
:
:
Column
::
Double
:
ndbout
<<
"[Mediumunsigend]"
;
ndbout
<<
r
.
double_value
();
break
;
break
;
case
NdbDictionary
:
:
Column
::
Binary
:
default:
/* no print functions for the rest, just print type */
ndbout
<<
"[Binary]"
;
ndbout
<<
r
.
getType
();
break
;
j
=
r
.
arraySize
();
case
NdbDictionary
:
:
Column
::
Varbinary
:
if
(
j
>
1
)
ndbout
<<
"[Varbinary]"
;
ndbout
<<
" %u times"
<<
j
;
break
;
break
;
case
NdbDictionary
:
:
Column
::
Decimal
:
}
ndbout
<<
"[Decimal]"
;
}
break
;
case
NdbDictionary
:
:
Column
::
Timespec
:
if
(
r
.
arraySize
()
>
1
)
ndbout
<<
"[Timespec]"
;
{
break
;
ndbout
<<
"]"
;
case
NdbDictionary
:
:
Column
::
Blob
:
ndbout
<<
"[Blob]"
;
break
;
case
NdbDictionary
:
:
Column
::
Undefined
:
ndbout
<<
"[Undefined]"
;
break
;
default:
ndbout
<<
"[unknown]"
;
break
;
}
}
return
ndbout
;
return
ndbout
;
...
...
ndb/src/ndbapi/Ndberr.cpp
View file @
20a42316
...
@@ -18,7 +18,6 @@
...
@@ -18,7 +18,6 @@
#include <NdbError.hpp>
#include <NdbError.hpp>
#include "NdbImpl.hpp"
#include "NdbImpl.hpp"
#include "NdbDictionaryImpl.hpp"
#include "NdbDictionaryImpl.hpp"
#include <NdbSchemaCon.hpp>
#include <NdbOperation.hpp>
#include <NdbOperation.hpp>
#include <NdbConnection.hpp>
#include <NdbConnection.hpp>
...
@@ -66,10 +65,3 @@ NdbOperation::getNdbError() const {
...
@@ -66,10 +65,3 @@ NdbOperation::getNdbError() const {
update
(
theError
);
update
(
theError
);
return
theError
;
return
theError
;
}
}
const
NdbError
&
NdbSchemaCon
::
getNdbError
()
const
{
update
(
theError
);
return
theError
;
}
ndb/src/old_files/Makefile
deleted
100644 → 0
View file @
5a8303a3
include
.defs.mk
DIRS
:=
\
client
\
common
\
kernel
\
ndbapi
\
mgmsrv
\
mgmapi
\
newtonapi
\
rep
\
mgmclient
\
cw
\
ndbbaseclient
ifneq
($(NDB_ODBC),N)
DIRS
+=
ndbclient
endif
ifeq
($(findstring OSE, $(NDB_OS)),)
DIRS
+=
scripts
endif
include
$(NDB_TOP)/Epilogue.mk
_bins_mgmsrv
:
_libs_ndbapi
_bins_mgmsrv
:
_libs_mgmapi
_bins_mgmclient
:
_libs_mgmapi
_bins_mgmclient
:
_libs_common
_bins_client
:
_bins_ndbapi
_bins_common
:
_bins_mgmapi
_bins_kernel
:
_bins_ndbapi
_bins_newtonapi
:
_bins_ndbapi
_bins_mgmapi
:
_libs_common
_bins_rep
:
_libs_common
_bins_rep
:
_libs_ndbapi
ndb/test/Makefile_old
deleted
100644 → 0
View file @
5a8303a3
include .defs.mk
DIRS := src tools ndbapi run-test
EXTRA_DIRS = newtonapi
ifeq ($(NDB_ARCH), x86_64)
EXTRA_DIRS =
endif
DIRS += $(EXTRA_DIRS)
ifneq ($(NDB_ODBC),N)
DIRS += odbc
endif
include $(NDB_TOP)/Epilogue.mk
_bins_ndbapi : _libs_src
ndb/
include/ndbapi
/NdbSchemaCon.hpp
→
ndb/
test/include
/NdbSchemaCon.hpp
View file @
20a42316
File moved
ndb/
include/ndbapi
/NdbSchemaOp.hpp
→
ndb/
test/include
/NdbSchemaOp.hpp
View file @
20a42316
File moved
ndb/test/newtonapi/Makefile
deleted
100644 → 0
View file @
5a8303a3
include
.defs.mk
DIRS
:=
\
basic_test
\
perf_test
include
$(NDB_TOP)/Epilogue.mk
ndb/test/odbc/Makefile
deleted
100644 → 0
View file @
5a8303a3
include
.defs.mk
DIRS
+=
driver
#ifneq ($(findstring odbc, $(wildcard /usr/lib/libodbc.so)),)
#DIRS += dm-unixodbc
#endif
ifneq
($(findstring $(NDB_OS), SOLARIS),)
DIRS
+=
dm-iodbc
endif
include
${NDB_TOP}/Epilogue.mk
ndb/test/src/Makefile.am
View file @
20a42316
...
@@ -8,7 +8,8 @@ libNDBT_a_SOURCES = \
...
@@ -8,7 +8,8 @@ libNDBT_a_SOURCES = \
HugoOperations.cpp HugoTransactions.cpp
\
HugoOperations.cpp HugoTransactions.cpp
\
HugoAsynchTransactions.cpp UtilTransactions.cpp
\
HugoAsynchTransactions.cpp UtilTransactions.cpp
\
NdbRestarter.cpp NdbRestarts.cpp NDBT_Output.cpp
\
NdbRestarter.cpp NdbRestarts.cpp NDBT_Output.cpp
\
NdbBackup.cpp NdbConfig.cpp NdbGrep.cpp NDBT_Table.cpp
NdbBackup.cpp NdbConfig.cpp NdbGrep.cpp NDBT_Table.cpp
\
NdbSchemaCon.cpp NdbSchemaOp.cpp
INCLUDES_LOC
=
-I
$(top_srcdir)
/ndb/src/common/mgmcommon
-I
$(top_srcdir)
/ndb/include/mgmcommon
-I
$(top_srcdir)
/ndb/include/kernel
-I
$(top_srcdir)
/ndb/src/mgmapi
INCLUDES_LOC
=
-I
$(top_srcdir)
/ndb/src/common/mgmcommon
-I
$(top_srcdir)
/ndb/include/mgmcommon
-I
$(top_srcdir)
/ndb/include/kernel
-I
$(top_srcdir)
/ndb/src/mgmapi
...
...
ndb/test/src/NDBT_ResultRow.cpp
View file @
20a42316
...
@@ -118,78 +118,8 @@ BaseString NDBT_ResultRow::c_str() {
...
@@ -118,78 +118,8 @@ BaseString NDBT_ResultRow::c_str() {
NdbOut
&
NdbOut
&
operator
<<
(
NdbOut
&
ndbout
,
const
NDBT_ResultRow
&
res
)
{
operator
<<
(
NdbOut
&
ndbout
,
const
NDBT_ResultRow
&
res
)
{
for
(
int
i
=
0
;
i
<
res
.
cols
;
i
++
){
for
(
int
i
=
0
;
i
<
res
.
cols
;
i
++
)
if
(
res
.
data
[
i
]
->
isNULL
())
ndbout
<<
res
.
data
[
i
];
ndbout
<<
"NULL"
;
else
{
const
int
size
=
res
.
data
[
i
]
->
attrSize
();
const
int
aSize
=
res
.
data
[
i
]
->
arraySize
();
switch
(
convertColumnTypeToAttrType
(
res
.
data
[
i
]
->
getType
())){
case
UnSigned
:
switch
(
size
){
case
8
:
ndbout
<<
res
.
data
[
i
]
->
u_64_value
();
break
;
case
4
:
ndbout
<<
res
.
data
[
i
]
->
u_32_value
();
break
;
case
2
:
ndbout
<<
res
.
data
[
i
]
->
u_short_value
();
break
;
case
1
:
ndbout
<<
(
unsigned
)
res
.
data
[
i
]
->
u_char_value
();
break
;
default:
ndbout
<<
"Unknown size"
;
}
break
;
case
Signed
:
switch
(
size
){
case
8
:
ndbout
<<
res
.
data
[
i
]
->
int64_value
();
break
;
case
4
:
ndbout
<<
res
.
data
[
i
]
->
int32_value
();
break
;
case
2
:
ndbout
<<
res
.
data
[
i
]
->
short_value
();
break
;
case
1
:
ndbout
<<
(
int
)
res
.
data
[
i
]
->
char_value
();
break
;
default:
ndbout
<<
"Unknown size"
;
}
break
;
case
String
:
{
char
*
buf
=
new
char
[
aSize
+
1
];
memcpy
(
buf
,
res
.
data
[
i
]
->
aRef
(),
aSize
);
buf
[
aSize
]
=
0
;
ndbout
<<
buf
;
delete
[]
buf
;
// Null terminate string
//res.data[i][res.sizes[i]] = 0;
//ndbout << res.data[i];
}
break
;
case
Float
:
ndbout_c
(
"%f"
,
res
.
data
[
i
]
->
float_value
());
break
;
default:
ndbout
<<
"Unknown("
<<
convertColumnTypeToAttrType
(
res
.
data
[
i
]
->
getType
())
<<
")"
;
break
;
}
}
if
(
i
<
res
.
cols
-
1
)
ndbout
<<
res
.
ad
;
}
return
ndbout
;
return
ndbout
;
}
}
...
...
ndb/test/src/NdbBackup.cpp
View file @
20a42316
...
@@ -90,8 +90,9 @@ NdbBackup::getFileSystemPathForNode(int _node_id){
...
@@ -90,8 +90,9 @@ NdbBackup::getFileSystemPathForNode(int _node_id){
ndbout
<<
"Invalid configuration fetched, DB missing"
<<
endl
;
ndbout
<<
"Invalid configuration fetched, DB missing"
<<
endl
;
return
NULL
;
return
NULL
;
}
}
unsigned
int
type
;
unsigned
int
type
=
123456
;
if
(
!
iter
.
get
(
CFG_TYPE_OF_SECTION
,
&
type
)
||
type
!=
NODE_TYPE_DB
){
if
(
iter
.
get
(
CFG_TYPE_OF_SECTION
,
&
type
)
||
type
!=
NODE_TYPE_DB
){
ndbout
<<
"type = "
<<
type
<<
endl
;
ndbout
<<
"Invalid configuration fetched, I'm wrong type of node"
<<
endl
;
ndbout
<<
"Invalid configuration fetched, I'm wrong type of node"
<<
endl
;
return
NULL
;
return
NULL
;
}
}
...
@@ -114,10 +115,13 @@ NdbBackup::execRestore(bool _restore_data,
...
@@ -114,10 +115,13 @@ NdbBackup::execRestore(bool _restore_data,
const
int
buf_len
=
1000
;
const
int
buf_len
=
1000
;
char
buf
[
buf_len
];
char
buf
[
buf_len
];
ndbout
<<
"getFileSystemPathForNode "
<<
_node_id
<<
endl
;
const
char
*
path
=
getFileSystemPathForNode
(
_node_id
);
const
char
*
path
=
getFileSystemPathForNode
(
_node_id
);
if
(
path
==
NULL
)
if
(
path
==
NULL
)
return
-
1
;
return
-
1
;
ndbout
<<
"getHostName "
<<
_node_id
<<
endl
;
const
char
*
host
;
const
char
*
host
;
if
(
!
getHostName
(
_node_id
,
&
host
)){
if
(
!
getHostName
(
_node_id
,
&
host
)){
return
-
1
;
return
-
1
;
...
@@ -138,7 +142,7 @@ NdbBackup::execRestore(bool _restore_data,
...
@@ -138,7 +142,7 @@ NdbBackup::execRestore(bool _restore_data,
ndbout
<<
"res: "
<<
res
<<
endl
;
ndbout
<<
"res: "
<<
res
<<
endl
;
#if 0
#if 0
snprintf(buf, 255, "restore -c \"nodeid=%d;host=%s\" -n %d -b %d %s %s %s/BACKUP/BACKUP-%d",
snprintf(buf, 255, "
ndb_
restore -c \"nodeid=%d;host=%s\" -n %d -b %d %s %s %s/BACKUP/BACKUP-%d",
ownNodeId,
ownNodeId,
addr,
addr,
_node_id,
_node_id,
...
@@ -150,7 +154,7 @@ NdbBackup::execRestore(bool _restore_data,
...
@@ -150,7 +154,7 @@ NdbBackup::execRestore(bool _restore_data,
#endif
#endif
snprintf
(
buf
,
255
,
"restore -c
\"
nodeid=%d;host=%s
\"
-n %d -b %d %s %s ."
,
snprintf
(
buf
,
255
,
"
ndb_
restore -c
\"
nodeid=%d;host=%s
\"
-n %d -b %d %s %s ."
,
ownNodeId
,
ownNodeId
,
addr
,
addr
,
_node_id
,
_node_id
,
...
...
ndb/
src/ndbapi
/NdbSchemaCon.cpp
→
ndb/
test/src
/NdbSchemaCon.cpp
View file @
20a42316
...
@@ -35,9 +35,10 @@ Adjust: 980126 UABMNST First version.
...
@@ -35,9 +35,10 @@ Adjust: 980126 UABMNST First version.
New programs should use NdbDictionary.hpp
New programs should use NdbDictionary.hpp
*********************************************************************/
*********************************************************************/
#include "NdbSchemaCon.hpp"
#include <ndb_global.h>
#include "NdbSchemaOp.hpp"
#include <NdbApi.hpp>
#include "NdbApiSignal.hpp"
#include <NdbSchemaCon.hpp>
#include <NdbSchemaOp.hpp>
/*********************************************************************
/*********************************************************************
...
@@ -142,20 +143,22 @@ NdbSchemaCon::release()
...
@@ -142,20 +143,22 @@ NdbSchemaCon::release()
return
;
return
;
}
//NdbSchemaCon::release()
}
//NdbSchemaCon::release()
#include <NdbError.hpp>
static
void
update
(
const
NdbError
&
_err
){
NdbError
&
error
=
(
NdbError
&
)
_err
;
ndberror_struct
ndberror
=
(
ndberror_struct
)
error
;
ndberror_update
(
&
ndberror
);
error
=
NdbError
(
ndberror
);
}
const
NdbError
&
NdbSchemaCon
::
getNdbError
()
const
{
update
(
theError
);
return
theError
;
}
...
...
ndb/
src/ndbapi
/NdbSchemaOp.cpp
→
ndb/
test/src
/NdbSchemaOp.cpp
View file @
20a42316
...
@@ -34,11 +34,11 @@ Adjust: 980125 UABMNST First version.
...
@@ -34,11 +34,11 @@ Adjust: 980125 UABMNST First version.
NOTE: This file is only used as a compatibility layer for old test programs,
NOTE: This file is only used as a compatibility layer for old test programs,
New programs should use NdbDictionary.hpp
New programs should use NdbDictionary.hpp
*****************************************************************************/
*****************************************************************************/
#include <assert.h>
#include "NdbSchemaOp.hpp"
#include "NdbSchemaCon.hpp"
#include "API.hpp"
#include <ndb_global.h>
#include <NdbApi.hpp>
#include <NdbSchemaOp.hpp>
#include <NdbSchemaCon.hpp>
/*****************************************************************************
/*****************************************************************************
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment